贝叶斯要解决的问题:逆向概率
贝叶斯公式:
拼写纠正实例:如果用户输入不存在的词tha,则会比较概率猜测真正想输入的单词。
P1(the|tha) = ? P2(than|tha) = ?
P(h|D) = P(h) * P(D|h) / P(D) 由于只是比较概率,P(D)是相同的,则P1,P2正比于P(h) * P(D/h).
P(h)是这个猜测本身独立的可能性大小(先验Prior),P(D|h)是这个猜测生成我们观测到的数据的可能性大小。
朴素贝叶斯
垃圾邮件过滤实例:给定一个邮件判断是否属于垃圾邮件。D表示这个邮件,D是由N个单词组成的。用h+表示垃圾邮件,h-表示正常邮件。
P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)
D里面含有N个单词d1,d2,d3, P(D|h+) = P(d1,d2,d3,....,dn|h+),P(d1,d2,d3,....,dn|h+)就是说在垃圾邮件中出现跟我们目前这封邮件一模一样的邮件的概率是多大。P(d1,d2,d3,....,dn|h+)扩展为:P(d1|h+) * P(d2|d1, h+) * P(d3|d2, d1, h+) * ...但是这样参数量极大,不好计算。
假设 di 和 di-1 是完全条件无关的(朴素贝叶斯假设特征之间是独立,互不影响),那么式子就可以简化为P(d1|h+) * P(d2|h+) * P(d3|h+) * ...