斯坦福公开课Machine Learning笔记(十一)–Factor Analysis
这系列笔记其实已经手写好, 现在一次性发上来, 主要是怕丢. 内容以Andrew Ng的讲义为主,主要以公式推导与理解为主,引入和介绍省略.对于最后的Reinforcement Learning部分, 由于没有讲义以及对其实在不熟悉, 就没有笔记了(主要还是因为没有讲义).
Factor analysis其实就是拨开现象发现本质的过程.
但是本质是观察不到的,所以要根据原始的找到潜在的,就可以用EM算法.
对于高斯混合模型中EM的M-step,当n>>m时:
μ=1m∑mi=1x(i)
Σ=1m∑mi=1(x(i)−μ)(x(i)−μ)T
这里的均值计算没问题,但是计算
Σ
时,得到的是奇异矩阵,
Σ−1
不存在.
所以要对
Σ
做限制.这里设
Σ
为对角矩阵.
Σjj=1m∑mi=1(x(i)j−μj)2
这样对m就没有要求了,有样本就可以计算方差.
再进一步假设,对角线上的值都是相等的,为方差的平均值.
δ2=1mn∑nj=1∑mi=1(x(i)j−μj)2
,但是这样丢失了很多信息.
The Factor Analysis Model
z~N(0,I) ∈Rk
ϵ~N(o,Φ)
x=μ+Λz+ϵ ∈Rn
x为原始变量,z为因子变量,
Λ
为偏移量,
ϵ
为误差.
所以可以理解为:高维的原始变量都是可以用低维的因子变量通过线性变换德奥.可以达到降维的目的.
[zx] ~N(μzx,Σ)~
N([0⃗ μ],[IΛΛTΛΛT+Φ])
∴~N(μ,ΛΛT+Φ)
∴l(μ,Λ,Φ)=log∏mi=11(2π)n2|ΛΛT+Φ|exp(−12(x(i)−μ)T(ΛΛT+Φ)−1(x(i)−μ))
但是无法直接求解,所以使用EM:
E−step:
Qi(z(i))=P(z(i)|x(i);μ,Λ,Φ) (z(i)|x(i);μ,Λ,Φ~N(μz(i)|x(i),Σz(i)|x(i)))
μz(i)|z(i)=Λ(ΛΛT+Φ)−1(x(i)−μ)
ΣΛΛT+Φ|x(i)=I−ΛT(ΛΛT+Φ)Λ
∴Qi(z(i))=1(2π)k2|ΛΛT+Φ|12exp(−12(z(i)−μz(i)|x(i))TΣ−1z(i)|x(i)(z(i)−μz(i)|x(i)))
M−step:
优化目标函数,z是满足高斯分布的连续变量,故用积分
∑mi=1∫z(i)logP(z(i)|x(i);μ,Λ,Φ)Qi(z(i))dz(i)
对各个参数求导求解.