标量(Scalar)
标量就是一个单独的数。
例如:1、3.14、-5
向量(Vector)
向量是一维数组,通常表示为列向量:
⎣⎢⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎥⎤
向量可理解为空间中的点,每个元素对应不同坐标轴的坐标。
向量中有多少个元素,就叫几维向量。
例如:
[1,2,3,4]
向量加法
要求两个向量维度相同。
交换律:
A+B=B+A
示例:
[1,2]+[3,4]=[4,6]
向量内积(点积)
要求两个向量维度相同。
定义:
A⋅B=x1y1+x2y2+⋯+xnyn
交换律:
A⋅B=B⋅A
示例:
[1,2]⋅[3,4]=1⋅3+2⋅4=11
向量的模(长度)
定义:
∥A∥=x12+x22+⋯+xn2
向量夹角的余弦值
要求两个向量维度相同。
定义:
cosθ=∥A∥⋅∥B∥A⋅B
矩阵(Matrix)
矩阵是一个二维数组,每个元素为标量,可通过行号和列号索引。
矩阵加法
要求两个矩阵维度相同。
[1324]+[4321]=[5645]
矩阵乘法(点积矩阵乘法)
前提
左矩阵 A 的列数等于右矩阵 B 的行数
设:
A=(acbd),B=(egfh)
则:
A×B=(ae+bgce+dgaf+bhcf+dh)
A=⎝⎛adgbehcfi⎠⎞,B=⎝⎛jmpknqlor⎠⎞
AB=⎝⎛aj+bm+cpdj+em+fpgj+hm+ipak+bn+cqdk+en+fqgk+hn+iqal+bo+crdl+eo+frgl+ho+ir⎠⎞
矩阵 A 是 2 行 3 列 2×3
矩阵 B 是 3 行 2 列 3×2
结果 C= A × B = 2×2
计算过程:
1 2 3 4 5 6 7
| 第 1 行 × 第 1 列: 1*1 + 2*3 + 3*5 = 1 + 6 + 15 = 22 第 1 行 × 第 2 列: 1*2 + 2*4 + 3*6 = 2 + 8 + 18 = 28 第 2 行 × 第 1 列: 4*1 + 5*3 + 6*5 = 4 + 15 + 30 = 49 第 2 行 × 第 2 列: 4*2 + 5*4 + 6*6 = 8 + 20 + 36 = 64 最终结果: | 22 28 | | 49 64 |
|
性质
不满足交换律:
A⋅B=B⋅A
满足分配律:
A(B+C)=AB+AC
满足结合律:
A(BC)=(AB)C
Hadamard 乘法(逐元素乘)
要求两个矩阵形状一致。
示例:
[1324]∘[102−1]=[104−4]
矩阵转置(Transpose)
行列互换。
[1324]T=[1234]
例如:
3×2→2×3
向量与矩阵转换
reshape
[1,2,3,4]→[1324]
[1,2,3,4,5,6]→⎣⎢⎡135246⎦⎥⎤
flatten
⎣⎢⎡135246⎦⎥⎤→[1,2,3,4,5,6]
张量(Tensor)
矩阵是二维,张量是多维数据结构。
示例:
3 个 2×2 矩阵:
3×2×2
4 个 3×2×2 张量:
4×3×2×2
在深度学习中,输入、输出、中间结果几乎都是张量。
导数(Derivative)
-
如果函数是位置,导数就是速度
-
如果函数是距离变化,导数就是变化速度
-
函数曲线上某点的导数 = 该点切线斜率
-
变化方向(正增长还是负增长)
-
变化快慢(增长多快)
-
曲线斜率(图像有多陡)
如果没有导数,你看不出未来趋势。
有了导数,你能预测变化、做优化、画切线、做智能算法。
f′(x0)=Δx→0limΔxf(x0+Δx)−f(x0)
函数在某个点x下标0的导数,就是函数值变化量与自变量变化量的比值,当变化量趋于无穷小
导数的直观理解(速度类比)
想象你站在某条路上的一个位置:
x0
你想知道此刻你的 瞬时速度(也就是导数)。
你不能直接问"现在速度是多少",
因为你只知道 位置,不是 速度
1. 走一点点距离
向前走一小段距离:
Δx
2. 看位置变化多少
计算位置的变化:
f(x0+Δx)−f(x0)
3. 求平均速度
平均速度 = 路程变化 / 时间变化:
Δxf(x0+Δx)−f(x0)
4. 但我们要的是"瞬时速度"!
平均速度不够,我们想知道 这一瞬间的速度!
怎么办?
让这段"时间"越来越短:
Δx→0
5. 当时间趋近 0,平均速度变成瞬时速度
于是得到:
f′(x0)=Δx→0limΔxf(x0+Δx)−f(x0)
幂函数求导
公式:(xn)′=nxn−1
案例:f(x)=x2 求导
解:f′(x)=2x
常数求导
公式:(c)′=0
案例:f(x)=5
不管怎么移动 x,y 都不变,没变化 → 变化速度=0
解:f′(x)=0
线性函数求导
公式:(ax+b)′=a
案例:f(x)=3x+1
线性函数求导=斜率
解:f′(x)=3
乘积法则
公式:(f(x)g(x))′=f′(x)g(x)+f(x)g′(x)
案例:f(x)=x,g(x)=x2
前导后不导 + 前不导后导
解:(x⋅x2)′
(x⋅x2)′=1⋅x2+x⋅2x
化简:(x⋅x2)′=x2+2x2=3x2
商法则
公式:(g(x)f(x))′=[g(x)]2f′(x)g(x)−f(x)g′(x)
求导:(x2x)′
f(x)=x,g(x)=x2,f′(x)=1,g′(x)=2x
代入商法则:
(x2x)′=(x2)21⋅x2−x⋅2x=x4x2−2x2=x4−x2=−x21
链式法则
公式:(f(g(x)))′=f′(g(x))⋅g′(x)
案例:y=(3x+1)2
外层 f(u)=u2, 内层 u=3x+1
外层先导,把 u 是内层带进去,再乘内层导数
f′(u)=2u,u′=3
y′=2(3x+1)⋅3
y′=6(3x+1),y′=18x+6,y′=18x+6
标准差
数据:[2, 4, 6]
1. 平均值:
μ=(2+4+6)/3=4
2. 差值平方:
(2−4)2=4,(4−4)2=0,(6−4)2=4
3. 方差:
σ2=(4+0+4)/3=8/3
4. 标准差:
σ=8/3≈1.63