目录
1.矩阵(二维数组)
1.1 矩阵的维数=矩阵的行数 * 列数
左边维数=4*2=8,右边的维数=2*3=6
1.2 矩阵的写法
左边为集合R(4x2)的元素,表示4行2列的矩阵。
1.3 矩阵中元素的写法
Aij 为矩阵中第i行,第j列的元素,如左边矩阵A11 = 1402
2.向量(只有1列的矩阵)
2.1 别名和写法
4x1矩阵 = 四维的向量;R4。
2.2 向量中元素的写法
yi 为 向量y中第i个元素,上面y4=178(从1开始);也可以从0开始,y3=178。
注意:数学一般从1开始,编程语言一般从0开始。
3.矩阵的运算
3.1 加法
维数相同才能相加:相同位置的元素相加
3.2 标量乘法(数与矩阵的乘法)
实数与矩阵中每个位置的元素逐一相乘
3.3 矩阵与向量的乘法
3.3.1 公式
矩阵A(mxn) 乘以 向量xn = 向量ym(注意n相同)
yi = Ai0 x y0 + Ai1 x y1 + .... + Ain x yn 。
1x1 + 3x5 = 16
4x1 + 0x5 = 4
2x1 + 1x5 = 7
3.3.2 应用
例如有4个房子,尺寸分别为2104,1416,1534,852,假设有一个公式h(x)= -40 + 0.25x 可以根据尺寸预测房子的价格,
现在要计算每个房子对应的价格h(x),可以利用矩阵与向量的乘法快速计算
这种应用的意义在于使用预测函数h(x)预测房子价格时,可以简化算法:预测结果 = 训练集(矩阵) x 参数(向量)。
在编程时,这种写法除了简化代码,也能提高计算效率。
3.4 矩阵与矩阵的乘法
3.4.1 公式
1)矩阵A(mxn) 乘以 矩阵B(n, o) = 矩阵C(mxo)
2)矩阵C的第i列 = 矩阵A 和 矩阵B的第i列相乘
注意这里相乘时,矩阵维度必须匹配:第一个矩阵的列数=第二个矩阵的行数
3)示例:R2x3 乘以 R3x2 = R2x2
3.4.2 应用
1)在线性回归中,用于计算,而不需要梯度下降法。
2)快速代入假设函数h(x),计算预测价格
3.4.3 乘法特征
1)矩阵不服从乘法交换律,除非其中一个是单位矩阵I
矩阵A x 矩阵B 不等于 矩阵B x 矩阵A
矩阵A x 单位矩阵I = 单位矩阵I x 矩阵A (注意两边的单位矩阵I维度不同)
2)服从乘法结合律
AxBxC = Ax(BxC)
4.单位矩阵I或Inxn
4.1 定义
对角线上都是1,其他位置都是0
4.2 特性
1)矩阵A x 单位矩阵I = 单位矩阵I x 矩阵A = 矩阵A
2)第1个【=】的左边:矩阵A的维度是m x n,那么单位矩阵I的维度是 n x n;
第1个【=】的右边:矩阵A的维度是m x n,那么单位矩阵I的维度是 m x m
所以注意【=】两边的单位矩阵I是不同维度的
5.矩阵的逆运算
5.1 定义
1)类似 实数A有一个倒数A-1,A x A-1 =1,例如3 x 3-1 = 3 x 1/3 = 1
2)如果一个方阵(维度是mxm),而且是可逆的,那么它将满足以下公式:
矩阵A x 逆矩阵A-1 = 逆矩阵A-1 x 矩阵A = 单位矩阵I
注意:方阵的列数和行数相等;
可能部分方阵没有逆矩阵,例如全0
5.2 求逆矩阵(Octave)
>> A = [ 3 4; 2 16 ]
A =
3 4
2 16
>> pinv(A)
ans =
0.400000 -0.100000
-0.050000 0.075000
>> inverseOfA = pinv(A)
inverseOfA =
0.400000 -0.100000
-0.050000 0.075000
#验证 矩阵x逆矩阵=单位矩阵(计算精度上可能有点误差)
>> A * inverseOfA
5.3 奇异矩阵或退化矩阵
不存在逆矩阵的矩阵,例如全0矩阵
6.矩阵的转置运算
6.1 转置方法
将A的第1行,变成AT的第1列;....;将A的第n行,变成AT的第n列。
6.2 定义
假设A是一个mxn的矩阵,并设矩阵B=A的转置,那么B是一个nxm的矩阵,此外Bij = Aji