人工智能学习
前言
根据吴达恩的课程开始学习,线性代数,微积分,概率统计,机器学习,深度学习,目前主流框架。
第一步 线性代数 (二)
目录
- 人工智能学习
- 前言
- 第一步 线性代数 (二)
- 向量性质(vector and their properties)
- 向量得运算(vector operations)
- 向量的点积(the dot product)
- 矩阵与向量相乘(Multiplying a matrix by a vector)
- 矩阵的线性变换(matrices as linear transformations)
- 矩阵的乘法(matrix multiplication)
- 单位矩阵(identity matrix)
- 逆矩阵(matrix inverse)
- 线性变换的奇异性和秩(singularity and rank of linear transformations)
- 行列式作为面积(determinant as an area)
- 乘积的行列式(determinant of a product)
- 基和张成(bases and span)
- 特征值和特征向量(enginvalue and enginvector)
- 计算特征值和特征向量(calculating eigenvalues and eigenvectors)
- 降维和投影 (dimensionality reduction and projection)
- PCA( Principal Component Analysis)
- 协防差矩阵(convariance matrix)
- PCA 数学公式(mathematical formula)
- 离散动态系统(Discrete dynamical system)
向量性质(vector and their properties)
向量由大小和方向组成
x
(
x
1
,
x
2
,
x
3
,
.
.
.
,
x
n
)
x(x_1 ,x_2,x_3,...,x_n)
x(x1,x2,x3,...,xn)
大小的定义:范式一: L1_norm =
∣
∣
x
∣
∣
1
=
∣
x
1
∣
+
∣
x
2
∣
+
∣
x
3
∣
+
.
.
.
+
∣
x
n
∣
||x||_1 = |x_1|+|x _2|+|x_3|+...+|x_n|
∣∣x∣∣1=∣x1∣+∣x2∣+∣x3∣+...+∣xn∣
范式二: L2_norm =
∣
∣
x
∣
∣
2
=
x
1
2
+
x
2
2
+
x
3
2
+
.
.
.
+
x
n
2
||x||_2=\sqrt{x_1^2+x_2^2+x_3^2+...+x_n^2}
∣∣x∣∣2=x12+x22+x32+...+xn2
没有特定说明,默认使用范式二。
向量得运算(vector operations)
x
⃗
=
(
x
1
,
x
2
,
x
3
,
.
.
.
,
x
n
)
y
⃗
=
(
y
1
,
y
2
,
y
3
,
.
.
.
,
y
n
)
\vec{x} =(x_1,x_2,x_3,...,x_n) \quad \vec{y} = (y_1,y_2,y_3,...,y_n)
x=(x1,x2,x3,...,xn)y=(y1,y2,y3,...,yn)
x
⃗
+
y
⃗
=
(
x
1
+
y
1
,
x
2
+
y
2
,
x
3
+
y
3
,
.
.
.
,
x
n
+
y
n
)
\vec{x} +\vec{y}=(x_1+y_1,x_2+y_2,x_3+y_3,...,x_n+y_n)
x+y=(x1+y1,x2+y2,x3+y3,...,xn+yn)
x
⃗
−
y
⃗
=
(
x
1
−
y
1
,
x
2
−
y
2
,
x
3
−
y
3
,
.
.
.
,
x
n
−
y
n
)
\vec{x} -\vec{y}=(x_1-y_1,x_2-y_2,x_3-y_3,...,x_n-y_n)
x−y=(x1−y1,x2−y2,x3−y3,...,xn−yn)
λ u ⃗ = ( λ x 1 , λ x 2 , λ x 3 , . . . , λ x n ) \lambda\vec{u}=(\lambda x_1,\lambda x_2,\lambda x_3,...,\lambda x_n) λu=(λx1,λx2,λx3,...,λxn)
向量的点积(the dot product)
转置(tranpose):convert columns to rows。
[
x
y
z
]
T
=
[
x
y
z
]
\begin{bmatrix} x\\y\\z \end{bmatrix}^T= \begin{bmatrix} x&y&z \end{bmatrix}
xyz
T=[xyz]
点积
[
x
1
x
2
x
3
.
.
.
x
n
]
.
[
y
1
y
2
y
3
.
.
.
y
n
]
=
(
x
1
×
y
1
)
+
(
x
2
×
x
2
)
+
(
x
3
×
y
3
)
+
.
.
.
+
(
x
n
×
y
n
)
\begin{bmatrix} x_1&x_2&x_3&...&x_n \end{bmatrix}.\begin{bmatrix} y_1\\y_2\\y_3\\...\\y_n \end{bmatrix}=(x_1\times y_1)+ (x_2\times x_2)+ (x_3\times y_3)+...+(x_n\times y_n)
[x1x2x3...xn].
y1y2y3...yn
=(x1×y1)+(x2×x2)+(x3×y3)+...+(xn×yn)
<x,y> is another notation for the dot product 尖括号点积的其他表示方法。
点积的几何意义(geometric dot product)
L
2
−
n
o
r
m
=
d
o
t
p
r
o
d
u
c
t
(
u
,
u
)
L2-norm= \sqrt{dot\:product(u,u)}
L2−norm=dotproduct(u,u)
向量u和向量v的点积,等于0连个向量垂直,大于0是锐角,小于0是钝角。
矩阵与向量相乘(Multiplying a matrix by a vector)
矩阵的列数必须等于向量的长度。矩阵的每一行和向量的点乘
矩阵的线性变换(matrices as linear transformations)
原点都会映射到原点。
基向量
矩阵的乘法(matrix multiplication)
将两个线性变换组合成第三个
第一个矩阵的列数必须等于第二个矩阵的行数
结果的行数等于第一个矩阵的行数
结果的列数等与第二个矩阵的列数
单位矩阵(identity matrix)
1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 × [ a b c d e ] = [ a b c d e ] \begin{matrix} 1&0&0&0&0 \\0&1&0&0&0 \\0&0&1&0&0 \\0&0&0&1&0 \\0&0&0&0&1 \end{matrix}\times\begin{bmatrix} a \\b \\c \\d \\e \end{bmatrix}= \begin{bmatrix} a\\b\\c\\d\\e\end{bmatrix} 1000001000001000001000001× abcde = abcde
逆矩阵(matrix inverse)
M
⋅
M
−
1
=
i
d
e
n
t
i
t
y
m
a
t
r
i
x
M\cdot M^{-1} = identity \,matrix
M⋅M−1=identitymatrix
那些矩阵有逆矩阵
non-singular matrix invertible
singular matrix non-invertible
行列式不等于0是有逆矩阵,等于0没有。
线性变换的奇异性和秩(singularity and rank of linear transformations)
行列式作为面积(determinant as an area)
乘积的行列式(determinant of a product)
d
e
t
(
A
⋅
B
)
=
d
e
t
(
A
)
⋅
d
e
t
(
B
)
det(A\cdot B)= det(A)\cdot det(B)
det(A⋅B)=det(A)⋅det(B)
d
e
t
(
A
−
1
)
=
1
d
e
t
(
A
)
det(A^{-1})= \dfrac{1}{det(A)}
det(A−1)=det(A)1
d
e
t
(
I
)
=
1
det(I)= 1
det(I)=1
基和张成(bases and span)
基是满足两个条件的向量集合,一这个集合必须张成一个向量空间,二这个集合必须是线性独立的(通过求解方程组来判断是否线性无关,无解代表无关)
特征值和特征向量(enginvalue and enginvector)
利用特征向量和特征值减少运算量。
Av=λv A是矩阵,v是向量,λ是标量。
特征向量是拉伸的方向 eignvectors: direction if stretch
特征值是拉伸的量
特征基是特征向量组成的矩阵,矩阵的每列都是对应每个特征向量。
计算特征值和特征向量(calculating eigenvalues and eigenvectors)
特征向量和特征值都通过行列式计算,行列式必须是方正。
先利用公式求出λ的值(特征值),再代入Av=λv方程组求解出特征向量。
d
e
t
(
A
−
λ
I
)
=
0
det(A-\lambda I) = 0
det(A−λI)=0
特征向量的数量问题,参考上图。
降维和投影 (dimensionality reduction and projection)
降维 一数据更易管理,二数据可视化,减少维度的情况下尽量保存信息。降维的理念是讲数据点移动到一个更低维度的的向量空间中。
投影最优的向量,提供的方差值最大(best line = most variance)
一般情况 想把矩阵A 投影到向量v上,就将A乘以v除以自身的范式2,除以范式2是为了剔除缩放。
A
p
=
A
v
∣
∣
v
∣
∣
2
A_p = A \dfrac{v}{||v||_2}
Ap=A∣∣v∣∣2v
如果A是r行c列,那么v的长度必须是c,也可以看作c行1列的矩阵。 结果Ap的大小r行1列
矩阵A投影到两个向量上等同于投影到两个向量张成的平面上。
A
p
=
A
[
v
1
∣
∣
v
1
∣
∣
2
v
2
∣
∣
v
2
∣
∣
2
]
A_p = A [\dfrac{v_1}{||v_1||_2} \dfrac{v_2}{||v_2||_2} ]
Ap=A[∣∣v1∣∣2v1∣∣v2∣∣2v2]
将两个向量除以自身的范式2组的的矩阵看作V那么可以用简单的方程来表示 Ap = AV。
PCA( Principal Component Analysis)
PCA减少维度的同时最小化信息损失。(降维的同时最大化保留数据分布的投影)
概念方差和协方差
二维坐标 下分布的点。(spread 分布)
均值(mean)
M
e
a
n
(
x
)
=
1
n
∑
i
=
1
n
x
i
Mean(x) = \frac{1}{n} \sum\limits_{i=1}\limits^{n} x_i
Mean(x)=n1i=1∑nxi
M
e
a
n
(
y
)
=
1
n
∑
i
=
1
n
y
i
Mean(y) = \frac{1}{n} \sum\limits_{i=1}\limits^{n} y_i
Mean(y)=n1i=1∑nyi
方差(variance) 数据的分散程度,方差为零表示没有分布,大方差表示数据的分布。
方差的公式:
V
a
r
i
a
n
c
e
(
x
)
=
1
n
−
1
∑
i
=
1
n
(
x
i
−
m
e
a
n
(
x
)
)
2
Variance(x) = \frac{1}{n-1}\sum\limits_{i=1}\limits^n(x_i-mean(x))^2
Variance(x)=n−11i=1∑n(xi−mean(x))2
V
a
r
(
x
)
=
1
n
−
1
∑
i
=
1
n
(
x
i
−
μ
)
2
Var(x) = \frac{1}{n-1}\sum\limits_{i=1}\limits^n(x_i-\mu)^2
Var(x)=n−11i=1∑n(xi−μ)2
另一种理解方差的方式是平均平方距离 ( the average squared distance from the mean)
协方差(covariance)
C
o
v
(
x
,
y
)
=
1
n
−
1
∑
i
=
1
n
(
x
i
−
μ
x
)
(
y
i
−
μ
y
)
Cov(x,y) = \frac{1}{n-1}\sum\limits_{i=1}\limits^n(x_i-\mu_x)(y_i-\mu_y)
Cov(x,y)=n−11i=1∑n(xi−μx)(yi−μy)
两个变量之间的方向关系(the direction of the relationship between two variables)
负协方差表示负向趋势,接近零代表平稳趋势或无关系,正协方差表示正向趋势。
协防差矩阵(convariance matrix)
变量与自身的协方差等于方差 Cov(x,x)=Var(x)
c
o
n
v
a
r
i
a
n
c
e
m
a
t
r
i
x
=
[
C
o
v
(
x
,
x
)
C
o
v
(
x
,
y
)
C
o
v
(
x
,
y
)
C
o
v
(
y
,
y
)
]
convariance \: matrix = \left[\begin{matrix} Cov(x,x)&Cov(x,y)\\ Cov(x,y)&Cov(y,y) \end{matrix}\right]
convariancematrix=[Cov(x,x)Cov(x,y)Cov(x,y)Cov(y,y)]
以矩阵的方式表达协方差矩阵
A
=
[
x
1
y
1
x
2
y
2
⋮
⋮
x
n
y
n
]
μ
=
[
μ
x
μ
y
μ
x
μ
y
⋮
⋮
μ
x
μ
y
]
A= \left[\begin{matrix}x_1&y_1\\x_2&y_2\\\vdots&\vdots\\x_n&y_n \end{matrix}\right]\:\:\mu= \left[\begin{matrix}\mu_x&\mu_y\\\mu_x&\mu_y\\\vdots&\vdots\\\mu_x&\mu_y\end{matrix}\right]
A=
x1x2⋮xny1y2⋮yn
μ=
μxμx⋮μxμyμy⋮μy
C
=
1
n
−
1
(
A
−
μ
)
T
(
A
−
μ
)
C= \frac{1}{n-1}(A-\mu)^T(A-\mu)
C=n−11(A−μ)T(A−μ)
PCA 步骤。
一 找到协方差矩阵C。(每个协方差矩阵都对角线对称)
二 找到协方差矩阵的特征值和特征向量。(矩阵对角线对称,特征向量一定正交(垂直))
三 最大的特征值对应的特征向量就是要投影的向量。(特征向量在PCA里称为主成分,具有最大特征值的特征向量,始终是将在投影数据时提供最大方差的那个向量)
四 投影。
PCA 数学公式(mathematical formula)
假设有n组5个特征德数据,目的是降维成2个特征。(5 variable ,n observations)
1.创建矩阵(create matrix)
X
=
[
x
11
x
12
x
13
x
14
x
15
x
21
x
22
x
23
x
24
x
25
⋮
⋮
⋮
⋮
⋮
x
n
1
x
n
2
x
n
3
x
n
4
x
n
5
]
X= \left[ \begin{matrix}x_{11}&x_{12}&x_{13}&x_{14}&x_{15}\\x_{21}&x_{22}&x_{23}&x_{24}&x_{25}\\\vdots&\vdots&\vdots&\vdots&\vdots\\ x_{n1}&x_{n2}&x_{n3}&x_{n4}&x_{n5} \end{matrix} \right]
X=
x11x21⋮xn1x12x22⋮xn2x13x23⋮xn3x14x24⋮xn4x15x25⋮xn5
2.数据中心化(center the data)
X
−
μ
=
[
x
11
−
μ
1
x
12
−
μ
2
x
13
−
μ
3
x
14
−
μ
4
x
15
−
μ
5
x
21
−
μ
1
x
22
−
μ
2
x
23
−
μ
3
x
24
−
μ
4
x
25
−
μ
5
⋮
⋮
⋮
⋮
⋮
x
n
1
−
μ
1
x
n
2
−
μ
2
x
n
3
−
μ
3
x
n
4
−
μ
4
x
n
5
−
μ
5
]
μ
每列的均值
X-\mu= \left[ \begin{matrix}x_{11}-\mu_1&x_{12}-\mu_2&x_{13}-\mu_3&x_{14}-\mu_4&x_{15}-\mu_5\\x_{21}-\mu_1&x_{22}-\mu_2&x_{23}-\mu_3&x_{24}-\mu_4&x_{25}-\mu_5\\\vdots&\vdots&\vdots&\vdots&\vdots\\ x_{n1}-\mu_1&x_{n2}-\mu_2&x_{n3}-\mu_3&x_{n4}-\mu_4&x_{n5}-\mu_5 \end{matrix} \right] \mu 每列的均值
X−μ=
x11−μ1x21−μ1⋮xn1−μ1x12−μ2x22−μ2⋮xn2−μ2x13−μ3x23−μ3⋮xn3−μ3x14−μ4x24−μ4⋮xn4−μ4x15−μ5x25−μ5⋮xn5−μ5
μ每列的均值
3.计算协方差矩阵(calculate covariance matrix)
C
=
1
n
−
1
(
X
−
μ
)
T
(
X
−
μ
)
=
[
Var
(
X
1
)
Cov
(
X
1
,
X
2
)
Cov
(
X
1
,
X
3
)
Cov
(
X
1
,
X
4
)
Cov
(
X
1
,
X
5
)
Cov
(
X
2
,
X
1
)
Var
(
X
2
)
Cov
(
X
2
,
X
3
)
Cov
(
X
2
,
X
4
)
Cov
(
X
2
,
X
5
)
Cov
(
X
3
,
X
1
)
Cov
(
X
3
,
X
2
)
Var
(
X
3
)
Cov
(
X
3
,
X
4
)
Cov
(
X
3
,
X
5
)
Cov
(
X
4
,
X
1
)
Cov
(
X
4
,
X
2
)
Cov
(
X
4
,
X
3
)
Var
(
X
4
)
Cov
(
X
4
,
X
5
)
Cov
(
X
5
,
X
1
)
Cov
(
X
5
,
X
2
)
Cov
(
X
5
,
X
3
)
Cov
(
X
5
,
X
4
)
Var
(
X
5
)
]
C= \frac{1}{n-1}(X-\mu)^T(X-\mu) = \left[ \begin{matrix}\text{Var}(X_1) & \text{Cov}(X_1, X_2) & \text{Cov}(X_1, X_3) & \text{Cov}(X_1, X_4) & \text{Cov}(X_1, X_5) \\ \text{Cov}(X_2, X_1) & \text{Var}(X_2) & \text{Cov}(X_2, X_3) & \text{Cov}(X_2, X_4) & \text{Cov}(X_2, X_5) \\ \text{Cov}(X_3, X_1) & \text{Cov}(X_3, X_2) & \text{Var}(X_3) & \text{Cov}(X_3, X_4) & \text{Cov}(X_3, X_5) \\ \text{Cov}(X_4, X_1) & \text{Cov}(X_4, X_2) & \text{Cov}(X_4, X_3) & \text{Var}(X_4) & \text{Cov}(X_4, X_5) \\ \text{Cov}(X_5, X_1) & \text{Cov}(X_5, X_2) & \text{Cov}(X_5, X_3) & \text{Cov}(X_5, X_4) & \text{Var}(X_5) \end{matrix} \right]
C=n−11(X−μ)T(X−μ)=
Var(X1)Cov(X2,X1)Cov(X3,X1)Cov(X4,X1)Cov(X5,X1)Cov(X1,X2)Var(X2)Cov(X3,X2)Cov(X4,X2)Cov(X5,X2)Cov(X1,X3)Cov(X2,X3)Var(X3)Cov(X4,X3)Cov(X5,X3)Cov(X1,X4)Cov(X2,X4)Cov(X3,X4)Var(X4)Cov(X5,X4)Cov(X1,X5)Cov(X2,X5)Cov(X3,X5)Cov(X4,X5)Var(X5)
这段latex代码使用DS生成。
4.计算特征值和特征向量(calculate eigenvalues and eigenvectors)
计算出后按照λ的值从大到小排序,只取前两个特征值和特征向量
5.创建投影矩阵(create projection matrix)
V
=
[
v
1
∣
∣
v
1
∣
∣
2
v
2
∣
∣
v
2
∣
∣
2
]
V = \left[\dfrac{v_1}{||v_1||_2} \dfrac{v_2}{||v_2||_2} \right]
V=[∣∣v1∣∣2v1∣∣v2∣∣2v2]
6.投影中心数据(project centered data )
X
p
c
a
=
(
X
−
μ
)
V
X_{pca}= (X-\mu)V
Xpca=(X−μ)V
最后通过将中心数据乘以投影矩阵,将数据投影到选择的向量上。
离散动态系统(Discrete dynamical system)
概念:如果方阵所有值都是正数,每列数值相加都等于1,称为马尔科夫矩阵。(Markov matrix)
矩阵称为转移矩阵,必须是马尔可夫矩阵。向量称为平衡向量,它给出了在给定一天的情况下, 长期的概率。(long run probabilities)