风险型决策的基本方法是将状态变量看成随机变量,用先验分布表示状态变量的概率分布,用期望值准则计算方案的满意程度。但是在日常生活中,先验分布往往存在误差,为了提高决策质量,需要通过市场调查来收集补充信息,对先验分布进行修正,然后用后验分布来决策,这就是贝叶斯决策。贝叶斯理论是决策领域的一个重要分支。
一、贝叶斯公式
举例说明如下:
前验概率: 一所学校里面有 60% 的男生,40% 的女生。男生总是穿长裤,女生则一半穿长裤一半穿裙子。有了这些信息之后我们可以容易地计算“随机选取一个学生,他(她)穿长裤的概率和穿裙子的概率是多大”,这个就是前面说的“先验概率”的计算。
后验概率: 假设你走在校园中,迎面走来一个穿长裤的学生(很不幸的是你高度近似,你只看得见他(她)穿的是否长裤,而无法确定他(她)的性别),你能够推断出他(她)是女生的概率是多大吗?这就是所谓的“后验概率”。
将上例转化为分类问题,则类别\(c\)={男,女},学生个体为样本\(x\),其中\(x\in X\),其中随机变量\(X\)是一维向量,只有唯一的属性:\(性别\)∈{长裤,裙子}
先验概率的计算:
\]
表示随机选取一个学生,他(她)穿长裤的概率的概率。
后验概率的计算:
\]
表示一个穿长裤的学生是女生的概率。
其中在求解后验概率的公式中,我们用到了以下两个公式:
\]
二、贝叶斯决策理论
贝叶斯决策论,基于概率和误判损失来选择最优的类别标记。本部分内容将从以下问题出发:
问题描述:对于样本xxx,有NNN种可能的类别标记,即类别空间y={c1,c2,⋯,cN}y=\{c_1,c_2,\cdots ,c_N\}y={c1,c2,⋯,cN}
λij\lambda_{ij}λij表示将一个真实标记为cjc_jcj的样本误分类为cic_ici所产生的损失。基于后验概率P(ci∣x)P(c_i|x)P(ci∣x)(即对于给定样本,判断样本属于哪个分类,概率最大的那个类别是最可能正确的类别)可获得将样本xxx分类为cic_ici所产生的期望损失,即在样本xxx上的“条件风险”:
R(ci∣x)=∑j=1NλijP(cj∣x)R(c_i|x)=\sum_{j=1}^{N}\lambda_{ij}P(c_j|x)R(ci∣x)=j=1∑NλijP(cj∣x)
我们训练模型的目的就是为了寻找一个映射函数h:x→yh:x\rightarrow yh:x→y以最小化总体风险:
R(h)=Ex[R(h(x)∣x)]R(h)=E_x[R(h(x)|x)]R(h)=Ex[R(h(x)∣x)]
那么对于每个样本xxx,若h(x)h(x)h(x)能最小化条件风险R(h(x)∣x)R(h(x)|x)R(h(x)∣x),则总体风险R(h)R(h)R(h)也将被最小化。所以为了得到最小的总体风险,只需在每个样本上选择哪个能使条件风险R(c∣x)R(c|x)R(c∣x)最小的类别标记,即
h∗(x)=argminc∈yR(c∣x)h^*(x)=\underset{c \in y}{arg\ min}R(c|x)h∗(x)=c∈yargminR(c∣x)
其中h∗h*h∗称为贝叶斯最优分类器,与之对应的总体风险R(h∗)R(h*)R(h∗)称为贝叶斯风险。1−R(h∗)1-R(h^*)1−R(h∗)反映了分类器所能达到的最好性能,即通过机器学习所产生的模型精度的理论上限。
若R(c∣x)R(c|x)R(c∣x)是最小化分类错误率,则误判损失λij\lambda_{ij}λij可表示为:
λij={0,i=j1,otherwise\lambda_{ij}=\begin{cases} 0, & i =j \\ 1 , & otherwise \end{cases}λij={0,1,i=jotherwise
此时条件风险表示为:R(c∣x)=1−P(c∣x)R(c|x)=1-P(c|x)R(c∣x)=1−P(c∣x)
于是,最小化分类错误率的贝叶斯最优分类器为:
h∗(x)=argmaxc∈yP(c∣x)h^*(x)=\underset{c\in y}{arg \ max}P(c|x)h∗(x)=c∈yargmaxP(c∣x)
即对每个样本xxx,选择能使后验概率P(c∣x)P(c|x)P(c∣x)最大的类别标记。
【贝叶斯模型的解释】
以上内容已经对问题解释的很清楚了,如果想要对样本进行分类,我们需要得到最大的P(c∣x)P(c|x)P(c∣x),但是对于一般的情况下,直接求解,很难求出,所以一般借助贝叶斯定理,从侧面进行求解:
P(c∣x)=P(c)P(x∣c)P(x)P(c|x)=\frac{P(c)P(x|c)}{P(x)}P(c∣x)=P(x)P(c)P(x∣c)
P(c∣x)P(c|x)P(c∣x)叫后验概率,也就是我们要计算的后验概率,知道样本,计算这个样本属于某个类别的概率,概率最大的那个类别是最可能正确的类别。
P(c)P(c)P(c)是类“先验”概率。
P(x∣c)P(x|c)P(x∣c)是条件概率,也就是在类别c的条件下,出现样本x的可能性。
对于每个样本xxx,其P(x)=x的样本数总样本数P(x)=\frac{x\text{的样本数}}{\text{总样本数}}P(x)=总样本数x的样本数为很定的数值(在不考虑特征属性的情况下,如此表示),所以计算P(c∣x)P(c|x)P(c∣x)的难点在于求解P(x∣c)P(x|c)P(x∣c)或称之为“似然函数”。
求解类别ccc的类条件概率P(x∣c)P(x|c)P(x∣c)(似然函数)有两种方式实现:
- 极大似然估计
- 朴素贝叶斯分类器
三、后验概率的R计算
案例:采用西瓜数据集3.0进行举例
色泽 | 根蒂 | 敲声 | 纹理 | 脐部 | 触感 | 密度 | 含糖率 | 好瓜 |
---|---|---|---|---|---|---|---|---|
青绿 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.697 | 0.46 | 是 |
乌黑 | 蜷缩 | 沉闷 | 清晰 | 凹陷 | 硬滑 | 0.774 | 0.376 | 是 |
乌黑 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.634 | 0.264 | 是 |
青绿 | 蜷缩 | 沉闷 | 清晰 | 凹陷 | 硬滑 | 0.608 | 0.318 | 是 |
浅白 | 蜷缩 | 浊响 | 清晰 | 凹陷 | 硬滑 | 0.556 | 0.215 | 是 |
青绿 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 软粘 | 0.403 | 0.237 | 是 |
乌黑 | 稍蜷 | 浊响 | 稍糊 | 稍凹 | 软粘 | 0.481 | 0.149 | 是 |
乌黑 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 硬滑 | 0.437 | 0.211 | 是 |
乌黑 | 稍蜷 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 0.666 | 0.091 | 否 |
青绿 | 硬挺 | 清脆 | 清晰 | 平坦 | 软粘 | 0.243 | 0.267 | 否 |
浅白 | 硬挺 | 清脆 | 模糊 | 平坦 | 硬滑 | 0.245 | 0.057 | 否 |
浅白 | 蜷缩 | 浊响 | 模糊 | 平坦 | 软粘 | 0.343 | 0.099 | 否 |
青绿 | 稍蜷 | 浊响 | 稍糊 | 凹陷 | 硬滑 | 0.639 | 0.161 | 否 |
浅白 | 稍蜷 | 沉闷 | 稍糊 | 凹陷 | 硬滑 | 0.657 | 0.198 | 否 |
乌黑 | 稍蜷 | 浊响 | 清晰 | 稍凹 | 软粘 | 0.36 | 0.37 | 否 |
浅白 | 蜷缩 | 浊响 | 模糊 | 平坦 | 硬滑 | 0.593 | 0.042 | 否 |
青绿 | 蜷缩 | 沉闷 | 稍糊 | 稍凹 | 硬滑 | 0.719 | 0.103 | 否 |
其中类先验概率\(P(c)\)为:
\]
\]
然后,每个属性的条件概率\(P(x_i|c)\):
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
\]
于是,根据朴素贝叶斯公式可得:
\]
\]
由于\(0.063>6.80\times10^{-5}\),因此,预测结果为“好瓜”。
问题:
若某个属性值在训练集中没有与某个类同时出现过,则直接基于朴素贝叶斯进行估计,很有很能出现错误的估计:例如:对一个“敲声=清脆”的测试例,有
\]