贝叶斯公式
贝叶斯公式就一行
- 这公式是由下面的联合公式推导的:
- 𝑃(𝑌|𝑋)=𝑃(𝑌|𝑋)𝑃(𝑋)=𝑃(𝑋|𝑌)𝑃(𝑌)
- 其中P(Y)是先验概率,P(Y|X)是后验概率,P(Y,X)叫联合概率
用机器学习的视角来理解贝叶斯公式
- 在机器学习的视角下,我们把x理解成‘具有某特征’(样本数据在特定维度下的属性,例如人的高矮胖瘦等),把Y理解成‘类别标签’(一般机器学习中x=>特征,y=>结果)。在最简单的二分类问题下,我们将Y理解成‘属于某类’的标签。于是贝叶斯可以改成下面的样子:
-
简化公式
-
二分类问题的最终目的就是要判断P(‘属于某类’|‘具有某特征’)是否大于1/2。P(‘属于某类’|‘具有某特征’)的概率我们是不知道的,但是后面的P(‘具有某特征’|‘属于某类’)P(‘属于某类’)P(‘具有某特征’)这些概率我们是知道的,比如,P(‘具有某特征’)一个帅哥具有什么特征,样本数据够的情况下,我们是可以统计出来的,P(‘具有某特征’|‘属于某类’)有了这些特征可以属于帅哥的概率,P(‘属于某类’)那就是帅哥和loser的比例。样本的类标签都是明确的,所以贝叶斯属于监督学习。
-
补充:
先验概率、后验概率是相对出现的,比如P(Y)与P(Y|X)是关于Y的先验和后验。P(X)与P(X|Y)是关于X的先验和后验。
举个栗子
- 面试常见的垃圾邮件分类,因为时二分类问题,只要判断P(‘垃圾邮件’|‘具有某种特征’)大于1/2(这里的值可以根据实际情况调整)。下面我们假设‘代开《增值税》发票、验证后付款’属于垃圾邮件。就是说判断P(‘垃圾邮件’|‘代开《增值税》发票、验证后付款’)大于1/2
- 上面的问题时这句话因为表达方式不同,可能训练样本一次都不出现。所以就要用到我们前面学习的分词
分词
-
一个悲哀但是现实的结论:样本集时有限的,句子的可能性是无限的。所以覆盖所以句子的样本集是不存在的。
-
解决方法就是,句子无线的,词语就这么多。’代开《增值税》发票、确认后付款‘与之前改变的确认。把这情况加上,样本数量就会增加,这就方便我们计算了。于是,我们可以不拿句子当特征,而是拿词语作为特征去考虑。比如增值税。
-
因此,公式就变成了:
条件独立假设
- 𝑃((‘代开‘,‘增值税‘,‘发票‘,‘确认‘,‘后‘,‘付款“)|“垃圾邮件”)不好求,我们引进很朴素的近似。L是垃圾邮件,Z是正常邮件
- 𝑃((‘代开‘,‘增值税‘,‘发票‘,‘确认‘,‘后‘,‘付款“)|“垃圾邮件”) = P(‘代开‘| L) * P(‘增值税‘| L) * P(‘发票‘| L) * P(‘确认‘| L) * P(‘后‘| L) * P(‘付款‘| L)
- 上面就是条件独立假设。这样处理后,每一项都很好求,比如
朴素贝叶斯
- 加上条件独立假设的贝叶斯方法就是朴素贝叶斯方法
- 由于乘法交换律,P(“代开“,”增值税“,”发票“,”确认“,”后“,”付款“|L)和P(”确认“,”后“,”付款“,”代开“,”增值税“,”发票“|L)概率一样
- 也就是说,在朴素贝叶斯里,词语的顺序无关紧要。相当于所以词汇扔进袋子里,朴素贝叶斯认为他们是一样的,这就是词袋子模型(Bag of Words)
多项式模型¶
- 考虑到重复词语的情况,也就是说按条件独立假设的方式推导,则会处理平方,立方,多次方的情况。这就叫做多项式模型。
- 比如’代开发票,增值税发票’
伯努利模型
- 另一种简化的方法是将重复的视为一次
混合模型
- 计算句子概率时,不考虑重复词语的次数,但是统计词语的概率P(“词语”|L)时,考虑重复,这叫混合模型
- 使用那种模型,还是要根据业务场景分析。
去除停用词与选择关键词
- 停用词,关键词人工指定,减少计算,提高分类的效果
平滑技术
- 样本训练发现,词语的概率为0,于是整个句子的概率都为0了。本质上还是样本的数量太少了。
- 为了解决这种情况,默认给为0的词语赋值为1
- 最简单的平滑算法时拉普拉斯,后面会说