在推断阶段使用训练数据学习后验概率 p ( C k ∣ x ) p(\mathcal{C_k}|\boldsymbol{x}) p(Ck∣x)的模型;在决策阶段使用后验概率进行最优的分类;亦或是同时解决推断和决策问题,简单的学习一个函数 f ( x ) f(\boldsymbol{x}) f(x),将输入 x \boldsymbol{x} x直接映射为决策,这是函数 f ( x ) f(\boldsymbol{x}) f(x)被称为判别函数。
有三种不同的方法来解决决策问题,按照复杂度从高到低,分别为:
- 对于每一个类别 C k \mathcal{C_k} Ck,独立地确定类条件密度 p ( x ∣ C k ) p(\boldsymbol{x}|\mathcal{C_k}) p(x∣Ck),随后推断先验类别的概率 p ( C k ) p(\mathcal{C_k}) p(Ck),最后使用贝叶斯定理求出类后验概率 p ( C k ∣ x ) = p ( x ∣ C k ) p ( C k ) p ( x ) p(\mathcal{C_k}|\boldsymbol{x})=\frac{p(\boldsymbol{x}|\mathcal{C_k})p(\mathcal{C_k})}{p(\boldsymbol{x})} p(Ck∣x)=p(x)p(x∣Ck)p(Ck)。其中的 p ( x ) p(\boldsymbol{x}) p(x)我们从直观上无法理解其概率,但是转换为全概率公式可表示为: ∑ k p ( x ∣ C k ) p ( C k ) \sum_{\mathcal{k}}p(\boldsymbol{x}|\mathcal{C_k})p(\mathcal{C_k}) ∑kp(x∣Ck)p(Ck),这样就可以通过数据集得出了。也可以直接对 p ( x , C k ) p(\boldsymbol{x},\mathcal{C_k}) p(x,Ck)进行建模,这种方法叫做生成式模型,这种模型可以人工生成输入空间( x \boldsymbol{x} x和 C k \mathcal{C_k} Ck的空间)的数据点。
- 直接对类后验概率 p ( C k ∣ x ) p(\mathcal{C_k}|\boldsymbol{x}) p(Ck∣x)建模,随后通过模型对 x \boldsymbol{x} x进行分类,这种方法叫判别式模型
- 与概率无关,直接使用一个判别函数 f ( x ) f(\boldsymbol{x}) f(x),该函数可以将输入 x \boldsymbol{x} x映射为对应的类别 C k \mathcal{C_k} Ck。
方法1需要大量的训练数据,但是它对于检测模型中具有低概率的新数据点很有用。如果我们指向进行分类决策,使用方法2和方法3是更好的选择。然而,使用方法3我们未接触后验概率 p ( C k ∣ x ) p(\mathcal{C_k}|\boldsymbol{x}) p(Ck∣x),使用后验概率有很多优势,比如:
a) 最小化风险。如果损失矩阵中的元素时时刻刻都被修改,知道后验概率的话,只需要调整最小风险决策准则即可。
b) 拒绝选项。 如果给定被拒绝数据点所占比例,后验概率可以让我们确定最小化误差分类和最小化期望损失的拒绝标准。
c) 补偿类先验概率。 数据集类别分布不平衡的补偿问题。
d) 组合模型。 将复杂应用拆解为多个小问题,每个子问题都可以通过一个独立的模型解决,因为分布以类别 C k \mathcal{C_k} Ck为条件时满足独立性。因此 p ( x I , x B ∣ C k ) = p ( x I ∣ C k ) p ( x B ∣ C k ) p(\boldsymbol{x_I},\boldsymbol{x_B}|\mathcal{C_k})=p(\boldsymbol{x_I}|\mathcal{C_k})p(\boldsymbol{x_B}|\mathcal{C_k}) p(xI,xB∣Ck)=p(xI∣Ck)p(xB∣Ck),这时我们可以将后验概率表示为:
p ( C k ∣ x I , x B ) ∝ p ( x I , x B ∣ C k ) p ( C k ) ∝ p ( x I ∣ C k ) p ( x B ∣ C k ) p ( C k ) ∝ p ( C k ∣ x I ) p ( x I ) p ( C k ∣ x B ) p ( x B ) p ( C k ) p ( C k ) p ( C k ) ∝ p ( C k ∣ x I ) p ( x I ) p ( C k ∣ x B ) p ( x B ) p ( C k ) ∝ p ( C k ∣ x I ) p ( C k ∣ x B ) p ( C k ) \begin{aligned} p(\mathcal{C_k}|\boldsymbol{x_I},\boldsymbol{x_B})&\propto p(\boldsymbol{x_I},\boldsymbol{x_B}|\mathcal{C_k})p(\mathcal{C_k})\\ &\propto p(\boldsymbol{x_I}|\mathcal{C_k})p(\boldsymbol{x_B}|\mathcal{C_k})p(\mathcal{C_k})\\ &\propto \frac{p(\mathcal{C_k}|\boldsymbol{x_I})p(\boldsymbol{x_I})p(\mathcal{C_k}|\boldsymbol{x_B})p(\boldsymbol{x_B})p(\mathcal{C_k})}{p(\mathcal{C_k})p(\mathcal{C_k})}\\ &\propto \frac{p(\mathcal{C_k}|\boldsymbol{x_I})p(\boldsymbol{x_I})p(\mathcal{C_k}|\boldsymbol{x_B})p(\boldsymbol{x_B})}{p(\mathcal{C_k})}\\ &\propto \frac{p(\mathcal{C_k}|\boldsymbol{x_I})p(\mathcal{C_k}|\boldsymbol{x_B})}{p(\mathcal{C_k})} \end{aligned} p(Ck∣xI,xB)∝p(xI,xB∣Ck)p(Ck)∝p(xI∣Ck)p(xB∣Ck)p(Ck)∝p(Ck)p(Ck)p(Ck∣xI)p(xI)p(Ck∣xB)p(xB)p(Ck)∝p(Ck)p(Ck∣xI)p(xI)p(Ck∣xB)p(xB)∝p(Ck)p(Ck∣xI)p(Ck∣xB)其中的 p ( C k ) p(\mathcal{C_k}) p(Ck)可以通过估计每个类别的数据点所占的比例得到。