Naive Bayes 朴素贝叶斯
2023-09-16 07:35:03 7 举报
AI智能生成
机器学习算法——朴素贝叶斯
作者其他创作
大纲/内容
概率基础
<b>联合概率:</b>包含多个条件,且所有条件同时成立的概率
记作:P(A,B)
<b>条件概率:</b>就是事件A在另外一个事件B已经发生条件下的发生概率
记作:P(A|B)
<b>相互独立</b>:如果P(A, B) = P(A)P(B),则称事件A与事件B相互独立
贝叶斯公式
案例: 商品评论情感分析
步骤
获取数据
数据基本处理
取出内容列,对数据进行分析
判定评判标准
选择停用词
把内容处理,转化成标准格式
统计词的个数
准备训练集和测试集
模型训练
模型评估
API
<b><font color="#ed9745">sklearn.naive_bayes.MultinomialNB(alpha = 1.0)</font></b>
朴素贝叶斯分类
alpha:拉普拉斯平滑系数
朴素贝叶斯优缺点
优点
朴素贝叶斯模型发源于古典数学理论,<b>有稳定的分类效率</b>
<b>对缺失数据不太敏感</b>,算法也比较简单,常用于文本分类
分类准确度高,速度快
缺点
由于<b>使用了样本属性独立性的假设</b>,所以如果特征属性有关联时其效果不好
<b>需要计算先验概率</b>,而先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳;
朴素贝叶斯原理
基于贝叶斯定理与特征条件独立假设的分类方法
对于给定的待分类项 <span class="equation-text" contenteditable="false" data-index="0" data-equation="x"><span></span><span></span></span>,通过学习到的模型计算后验概率分布
特点
当Y确定时,X的各个特征分量取值之间相互独立
引入条件独立性假设原因
为了避免贝叶斯定理求解时面临的组合爆炸、样本稀疏问题
在估计条件概率P(X∣Y)时出现概率为0的情况解决方案
引入λ
当λ=0时,就是<font color="#e74f4c">普通的极大似然估计</font>;
当λ=1时称为<font color="#e74f4c">拉普拉斯平滑</font>
属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍能取得较好的效果原因
在使用分类器之前,首先做的第一步(也是最重要的一步)往往是特征选择,这个过程的目的就是为了<b>排除特征之间的共线性、选择相对较为独立的特征</b>;
对于分类任务来说,只要各类别的条件概率排序正确,无需精准概率值就可以得出正确分类;
如果属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算复杂度的同时不会对性能产生负面影响
朴素贝叶斯与LR的区别
区别一
<b>朴素贝叶斯是生成式模型</b>
根据已有样本进行贝叶斯估计学习出先验概率<span class="equation-text" contenteditable="false" data-index="0" data-equation="P(Y)"><span></span><span></span></span>和条件概率<span class="equation-text" data-index="1" data-equation="P(X|Y)" contenteditable="false"><span></span><span></span></span>,
进而求出联合分布概率<span class="equation-text" contenteditable="false" data-index="0" data-equation="P(XY),"><span></span><span></span></span>
<span class="equation-text" contenteditable="false" data-index="0" data-equation="P(XY) = P(X|Y) P(Y)"><span></span><span></span></span>
最后利用贝叶斯定理求解<span class="equation-text" contenteditable="false" data-index="0" data-equation="P(Y|X)"><span></span><span></span></span>
<b>LR是判别式模型</b>
根据<b>极大化对数似然函数</b>直接求出条件概率<span class="equation-text" contenteditable="false" data-index="0" data-equation="P(Y|X)"><span></span><span></span></span>
区别二
朴素贝叶斯是基于很强的<b>条件独立假设</b>(在已知分类Y的条件下,各个特征变量取值是相互独立的)
而LR则对此没有要求
区别三
朴素贝叶斯适用于数据集少的情景
而LR适用于大规模数据集
<b>判别式 & 生成式</b>
从概率框架的角度来理解机器学习;主要有两种策略:
<b>- 判别式模型 (discriminative models):</b>给定<span class="equation-text" data-index="0" data-equation=" x" contenteditable="false"><span></span><span></span></span>, 可通过直接建模<span class="equation-text" data-index="1" data-equation=" P(c |x)" contenteditable="false"><span></span><span></span></span> 来预测 <span class="equation-text" contenteditable="false" data-index="2" data-equation="c"><span></span><span></span></span><br>
<b>- 生成式模型 (generative models) </b>:也可先对联合概率分布 <span class="equation-text" data-index="0" data-equation="P(x,c)" contenteditable="false"><span></span><span></span></span> 建模,然后再由此获得 <span class="equation-text" contenteditable="false" data-index="1" data-equation="P(c |x)"><span></span><span></span></span>
显然,前面介绍的逻辑回归、决策树、都可归入判别式模型的范畴,还有后面学到的BP神经网络支持向量机等;
对生成式模型来说,必然需要考虑 <span class="equation-text" contenteditable="false" data-index="0" data-equation="P(c|x) = \frac {P(x,c)}{P(x)}"><span></span><span></span></span>
<ul><li><b>常见生成式模型</b>:决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型</li><li><b>常见判别式模型</b>:感知机、支持向量机、K临近、Adaboost、K均值、潜在语义分析、神经网络 <br> 逻辑回归既可以看做是生成式也可以看做是判别式</li></ul>
0 条评论
下一页