朴素贝叶斯
(计算 每类下个特征的条件概率之积 和 该类概率 的乘积)
朴素贝叶斯的特点:
特点 | 例 |
---|---|
优点:数据较少时依然有效,可处理多类别问题; 缺点:对输入数据的准备方式比较敏感; 适用数据类型:标称。 | 文档分类(用关键词) 过滤垃圾邮件(某些关键词是否有侮辱性) 从广告获取区域倾向 |
-
原理
如果(pleft( c_{1} middle| x,y ight) >p(c_{2}|x,y)),则(mathbf{x} = (x,y))属于类别(c_{1}),否则属于类别(c_{2})。而由于
[pleft( c_{i} middle| x,y
ight) = frac{pleft( x,y middle| c_{i}
ight)pleft( c_{i}
ight)}{pleft( x,y
ight)}]
故比较(pleft( x,y middle| c_{i} ight)pleft( c_{i} ight))即可。其中用到了贝叶斯准则和条件概率的公式。
-
两个假设:
独立;平等。(特征互相独立,特征同等重要)
-
(pleft( c_{i} ight) = frac{ ext{num}left( c_{i} ight)}{ ext{NUM}}),(pleft( x,y middle| c_{i} ight) = pleft( xmiddle| c_{i} ight)pleft( y middle| c_{i} ight) =prod_{j}^{}{pleft( frac{ ext{Featur}e_{j}}{c_{i}} ight)})
计算 每类下个特征的条件概率之积 和 该类概率 的乘积。
[pleft( ext{Featur}e_{j} middle| c_{i}
ight) = frac{p(c_{i} ext{Featur}e_{j})}{p(c_{i})} = frac{num(c_{i} ext{Featur}e_{j})}{num(c_{i})}
]
-
修正/注意事项
3中两个num,分子应该全初始化为1,分母初始化为2,这样保证了p初始时不为0;
3中如果(pleft( ext{Featur}e_{j} middle| c_{i} ight))很小,则乘积可能很小,用对数处理
[ln{prod_{j}{pleft( ext{Feature}_{j}|c_{i} ight) cdot pleft( c_{i} ight) = sum_{j}^{}{ln{pleft( ext{Featur}e_{j}|c_{i} ight)}} +ln{pleft( c_{i} ight)}}} ]