参考文献:
- 「統計的学習法」リー・ハン
- https://www.zhihu.com/question/33959624
Step1. 尤度関数
単純ベイジアン モデルでは、トレーニング セットを通じて決定する必要があるパラメーターはθ k = P ( y = ck ) \theta_k=P(y=c_k)です。私k=P (と=ck)和μ jlk = P ( x ( j ) = ajl ∣ y = ck ) \mu_{jlk}=P(x^{(j)}=a_{jl}|y=c_k)メートルj l k=P ( ×( j )=あるjl _∣ y=ck)
尤度関数:
L ( θ , μ ) = ∏ i = 1 NP ( xi , yi ) = ∏ i = 1 NP ( yi ) P ( xi ∣ yi ) (乘法公式) = ∏ i = 1 N ( P ( yi ) ∏ j = 1 n P ( xi ( j ) ∣ yi ) ) (条件独立假设) = ∏ i = 1 N ∏ k = 1 K ( P ( y = ck ) ∏ j = 1 n P ( xi ( j ) ∣ yi = ck ) ) I ( yi = ck ) = ∏ i = 1 N ∏ k = 1 K ( θ k ∏ j = 1 n ∏ l = 1 L j PI ( xi ( j ) = ajl ) ( x ( j ) = ajl ∣ yi = ck ) ) I ( yi = ck ) = ∏ i = 1 N ∏ k = 1 K ( θ k ∏ j = 1 n ∏ l = 1 L j μ jlk I ( xi ( j ) = ajl ) ) I ( yi = ck ) \begin{align} L(\theta,\mu)&=\prod\limits_{i=1}^{N}P(x_i,y_i)\notag\\ &=\prod\limits_{i=1}^{N}P(y_i)P(x_i|y_i)(乘法公式)\notag\\ &=\prod\limits_{i=1} ^{N}\Big(P(y_i)\prod\limits_{j=1}^{n}P(x^{(j)}_i|y_i)\Big)(条件独立假设)\notag\\ & =\prod\limits_{i=1}^{N}\prod\limits_{k=1}^{K}\Big(P(y=c_k)\prod\limits_{j=1}^{n}P (x^{(j)}_i|y_i=c_k)\Big)^{I(y_i=c_k)}\notag\\ &=\prod\limits_{i=1}^{N}\prod\limits_{ k=1}^{K}\Big(\theta_k\prod\limits_{j=1}^{n}\prod\limits_{l=1}^{L_j}P^{I(x^{(j) }_i=a_{jl})}(x^{(j)}=a_{jl}|y_i=c_k)\Big)^{I(y_i=c_k)}\notag\\ &=\prod\limits_{ i=1}^{N}\prod\limits_{k=1}^{K}\Big(\theta_k\prod\limits_{j=1}^{n}\prod\limits_{l=1}^{ L_j}\mu_{jlk}^{I(x^{(j)}_i=a_{jl})}\Big)^{I(y_i=c_k)}\notag\\ \end{align}&=\prod\limits_{i=1}^{N}\prod\limits_{k=1}^{K}\Big(\theta_k\prod\limits_{j=1}^{n}\prod\limits_ {l=1}^{L_j}\mu_{jlk}^{I(x^{(j)}_i=a_{jl})}\Big)^{I(y_i=c_k)}\notag\\ \終わり{整列}&=\prod\limits_{i=1}^{N}\prod\limits_{k=1}^{K}\Big(\theta_k\prod\limits_{j=1}^{n}\prod\limits_ {l=1}^{L_j}\mu_{jlk}^{I(x^{(j)}_i=a_{jl})}\Big)^{I(y_i=c_k)}\notag\\ \終わり{整列}L ( θ ,メートル)=i = 1∏NP ( ×私は、y私は)=i = 1∏NP (と私は) P ( ×私は∣ y私は) (乗算式)=i = 1∏N( P (と私は)j = 1∏んP ( ×私( j )∣ y私は) ) (条件付き独立性の仮定)=i = 1∏Nk = 1∏K( P (と=ck)j = 1∏んP ( ×私( j )∣ y私は=ck) )私は(y私は= ck)=i = 1∏Nk = 1∏K(私はkj = 1∏んl = 1∏LjP私(×私( j )= ajl _) (×( j )=あるjl _∣ y私は=ck) )私は(y私は= ck)=i = 1∏Nk = 1∏K(私はkj = 1∏んl = 1∏Ljメートルjlk_ _ _私(×私( j )= ajl _))私は(y私は= ck)
その中でもNNさんはNはサンプル数、nnnはXXですX 、 L j L_jの次元LjX ( j ) X^{(j)}の場合バツ( j )可能な値の数、KKKYY_Yに取り得る値の数。
形式:
l ( θ , μ ) = ∑ i = 1 N ∑ k = 1 KI ( yi = ck ) ( log θ k + ∑ j = 1 n ∑ l = 1 L j I ( xi ( j ) = ajl ) log µ jlk ) \begin{align} l(\theta,\mu)&=\sum\limits_{i=1}^{N}\sum\limits_{k=1}^{K}I( y_i= c_k)\Big(\log\theta_k+\sum\limits_{j=1}^{n}\sum\limits_{l=1}^{L_j}I(x^{(j)}_i=a_{ jl} )\log\mu_{jlk}\Big)\notag \end{align}l (私、メートル)。=i = 1∑Nk = 1∑K私は(y私は=ck) (ログ_私k+j = 1∑んl = 1∑Lj私(×私( j )=あるjl _)ログ_メートルj l k)
ステップ2 k \theta_kの場合私k
ラグランジュ乗数法を使用して制約∑ k = 1 K θ k = 1 \sum\limits_{k=1}^{K}\theta_k=1 を導入します。k = 1∑K私k=1 ,得:
F ( θ , μ , λ ) = ∑ i = 1 N ∑ k = 1 KI ( yi = ck ) (log θ k + ∑ j = 1 n ∑ l = 1 L j I ( xi ( j ) = ajl ) log µ jlk ) + λ ( ∑ k = 1 K θ k − 1 ) \begin{align} F(\theta,\mu,\lambda)=\sum\limits_{i=1}^{ ; N}\sum\limits_{k=1}^{K}I(y_i=c_k)(\log\theta_k+\sum\limits_{j=1}^{n}\sum\limits_{l=1}^ { L_j}I(x^{(j)}_i=a_{jl})\log\mu_{jlk})+\lambda(\sum\limits_{k=1}^{K}\theta_k-1)\ \end{align} をタグ付けしませんF ( θ ,メートル、l )=i = 1∑Nk = 1∑K私は(y私は=ck) (ログ_私k+j = 1∑んl = 1∑Lj私(×私( j )=あるjl _)ログ_メートルj l k)+l (k = 1∑K私k−1 )
FFへF偏導関数を求め、偏導関数を0 00 ,i:
θ k = − ∑ i = 1 IF ( yi = ck ) λ ∑ k = 1 K θ k = − N λ = 1 \begin{align} \theta_k&=-\frac{\sum\limits_{i =1}^{N}I(y_i=c_k)}{\lambda}\notag\\ \sum\limits_{k=1}^{K}\theta_k&=-\frac{N}{\lambda}=1 \notag\end{整列}私kk = 1∑K私k=−私i = 1∑N私は(y私は=ck)=−私N=1
その中で、N k N_kNkサンプルの場合Y = ck Y=c_kY=ck量。上の 2 つの式を組み合わせると、次のようになります。
θ k = ∑ i = 1 NI ( yi = ck ) N \begin{align} \theta_k=\frac{\sum\limits_{i=1}^{N}I( y_i =c_k)}{N}\notag \end{align}私k=Ni = 1∑N私は(y私は=ck)
ステップ3. μ lk \mu_{lk}を見つけるメートルlk _
ラグランジュ乗数法を使用して制約∑ l = 1 L j μ lk = 1 \sum\limits_{l=1}^{L_j}\mu_{lk}=1 を導入します。l = 1∑Ljメートルlk _=1 ,得:
F ( θ , μ , λ ) = ∑ i = 1 N ∑ k = 1 KI ( yi = ck ) (log θ k + ∑ j = 1 n ∑ l = 1 L j I ( xi ( j ) = ajl ) log µ jlk ) + λ ( ∑ l = 1 L j µ lk − 1 ) \begin{align} F(\theta,\mu,\lambda)=\sum\limits_{i=1}^ {N}\sum\limits_{k=1}^{K}I(y_i=c_k)\Big(\log\theta_k+\sum\limits_{j=1}^{n}\sum\limits_{l=1 }^{L_j}I(x^{(j)}_i=a_{jl})\log\mu_{jlk})+\lambda(\sum\limits_{l=1}^{L_j}\mu_{lk }-1\Big)\notag\end{align}F ( θ ,メートル、l )=i = 1∑Nk = 1∑K私は(y私は=ck) (ログ_私k+j = 1∑んl = 1∑Lj私(×私( j )=あるjl _)ログ_メートルj l k)+l (l = 1∑Ljメートルlk _−1 )
FFへF偏導関数を求め、偏導関数を0 00,得:
μ jlk = − ∑ i = 1 NI ( yi = ck , xi ( j ) = ajl ) λ ∑ l = 1 L j μ lk = − ∑ i = 1 NI ( yi = ck ) λ = 1 \ begin{align} \mu_{jlk}&=-\frac{\sum\limits_{i=1}^{N}I(y_i=c_k,x^{(j)}_i=a_{jl})}{ \lambda}\notag\\ \sum\limits_{l=1}^{L_j}\mu_{lk}&=-\frac{\sum\limits_{i=1}^{N}I(y_i=c_k) }{\lambda}=1\notag \end{align}メートルj l kl = 1∑Ljメートルlk _=−私i = 1∑N私は(y私は=ck、バツ私( j )=あるjl _)=−私i = 1∑N私は(y私は=ck)=1
联立上面两个方程,得:
μ jlk = ∑ i = 1 NI ( yi = ck , xi ( j ) = ajl ) ∑ i = 1 NI ( yi = ck ) \begin{align} \mu_{jlk}= \frac{\sum\limits_{i=1}^{N}I(y_i=c_k,x^{(j)}_i=a_{jl})}{\sum\limits_{i=1}^{N }I(y_i=c_k)}\notag \end{align}メートルj l k=i = 1∑N私は(y私は=ck)i = 1∑N私は(y私は=ck、バツ私( j )=あるjl _)