机器学习算法总结(十)——朴素贝叶斯

1、模型的定义 

  朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分裂方法。首先我们来了解下贝叶斯定理和所要建立的模型。对于给定的数据集

  

  假定输出的类别yi ∈ {c1, c2, ...., ck},朴素贝叶斯通过训练数据集的来学习联合概率分布P(x|y)。但是直接求联合概率分布P(x|y)一般比较难,因此在这里我们近视的求先验概率分布和条件概率分布来替代它。先验概率分布如下

  

  对于先验概率的求解,可以根据大数定理认为就是该类别在总体样本中的比例。条件概率分布如下

  

  通过先验概率和条件概率的求解就可以学习到联合概率(一般认为联合概率是正比近似于先验概率和条件概率的乘积),然而在这里的条件概率也是不好求的,若直接求解的话,参数的个数是所有特征取值个数的连乘。因此在这里引入了朴素贝叶斯思想。

  朴素贝叶斯法假定上面的条件概率中各特征之前是相互独立的。此时我们可以做链式展开,表达式如下

  

  朴素贝叶斯法实际上是有求联合概率分布的过程,以及通过联合概率求后验概率(也是一种条件概率)的过程,像这类的分类器属于生成式模型。区别于它的就是判别生成式模型,常见的有决策树,逻辑回归,SVM等,这类模型都是直接生成结果(可能是P(y) 或者P(y|x) )。了解了先验概率和条件概率的计算过程,我们再来看看贝叶斯定理是如何计算后验概率的

  

  引入朴素的思想,假设各特征之间相互独立

  

  这就是朴素贝叶斯分类的基本公式,因此我们的模型可以建为

  

  而对于右边式子中的分母,分母是一个和类别无关的式子,也就是说对于所有的ck都是一样的,然后在这里我们只是求的最大概率的类别,因此去掉这一项是不会影响结果的(即对表达式进行同比例的放大或缩小是不会影响最大解的判断的),最终的式子可以写成

  

2、后验概率最大化

  先来了解下0-1损失函数:

  

  此时的期望风险函数,在优化模型的时候我们的目的是为了使得期望损失最小化

  

  而对于朴素贝叶斯模型,期望损失函数可以表示为

  

  这里面的损失函数和0-1损失有所不同,可以看成分类到每个类别的概率乘以0-1损失函数,也就是说在k中只有一次L函数会取0,其余的都取1,此时我们还要使得取0时的条件概率P(ck|x)是最大的,这样整体的期望损失就是最小的。具体的数学推导过程如下

  

  为了使得期望风险最小化就是使得后验概率最大化。

3、朴素贝叶斯的参数估计

  采用极大似然估计来求解先验概率和条件概率,先验概率的极大似然估计

  

  条件概率的极大似然估计

  

  但是用极大似然估计可能会出现概率值为0的情况。这时候会影响到后验概率的计算(因为链式求解时,一旦存在某一个值为0,则会导致整个链式的解为0,也就是求得的条件概率为0).因此我们会采用贝叶斯估计,先验概率的表达式

  

  贝叶斯估计的条件概率表达式

  

  因此朴素贝叶斯模型只要计算出训练集上各类参数,比如先验概率,各特征在各类别上的概率(这些是用来计算条件概率的)等,基于这些学得的值来预测

  

4、朴素贝叶斯总结

  朴素贝叶斯的优点:

  1)朴素贝叶斯模型分类效率稳定

  2)对小规模的数据集表现很好,能处理多分类问题,适合增量式训练,尤其是数据集超出内存后,我们可以一批批的去训练

  3)对缺失数据不太敏感,算法比较简单,常用于文本分类

  朴素贝叶斯的缺点;

  1)理论上,朴素贝叶斯较其他模型相比具有最小的误差率,但实际上却不一定,因为朴素贝叶斯引进了各特征之间相互独立这一假设。因此在各特征之间相关性较强时,朴素贝叶斯表现一般,但是在各特征之间独立性很强时,朴素贝叶斯表现很好

  2)通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率

  3)对输入数据的表达形式很敏感

原文地址:https://www.cnblogs.com/jiangxinyang/p/9297803.html

时间: 2024-10-10 18:52:12

机器学习算法总结(十)——朴素贝叶斯的相关文章

机器学习算法( 四、朴素贝叶斯算法)

一.概述 前两章我们要求分类器做出艰难决策,给出“该数据实例属于哪一类”这类问题的明确答案.不过,分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值. 概率论是许多机器学习算法的基础,所以深刻理解这一主题就显得十分重要.第3章在计算特征值取某个值的概率时涉及了一些概率知识,在那里我们先统计特征在数据集中取某个特定值的次数,然后除以数据集的实例总数,就得到了特征取该值的概率.我们将在此基础上深人讨论.      本章会给出一些使用概率论进行分类的方

Stanford机器学习[第六讲]-朴素贝叶斯算法

引文:由于之前讲过了朴素贝叶斯的理论Stanford机器学习[第五讲]-生成学习算法第四部分,同时朴素贝叶斯的算法实现也讲过了,见机器学习算法-朴素贝叶斯Python实现.那么这节课打算讲解一下朴素贝叶斯算法的具体计算流程,通过一个具体的实例来讲解. PS:为了专注于某一个细节,本章节只抽取了视频的一部分来讲解,只讲解一个贝叶斯算法的计算流程,关于视频里面的具体内容请参考下面的视频链接. 讲解的实例是一个文本分类的例子,区分一句话是粗鲁的还是文明的,类别标签只有Yes或No,表示是粗鲁的和不是粗

机器学习(五)—朴素贝叶斯

最近一直在看机器学习相关的算法,今天我们学习一种基于概率论的分类算法—朴素贝叶斯.本文在对朴素贝叶斯进行简单介绍之后,通过Python编程加以实现. 一  朴素贝叶斯概述                                                               1 前言 “贝叶斯”又是一个响当当的名字,刚开始接触的是贝叶斯定理.贝叶斯分类器是一类分类算法的总称,是两种最为广泛的分类模型之一,另一种就是上篇中的决策树了.贝叶斯分类均以贝叶斯定理为基础,朴素贝叶斯是

【机器学习实验】使用朴素贝叶斯进行文本的分类

引言 朴素贝叶斯由贝叶斯定理延伸而来的简单而强大的概率模型,它根据每个特征的概率确定一个对象属于某一类别的概率.该方法基于一个假设,所有特征需要相互独立,即任一特征的值和其他特征的值没有关联关系. 虽然这种条件独立的假设在许多应用领域未必能很好满足,甚至是不成立的.但这种简化的贝叶斯分类器在许多实际应用中还是得到了较好的分类精度.训练模型的过程可以看作是对相关条件概率的计算,它可以用统计对应某一类别的特征的频率来估计. 朴素贝叶斯最成功的一个应用是自然语言处理领域,自然语言处理的的数据可以看做是

《机器学习实战》笔记——朴素贝叶斯

运用贝叶斯公式(朴素贝叶斯假设每个特征每个特征都是独立的)可以解决的问题有,已知某些特征,用来判断某情况发生的可能性大小,设置可能性最大的情况作为预测值. 是一种监督算法. 广泛应用于垃圾邮件检测等等. 1 # _*_coding:utf-8_*_ 2 from numpy import * 3 4 # 4-1 词表到向量的转换函数(实验样本) 5 def loadDataSet(): 6 postingList = [['my', 'dog', 'has', 'flea', 'problems

(笔记)斯坦福机器学习第六讲--朴素贝叶斯

本讲内容 1. Naive Bayes(朴素贝叶斯) 2.Event models(朴素贝叶斯的事件模型) 3.Neural network (神经网络) 4.Support vector machines(支持向量机) 1.朴素贝叶斯 上讲中的垃圾邮件问题有几个需要注意的地方: (1)  一个单词只有出现和不出现两种可能,因此每个特征x只有两个取值 (2) 特征向量x的个数应该等于词典的长度,比如  将该算法一般化: (1) 让 可以取更多的值 此时  服从多项式分布,而不再是伯努利分布.一种

机器学习之&&贝叶斯定理、朴素贝叶斯实现、贝叶斯网络等知识博客整理

什么是历史,历史就是我们,不是你,不是他,不是她,是所有人. ----------题记 本文是博主对于bayes及其相关知识的读物总结. 一.数学之美番外篇:平凡而又神奇的贝叶斯方法 二.机器学习理论与实战(三)朴素贝叶斯 三.从贝叶斯方法谈到贝叶斯网络 四.数学之美----贝叶斯网络 (2) 五.贝叶斯网络的学习 六.Stanford概率图模型(Probabilistic Graphical Model)- 第一讲 贝叶斯网络基础 七.隐马尔科夫模型 和动态贝叶斯网络 八.贝叶斯网络在线构建过

《机器学习实战》学习笔记:基于朴素贝叶斯的垃圾邮件过滤

概率是许多机器学习算法的基础,在前面生成决策树的过程中使用了一小部分关于概率的知识,即统计特征在数据集中取某个特定值的次数,然后除以数据集的实例总数,得到特征取该值的概率. 之前的基础实验中简单实现了朴素贝叶斯分类器,并正确执行了文本分类,这一节将贝叶斯运用到实际场景,垃圾邮件过滤这一实际应用. 实例:使用朴素贝叶斯过滤垃圾邮件 在上一节:http://blog.csdn.net/liyuefeilong/article/details/48383175中,使用了简单的文本文件,并从中提取了字符

机器学习实战读书笔记(四)基于概率论的分类方法:朴素贝叶斯

4.1 基于贝叶斯决策理论的分类方法 朴素贝叶斯 优点:在数据较少的情况下仍然有效,可以处理多类别问题 缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据 贝叶斯决策理论的核心思想:选择具有最高概率的决策. 4.2 条件概率 4.3 使用条件概率来分类 4.4 使用朴素贝叶斯进行文档分类 朴素贝叶斯的一般过程: 1.收集数据 2.准备数据 3.分析数据 4.训练算法 5.测试算法 6.使用算法 朴素贝叶斯分类器中的另一个假设是,每个特征同等重要. 4.5 使用Python进行文本分类