机器学习入门笔记——机器学习中的基本线性代数
1. 线性代数的数学对象
import numpy as np
标量:是一个单一的数字
scalar_value=18
print(scalar_value)
scalar_value=18
scalar_np=np.array(scalar_value)
print(scalar_np,scalar_np.shape)
向量:是一个有序的数字数组
ve_value=[1,2,3]
ve_np=np.array(ve_value)
print(ve_np,ve_np.shape)
ve_row=np.array([[1,2,3]])
print(ve_row,'shape=',ve_row.shape)
ve_column=np.array([[4],[6],[8]])
print(ve_column,'shape=',ve_column.shape)
矩阵:一个有序的二维数组
m_list=[[1,2,3],[4,5,6]]
m_np=np.array(m_list)
print('m_list=',m_list,'\n','m_np=\n',m_np,'\n','m_np.shape=',m_np.shape)
2. 线性代数基本运算规则
**矩阵标量运算**
m=np.array([[1,2,3],[5,6,7]])
print(m,'shape=',m.shape)
n=m*2
print(n,'shape=',n.shape)
n=m+2
print(n,'shape=',n.shape)
**矩阵-矩阵加法和减法**
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[7,8,9],[1,2,3]])
a+b
**矩阵-矩阵点乘(点积)**
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[7,8,9],[1,2,3]])
a*b
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[7,8,9],[1,2,3]])
np.multiply(a,b)
**矩阵-矩阵相乘(叉乘)**
a=np.array([[1,2,3],
[4,5,6]])
b=np.array([[7,8,9],
[1,2,3],
[1,2,3]])
np.matmul(a,b)
**矩阵-向量乘法**
a=np.array([[1,2,3],
[4,5,6]])
b=np.array([[7],[1],[3]])
np.matmul(a,b)
**向量-向量乘法(列向量-行向量)**
a=np.array([[1,2,3]])
b=np.array([[7],[1],[3]])
np.matmul(a,b)
**向量-向量乘法(行向量-列向量)**
a=np.array([[7],[1],[3]])
b=np.array([[1,2,3]])
np.matmul(a,b)
**矩阵转置**
a=np.array([[1,2,3]])
print(a,'shape=',a.shape,'\n',a.T,'shape=',a.T.shape)