假设的是所有特征都是相互独立的
朴素贝叶斯虽然很简单,但效果还不错
06年,被一些更加现代的方法超越,例如boosted ,random forests
需要估计的参数比较少
因为假设独立,所以只需要考虑方差,而不用考虑协方差
一般不考虑evidence,因为每个类的分母都一样
相当于一个常数(对于C)
根据朴素贝叶斯假设(特征之间相互独立),可以得到
复习到这里,我都差点忘记朴素贝叶斯是干嘛的了
分类器,需要计算后验概率
然后计算出属于每个类的概率
判断为概率最大那个类
假设C有k个取值(有k个类)
P(Fi | C=c) 可以用 r 个参数来表达
【例如高斯分布,r=2】
根据上面的公式,可以知道对应的朴素贝叶斯需要
估计的参数为 (k-1)+drk 个
【需要估计P(C)和P(Fi | C)】
【P(C)有k个,所以估计k-1个,还剩下一个用1减去前k-1个的和】
【p(Fi | C)有drk 个,Fi有d种,C有k种,就可以得到dk种p(Fi | C)】
【每种p(Fi | C)都有r个参数,所以drk】
实际中用最大似然估计
这些参数可以近似的用数据中的相对频率来估计
最大似然估计
上面比较适合fj离散的
如果连续的↓
利用高斯分布,对每个类都求出一个mean和var
举例:性别分类
假设使用高斯分布(连续)
则根据公式:k-1 + dkr = 1 + 322 = 13 个参数要估计
根据之前说的,先验概率要么按频率取,要么按1/k取,都为0.5
下面给出一个测试样本,判断他是哪一个类
其中,likelihood是带入了高斯分布的方程计算出来的
举例:文件分类
假设:这个文件出现的概率为每个单词出现的概率的相乘
只需要求的log,就可以知道分为哪一类了(因为是二分类)
但是有个问题
有可能c类时,没有Fi= fj 的
那么这一项p就会为0,而因为朴素贝叶斯全是乘
这样就会得出结果为0
所以希望加入一个修正,不让他出现这种情况
Laplace Smoothing:拉普拉斯平滑
计算过程:
加入了拉普拉斯平滑: