【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review
Lecture3 Linear Algebra Review 线性代数回顾
3.1 矩阵和向量
3.2 加法和标量乘法
3.3 矩阵向量乘法
3.4 矩阵乘法
3.5 矩阵乘法的性质
3.6 逆、转置
3.1 矩阵和向量
参考视频: 3 - 1 - Matrices and Vectors (9 min).mkv
3.2 加法和标量乘法
参考视频: 3 - 2 - Addition and Scalar Multiplication (7 min).mkv
3.3 矩阵向量乘法
参考视频: 3 - 3 - Matrix Vector Multiplication (14 min).mkv
3.4 矩阵乘法
参考视频: 3 - 4 - Matrix Matrix Multiplication (11 min).mkv
3.5 矩阵乘法的性质
参考视频: 3 - 5 - Matrix Multiplication Properties (9 min).mkv
矩阵的乘法有以下规律:
1、不符合交换律 commutative A × B ≠ B× A 【但是对于单位矩阵,有AI = IA = A】
2、符合组合律 associative A ×(B× C) =(A × B)× C
3.6 逆、转置
3.6.1 矩阵的逆 Inverse Matrix
矩阵的逆 A-1 Inverse Matrix。如矩阵 A 是一个 m× m 矩阵(方阵), 如果有逆矩阵A-1 ,则:

I 称为 单位矩阵 Identity Matrix
没有逆矩阵的矩阵称为 奇异矩阵singular matrix 或者 退化矩阵 degenerate matrix。
规则:
1、只有方阵有逆矩阵。
2、零矩阵没有逆矩阵 (还有其他一些矩阵没有逆矩阵,可以想成是一些特别接近零矩阵的矩阵)
3.6.2 使用 Octave 计算矩阵的逆
计算矩阵的逆通常使用MATLAB 或者 Octave,打开Octave的bash界面。

以下是在Octave里计算逆矩阵的过程:
Please contribute if you find this software useful.
For more information, visit https://www.octave.org/get-involved.html Read https://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'. octave:> A = [ ; ] // 输入一个矩阵 A
A = octave:> pinv(A) // 计算其逆矩阵 InverseOfA
ans = 0.400000 -0.100000
-0.050000 0.075000 octave:> inverseOfA = pinv(A)
inverseOfA = 0.400000 -0.100000
-0.050000 0.075000 octave:> A * pinv(A)
ans = 1.0000e+00 5.5511e-17 // 由于计算精度的问题, 四舍五入导致次对角线元素不是0,而是10的-17方、10的-16方,可以近似于0
-2.2204e-16 1.0000e+00 octave:> A * inverseOfA // 计算 A * InverseOfA
ans = 1.0000e+00 5.5511e-17
-2.2204e-16 1.0000e+00 octave:> inverseOfA * A // 计算 InverseOfA * A
ans = 1.00000 -0.00000
0.00000 1.00000 octave:>
3.6.3 矩阵的转置
矩阵转置 Transpose Matrix ,符号为AT 。
定义:设 A 为 m× n 阶矩阵(即 m 行 n 列),第 i 行 j 列的元素是 a(i,j),即:A = a(i,j)。定义 A 的转置为这样一个 n× m 阶矩阵 B,满足 B=a(j,i),即 b (i,j)=a (j,i)(B 的第 i 行第 j 列元素是 A 的第 j 行第 i 列元素),记 AT=B。 (有些书记为 A'=B)
直观来看,将 A 的所有元素绕着一条从第 1 行第 1 列元素出发的右下方 45 度的射线作镜面反转,即得到 A 的转置。

矩阵的转置基本性质:
(A ± B) T = AT ± BT
(A × B) T= BT × AT
(AT) T = A
(KA) T = KAT
MATLAB 和 Octave 中矩阵转置:直接打一撇, B = A'。
octave:> B = A'
B =
术语
up to the numerical precision 由于计算精度的问题
essentially 根本上
ten to the minus seventeen 10的-17次方
round off 四舍五入
optimal matrices 最优矩阵
【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review的更多相关文章
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
Lecture 13 聚类 Clustering 13.1 无监督学习简介 Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机
Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念
目录 1.1 欢迎1.2 机器学习是什么 1.2.1 机器学习定义 1.2.2 机器学习算法 - Supervised learning 监督学习 - Unsupervised learning 无 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
随机推荐
- input text 不显示输入的历史记录
当之前的text框输入了数据后,下次输入有历史记录问题的解决方法 怎么禁止输入框记录输入记录,双击input出现输入过的记录, 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往 ...
- .NET学习路线之我见(转)
这是我的第一篇博客,所以,我想写个大的,至少这个话题是比较大的. 在文章的开头,首先声明,这篇文章仅代表我个人的想法,并且只适合.NET的初学者,如果你已经有两年以上的开发经验,我劝你还是别看了,省得 ...
- Java发展前景与职业方向解析
大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么概念的.本文为你解答学J ...
- RPi 3.5寸 电阻屏
/***************************************************************************** * RPi 3.5寸 电阻屏 * 说明: ...
- Python之functools库
functools库用于高阶函数,指那些作用于函数或者返回其他函数的函数 functools提供方法如下: cmp_to_key 将一个比较函数转换关键字函数 partial 针对函数起作用,并且是部 ...
- 网络爬虫必备知识之requests库
就库的范围,个人认为网络爬虫必备库知识包括urllib.requests.re.BeautifulSoup.concurrent.futures,接下来将结对requests库的使用方法进行总结 1. ...
- 十八、python沉淀之路--生成器
一.生成器 生成器总结:语法上和函数类似:生成器函数和常规函数几乎是一样的.他们都是使用def语句进行定义,差别在于生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值.自动实 ...
- python 的日志logging模块
1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message')logging.info('This is info messag ...
- Log4j日志配置说明
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目
在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...