矩阵运算-神经网络的底层肌理
什么是矩阵
英文:matrix
举个例子
[
[1,2,3],
[1,1,0],
[0,1,1]
]
索引
[
[a11,a12,a13],
[a21,a22,a23],
[a31,a32,a33]
]
矩阵的应用
图片
矩阵计算与人工智能
仿神经元运算,每个不同的神经元有个权重
矩阵运算案例-房价预测
同型矩阵
定义
行数、列数分别相同的矩阵
性质
互为同型矩阵才能进行加法运算
基本运算
加法
交换律,结合律✅
[ [ [[1,2,3], [9,8,7], [10,10,10],
[4,5,6], + [6,5,4], = [10,10,10],
[7,8,9] [3,2,1] [10,10,10],
] ] ]
乘法
矩阵与数相乘相除
交换律、结合律、分配律✅
[ [
[1,2,3], [5,10,15],
[4,5,6], x 5 = [20,25,30],
[7,8,9] [35,40,45],
] ]
矩阵的相乘
第一个矩阵的列数,必须啊等于第二个矩阵的行数
交换律❎
结合律、分配律✅
行列元素相乘并求和
[ [ [[1,2,3], [9,8,7], [30,24,18],
[4,5,6], x [6,5,4], = [84,69,54],
[7,8,9] [3,2,1] [138,114,90]
] ] ]
矩阵的转置
转置的算法
aji -> aij
A AT
[ [[1,2,3], [1,4,7],
[4,5,6], [2,5,8],
[7,8,9] [3,6,9]
] ]
转置的算律
(A+B)T = AT + bT
(AxB)T = BT x AT
(AT)T = A
(kA)T = k(AT)
向量
定义
只有一行的矩阵或者只有一列的矩阵
向量的基本运算
遵循矩阵的计算法则
矩阵与向量相乘,结果仍为向量
实战
import numpy as np
A = np.array([[5, 2], [4, 3], [1, 1]])
B = np.array([[2, 7], [9, 3], [1, 5]])
AT = A.T
print(np.dot(AT,B))
BT = B.T
print(np.dot(BT,A))
def computed(quantity,price):
return array.dot(q,p.T)
q = np.array([100, 120, 800], [200, 150, 1000])
p = np.array([5,50,1])
print (computed(q,p))#--->[7300 9500]