机器学习笔记-朴素贝叶斯
0x01 贝叶斯定律
全概率公式如下:
设A, B 是一对随机变量,则
- 联合概率P(A = a, B = b) 就是 A = a 且 B = b的概率;
- 条件概率P(A = a | B = b) 就是在已知B = b的条件下,A = a 的概率
条件概率+联合概率公式如下:
贝叶斯公式如下:
贝叶斯公式推广到多个变量:
上式中,
- 等式左边P(Bi|A)为A发生时Bi发生的概率,即Bi的后验概率
- P(Bi)为Bi发生的概率,即Bi的先验概率
- P(A|Bi)为Bi发生后A发生的概率,即A的后验概率
- 等式右边分母为P(A)即A的发生概率(全概率公式)
0x02 分类概率模型
在判断某个样本属于某个指定分类C模型时,可考虑为条件概率,根据贝叶斯公式,如下:
上式中,F1,Fn为样本特征。
所以等式右边分母为给定的某个固定的值,则只需要考虑分子。
0x03 朴素性
上面等式的分子中P©为类别C的样本个数/总样本个数,比较好求;
而P(F1,Fn|C)不好求,所以我们假定样本的每个特征互相不相关,样本所包含的属性在判定属于某个类别时,概率分布独立。
则P(F1,Fn|C) = P(F1|C)*P(F2|C)*…*P(Fn|C)
有时候可以用朴素贝叶斯试试看,如果效果好就可以用。
0x04 求解流程
求解P(True|F1,Fn) P(False|F1,Fn),然后比较大小,较大的就能判断在F1,Fn发生时到底样本是True还是False。
其中P(True|F1,Fn)求解时只需要求P(F1,Fn|True)*P(True),而概率公式的分母P(F1,Fn)不用求,因为比较时 P(False|F1,Fn)概率公式的分母也为P(F1,Fn),分母相同的比较就不用求了,只需要比较分子。
比如P(True|F1,Fn) > P(False|F1,Fn) ,那么F1,Fn发生时,就应该是True。
0x05 概率分布
- 高斯分布:特征连续,sklearn.naive_bayes.GaussianNB
- 多项式分布:特征离散,sklearn.naive_bayes.MultinomialNB
- 伯努利分布:特征离散且只有0和1,sklearn.naive_bayes.BernoulliNB
0x06 总结
6.1 优点
- 朴素贝叶斯思想简单,易于实现,对小规模数据表现良好。
- 当数据量超出内存限制时可分批增量训练。
- 数据有缺失时也不敏感。
6.2 缺点
- 朴素贝叶斯在特征较多或特征之间并不独立,甚至相关性较强时分类效果较差。
- 朴素贝叶斯因为是概率模型,通过先验决定后验然后以概率比较来决定最终分类,所以存在一定错分的可能。