P(A|B)=P(B|A)*P(A)/P(B)
对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个最大,就认为此待分类项属于哪个类别
工作原理
工作流程
属性特征
Laplace校准(拉普拉斯校验)
当某个类别下某个特征划分没有出现时,会有P(a|y)=0,就是导致分类器质量降低,所以此时引入Laplace校验,就是对没类别下所有划分的计数加1。
遇到特征之间不独立问题
参考改进的贝叶斯网络,使用DAG来进行概率图的描述
优缺点
朴素贝叶斯的优点:
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个最大,就认为此待分类项属于哪个类别
工作原理
- 假设现在有样本x=(a1,a2,a3,…an)这个待分类项(并认为x里面的特征独立)
- 再假设现在有分类目标Y={y1,y2,y3,y4..yn}
- 那么max(P(y1|x),P(y2|x),P(y3|x)..P(yn|x))中的最大者就是最终的分类类别
- 而P(yi|x)=p(x|yi)*P(yi)/P(x)
- 因为x对于每个分类目标来说都一样,所以就是求max(P(x|yi)*p(yi))
- P(x|yi)*p(yi)=p(yi)*PI(P(ai|yi)) (PI表示连乘)
- 而具体的p(ai|yi)和p(yi)都是能从训练样本中统计出来
p(ai|yi)表示该类别下该特征出现的概率
p(yi)表示全部类别中这个这个类别出现的概率 - 好的,就是这么工作的^_^
工作流程
- 准备阶段
确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本。 - 训练阶段
计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计 - 应用阶段
使用分类器进行分类,输入是分类器和待分类样本,输出是样本属于的分类类别
属性特征
- 特征为离散值时直接统计即可(表示统计概率)
- 特征为连续值的时候假定特征符合高斯分布:g(x,n,u)
那么p(ak|yi)=g(xk,ni,ui)
Laplace校准(拉普拉斯校验)
当某个类别下某个特征划分没有出现时,会有P(a|y)=0,就是导致分类器质量降低,所以此时引入Laplace校验,就是对没类别下所有划分的计数加1。
遇到特征之间不独立问题
参考改进的贝叶斯网络,使用DAG来进行概率图的描述
优缺点
朴素贝叶斯的优点:
- 对小规模的数据表现很好,适合多分类任务,适合增量式训练。
缺点: - 对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)。
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
.朴素贝叶斯
朴素贝叶斯属于生成式模型(关于生成模型和判别式模型,主要还是在于是否是要求联合分布),非常简单,你只是做了一堆计数。如果注有条件独立性假设(一个比较严格的条件),朴素贝叶斯分类器的收敛速度将快于判别模型,如逻辑回归,所以你只需要较少的训练数据即可。即使NB条件独立假设不成立,NB分类器在实践中仍然表现的很出色。它的主要缺点是它不能学习特征间的相互作用,用mRMR中R来讲,就是特征冗余。引用一个比较经典的例子,比如,虽然你喜欢Brad Pitt和Tom Cruise的电影,但是它不能学习出你不喜欢他们在一起演的电影。
优点:
朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。
对小规模的数据表现很好,能个处理多分类任务,适合增量式训练;
对缺失数据不太敏感,算法也比较简单,常用于文本分类。
缺点:
需要计算先验概率;
分类决策存在错误率;
对输入数据的表达形式很敏感。