贝叶斯公式
定理 设试验 的样本空间为 , 为 的事件, 为 的一个划分, 且 (), 则
其中,分子其实是 ,分母是
贝叶斯分类器就是在假设相关概念已知的情况下,基于这些概率为样本判定最优的类标
贝叶斯决策论
将 看做一个类标,A看作一个新的样本,那么条件概率 可以看成是样本A分到类别 的概率。
在机器学习训练框架下,需要定义一个风险函数,在贝叶斯框架下的可以定义条件风险
- 是分类的损失,后者是概率
任务是寻找一个判定准则,最小化所有样本的条件风险总和,因此有了贝叶斯判定准则,为最小化总体风险,就是要为每个样本选择风险最小的分类
若损失函数 取 01 损失(错了是1,对了是0),那么对于每个样本x,选择其后验概率 最大所对应的分类,可以使得总体的风险最小,将原问题转换为估计后验概率
风险函数为:
含义是 如果概率最大的分类认为是正确的,那么所有损失加起来就是
有两种方法来估计后验概率
- 判别式模型:直接对 建模求解,例如使用:决策树,神经网络,SVM等
- 生成式模型:先对联合分布 建模,再进一步求解
贝叶斯分类器属于生成式模型,基于贝叶斯公式对后验概率进行变换,得到
其中:
- 称为类先验概率
- 称为类条件概率(或者称为似然)
- 称为证据因子
Note
一些解释
先验概率:根据以往经验和分析得到的概率
后验概率:后验概率是基于新的信息,修正原来的先验概率后获得的更接近实际情况的概率估计
Note
如何理解后验概率与条件概率?
这样来看,后验概率是已知学生穿裤子,其是女生的概率,也就是说后验概率直观上来说是一种条件概率
对于类先验概率,其实就是样本所占的比例,根据 大数定理(样本点足够多,频率趋于稳定等于概率),当样本充足的时候,可以用各类出现的频率替代
因此对目标式优化只剩下类条件概率,实际到属性联合概率问题,当属性多时采用频率十分困难,采用极大似然法估计。
极大似然法
极大似然估计(Maximum Likelihood Estimation),是一种根据数据采样来估计概率分布的经典方法,常用的策略是先假定总体具有某种确定的概率分布,基于训练样本对概率分布的参数进行估计。
运用类条件概率 ,假设 服从一个参数为 的分布,问题就变为根据已知的训练样本来估计 ,极大似然法的核心在于:估计出的参数使得已知样本出现的概率最大,也就是训练数据的似然最大
令表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则参数对于数据集 的似然就是
这个式子的含义是,在相互独立的情况下,观察到整个数据集 的似然性,等于 每个数据点x在给定参数 下属于类别 c 的概率的乘积
连乘操作使得求解变得十分复杂,一般我们使用对数似然(log-likelihood):
此时参数的极大似然估计 为
贝叶斯分类器的训练过程就是参数估计,大体分为四个步骤:
- 写出似然函数
- 取对数,整理
- 求导,偏导为0,得到似然方程
- 解似然方程组,得到参数
不过MLE很大程度依赖于假设是否合理,是否符合潜在的真实数据分布,这需要大量经验
朴素贝叶斯分类器
原始贝叶斯分类器问题在于联合概率密度函数的估计,需要经验来假设联合概率分布,或者属性很多时,训练样本覆盖不够,参数估计出现很大的偏差。
朴素贝叶斯分类器(naive Bayes classifier)采用”属性条件独立性假设“即样本数据的所有属性之间相互独立
这样类条件概率就等于
也就是每个样本估计类条件概率变成每个样本的每个属性估计类条件乘积
- 对于离散属性
- 对于连续属性(若正态分布)
朴素贝叶斯分类器基于单个的属性计算类条件概率,更加容易操作,但是如果某个属性在训练集中和某个类别没有一起出现过,会抹掉属性信息,因为该样本的类条件概率计算为0(乘积,一个是0,全是0)。
因此在估计概率值时,常用平滑处理,拉普拉斯修正,计算方法如下:
当训练集越大,拉普拉斯修正引入的影响就越小,对贝叶斯分类,模型训练就是参数估计,可以事先将所有概率存储好,有新样本时,直接查表计算