算法思想
利用训练数据集求得联合概率分布p(x,y),然后计算后验概率分布p(y|x),最后进行分类argmaxp(y|x)。
优缺点
优点:
1.可增量,by计数修正
2.简单且对缺失数据不敏感
3.简单高效,训练过程超快
4.多分类同样有效,且复杂度不会大幅度上升
5.对于类别类的输入特征变量,效果非常好
6.调参少
7.泛化能力特别好!!
缺点:
1.当特征在训练集没见过时,需要做平滑
2.条件独立假设在实际中不是那么普遍
3.朴素贝叶斯算出的概率结果,比较大小还凑合,实际物理含义…恩,别太当真,因此,不能像LR做排序
应用
文本分类(词袋模型)
邮件过滤
医疗领域
推荐系统(朴素贝叶斯+协同过滤)
面试问题收集
1.NB应用于文本分类存在哪三种模型?
多项式模型:计算句子概率,统计词语时,重复的词语视为其出现多次
伯努利(0-1)模型:计算句子概率、统计词语时,将重复出现的词语视为一次
混合模型:计算句子概率时,不考虑重复词语出现的次数,但在统计计算词语的概率时考虑其出现的次数
2.什么是平滑?
如果某个特征
x
i
x_i
xi没有出现过,贝叶斯公式中
p
(
x
i
∣
y
=
c
k
)
=
0
p(x_i|y=c_k)=0
p(xi∣y=ck)=0会导致整体概率为0,因此,借助平滑技术,在增加未出现词语的同时,减少已出现词语的概率,保证所有词语概率相加为1,常见有以下三种方式:
(1)拉普拉斯平滑:
伯努利模型—分子加1,分母加2
多项式模型—分母加1,分子加所有特征个数(保证所有词语概率相加为1)
(2)线性插值
(3)回退
3.NB如何处理连续数值? 离散化
4.NB如何处理缺失值? 直接忽略