机器学习之朴素贝叶斯法

  转载请注明出处:http://www.cnblogs.com/Peyton-Li/

  朴素贝叶斯法是机器学习模型中一个比较简单的模型,实现简单,比较常用。

  是定义在输入空间上的随机向量,是定义在输出空间上的随机变量。的联合概率分布。训练数据集独立同分布产生。

  朴素贝叶斯法通过训练数据集学习联合概率分布。具体地,学习一下先验概率分布及条件概率分布。

  先验概率分布,条件概率分布,于是学习到联合概率分布

  条件概率分布有指数级数量的参数,其估计实际是不可行的。事实上,假设可取值有个,可取值有个,那么参数个数为

  朴素贝叶斯法对条件概率分布作了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯法也由此得名。具体的,条件独立性假设是

    

                    (4.3)

  朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。

  朴素贝叶斯法分类时,对给定的输入,通过学习得到的模型计算后验概率分布,将后验概率最大的类作为的类输出。后验概率计算根据贝叶斯定理进行:

        (4.4)

将式(4.3)带入(4.4)有

        (4.5)

这是朴素贝叶斯法分类的基本公式。于是,朴素贝叶斯分类器可表示为

        (4.6)

注意到,在式(4.6)中分母对所有都是相同的,所以,

        (4.7)

  朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。假设选择0-1损失函数:

    

式中是分类决策函数。这时,期望风险函数为

    

期望是对联合分布取的。由此取条件期望

    

为了使期望风险最小化,只需对逐个极小化,由此得到:

    

      

      

      

这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:

          (4.8)

即朴素贝叶斯法所采用的原理。(注意将4.7式和4.8式对比)

 

  在朴素贝叶斯法中,学习意味着估计。可以应用极大似然估计法估计相应的概率。先验概率的极大似然估计是

      

 

设第个特征可能取值的集合为,条件概率的极大似然估计是

      

      

式中,是第个样本的第个特征;是第个特征可能取的第个值;为指示函数。

对于给定的实例,计算

    

确定实例的类

    

 

用极大似然估计可能会出现所要估计的概率值为0的情况。这是会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是

          (4.10)

式中。等价于在随机变量各个取值的频数上赋予一个正数。当时就是极大似然估计。常取,这是称为拉普拉斯平滑(Laplace smoothing)。显然,对任何,有

    

    

表明式(4.10)确为一种概率分布。同样,先验概率的贝叶斯估计是

    

  朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应用中几乎不可能做到完全独立)。

  优点

    1、朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。

    2、对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。

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

  缺点

    1、理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。

    2、需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。

    3、由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。对输入数据的表达形式很敏感。

 

转载于:https://www.cnblogs.com/Peyton-Li/p/7538221.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何让梯形变成平行四边形_开放的课堂 创新的天地——平行四边形的面积教学片段与反思...

一、 课题的确定学生在三年级学过长方形、正方形的面积计算,经历过从数方格的办法得出面积计算公式的过程。因此,学生对于面积计算公式的推导有一定的经验和知识基础。基于上述考虑,我想完全放手让学生去研究如何计算平行四边形的面积。这对学…

bzoj1670【Usaco2006 Oct】Building the Moat 护城河的挖掘

1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 387 Solved: 288[Submit][Status][Discuss]Description 为了防止口渴的食蚁兽进入他的农场,Farmer John决定在他的农场周围挖一条护城河。农场里一共同拥有N(8…

音视频编解码的一些源代码

音视频编解码的一些源代码 (转)资料名称:音视频编解码的一些源代码 资料成文时间:不详 语言:英文 页数:很多 何人所著(来源): 文件格式:原代码 开发工具:vc 说…

Vue之组件之间的数据传递

Vue的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据,必须使用特定的方法才能实现组件之间的数据传递。 下列为在vue-cli创建项目中的操作 一父组件向子组件传递数据 在Vue中,用props向子组件传递数据。 子组件部分&#…

偶然发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便

发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便 Moderate,意思为适中的,适度的,用这个作为代号,主要取决于他的本名“中用”,其一以贯之的想法就是中庸,秉承着以人为本的态度&#xf…

案例 自动办公_1300张办公系列前台参考图,请您查收!

设计情报局室内设计师的灵感聚集地关注一个有格调的空间必定有一处高颜值的前台漂亮的前台很重要...是空间给人的第一印象一个独一无二的前台设计还可以提升整个空间的气质与逼格连个漂亮的前台都没有作为颜控界扛把子的设计师们还怎么混?SO今天小编给大家带来一份《…

iframe里面的元素触发父窗口元素事件的jquery代码 转

例如父窗口定义了一个事件。 top: $(dom1).bind(topEvent, function(){}); 那么iframe里面的元素怎样触发父窗口dom1的事件呢?这样吗? $(dom1, parent.document).trigger(topEvent); 看似正确,实则误导人。 因为父窗口的jquery对象与iframe里…

mplayer 所支持的音视频编解码

这里我把mplayer 所支持的音视频编解码都罗列出来,方便大家查阅;-----------------------------------------------------------------------------------------------Video codecs:Working video codecscodec namefourcccodecfileoutcommentsFFmpeg Zip…

使用ifconfig取出网卡eth0的ip地址

方法1:sed命令12[rootoldboyedu ~]# ifconfig eth0 |sed -n 2p |seds#^.*addr:##g|sed s# B.*$##g10.0.0.50方法2:cut12[rootoldboyedu ~]# ifconfig eth0|grep inetaddr|cut -d ":" -f2|cut -d " " -f110.0.0.50方法3:…

目标检测_目标检测 | Anchor free的目标检测进阶版本

今天说的是《Soft Anchor-Point Object Detection》,其也是最近关于anchor free的目标检测的论文,作者来自于CMU,一作同样也是FSAF(2019 CVPR)的作者。该论文的出发点还是在样本选择和FPN特征选择层面。背景Anchor free是目标检测领域的一个研…

Colly实现豆瓣电影Top250爬取

使用 Colly 实现 豆瓣电影Top250爬取 package mainimport ("encoding/csv""github.com/PuerkitoBio/goquery""github.com/gocolly/colly""log""os""strings""time" )type Movie struct {idx string…

homework1

一.什么是RUP?二.什么是XP?三.什么是敏捷过程? 一。什么是RUP?RUP是一种完整而且完美的软件过程 1。最佳实践 (1)迭代式开发 (2)管理需求 (3)使用基于构件软件的体系结构 (4&…

编程:休息片刻的好处

原文作者 Axel Rauschmayer 是一位居住在德国慕尼黑的自由软件工程师。他在这篇博文列举了在编程期间休息片刻的一些好处。 你会更精明而不是更卖力地工作。我曾经为了一个功能的实现而卖力工作过。每天12小时,整整工作了两个星期。我付出了很多努力。那两个星期之…

五个温度带的分界线_女神建筑师在拿破仑故乡打造的海景别墅,超美!超有温度!【环球设计2225期】...

生活的温度 法国建筑师阿米莉亚塔维拉(Amelia Tavella)一直对设计充满热情,她出生在阿雅克肖市,在巴黎的建筑学院学习建筑专业,如今她居住普罗旺斯地区的艾克斯。她说:“设计让我涉足很多有趣的领域并能充分发挥我的想象力。这是一…

1118. Birds in Forest (25)

并查集。。。要用路径压缩&#xff0c;不然会超时&#xff0c; #include<iostream> #include<string> #include<map> #include<vector> #include<algorithm> #include<queue> #include<set> #include<stack> using namespace …

Java线程池有哪些作用

线程池 线程池的作用 核心点:复用机制提前创建好固定的线程一直在运行状态实现复用限制线程创建数量。 1.降低资源消耗:通过池化技术重复利用已创建的线程&#xff0c;降低线程创建和销毁造成的损耗。 2.提高响应速度:任务到达时&#xff0c;无需等待线程创建即可立即执行。…

中国重名的市辖区

中国重名的市辖区 截止2016年7月31日 新华区(3) 河北省石家庄市新华区 河北省沧州市新华区 河南省平顶山市新华区 桥西区(3) 河北省石家庄市桥西区 河北省邢台市桥西区 河北省张家口市桥西区 海州区(2) 辽宁省阜新市海州区 江苏省连云港市海州区 郊区(4) 山西省阳泉市郊区 山西…

安卓关于图片压缩的那些事儿,希望给每个安卓开发人员一些帮助

从事安卓开发也有几年了,本人喜欢开门见山,此篇文章是处理以java语言下的安卓开发过程中图片压缩问题。 图片加载在我们的开发过程中都是一个内存大户,以至于我们加载每一个图片bitmap对象的时候都应该进行回收以减少内存的占用&#xff0c;而如果单张图片的大小加载在内存都会…

银行it现状调研_中央银行系统行业现状调研分析及发展趋势预测报告(2019年版)...

QYResearch预测&#xff1a;2019-2025全球与中国中央银行系统市场现状及未来发展趋势【纸版价格】&#xff1a;RMB 15000【电子版(PDF)价格】&#xff1a;RMB 15000【报告篇幅】&#xff1a;112【报告图表数】&#xff1a;158【报告出版时间】&#xff1a;2019年11月报告摘要本…

视频编解码技术小结

1、什么是H.261编码协议 答&#xff1a;H.261是最早出现的视频编码建议&#xff0c;它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法&#xff0c;其输出码率是p64kbit/s。p取值较小时&#xff0c;只能传清晰度不太高的图像&#…