机器学习-生成学习与EM算法

高斯判别分析

分类问题

输入特征 x x x的连续变量,对 P ( x ∣ y ) P(x|y) P(xy)用多远正态分布建模,y服从伯努利分布

y ∼ B e r m o u l i ( ϕ ) y \sim Bermouli(\phi) yBermouli(ϕ)

$$
x|y=0 \sim N(\mu_0,\epsilon)

$$

$$
x|y=1 \sim N(\mu_1,\epsilon)

$$

l ( ϕ , μ 0 , μ 1 , ϵ ) = l n ∏ i = 1 m P ( x ( i ) ∣ y ( i ) ) P ( y ( i ) ; ϕ ) l(\phi,\mu_0,\mu_1,\epsilon)=ln \prod_{i=1}^mP(x^{(i)}|y^{(i)})P(y^{(i)};\phi) l(ϕ,μ0,μ1,ϵ)=lni=1mP(x(i)y(i))P(y(i);ϕ)

GDA 与 LR 相比,假设更强.当满足假设时效果更好,LR的鲁棒性更好

朴素贝叶斯

给定 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))    x ( i ) = ( x 1 , . . . , x n ) \ \ x^{(i)}=(x_1,...,x_n)   x(i)=(x1,...,xn)分别表示词汇是否在文本中出现.

对条件概率分布做条件独立性的假设,也即

P ( x 1 , . . . , x 5 000 ∣ y ) = ∏ ( P ( x i ∣ y ) ) P(x_1,...,x_5000|y)=\prod(P(x_i|y)) P(x1,...,x5000y)=(P(xiy))

ϕ i ∣ y = 1 = P ( x i = 1 ∣ y = 1 ) \phi_{i|y=1}=P(x_i=1|y=1) ϕiy=1=P(xi=1y=1)

ϕ i ∣ y = 0 = P ( x i = 1 ∣ y = 0 ) \phi_{i|y=0}=P(x_i=1|y=0) ϕiy=0=P(xi=1y=0)

ϕ y = P ( y = 1 ) \phi_{y}=P(y=1) ϕy=P(y=1)

最终最大似然求解,拉普拉斯平滑;(多项式模型)

混合高斯模型 GMM

训练集为 ( x ( 1 ) , . . . , x ( m ) ) (x^{(1)},...,x^{(m)}) (x(1),...,x(m)),加入隐变量 z z z, z z z服从多项式分布 P ( z ( i ) = j ) = ϕ j P(z^{(i)}=j)=\phi_j P(z(i)=j)=ϕj
x ( i ) ∣ z ( i ) = j ∼ N ( μ j , Σ ) x^{(i)}|z^{(i)}=j \sim N(\mu_j,\Sigma) x(i)z(i)=jN(μj,Σ)

z z z是已知的,则变为高斯判别分析,但是此处 z z z是未知的

EM算法

训练集 ( x ( 1 ) , . . . , x ( m ) ) (x^{(1)},...,x^{(m)}) (x(1),...,x(m))

l ( θ ) = ∑ ( i = 1 ) m l o g P ( x ; θ ) = ∑ ( i = 1 ) m l o g ∑ z P ( x , z ; θ ) l(\theta)=\sum_{(i=1)}^mlogP(x;\theta)= \sum_{(i=1)}^mlog \sum _zP(x,z;\theta) l(θ)=(i=1)mlogP(x;θ)=(i=1)mlogzP(x,z;θ)

E-step:

Q i ( z i ) = P ( z ( i ) ∣ x ( i ) ; θ ) Q_i(z^{i})=P(z^{(i)}|x^{(i)};\theta) Qi(zi)=P(z(i)x(i);θ)
M-step:

θ : = a r g m a x ∑ i ∑ z ( i ) Q i ( z i ) l o g P ( z ( i ) ∣ x ( i ) ; θ ) Q i ( z ( i ) ) \theta := argmax \sum_i \sum_{z^{(i)}} Q_i(z^i)log \frac{P(z^{(i)}|x^{(i)};\theta)}{Q_i(z^{(i)})} θ:=argmaxiz(i)Qi(zi)logQi(z(i))P(z(i)x(i);θ)

猜你喜欢

转载自blog.csdn.net/lovoslbdy/article/details/104860435