《统计学习方法》极简笔记P4:朴素贝叶斯公式推导

《统计学习方法》极简笔记P4:朴素贝叶斯公式推导

朴素贝叶斯基本方法

通过训练数据集

T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)}

学习联合概率分布P(X,Y),即学习先验概率分布

P(Y=c_k)


条件概率分布$P(X=x|Y=c_k)$
$k=1,2,...,K$
假设条件独立
$P(X=x|Y=c_k)=\prod_{j=1}{n}P(X=x^{(j)}|Y=c_k)$
然后根据学习到的模型计算后验概率分布,根据贝叶斯定理
$$P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_{k}P(X=x|Y=c_k)P(Y=c_k)}$$
条件概率带入,得
$$P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_{j}P(X_i{(j)}=x|Y=c_k)}{\sum_{k}P(Y=c_k)\prod_{j}P(X_i{(j)}=x|Y=c_k)}$$
于是,朴素贝叶斯分类器可表示为
$$y=argmax\frac{P(Y=c_k)\prod_{j}P(X_i{(j)}=x|Y=c_k)}{\sum_{k}P(Y=c_k)\prod_{j}P(X_i{(j)}=x|Y=c_k)}$$
又,分母对所有$c_k$都相同,so
$$y=argmaxP(Y=c_k)\prod_{j}P(X{(j)}=x|Y=c_k)$$
假设采用0-1损失函数,期望风险函数为
$R_{exp}(f)=E[L(Y,f(X))]$
同样的,条件期望
$R_{exp}(f)=E_X\sum_{k=1}^{K}[L(c_k,f(X))]P(c_k|X)$
期望风险最小,只需对X=x逐个极小化
$f(x)=argmin\sum_{k=1}{K}[L(c_k,y)]P(c_k|X)\=argmin\sum_{k=1}P(y\neq{c_k}|X=x)\=argmin\sum_{k=1}^{K}(1-P(y={c_k}|X=x))\=argmaxP(y=c_k|X=x)$
这即为朴素贝叶斯采用的原理

朴素贝叶斯算法

输入:
训练数据$T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}$
$x_i=(x_i{(1)},x_i,...,x_i{(l)})$,$x_i$为第i个样本的第j个特征,$a_{jl}$是第j个特征可能取得第$l$个值,j=1,2,...,n,$l=1,2,...,S_j$,$y_i\in{c_1,c_2,...,c_K}$
输出:实例$x$的分类
(1)计算先验概率及条件概率,此处取极大似然估计
$$P(Y=c_k)=\frac{\sum^{N}_{i=1}I(y_i=c_k)}{N}$$

$$P(X{(j)}|Y=c_k)=\frac{\sum{i=1}I(x_i{(j)}|y_i=c_k)}{\sum_{i=1}I(y_i=c_k)}$$
(2)对于给定的实例,$x=(x{(1)},x,...,x{(n)})T$,计算
$$P(Y=c_k)=\prod
nP(X=x^{(j)}|Y=c_k)$$
(3)确定实例$x$的类
$$y=arg maxP(Y=c_k)\prod_{j=1}{n}P(X=x^{(j)}|Y=c_k)$$

贝叶斯估计

极大似然估计存在的问题是会出现概率为0的情况,解决之道是贝叶斯估计
$$P(Y=c_k)=\frac{\sum^{N}_{i=1}I(y_i=c_k)+\lambda}{N+K\lambda}$$

$$P(X{(j)}|Y=c_k)=\frac{\sum_{i=1}I(x_i{(j)}|y_i=c_k)+\lambda}{\sum_{i=1}I(y_i=c_k)+S_j\lambda}$$

posted @ 2019-08-16 18:04  机器学习算法与Python  阅读(436)  评论(0编辑  收藏  举报