【机器学习笔记】《统计学习方法》第四章 朴素贝叶斯法

主要参考书目《统计学习方法》第2版,清华大学出版社
参考书目 Machine Learning in Action, Peter Harrington
用于考研复试笔记,所以写的很简洁,自己能看懂就行。有学习需求请绕道,参考吴恩达机器学习或以上书籍,讲得比大多数博客好。

概念

朴素贝叶斯法(naive Bayes)对条件概率分布做了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯法也由此得名。
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_k)=\prod\limits_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)

就是说,对于每一种属性发生的概率,是它每一个维度的值发生的概率的乘积

y = arg max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\argmax_{c_k}P(Y=c_k)\prod\limits_j P(X^{(j)}=x^{(j)}|Y=c_k) y=ckargmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

原理

极大似然估计

算法4.1朴素贝叶斯算法(naïve Bayes algorithm)
输入:训练数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={ (x1,y1),(x2,y2),...,(xN,yN)},其中 x i = ( x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) ) T x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^{T} xi=(xi(1),xi(2),...,xi(n))T x i ( j ) x_i^{(j)} xi(j)是第 i i i个样本的第 j j j个特征, x i ( j ) ∈ { a j 1 , a j 2 , . . . , a j s j } x_i^{(j)} \in \{a_{j1},a_{j2},...,a_{js_j}\} xi(j){ aj1,aj2,...,ajsj} a j l a_{jl} ajl是第 j j j个特征可能取的第 l l l个值, j = 1 , 2 , . . . , n , l = 1 , 2 , . . . , S j , y j ∈ { c 1 , c 2 , . . . , c k } j=1,2,...,n, l=1,2,...,S_j,y_j \in \{c_1,c_2,...,c_k\} j=1,2,...,n,l=1,2,...,Sj,yj{ c1,c2,...,ck};实例 x x x
输出:实例 x x x的分类

比如要判断 x = ( 2 , S ) T x=(2,S)^T x=(2,S)T是哪一类
P ( Y = 1 ) P ( X ( 1 ) = 2 ∣ Y = 1 ) P ( X ( 2 ) = S ∣ Y = 1 ) = 1 45 P(Y=1)P(X^{(1)}=2|Y=1)P(X^{(2)}=S|Y=1)=\frac{1}{45} P(Y=1)P(X(1)=2Y=1)P(X(2)=SY=1)=451
P ( Y = − 1 ) P ( X ( 1 ) = 2 ∣ Y = − 1 ) P ( X ( 2 ) = S ∣ Y = − 1 ) = 1 15 P(Y=-1)P(X^{(1)}=2|Y=-1)P(X^{(2)}=S|Y=-1)=\frac{1}{15} P(Y=1)P(X(1)=2Y=1)P(X(2)=SY=1)=151
所以它属于-1类

贝叶斯估计

为了防止要估计的概率值为0的情况设 λ > 0 \lambda>0 λ>0
P λ ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 ( j ) I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum\limits_{i=1}^{(j)}I(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum\limits_{i=1}^NI(y_i=c_k)+S_j\lambda} Pλ(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1(j)I(xi(j)=ajl,yi=ck)+λ

λ = 0 \lambda=0 λ=0时,为极大似然估计,当 λ = 1 \lambda=1 λ=1时,为拉普拉斯平滑(Laplacian smoothing)

猜你喜欢

转载自blog.csdn.net/weixin_43269437/article/details/113136686