《模式识别》中的统计分类器及其学习

本文记录了博主在学习刘家锋老师等人编著的《模式识别(第2版)》(2017年6月出版)第7章“统计分类器及其学习”时的笔记。更新于2018.10.25。

博主在深度学习相关的模式识别知识 一文中记录了模式识别中的线性判别函数分类器和非线性判别函数分类器,这些分类器的共同特点是通过对训练样本集的学习构造一个能够将不同类别样本区分开的判别函数,根据判别函数的输出来决定待识别模式属于哪个类别,这类方法所采用的模型一般称为判别式模型(Discriminative Model)。

本文中主要学习了另一类被称作产生式模型(Generative Model)的方法,这类方法不是直接构造能够区分不同类别的判别函数,而是考察观察到的待识别模式由不同类别所产生的概率,根据不同类别产生出待识别模式的概率大小来决定它的类别属性。

按照博主的理解,二者的主要区别是:判别式模型是直接给出判定条件,根据判定条件直接给出一个结果;生成模型则给出模式属于不同类别的概率,至于究竟属于哪个类别,需要根据概率判定。

用来描述模式的特征矢量 x x x可以看作是一个随机矢量,因为即使属于同一类别,两个不同模式的描述也不会完全相同。然而,同一类别的特征矢量虽然不同,却也应当符合一定的分布规律。因此,每个类别样本的分布情况可以用一个概率密度函数来描述,识别的过程,分类器的输入也可以看作是一次随机试验所得到的观察值。待识别的特征矢量可能属于任何一个类别,因此样本所属的类别 w w w也可以看作是一个随机变量。不过, w w w是仅包含 c c c个取值的离散随机变量。哪个类别产生矢量 x x x的概率最大,就将 x x x判定为哪个类别。

更多内容,欢迎加入星球讨论。
在这里插入图片描述


贝叶斯决策理论

贝叶斯决策理论是产生概率判断的基础,下面首先介绍几种常用的概率表示形式。

常用的概率表示形式

假设模式的特征矢量为 x x x,分类器的目的则是将其分给 w 1 , w 2 , ⋅ ⋅ ⋅ , w c w_1,w_2,\cdot\cdot\cdot, w_c w1,w2,,wc c c c个类别中的一个。

先验概率 P ( w i ) P(w_i) P(wi)
先验概率是类别 w i w_i wi发生的概率,因为样本 x x x只会被分给一个类别,因此有
∑ i = 1 c P ( w i ) = 1 \sum_{i=1}^cP(w_i)=1 i=1cP(wi)=1
如果在判别之前,没有关于输入模式的任何信息,那么就只能依靠先验概率来“猜”输入样本属于哪个类别,即依靠哪个类别出现的概率更大来判断。

后验概率 P ( w i ∣ x ) P(w_i\vert x) P(wix)

显然,在模式识别中像前文说到的不考虑任何待分类模式本身的信息就分类是不合理的。因此,更多的时候用到的是后验概率 P ( w i ∣ x ) P(w_i\vert x) P(wix),也就是知道模式的特征 x x x之后,再决定该模式属于每个类别的概率。

类条件概率密度 p ( x ∣ w i ) p(x\vert w_i) p(xwi)
实际情况中,后验概率往往无法直接获得,能够得到的是每个类别的先验概率 P ( w i ) P(w_i) P(wi)和类条件概率密度函数 p ( x ∣ w i ) p(x\vert w_i) p(xwi)。先验概率可以通过训练样本集中,各类样本所占的比例进行估计。而类内条件概率密度可以用属于每个类别的训练样本来估计。

贝叶斯公式将后验概率、先验概率和类条件概率联系在一起:
P ( w i ∣ x ) = p ( x ∣ w i ) P ( w i ) p ( x ) P(w_i\vert x)=\frac{p(x \vert w_i)P(w_i)}{p(x)} P(wix)=p(x)p(xwi)P(wi)
其中 p ( x ) p(x) p(x)是样本 x x x发生的先验概率密度。因为 p ( x ) p(x) p(x)被论证是可以忽略的,因此实际计算中应用的公式为:

p ( x ∣ w i ) P ( w i ) p(x \vert w_i)P(w_i) p(xwi)P(wi)


最小错误率准则贝叶斯分类器

按照前面的方法可以通过后验概率的大小判断样本的类别属性,这一部分则分析得到,这种方式可以使得识别的错误率最小。

假设 x x x被判别为所有类别中的一类 w i w_i wi,此时发生错误的概率大小为
P i ( e ) = ∑ j = 1 , j ≠ i c P ( w j ∣ x ) = ∑ j = 1 c P ( w j ∣ x ) − P ( w i ∣ x ) = 1 − P ( w i ∣ x ) P_i(e)=\sum_{j=1,j\neq i}^cP(w_j\vert x)=\sum_{j=1}^cP(w_j\vert x)-P(w_i\vert x)=1-P(w_i\vert x) Pi(e)=j=1,j̸=icP(wjx)=j=1cP(wjx)P(wix)=1P(wix)
那么,如果希望分类错误率最小,就应分给后验概率最大的类别,即
如 果 i = arg ⁡ max ⁡ j = 1 , ⋅ ⋅ ⋅ , c P ( w j ∣ x ) , 则 判 别 x ∈ w i 如果i=\arg\max_{j=1,\cdot\cdot\cdot,c}P(w_j\vert x),则判别x\in w_i i=argj=1,,cmaxP(wjx)xwi
由于无论判给哪个类别, p ( x ) p(x) p(x)都是相同的,因此可以只考虑分母,从而得到最小错误率贝叶斯分类准则:

如 果 i = arg ⁡ max ⁡ j = 1 , ⋅ ⋅ ⋅ , c g j ( x ) = p ( x ∣ w i ) P ( w i ) , 则 判 别 x ∈ w i 如果i=\arg\max_{j=1,\cdot\cdot\cdot,c}g_j(x)=p(x \vert w_i)P(w_i),则判别x\in w_i i=argj=1,,cmaxgj(x)=p(xwi)P(wi)xwi

而最小错误率贝叶斯分类器发生错误的概率为:
P ( e ) = ∑ i = 1 c P i ( e ) = ∑ i = 1 c ∫ R i [ 1 − P ( w i ∣ x ) ] d x P(e)=\sum_{i=1}^cP_i(e)=\sum_{i=1}^c\int_{R_i}\left[1-P(w_i\vert x)\right]dx P(e)=i=1cPi(e)=i=1cRi[1P(wix)]dx

其中 R i R_i Ri是被分类器判别为 w i w_i wi的区域。


最小平均风险准则贝叶斯分类器

大多数模式识别中都应用最小错误率为准则,但是在有些情况下,某些类别被判断错的损失非常严重,而其他类别则可能没那么严重(例如癌症诊断)。因此,在解决这些问题时,还需要根据实际情况引入一组“风险值”来评估将某类样本误判为另一类别的代价。

λ i j \lambda_{ij} λij代表将 w i w_i wi类的样本判别为 w j w_j wj的代价(或风险)。那么,如果分类器将模式判别为 w j w_j wj类,而 x x x的真实属性可能是 w 1 , ⋅ ⋅ ⋅ , w c w_1,\cdot\cdot\cdot,w_c w1,,wc中的任何一个。那么,做出这个判别的平均风险 γ j ( x ) \gamma_j(x) γj(x)是每个类别的样本被分为 w j w_j wj所带来的风险经由后验概率加权求和之后的结果:

γ j ( x ) = ∑ i = 1 c λ i j P ( w i ∣ x ) \gamma_j(x)=\sum_{i=1}^c\lambda_{ij}P(w_i \vert x) γj(x)=i=1cλijP(wix)
其中,对于识别正确的情况风险为0( λ j j = 0 \lambda_{jj}=0 λjj=0)。

定义了平均风险,就可以根据平均风险最小的原则构建分类器:

如 果 k = arg ⁡ min ⁡ j = 1 , ⋅ ⋅ ⋅ , c γ j ( x ) = ∑ i = 1 c λ i j P ( w i ∣ x ) , 则 判 别 x ∈ w k 如果k=\arg\min_{j=1,\cdot\cdot\cdot,c}\gamma_j(x)=\sum_{i=1}^c\lambda_{ij}P(w_i\vert x),则判别x\in w_k k=argj=1,,cminγj(x)=i=1cλijP(wix)xwk

其中的后验概率需要用贝叶斯公式转化为先验概率和类条件概率密度来计算,由此可以得到最小平均风险贝叶斯判别准则:

如 果 k = arg ⁡ max ⁡ j = 1 , ⋅ ⋅ ⋅ , c g j ( x ) = − ∑ i = 1 c λ i j P ( x ∣ w i ) p ( w i ) , 则 判 别 x ∈ w k 如果k=\arg\max_{j=1,\cdot\cdot\cdot,c}g_j(x)=-\sum_{i=1}^c\lambda_{ij}P(x\vert w_i)p(w_i),则判别x\in w_k k=argj=1,,cmaxgj(x)=i=1cλijP(xwi)p(wi)xwk


高斯分布贝叶斯分类器

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐