机器学习入门-贝叶斯分类器(一)


今天学习的内容是贝叶斯分类器
在正式介绍之前,先说两个名词:

  • 标称型数据:只在有限的目标集中取值,如真与假(主要用于分类)
  • 数值型数据:可从无限的数值集合中取值(主要用于回归分析)

贝叶斯决策论

Bayes Decision theory是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率误判损失来选择最优的类别标记。

基本原理

假设有N种可能的类别标记{c1,c2,…,cn},λ(i,j)是将一个真实标记为cj的样本误分类为ci所产生的损失。于是基于后验概率P(ci|x)可获得将样本x分类为ci所产生的期望损失,即样本x上的条件风险。

R(ci|x)=Σλ(i,j)*P(cj|x)

显然我们的追求是寻找一个判定准则以最小化总体条件风险。这就产生了贝叶斯判定准则:为最小化总体风险,只需要在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,该类别标记就称为贝叶斯最优分类器,与之对应的R称为贝叶斯风险,1-R反映了分类器所能达到的最好性能。
另外,如果目标是最小化分类器错误率,则误判损失λ(i,j)可以改写为

if i=j
    λ(i,j)=0
else 
    λ(i,j)=1

此时条件风险R(c|x)=1-P(c|x)
然后基于贝叶斯定理,P(c|x)可以改写为

P(c|x)=P(c)*P(x|c)/P(x)

其中P(c)是类“先验”概率,P(x|c)是样本x相对于类标记c的类条件概率,或者称为“似然”(likelihood)。
类先验概率P(c)表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布(i.i.d)样本时,P(c)可以通过各样本出现的频率来进行估计。

极大似然估计

估计类条件概率的一种常见策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。
事实上,模型训练过程就是参数估计过程。关于此,统计学界有两个学派。

频率主义学派:认为参数虽然未知,但是却是客观存在的固定值,可以通过优化似然函数来确定参数。
贝叶斯学派:  认为参数是未观察到的随机变量,本身也可有分布,因此,可假定参数服从一个先验分布。

朴素贝叶斯

综上,基于贝叶斯公式的来计算后验概率的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本中直接估计而得,为了避开这个障碍,朴素贝叶斯采用了“属性条件独立性假设”:对于已知类别,假设所有属性相互独立。
所以,朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(xi|c)

令Dc表示训练集D中第c类样本组成的集合,若有充足的独立同分布样本,则可以容易的估计出类先验概率
P(c)=|Dc|/|D|
对离散属性,令D(c,xi)表示Dc中在第i个属性上取值为xi的样本组成的集合,则
P(xi|c)=|D(c,xi)|/|Dc|

半朴素贝叶斯分类器

朴素贝叶斯采用了属性条件独立性假设,但在限时任务中这个假设往往很难成立,于是对条件进行一定程度的放松,于是就有了半朴素贝叶斯。
其适当考虑一部分属性间的相互依赖关系。比较常见的策略有ODE、SPODE、TAN、AODE

贝叶斯网

借助DAG来刻画属性之间的依赖关系,并使用条件概率表来描述属性的联合概率分布。

实战

限于笔者目前能力,实战部分仅限与朴素贝叶斯,更有难度的部分to be continued
相关资源地址:
https://github.com/CallMeSp/MachineLearning.git

实战一:邮件分类

def spamTest():
    docList=[];classList=[];fullText=[]
    # 导入并解析文件
    for i in range(1,26):
        # 垃圾邮件
        wordList=textParse(open('email/spam/%d.txt'%i,'r').read())
        docList.append(wordList)
        fullText.extend(wordList)
        classList.append(1)
        # 正常邮件
        wordList
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值