概述
文章目录
- 写在前面
- 特征值与马尔可夫链
- 特征值与微分方程/高阶方程
- 特征值与降维
- 写在后面
写在前面
这几个月,随着数学和AI学习的深入,很多复杂的知识很难用浅显的语言表达出来了。但自始自终,有一些概念却是始终缠绕在脑海中,他就是特征值。由于学识浅薄,表达难免肤浅片面,但以此作为记录,希望给以后的学习提供一点帮助。
在之前的文章中已经说过了一些关于特征值,PCA以及马尔可夫链的联系机器学习入门(八)主成分分析
特征值与马尔可夫链
当时讲了这么一个例子用来说明特征值和马尔可夫链的关系:
某个城镇,每年30%的已婚女性离婚,且20%的单婚女性结婚。假定共有8000名已婚和2000名未婚女性,并且总人口保持不变。我们研究结婚率和离婚率保持不变时将来长时间的期望问题。
首先,很简单,一年后的女性人口比例为:
w
1
=
A
w
0
=
[
0.7
0.2
0.3
0.8
]
[
8000
2000
]
=
[
6000
4000
]
w_1=Aw_0=begin{bmatrix} 0.7&0.2\0.3&0.8 end{bmatrix}begin{bmatrix}8000\2000end{bmatrix}=begin{bmatrix}6000\4000end{bmatrix}
w1=Aw0=[0.70.30.20.8][80002000]=[60004000]如果觉得矩阵看着不太方便的,直接列式计算也是一样。
同理,第二年 w 2 = A w 1 = A 2 w 0 w_2=Aw_1=A^2w_0 w2=Aw1=A2w0
可以用python进行验证以下几个结果
w
10
=
[
4004
5996
]
w_{10}=begin{bmatrix}4004\5996end{bmatrix}
w10=[40045996]
w 20 = [ 4000 6000 ] w_{20}=begin{bmatrix}4000\6000end{bmatrix} w20=[40006000]
w 30 = [ 4000 6000 ] w_{30}=begin{bmatrix}4000\6000end{bmatrix} w30=[40006000]
发现过了某个点之后,人口会一直保持不变,(其实这就是个马尔可夫链)。实际上,从
w
12
w_{12}
w12之后就一直是
[
4000
6000
]
T
begin{bmatrix}4000&6000end{bmatrix}^T
[40006000]T,并且:
A
w
12
=
[
0.7
0.2
0.3
0.8
]
[
4000
6000
]
=
[
4000
6000
]
Aw_{12}=begin{bmatrix}0.7&0.2\0.3&0.8end{bmatrix}begin{bmatrix}4000\6000end{bmatrix}=begin{bmatrix}4000\6000end{bmatrix}
Aw12=[0.70.30.20.8][40006000]=[40006000]
A乘上一个向量,等于这个向量本身,这是不是有点眼熟,正是 A x = λ x Ax=lambda x Ax=λx 只不过这里的 λ = 1 lambda=1 λ=1
这里还是没有说明特征值到底是什么,接着看。
这个收敛的过程,对任意的人口分布{10000-p, p}都是成立的(p是单身人口),也就是说,无论初始向量是否相等,最后都会得到同样的稳态向量(这里不证明这个,可自行尝试其他初始值)。选择稳态向量的倍数
x
1
=
(
2
,
3
)
T
x_1=(2, 3)^T
x1=(2,3)T作为一个基向量,则:
A
x
1
=
[
0.7
0.2
0.3
0.8
]
[
2
3
]
=
[
2
3
]
=
x
1
Ax_1=begin{bmatrix}0.7&0.2\0.3&0.8end{bmatrix}begin{bmatrix}2\3end{bmatrix}=begin{bmatrix}2\3end{bmatrix}=x_1
Ax1=[0.70.30.20.8][23]=[23]=x1
这里的
x
1
x1
x1也是个稳态向量,但是不能把同一个向量的倍数当作第二个向量,所以暂时还只有一个稳态向量。
另外一个稳态向量
x
2
=
(
−
1
,
1
)
T
x_2=(-1,1)^T
x2=(−1,1)T同样满足条件使得:
A
x
2
=
[
0.7
0.2
0.3
0.8
]
[
−
1
1
]
=
[
−
1
2
1
2
]
=
1
2
[
−
1
1
]
=
1
2
x
2
Ax_2=begin{bmatrix}0.7&0.2\0.3&0.8end{bmatrix}begin{bmatrix}-1\1end{bmatrix}=begin{bmatrix}frac{-1}{2}\\frac{1}{2}end{bmatrix}=frac{1}{2}begin{bmatrix}-1\1end{bmatrix}=frac{1}{2}x_2
Ax2=[0.70.30.20.8][−11]=⎣⎡2−121⎦⎤=21[−11]=21x2
于是
x
1
x_1
x1 和
x
2
x_2
x2就是一对基向量。如果把整个过程看成一个线性变换的话,那么标量1和1/2就是线性变换的自然频率。如果还是不懂,可以把这个结婚离婚的事件看成一个振动过程,无论初始状态如何,最后都会停止,也就是收敛。
从这个例子就可以看出一些奥义了,即特征值可以表示一种看似随机没有规律的现象(方程)的稳定形态(通解)。
于是在学习到矩阵微分方程的时候就又一次遇到了特征值。
特征值与微分方程/高阶方程
比如现在有这么一个方程 y ′ ′ ′ + 2 y ′ ′ − y ′ − 2 y = 0 y^{'''}+2y^{''}-y^{'}-2y=0 y′′′+2y′′−y′−2y=0求它的一般解。
由原式得 y ′ ′ ′ = − 2 y ′ ′ + y ′ + 2 y y^{'''} = -2y^{''}+y^{'}+2y y′′′=−2y′′+y′+2y
写成矩阵形式就是 [ y ′ ′ ′ ] = [ − 2 1 2 ] [ y ′ ′ y ′ y ] [y^{'''}] = begin{bmatrix}-2 &1 &2end{bmatrix}begin{bmatrix}y^{''}\ y^{'}\yend{bmatrix} [y′′′]=[−212]⎣⎡y′′y′y⎦⎤
把它补全的话就是 [ y ′ ′ ′ y ′ ′ y ′ ] = [ − 2 1 2 1 0 0 0 1 0 ] [ y ′ ′ y ′ y ] begin{bmatrix} y^{'''}\ y^{''} \y^{'} end{bmatrix} = begin{bmatrix}-2&1&2\1&0&0\0&1&0end{bmatrix} begin{bmatrix}y^{''}\ y^{'}\yend{bmatrix} ⎣⎡y′′′y′′y′⎦⎤=⎣⎡−210101200⎦⎤⎣⎡y′′y′y⎦⎤
中间这个矩阵就是需要进行特征值求解的矩阵, 具体方法不过多展开,求出来得 ( 1 + λ ) ( 1 − λ ) ( 2 + λ ) (1+lambda)(1-lambda)(2+lambda) (1+λ)(1−λ)(2+λ)
其实这个式子展开就是原式 λ 3 + 2 λ 2 − λ − 2 = 0 lambda^3 + 2lambda^2-lambda-2=0 λ3+2λ2−λ−2=0 ,当你熟练了之后可以直接由原式进行因式分解(考研大佬忽略这里)
所以三个特征值
λ
1
=
1
,
λ
2
=
−
1
,
λ
3
=
−
2
lambda_1=1, lambda_2 = -1,lambda_3=-2
λ1=1,λ2=−1,λ3=−2可得通解:
y
=
C
1
e
x
+
C
2
e
−
x
+
C
3
e
−
2
x
y = C_1 e^x+C_2e^{-x}+C_3e^{-2x}
y=C1ex+C2e−x+C3e−2x
同理对于形如 x 3 + 2 x 2 − 3 x = 6 = 0 x^3+2x^2-3x=6=0 x3+2x2−3x=6=0这类的高阶方程(四次,五次…都可以),也是一样可以使用这种方式求解。
从这个例子能感受到一种,特征值就是那个以不变应万变的值。
看似变化的万物就像一根弹簧,最后都会收敛到一个固定的位置(特征值)。
特征值与降维
于是乎,当你掌握了某种现象的变化规律,你就可以将它从高阶映射到低阶,从而实现降维的作用。正如前面的链接机器学习入门(八)主成分分析提到的那样, 如果是一个方阵,则直接进行特征值分解,如果不是一个方阵,则可以通过 A A T AA^T AAT和 A T A A^TA ATA进行奇艺值分解,从而实现降维。
写在后面
特征值的应用还有很多,特别是在物理上和机器学习中,比如振动,分子轨迹(不知道金融市场中的布朗运动是否也能和特征值扯上关系),很多更深的奥义暂时也理解不了,所以先记到这里。
最后
以上就是简单学姐为你收集整理的以不变应万变,eigen特征值就是终极奥义的全部内容,希望文章能够帮你解决以不变应万变,eigen特征值就是终极奥义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复