美文网首页机器学习
《机器学习(周志华)》学习笔记(七)

《机器学习(周志华)》学习笔记(七)

作者: 红色的Ricky | 来源:发表于2017-01-19 23:29 被阅读844次

Q:什么是贝叶斯分类器?

A:
一句话:以贝叶斯方法为核心原理构造出来的分类程序统称为贝叶斯分类器,主要包括朴素贝叶斯分类器,半朴素贝叶斯分类器,以及贝叶斯网络。

</br>

Q:那么,贝叶斯方法又是什么鬼?

A:
贝叶斯方法是一位英国数学家托马斯·贝叶斯在18世纪提出来的概率学方法。此法牛逼之处不多赘述,贝叶斯学派似乎已经占据了概率学派中的半壁江山(另外一半江山归于频率学派)。

举个例子:
已知
——100名男生中有99个短发,1个长发;
——100名女生中有90个长发,10个短发;

那么
——从这200名学生中抽取一个学生,已知是男生,则该男生是长发的概率是多少?答案很简单,是0.01000。

P(长发|男生) = P(长发,男生) / P(男生)

——从中200名学生中抽取一个学生,已知是长发,则该长发学生是男生的概率是多少?答案稍难一点,是0.01099。

P(男生|长发)=P(长发|男生)*P(男生) / P(长发)

由此可见,大多数的概率计算方法(古典概率模型、几何概率模型、条件概率公式、全概率公式、联合概率公式······)都是已知前提条件发生的情况下求各种可能结果发生的概率。而贝叶斯公式则是用于已知一件事情已经发生,求导致其发生的各种可能前提条件成立的概率。

已知:A => a 或 b 或 c 求P(a)
用古典概率模型、几何概率模型、条件概率公式、全概率公式、联合概率公式······

已知:A 或 B 或 C => a 求P(A)
用贝叶斯公式

更多贝叶斯方法的知识,可以查阅刘未彭《数学之美番外:贝叶斯方法》:<a href="http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/">http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/</a>

</br>

Q:怎样应用贝叶斯方法构造分类器?

A:
我们继续以西瓜分类问题为例,用下面的色泽、根蒂等8个特征的数据,判断一个西瓜是好瓜还是坏瓜。

应用贝叶斯方法的基本思想是,分别求出待分类西瓜是好瓜以及坏瓜的概率,那一个概率高,就将其归到那一类。

那么
P(好瓜=是|色泽=青绿,根蒂=蜷缩,······)
P(好瓜=否|色泽=青绿,根蒂=蜷缩,······)
这两个概率怎么求?

根据贝叶斯方法,基本公式是如下


其中c是类别,向量x是特征值。其中分子P(x)对于P(c=好瓜|x)和P(c=坏瓜|x)是一样的,可以一并舍去。所以关键要求出P(c)P(x|c),也就是

亦即
P(好瓜=是)*P(色泽=?|好瓜)*P(根蒂=?|好瓜)···*
P(好瓜=否)*P(色泽=?|坏瓜)*P(根蒂=?|坏瓜)···*
这两条式子中基本上每一项都是一个简单的条件概率(甚至可以用古典概型求出)。

数据集中的密度和含糖率是连续数据,他们的条件概率怎么求?可以假设这些连续数据服从正态分布,然后算出训练数据集中这两项属性的均值和方差,代入下面公式,即可算出。


用训练数据集算出各个特征的条件概率以及各个类别出现的概率以后,就可以应用贝叶斯公式预测一个西瓜是好瓜以及坏瓜的概率了。

在上面的例子中,我们
1、用到了贝叶斯公式
2、假设各个属性互不影响(实际上不是,比如敲声可能受密度影响)
所以我们刚刚构造出的分类器叫做朴素贝叶斯分类器(Naive Bayesian classifier)

</br>

Q:我觉得朴素贝叶斯分类器太Naive,想要高逼格一点,如何改进?

A:
虽然朴素贝叶斯算法很Naive,但是实践显示其性能很已经不错,很多垃圾邮箱分类算法用的就是朴素贝叶斯。

当然,可以不Naive一点,用半朴素贝叶斯(semi-naive Bayesian classifier)。

朴素贝叶斯, naive之处在于假设各个属性互不影响。这在实践中不易见到,所以人们尝试放宽点这个条件,比如改成“假设各个属性最多受一个属性影响(最多依赖于一个属性)”

如此一改,整个模型就


变成了

两条式子的唯一的不同之处在于各个条件概率项的条件部分,pai指的是被依赖的属性。举个例子——若敲声受密度影响,则有
P(敲声=沉闷|好瓜=是,密度>0.700)
P(敲声=沉闷|好瓜=否,密度>0.700)
P(敲声=沉闷|好瓜=是,密度<=0.700)
P(敲声=沉闷|好瓜=否,密度<=0.700)

······
除此之外,其他与朴素贝叶斯无大出入。

</br>

Q:半朴素贝叶斯中还是有点naive,有没有不naive的贝叶斯算法?

A:
当然有,比如贝叶斯网络(Bayesian network),又称信念网络(Belief network),也就是当我们完全放开了“属性之间相互影响”的假设的时候,所诞生的算法。此时一个属性可以影响多个其他属性,也可以受多个属性影响,这就比朴素贝叶斯和半朴素贝叶斯复杂多了。

贝叶斯网络之间的属性的影响关系,可以用一个有向无环图描述,图中每一个节点存储着该属性的条件概率。如



所以一个贝叶斯网络由一个有向无环图和一个条件概率表组成。

</br>


未完待续

相关文章

网友评论

    本文标题:《机器学习(周志华)》学习笔记(七)

    本文链接:https://www.haomeiwen.com/subject/grtwbttx.html