贝叶斯分类器
前言
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就贝叶斯分类器进行展开介绍。
一、贝叶斯决策论
1.1 概念
贝叶斯决策论是基于概率框架下实施决策的基本方法。对于分类任务而言,贝叶斯决策论是基于概率和误判损失以此进行优化选择最优标记。本文主要讨论多分类任务下追求最小化分类错误率的情况。
1.2 数学推理
对于训练数据集D DD,其样本数为m mm,总共有N NN种可能的类别标记,即γ ∈ c 1 , c 2 , . . . , c N γ∈{c_1,c_2,...,c_N}γ∈c1,c2,...,cN。对于多分类任务下追求最小化分类错误率而言,我们期望可以得到一个判定准则,使每个样本x k , k = 1 , 2 , . . , m x_k,k=1,2,..,mxk,k=1,2,..,m的预测标签c j , j = 1 , 2 , . . . , N c_j,j=1,2,...,Ncj,j=1,2,...,N都能尽可能接近真实标签c i , i = 1 , 2 , . . . , N c_i,i=1,2,...,Nci,i=1,2,...,N,即对整体风险(损失):
R ( h ) = E x [ R ( h ( x ) ∣ x ) ] (1-1) R(h)=E_x[R(h(x)|x)] \tag{1-1}R(h)=Ex[R(h(x)∣x)](1-1)
进行最小化处理:
R ∗ ( h ) = a r g m i n R ( h ) (1-2) R^*(h)=arg\ min R(h) \tag{1-2}R∗(h)=arg minR(h)(1-2)
其中,R ∗ ( h ) R^*(h)R∗(h)表示整体最小损失,x xx代表单个样本,h ( x ) h(x)h(x)表示样本x xx在分类产生的损失。
由上式1-2可知,若单个样本的风险均能最小化,其总体风险亦将最小化,即贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择能使单样本风险最小化的类别标记即可。
那么,下面我们将对单个样本进行讨论。
对于单个样本,且追求最小化分类错误率,那么有:
h ∗ ( x ) = a r g m i n R ( c ∣ x ) , c ∈ γ (1-3) h^*(x)=arg minR(c|x),c∈γ \tag{1-3}h∗(x)=argminR(c∣x),c∈γ(1-3)
其中,h ∗ ( x ) h^*(x)h∗(x)被称为贝叶斯最优分类器;R ( c ∣ x ) R(c|x)R(c∣x)代表样本x xx分类为c cc所产生的损失,且c = c i , i = 1 , 2 , . . . , N c=c_i,i=1,2,...,Nc=ci,i=1,2,...,N,那么对于损失R ( c ∣ x ) R(c|x)R(c∣x)则有:
R ( c ∣ x ) = R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) (1-4) R(c|x)=R(c_i|x)=\sum_{j=1}^N\lambda_{ij}P(c_j|x) \tag{1-4}R(c∣x)=R(ci∣x)=j=1∑NλijP(cj∣x)(1-4)
其中,P ( c j ∣ x ) P(c_j|x)P(cj∣x)是基于后验概率获得的将样本分类x xx为c j c_jcj所产生的期望损失;λ i j \lambda_{ij}λij为真实标签c i c_ici误分类为c j c_jcj所产生的损失,且本文基于多分类任务下追求最小化分类错误率进行讨论,那么有:
λ i j = { 0 , i f i = j 1 , o t h e r w i s e (1-5) \lambda_{ij}= \begin{cases} 0,if\ i=j \\ 1,otherwise \end{cases} \tag{1-5}λij={0,if i=j1,otherwise(1-5)
根据上述公式进行推理:
h ∗ ( x ) = a r g m i n R ( c ∣ x ) = a r g m i n R ( c i ∣ x ) = a r g m i n ( 1 − P ( c i ∣ x ) ) = a r g m a x P ( c i ∣ x ) = a r g m a x P ( c ∣ x ) (1-6) h^*(x)=arg\ minR(c|x)\\ \ \ \ \ \ \ \ \ \ \ \ \ =arg\ minR(c_i|x) \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =arg\ min(1-P(c_i|x))\\ \ \ \ \ \ \ \ \ \ \ \ \ \ = arg\ maxP(c_i|x)\\ \ \ \ \ \ \ \ \ \ \ \ \ =arg\ maxP(c|x) \tag{1-6}h∗(x)=arg minR(c∣x) =arg minR(ci∣x) =arg min(1−P(ci∣x)) =arg maxP(ci∣x) =arg maxP(c∣x)(1-6)
由上式可知,若采用贝叶斯优化器优化最小决策风险,实际转化为最大化后验概率P ( c ∣ x ) P(c|x)P(c∣x),即首先需要获得P ( c ∣ x ) P(c|x)P(c∣x),但在现实任务中难以获得。为此,可采用“生成式模型”解决,即建模P ( x , c ) P(x,c)P(x,c)联合概率分布,以求得P ( c ∣ x ) P(c|x)P(c∣x),公式如下:
P ( c ∣ x ) = P ( x , c ) P ( x ) (1-7) P(c|x) = \frac{P(x,c)}{P(x)} \tag{1-7}P(c∣x)=P(x)P(x,c)(1-7)
那么,根据贝叶斯定理,后验概率P ( c ∣ x ) P(c|x)P(c∣x)可写为:
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) (1-8) P(c|x)=\frac{P(c)P(x|c)}{P(x)}\tag{1-8}P(c∣x)=P(x)P(c)P(x∣c)(1-8)
其中,P ( c ) P(c)P(c)是类“先验概率”;P ( x ∣ c ) P(x|c)P(x∣c)是样本x xx相对于类标记c cc的类条件概率,即“似然”;P ( x ) P(x)P(x)是用于“归一化”的证据因子,与类标记c cc无关。因此,求后验概率P ( c ∣ x ) P(c|x)P(c∣x)问题转化为求P ( c ) P(c)P(c)和P ( x ∣ c ) P(x|c)P(x∣c)问题。
类先验概率P ( c ) P(c)P(c)实际代表训练数据集D DD中各类样本的分布比例(例如,10名学生,男生6人,女生4人,那么P ( 男 ) = 0.6 , P(男)=0.6,P(男)=0.6,P ( 女 ) = 0.4 P(女)=0.4P(女)=0.4),其求解较为简单,只需统计数据集D DD中各类标签的样本数即可。
类条件概率P ( x ∣ c ) P(x|c)P(x∣c)需要统计样本x xx上的所有属性的联合概率,现实应用中难以求解。存在的主要难点是:1.数据量庞大,假设样本上的d dd个属性均有n nn个取值方式,则样本空间为n d n^dnd,其往往远大于数据集D DD中的样本数量m mm;2.无法依据样本出现的频率进行概率统计,贝叶斯定理是基于概率的一种分类方法,如1中所言,样本空间取值数为n d n^dnd往往远大于样本数m mm,这就导致许多样本取值并未在D DD中出现,显然无法采用频率统计。
二、极大似然估计
2.1 概念
由上述内容可知,我们将最初的任务——多分类任务下追求最小化分类错误率转换成求解最大化类条件概率P ( x ∣ c ) P(x∣c)P(x∣c),且已知求解P ( x ∣ c ) P(x∣c)P(x∣c)需要统计样本x xx上的所有属性的联合概率,其在现实应用中是难以计算的。因此,我们采用常用的估计类条件概率进行求解。估计类条件概率常用策略是:先假定数据具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。接下来将详细介绍源自频率主义学派的极大似然估计方法。
2.2 数学推理
由式1-8可知,类条件概率为P ( x ∣ c ) P(x|c)P(x∣c),假设其具有确定的形式且被参数θ c \theta_cθc唯一确定,那么对于寻找最优解的任务就转换成:首先利用训练集D DD估计参数θ c \theta_cθc,然后在所有的θ c \theta_cθc中,找到一个能使数据的“可能性”最大的值,我们记这样的估计参数θ c \theta_cθc为θ ^ c \hat{\theta}_cθ^c。
具体的,假设D c D_cDc表示训练集D DD中第c cc类样本组成的集合,且这些样本是独立同分布的,那么θ c \theta_cθc对于D c D_cDc的似然为:
P ( D C ∣ θ c ) = ∏ x ∈ D c P ( x ∣ θ c ) (2-1) P(D_C|\theta_c)=\prod_{x\in D_c}P(x| \theta_c) \tag{2-1}P(DC∣θc)=x∈Dc∏P(x∣θc)(2-1)
但式2-1的连乘操作易出现数据下溢情况,因此通常采用对数似然方程:
L L ( θ c ) = l o g P ( D c ∣ θ c ) = ∑ x ∈ D c l o g P ( x ∣ θ c ) (2-2) LL(\theta_c)=log \ P(D_c|\theta_c)\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\sum_{x\in D_c}\ log\ P(x|\theta_c) \tag{2-2}LL(θc)=log P(Dc∣θc) =x∈Dc∑ log P(x∣θc)(2-2)
接下来只需要找到参数θ c \theta_cθc的最优解θ ^ c \hat{\theta}_cθ^c,即:
θ ^ c = a r g θ c m a x L L ( θ c ) \hat{\theta}_c=arg_{\theta_c} \ max\ LL(\theta_c)θ^c=argθc max LL(θc)
假设数据D c D_cDc是连续属性,且概率密度函数p ( x ∣ c ) ∼ N ( μ c , σ c 2 ) p(x|c) ∼\Nu(\mu_c,\sigma^2_c)p(x∣c)∼N(μc,σc2),则参数μ c \mu_cμc和σ c 2 \sigma^2_cσc2的极大似然估计为:
μ ^ c = 1 ∣ D c ∣ ∑ x ∈ D c x (2-3) \hat{\mu}_c= \frac{1}{|D_c|}\sum_{x\in D_c}x\tag{2-3}μ^c=∣Dc∣1x∈Dc∑x(2-3)
σ c 2 = 1 ∣ D c ∣ ∑ x ∈ D c ( x − μ ^ c ) ( x − μ ^ c ) T (2-4) \sigma^2_c=\frac{1}{|D_c|}\sum_{x\in D_c}(x-\hat{\mu}_c)(x-\hat{\mu}_c)^T \tag{2-4}σc2=∣Dc∣1x∈Dc∑(x−μ^c)(x−μ^c)T(2-4)
由上式2-3、2-4可知,由极大似然估计得到的正态分布均值即为样本均值,方差即为( x − μ ^ c ) ( x − μ ^ c ) T (x-\hat{\mu}_c)(x-\hat{\mu}_c)^T(x−μ^c)(x−μ^c)T的均值。
虽然这种参数化估计方法能够使得类条件概率变得相对简单,但是其估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。现实应用中,若能较好地接近潜在真实分布的假设,往往需要在一定程度上利用关于应用任务本身的经验知识。
未完。。。
参考文献
[1] 周志华.机器学习[M].北京:清华大学出版社,2016
[2] Python数据科学.详解贝叶斯学派与频率学派的区别和联系,2021