关闭

利用算法识别车厘子与樱桃

标签: 大数据算法贝叶斯定理
1548人阅读 评论(1) 收藏 举报

引言:朴素贝叶斯分类器作为基础的分类算法,早在基础数学时期就已经被使用,目前在各行各业中更是被广泛使用。近几年车厘子在中国地区卖得火热,面对车厘子和樱桃,很多老百姓很难分清楚,那么算法能帮我们区分吗? 
本文选自《大数据时代的算法:机器学习、人工智能及其典型实例》。

图片描述
  车厘子是樱桃吗?它们有区别是什么呢?通过在水果市场采集,获得了一些关于车厘子和樱桃的相关特征数据。 
图片描述
  通过现有的车厘子和樱桃的数据,在包含车厘子和樱桃的混合水果中,随机给一个车厘子或者樱桃,识别它是樱桃或者车厘子的可能性哪个大? 本文我们将用朴素贝叶斯(Naive Beyesian)来解决这个问题,但在开始之前我们来简单了解下一些相关知识。

贝叶斯定理

  朴素贝叶斯是以贝叶斯定理为基础的概率分类模型。贝叶斯定理是概率论中的一个定理,它跟随机变量的条件概率及边缘概率分布有关。在有些关于概率的解说中,贝叶斯定理能够告知我们如何利用新证据修改已有的看法。这个名称来自于托马斯·贝叶斯。 
  通常,事件A在事件B(发生)的条件下的概率与事件B在事件A的条件下的概率是不一样的;然而,这两者有着确定的关系,贝叶斯定理就是对这种关系的表示。贝叶斯公式定义在事件B出现的前提下,事件A出现的概率等于事件A出现的前提下事件B发生的概率乘以时间A出现的概率再除以时间B出现的概率。通过联系事件A与事件B,计算从一个事件产生另一事件的概率,即从结果上溯原。因此,贝叶斯定理公式如下所示: 
【图2】

  在理解贝叶斯定理的基础上,可以较好地理解基于朴素贝叶斯的分类模型。信息分类是信息处理中最基本的模块,每一段信息无论长或短,都由若干特征组成,因此可以将所有特征视为一个向量集W=(w1,w2,w3,…,wn),其中wi即表示其中第i个特征。而信息的分类也可以视为一个分类标记的集合C={c1,c2,c3,…,cm}。在进行特征学习之前,特征wi与分类标记cj的关系不是确定值,因此需要提前计算P(C|W),也就是在特征wi出现的情况下,信息属于分类标记C的概率,可根据贝叶斯计算,公式如下: 
【图3】

  因此,可以从信息分类的角度理解贝叶斯公式,即表示为:在特征wi出现的情况下是否是特征类别cj取决于在特征分类标记cj情况下特征wi出现的概率以及wi在所有特征中出现的概率。P(W)的意义在于如果这个特征在所有信息中出现,那么用特征wi去判定是否属于分类标识cj的概率越低,越不具备代表性。

车厘子与樱桃问题的解决

  朴素贝叶斯是一种有监督的学习方式,可以利用伯努利模型(Bernoulli Model)以文件为粒度进行文本分类。 
(有监督学习是有监督分类的实质,有监督分类是指根据已有的训练集提供的样本,通过不断计算,从样本中学习选择特征参数,对分类器建立判别函数以对被识别的样本进行分类。有监督分类方式可以有效利用先验数据,对后验数据进行校验,但是缺点也比较明显。首先,训练数据是人为收集,具有一定的主观性,并且人为收集数据也会导致花费一定的人力成本;其次,最终分类器分类的结果中,分类结果只可能是训练数据中的分类类型,不会产生新的类型。) 
假设训练集样本的特征满足高斯分布,得到下表。 
【图4】

  我们认为两种类别是等概率的,也就是P(车厘子)=P(樱桃)=0.5。概率密度函数如下: 
【图5】

  验证过程先给出一个待确定属于车厘子还是樱桃的测试样本,见下表。 
【图6】

  验证的标准则是:得到的样本属于樱桃还是车厘子的后验概率大者。 
【图7】

  上述式子用于求取车厘子的后验概率, 
【图8】

  上式用于求取樱桃的后验概率。证据因子evidence(通常是常数)用来对各类的后验概率之和进行归一化。 
【图9】

  证据因子是一个常数(在高斯分布中通常是一个常数),所以可以忽略,只需计算后验概率式子中的分子即可。接下来通过样本的特征值来判别样本所属的类别。 
【图10】

  其中,μ=0.8,α=0.018257419,二者均为训练集样本的高斯分布参数。注意,这里计算的是概率密度而不是概率。 
【图11】

  通过上述计算可以看出,车厘子的后验概率分子较大,由此可以预计这个样本属于车厘子的可能性较大。 
  本文选自《大数据时代的算法:机器学习、人工智能及其典型实例》,点此链接可在博文视点官网查看此书。 
                     图片描述

3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

利用贝叶斯分类器实现手写数字识别

利用贝叶斯分类器实现手写数字识别。
  • u013398034
  • u013398034
  • 2016-01-27 23:32
  • 2272

机器学习_朴素贝叶斯算法识别手写数字

朴素贝叶斯算法是基于条件概率的一种分类算法,通过概率大小来进行分类,经常用于分类文档。本文用python实现朴素贝叶斯算法,并用kaggle识别手写数字的数据集来训练,得到81%的准确率。虽然准确率可...
  • ljyhust
  • ljyhust
  • 2017-07-17 23:59
  • 473

贝叶斯算法详解

从贝叶斯定理说开去 简介 贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论。以下摘一段 wikipedia ...
  • AnneQiQi
  • AnneQiQi
  • 2017-03-02 20:43
  • 1384

手写识别之朴素贝叶斯

在前面的几篇文章中,都对手写识别进行了一些讲解,这里主要是介绍一下通过另外一种方法来进行识别---------朴素贝叶斯。。自己也是处于机器学习路上的一名新手,如果有什么讲解不对的话,欢迎大家进行交流...
  • Cs_hnu_scw
  • Cs_hnu_scw
  • 2017-05-24 15:48
  • 1440

机器学习之基于朴素贝叶斯文本分类算法

原理 在分类(classification)问题中,常常需要把一个事物分到某个类别。一个事物具有很多属性,把它的众多属性看做一个向量,即x=(x1,x2,x3,…,xn),用x这个向量来代表这个事物...
  • lming_08
  • lming_08
  • 2014-07-08 00:15
  • 2346

【斯坦福---机器学习】复习笔记之朴素贝叶斯算法

本讲大纲:1.朴素贝叶斯(Naive Bayes) 2.神经网络(Neural Networks) 3.支持向量机(Support vector machines)1.朴素贝叶斯前面讲的主要是是二...
  • Andrewseu
  • Andrewseu
  • 2015-07-15 16:58
  • 3363

机器学习算法-深入探讨朴素贝叶斯

转自:http://my.oschina.net/yuzh/blog/100815 什么是贝叶斯分类      据维基百科上的介绍,贝叶斯定理是关于随机事件A和B的条件概率和边缘概率的一则...
  • siliang13
  • siliang13
  • 2014-06-03 10:53
  • 1269

用Python Scikit-learn 实现机器学习十大算法--朴素贝叶斯算法(文末有代码)

1,前言 很久不发文章,主要是Copy别人的总感觉有些不爽,所以整理些干货,希望相互学习吧。不啰嗦,进入主题吧,本文主要时说的为朴素贝叶斯分类算法。与逻辑回归,决策树一样,是较为广泛使用的有监督分类...
  • zji19191919
  • zji19191919
  • 2016-08-13 21:07
  • 2996

常用数据挖掘算法 - 决策树ID3&关联推荐Apriori &朴素贝叶斯NBC

数据挖掘主要解决四类问题: 分类:预测主题属于(A,B,C)类,前提预先知道分类,根据构造模型算法将输入数据分类,而非一个具体数值(广义预测)-(决策树,Logistic回归,神经网络) 聚类:把一个...
  • paul_wei2008
  • paul_wei2008
  • 2014-02-17 21:27
  • 2287

贝叶斯算法的应用

简介 学过概率理论的人都知道条件概率的公式:P(AB)=P(A)P(B|A)=P(B)P(A|B);即事件A和事件B同时发生的概率等于在发生A的条件下B发生的概率乘以A的概率。由条件概率公式推导...
  • u013378306
  • u013378306
  • 2016-08-19 18:40
  • 8507
    个人资料
    • 访问:3859479次
    • 积分:55870
    • 等级:
    • 排名:第58名
    • 原创:1459篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3784条
    博客专栏
    文章存档
    最新评论