贝叶斯(Bayes)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贝叶斯(Bayes)相关的知识,希望对你有一定的参考价值。
参考技术A 由于贝叶斯是基于概率框架下实施决策的方法,所以在讲解贝叶斯的前提下必须先回顾一下概率论方面的几个基本公式,比如条件概率,全概率公式等等这一部分主要讲解一些基础的公式概念,如类先验概率,类条件概率,后验概率等等
后验概率 :其实是给定测试样本x向量的情况下,判定测试样本为 的概率
类先验概率 :是依据训练集,提前对类别c进行一个样本估计,其实就是统计出时的频数与总训练数据的占比
类条件概率 :就是在给定的情况下,训练数据中x的分布情况
借由西瓜书上的话说,贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务而言,在所有相关概率都已知的理想情形下,贝叶斯决策论是基于这些概率和误判损失来考虑如何选择最优的类别标记。意思就是说我们在为某个样本预测分类的时候,不仅要考虑某个样本属于某个类别的概率最大化,还要考虑误判情况下的损失成本最小化。其中,概率最大化就不用多说了,就是选择样本x属于好瓜的概率和属于坏瓜的概率中的最大的那个作为x的预测类别,而损失成本最小化才是接下来的重点,它包括了基于最小错误率的贝叶斯决策和基于最小风险的贝叶斯决策
最小错误率用句简单的话来说,就是用我们已经训练好的模型给我们的测试集预测分类时,我们要考虑每个样本的错误率都能达到最小。这样子的说法是不是似曾相识?因为只要我们反着说,它也就是我们刚刚所说的概率最大化,即在样本属于某个类别的概率中选择最大的那个。这样我们应该就能理解,基于最小错误率的贝叶斯决策理论其实就是按后验概率大小来做决策的。当然这个理论还有许多其他的概念和公式,如下:
在讲最小风险之前,首先我们来考虑一个问题:所有的错误都是等价值的吗?我们之前引用了西瓜数据集中的好瓜和坏瓜来作为样本的二分类,在基于最小风险的贝叶斯决策论里,我们又见到了样本x上的条件风险 ,其中可能对 所代表的含义难以理解,其实这个 就是我们对这个问题的答案——不等同!一方面我们日常生活里,我们作为买瓜的人,可以容忍一个好瓜被我们分类成坏瓜的,最差的结果也就是我们不买瓜而已,而不能容忍的是一个坏瓜被我们当成了好瓜买回家,所以,这两者之间的错误价值是不等同的,而最小风险的贝叶斯决策论就是解决这个问题的——为每个错误添上错误损失的权重,即 不再天然的等于0 or 1了
我们接下来用几个公式来去好好理解一下吧(这里写的比较水,希望以后能补)
二分类情况的目标函数:
扩展为多分类的决策规则:
借用统计学习方法书里的话,朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入 ,利用贝叶斯定理求出后验概率最大的输出 。大致什么意思呢?就是这个模型会基于一个假设前提——特征条件独立,然后根据训练集上的数据得出的联合概率分布(也就是之前所说的类条件概率分布和类先验概率的乘积)去学习出一个分类器模型,然后再对给定的测试集 ,利用贝叶斯定理输出预测的分类结果
因为我们需要学习的是联合分布,所以这里的参数估计就是指对类先验概率的估计和类条件概率的估计。参数估计的方法有两种(其实算是一种),我们接下来展开讲
极大似然估计是依据频数来计算比例,之后将其作为概率的一种方法
贝叶斯估计就是为了解决极大似然估计的问题才出现的,方法是是在极大似然估计的频数上加了一个正数 ,通常这个 ,而当这个 时,贝叶斯估计也就成为了极大似然估计,当 时,我们称它为拉普拉斯平滑(Laplace smoothing)
输入:训练数据 ,其中 , 是第 个样本的第 个特征, , 是第 个特征可能取的第 个值, , , ;实例
输出:实例 的分类
算法过程:
注:实例可参考西瓜书上的例子,毕竟数据集都是具体已知的,能够看到一些小细节
对于接下来的这两部分,虽然看完了西瓜书上的介绍,但还没有充分理解,所以现在仅介绍一小部分,后期会根据别的书进行更新
因为朴素贝叶斯分类器采用的是属性(特征)条件独立性假设,这个假设在现实任务中是很难成立的,而半朴素贝叶斯分类器的提出就是对属性(特征)条件独立性假设做一定程度上的放松,即考虑属性之间的依赖关系。
贝叶斯网能够表示任意属性间的依赖性,想比较与半朴素贝叶斯和朴素贝叶斯,朴素贝叶斯和
贝叶斯网像是一种极端,而半朴素贝叶斯更像是他们两者之间的中间版本
朴素贝叶斯法(naive Bayes)
朴素贝叶斯的英文叫做 naive Bayes,换句话说就是“天真贝叶斯”,它之所以天真,是因为它认为所有的特征条件都是都是独立的,虽然这种假设在现实情况中是很难成立的,但是在特征条件相关性很小时,朴素贝叶斯法就能获得不错的结果。
算法释义
朴素贝叶斯法首先在特征条件独立假设的前提下学得输入/输出的联合概率分布,然后利用贝叶斯定理求出所有可能的输出 ck 后验概率,从中取最大的结果作为输出。
算法步骤
输入:训练数据集 T,输入实例 x 输出:实例 x 的分类 (1) 计算先验概率和条件概率: $$ \begin{array} \ P(Y = ck) \ P(X^{(j)} = a{jl} | Y = ck) \ j = 1,2,...,J; l = 1,2,...,Sj; k=1,2,...,K \end{array} $$
(2) 计算所有 y 的后验概率: $$ P(Y = ck, X = x) = P(Y = ck) \prod{j=1}^J P(X^{(j)} = x^{(j)} | Y = ck), k = 1,2,...,K $$
(3) 取最大的后验概率对应的 y 作为结果: $$ y = arg \max{ck} {P(Y = c_k, X = x)} $$
重要概念
贝叶斯定理
$$ P (A | B) = \frac {P(B | A) P(A)} {P(B)} $$ 经典的条件概率公式,相关的介绍网上很多,这里就不详述了。
特征条件独立假设
即假设特征条件(输入的不同维度)是完全独立的,即: $$ P(X^{(i)}, X^{(j)}) = P(X^{(i)})P(X^{(j)}),i ≠ j $$
参数估计
在朴素贝叶斯法中,学习模型意味着估计先验概率 P(Y = ck) 和条件概率 P(X(j) = x(j) | Y = ck),下面介绍两种估计方法。
极大似然估计
$$ \begin{array} \ P(Y = ck) = \frac {\sum{n = 1}^N I(yn = ck) } {N},k = 1,2,...,K \ P(X^{(j)} = a{jl} | Y = ck) = \frac {\sum{n = 1}^N I(xn^{(l)} = a{jl}, yn = ck) } {P(Y = ck) * N} \ j = 1,2,...,J; l = 1,2,...,S_j; k=1,2,...,K \end{array} $$
贝叶斯估计(拉普拉斯平滑)
在极大似然估计中,很有可能出现条件概率为零的情况,这样会导致其后验概率为零,很容易造成偏差,因此这里对极大似然估计法稍作改动,即贝叶斯估计: $$ \begin{array} \ P(X^{(j)} = a{jl} | Y = ck) = \frac {\sum{n = 1}^N I(xn^{(l)} = a{jl}, yn = ck) + λ } {P(Y = ck) * N + Sjλ} \ j = 1,2,...,J; l = 1,2,...,Sj; k=1,2,...,K;λ>0 \end{array} $$ 当 λ = 1时即拉普拉斯平滑。
参考文献
《统计学习方法》,李航
由于markdown的公式无法转成html,如需查看公式,请点击下方阅读全文
以上是关于贝叶斯(Bayes)的主要内容,如果未能解决你的问题,请参考以下文章