朴素贝叶斯分类器与贝叶斯估计

来源:互联网 发布:c 网络编程从哪开始学 编辑:程序博客网 时间:2024/06/03 05:29

一. 朴素贝叶斯分类器

朴素贝叶斯分类器是机器学习中一个简单的有监督学习的分类模型,其基本原理为根据贝叶斯公式计算数据类别的后验概率,选择后验概率最大的类别作为该数据类别的预测值。

训练数据:m个数据(x⃗ ,y),其中x⃗ d维向量x⃗ =(x1,x2,x3...xd)yx⃗ 所属类别,其中y{c1,c2,c3...cn}代表一共有n个类别。

训练目的:根据给定数据,训练出分类器,使之能预测新的数据x⃗ 所属类别y

根据贝叶斯决策论,对于需要分类的样本x⃗ ,选择能使其后验概率P(c|x⃗ )最大的类别作为预测类别。
根据贝叶斯定理得

P(c|x⃗ )=P(x⃗ |c)P(c)P(x⃗ )

其中P(c)为类别的先验概率(prior),P(x⃗ |c)称为样本对类别的似然(likelihood),P(x⃗ )与类别取值无关,用作归一化,因此问题就转化为如何基于训练数据估计先验P(c)和似然函数P(x⃗ |c)

先验P(c)可以通过各个类别出现的频率来进行估计P(c)=mcmmc为样本中类别为c的样本数,m为样本总数。

对于似然函数P(x⃗ |c)的估计,当x⃗ 的维度较高时,样本集中没有足够的与x⃗ 相同的样本,所以不能用x⃗ 在每个类别里的频率来估计似然。贝叶斯分类器采用了属性条件独立性假设,假设每个属性对分类结果独立的产生影响。则

P(x⃗ |c)=i=1dP(xi|c)

其中P(xi|c)可以用属性xi在类别为c的样本出现的频率进行估计,即P(xi|c)=mxi,cmc。其中mxi,c为类别为c的样本中第i个属性为xi的样本数。

所以最终贝叶斯分类器对于样本x⃗ 的分类结果为:

ĉ =argmaxcP(x⃗ |c)P(c)=mcmi=1dmxi,cmc

二. 贝叶斯估计

考虑参数估计问题:假设Θ为已知模型的参数,现观测到数据D={d1,d2...dn},如何根据观测数据确定参数Θ的取值。

  • 极大似然估计(MLE)

频率主义学派认为参数是客观存在的固定值,可以优化似然函数P(D|Θ)来确定参数的值。假设样本是独立同分布的,则

P(D|Θ)=i=1nP(di|Θ)

为了便于计算,通常使用对数似然

L(Θ)=logP(D|Θ)=i=1nP(di|Θ)

极大似然估计就是寻找能最大化似然函数的参数Θ̂ 作为模型参数。

Θ̂ =argmaxΘL(Θ)

  • 贝叶斯估计

贝叶斯学派认为参数也是随机变量,本身也有分布,可以假设参数服从一个先验分布,然后基于观测数据计算参数的后验分布。

P(Θ|D)=P(D|Θ)P(Θ)P(D)

其中P(D)作为归一化因子

P(D)=P(D|Θ)P(Θ)dΘ

贝叶斯估计预测,给定数据d,预测该数据出现的概率:

P(d|D)=P(Θ|D)P(d|Θ)dΘ=E(P(d|Θ))

0 0