机器学习数学基础之python矩阵运算
一、Python矩阵基本运算
1、实验环境
Anaconda + python3.6 + jupyter
2、python矩阵操作
引入numpy库
import numpy as np
用mat函数创建2X3矩阵
a = np.mat([[1, 2, 3], [4, 5, 6]])
使用shape获取矩阵大小
a.shape
行列转换
a.T
二维数组代替矩阵来进行矩阵运算
b = np.array([[1, 2, 3], [4, 5, 6]])
加减法
a + b
a - b
3、python矩阵乘法
二维数组创建矩阵A、B
A = np.array([[1, 2, 3], [4, 5, 6]])
B = A.T
矩阵的数乘
2 * A
dot 函数矩阵乘法
np.dot(A, B)
np.dot( B, A)
dot函数对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积,交换矩阵的前后位置会导致不同的结果
再创建一个二维数组
C = np.array([[1, 2], [1, 3]])
验证矩阵乘法的结合性:( A B ) C = A ( B C )
np.dot(np.dot(A, B), C)
np.dot(A, np.dot(B, C))
验证矩阵加法的分配性:( A + B ) C = A C + B C
A = B - 1
np.dot(A+B, C)
np.dot(A, C) + np.dot(B, C)
数乘的结合性
2*(np.dot(A, C))
np.dot(2*A, C)
np.dot(A, 2*C)
使用 eye 创建一个单位矩阵
D = np.eye(2)
一个矩阵乘以一个单位矩阵,还是它本身
np.dot(C, D)
4、 python矩阵转置
矩阵转置就是将矩阵的行变为列
1、得到矩阵A的转置矩阵
A.T
2、验证第一个性质:(A‘)’=A
A.T.T
3、创建两个尺寸相同的矩阵
B = A.T
C = B - 1
4、验证矩阵转置的第二个性质:( A ± B ) ′ = A ′ ± B ′
(B + C).T
B.T + C.T
5、 验证矩阵转置的第三个性质:( K A ) ′ = K A ′
(2 * A).T
2 * A.T
6、验证矩阵转置的第四个性质:( A × B ) ′ = B ′ × A ′
np.dot(A, B).T
np.dot(B.T, A.T)