通过训练数据集
T={(x_1,y_1),(x_2,y_2),(x_N,y_N)...,(x_1,y_1)}
学习联合概率分布P(X,Y),即学习先验概率分布P(Y=c_k)
输入:
训练数据$T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}$
$x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(l)})$,$x_i^{(l)}$为第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^{N}{i=1}I(x_i^{(j)}|y_i=c_k)}{\sum{i=1}^{N}I(y_i=c_k)}$$
(2)对于给定的实例,$x=(x^{(1)},x^{(2)},...,x^{(n)})^T$,计算
$$P(Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)$$
(3)确定实例$x$的类
$$y=arg maxP(Y=c_k)\prod_{j=1}^{n}P(X^{(j)}=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^{N}{i=1}I(x_i^{(j)}|y_i=c_k)+\lambda}{\sum{i=1}^{N}I(y_i=c_k)+S_j\lambda}$$
原文:https://www.cnblogs.com/jpld/p/11365587.html