从贝叶斯分类到logistic regression

从贝叶斯分类到logistic regression

笔者注:本文是台湾李宏毅教授机器学习第四章的学习笔记,其中大部分为数学推导。

第四章主要讲分类问题。给定一个输入 x x x,目的是寻找一个function,使得当该function作用于 x x x 时,能够输出x所属的类别。

问题描述

我们首先考虑一个二分类问题,即 x x x 要么属于 class C 1 C_1 C1,要么属于class C 2 C_2 C2,设 P P P 表示概率,那么一个理所应当的分类效果为,把 x x x 分类到所属概率最大的那一类。用数学公式表示为:
if P ( C 1 ∣ x ) > P ( C 2 ∣ x ) , then x → C 1 else P ( C 1 ∣ x ) < P ( C 2 ∣ x ) , then x → C 2 \text{if} \quad P(C_1|x) > P(C_2|x) , \text{then} \quad x\rightarrow C_1 \\ \text{else} \quad P(C_1|x) < P(C_2|x) , \text{then} \quad x\rightarrow C_2 ifP(C1x)>P(C2x),thenxC1elseP(C1x)<P(C2x),thenxC2

P ( C 1 ∣ x ) = P ( C 2 ∣ x ) P(C_1|x) = P(C_2|x) P(C1x)=P(C2x) 时,可以分成任何一个类别。当然,这并不是一个好的分类器。

然而,在实际应用中, P ( C 1 ∣ x ) P(C_1|x) P(C1x) P ( C 2 ∣ x ) P(C_2|x) P(C2x) 通常是未知的,需要通过一定的数学运算求解,这里应用Bayes Rule和全概率公式,有
P ( C i ∣ x ) = P ( x ∣ C i ) P ( C i ) P ( x ) = P ( x ∣ C i ) P ( C i ) ∑ i P ( x ∣ C i ) P ( C i ) P(C_i|x) = \frac{P(x|C_i)P(C_i)}{P(x)} = \frac{P(x|C_i)P(C_i)}{\sum_{i}P(x|C_i)P(C_i)} P(Cix)=P(x)P(xCi)P(Ci)=iP(xCi)P(Ci)P(xCi)P(Ci)
对于二分类任务,有
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P ( C 2 ∣ x ) = P ( x ∣ C 2 ) P ( C 2 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(C_1|x) = \frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)} \\ P(C_2|x) = \frac{P(x|C_2)P(C_2)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)} P(C1x)=P(xC1)P(C1)+P(xC2)P(C2)P(xC1)P(C1)P(C2x)=P(xC1)P(C1)+P(xC2)P(C2)P(xC2)P(C2)
因此,只要知道 P ( C 1 ) 、 P ( C 2 ) 、 P ( x ∣ C 1 ) 、 P ( x ∣ C 2 ) P(C_1)、P(C_2)、P(x|C_1)、P(x|C_2) P(C1)P(C2)P(xC1)P(xC2)这四个概率值即可实现分类。

先验概率

上式中, P ( C 1 ) 、 P ( C 2 ) P(C_1)、P(C_2) P(C1)P(C2) 称为先验概率,即可以根据以往经验和分析,在实验前就可以得到的概率。例如,对于猫和狗的图片二分类问题, C 1 、 C 2 C_1、C_2 C1C2 分别代表图片集中分类成猫和狗的概率,那么,可以通过计算训练集中猫和狗的数量来近似得到先验概率:
P ( C 1 ) = N 1 N t o t a l P ( C 2 ) = N 2 N t o t a l P(C_1) = \frac{N_{1}}{N_{total}} \\ P(C_2) = \frac{N_{2}}{N_{total}} P(C1)=NtotalN1P(C2)=NtotalN2

条件概率

P ( x ∣ C 1 ) 、 P ( x ∣ C 2 ) P(x|C_1)、P(x|C_2) P(xC1)P(xC2) 为条件概率,表述为,已知输入特征 x x x,给定分类集合 C 1 、 C 2 C_1 、C_2 C1C2 x x x 在某种分类种出现的可能性(概率)为多少。因此我们首先需要知道分类 C 1 、 C 2 C_1、C_2 C1C2 的概率分布函数,然后将 特征 x x x 带入即可得到概率值。
假设该分布函数符合高斯分布。属于类别 C 1 C_1 C1 中的特征都是从 C 1 C_1 C1 的高斯分布中采样而得到的,属于类别 C 2 C_2 C2 中的特征都是从 C 2 C_2 C2 的高斯分布中采样而得到的。要得到一个未知向量 x x x 输入时的条件概率,首先就要求出分类 C 1 、 C 2 C_1、C_2 C1C2 所服从的概率分布。假设多维高斯分布表达如下:
f μ , Σ ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ ∣ 1 / 2 exp ⁡ { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } f_{\mu, \Sigma}(x)=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\Sigma|^{1 / 2}} \exp \left\{-\frac{1}{2}(x-\mu)^{T} \Sigma^{-1}(x-\mu)\right\} fμ,Σ(x)=(2π)D/21Σ1/21exp{ 21(xμ)TΣ1(xμ)}

至于为什么使用高斯分布,如果我用其他的分布你也会问同样的问题。You can always use the distribution you like.

其中, μ \mu μ Σ \Sigma Σ 分别代表均值向量和协方差矩阵。要求出对应于每类 C i C_i Ci 的概率分布,也就是求出 μ i \mu_i μi Σ i \Sigma_i Σi,此时问题变成参数估计:已知数据集 X X X,求该集合背后最佳的高斯分布的均值和协方差。
最大似然法通常被用来求解相关问题,通过使得似然函数最大的参数被认为是最好的参数,似然函数定义如下:
L ( μ , Σ ) = f μ , Σ ( x 1 ) f μ , Σ ( x 2 ) f μ , Σ ( x 3 ) … … f μ , Σ ( x N i ) L(\mu, \Sigma)=f_{\mu, \Sigma}\left(x^{1}\right) f_{\mu, \Sigma}\left(x^{2}\right) f_{\mu, \Sigma}\left(x^{3}\right) \ldots \ldots f_{\mu, \Sigma}\left(x^{N_i}\right) L(μ,Σ)=fμ,Σ(x1)fμ,Σ(x2)fμ,Σ(x3)fμ,Σ(xNi)
其中, f ( ) f() f() 为分布函数, N i N_i Ni 为属于 class C i C_i Ci的训练样本个数。因此最佳的 μ \mu μ Σ \Sigma Σ 为:
μ ∗ , Σ ∗ = arg ⁡ max ⁡ μ , Σ L ( μ , Σ ) \mu^{*}, \Sigma^{*}=\arg \max _{\mu, \Sigma} L(\mu, \Sigma) μ,Σ=argμ,ΣmaxL(μ,Σ)
求解得到,
μ i ∗ = 1 N i ∑ n = 1 N 1 x n Σ i ∗ = 1 N i ∑ n = 1 N i ( x n − μ ∗ ) ( x n − μ ∗ ) T \mu^{*}_i=\frac{1}{N_i} \sum_{n=1}^{N_1} x^{n} \\ \Sigma^{*}_i=\frac{1}{N_i} \sum_{n=1}^{N_i}\left(x^{n}-\mu^{*}\right)\left(x^{n}-\mu^{*}\right)^{T} μi=Ni1n=1N1xnΣi=Ni1n=1Ni(xnμ)(xnμ)T
其中, μ i ∗ 、 Σ i ∗ \mu^{*}_i、\Sigma^{*}_i μiΣi 为第 C i C_i Ci 类的均值和协方差, x n x ^n xn 代表第 n n n 个输入样本。
通过以上公式求出各种分类的分布函数 f i ( μ f_i(\mu fi(μ , Σ ) \Sigma) Σ) 后,带入未知向量 x x x,求出 P ( x ∣ C 1 ) 、 P ( x ∣ C 2 ) P(x|C_1)、P(x|C_2) P(xC1)P(xC2) ,最终即可得到 P ( C 1 ∣ x ) , P ( C 2 ∣ x ) P(C_1|x) , P(C_2|x) P(C1x)P(C2x),判断大小之后完成分类。

如果为每个类别都使用完全不同的高斯分布,所得到的分类结果并不尽人意。通常可以修改此模型,使得每个类别的高斯分布的协方差矩阵相同,改变的只是均值。这么做的好处是,一方面减少了参数的个数,一方面提高了分类准确率。

由于是通过生成分布进行分类,该方法被称为 Generative Model.

logistic regression

回到贝叶斯分类,根据以下公式,有:
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) = 1 1 + P ( x ∣ C 2 ) P ( C 2 ) P ( x ∣ C 1 ) P ( C 1 ) = 1 1 + exp ⁡ ( − z ) = σ ( z ) \begin{aligned} &P\left(C_{1} \mid x\right)=\frac{P\left(x \mid C_{1}\right) P\left(C_{1}\right)}{P\left(x \mid C_{1}\right) P\left(C_{1}\right)+P\left(x \mid C_{2}\right) P\left(C_{2}\right)} \\ &=\frac{1}{1+\frac{P\left(x \mid C_{2}\right) P\left(C_{2}\right)}{P\left(x \mid C_{1}\right) P\left(C_{1}\right)}}=\frac{1}{1+\exp (-z)}=\sigma(z) \end{aligned} P(C1x)=P(xC1)P(C1)+P(xC2)P(C2)P(xC1)P(C1)=1+P(xC1)P(C1)P(xC2)P(C2)1=1+exp(z)1=σ(z)
其中,
z = ln ⁡ P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 2 ) P ( C 2 ) z=\ln \frac{P\left(x \mid C_{1}\right) P\left(C_{1}\right)}{P\left(x \mid C_{2}\right) P\left(C_{2}\right)} z=lnP(xC2)P(C2)P(xC1)P(C1)
σ ( ) \sigma() σ() 为 sigmoid 函数。对 z z z 进行化简,
z = ln ⁡ P ( x ∣ C 1 ) P ( x ∣ C 2 ) + ln ⁡ P ( C 1 ) P ( C 2 ) z=\ln \frac{P\left(x \mid C_{1}\right)}{P\left(x \mid C_{2}\right)}+\ln \frac{P\left(C_{1}\right)}{P\left(C_{2}\right)} z=lnP(xC2)P(xC1)+lnP(C2)P(C1)
其中, ln ⁡ P ( C 1 ) P ( C 2 ) = N 1 N 1 + N 2 N 2 N 1 + N 2 = N 1 N 2 \ln \frac{P\left(C_{1}\right)}{P\left(C_{2}\right)} = \frac{\frac{N_{1}}{N_{1}+N_{2}}}{\frac{N_{2}}{N_{1}+N_{2}}}=\frac{N_{1}}{N_{2}} lnP(C2)P(C1)=N1+N2N2N1+N2N1=N2N1 P ( x ∣ C 1 ) 、 P ( x ∣ C 2 ) P\left(x \mid C_{1}\right)、P\left(x \mid C_{2}\right) P(xC1)P(xC2) 分别为高斯分布,
P ( x ∣ C 1 ) = 1 ( 2 π ) D / 2 1 ∣ Σ 1 ∣ 1 / 2 exp ⁡ { − 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) } P ( x ∣ C 2 ) = 1 ( 2 π ) D / 2 1 ∣ Σ 2 ∣ 1 / 2 exp ⁡ { − 1 2 ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) } \begin{aligned} &P\left(x \mid C_{1}\right)=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{\left|\Sigma^{1}\right|^{1 / 2}} \exp \left\{-\frac{1}{2}\left(x-\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1}\left(x-\mu^{1}\right)\right\} \\ &P\left(x \mid C_{2}\right)=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{\left|\Sigma^{2}\right|^{1 / 2}} \exp \left\{-\frac{1}{2}\left(x-\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1}\left(x-\mu^{2}\right)\right\} \end{aligned} P(xC1)=(2π)D/21Σ11/21exp{ 21(xμ1)T(Σ1)1(xμ1)}P(xC2)=(2π)D/21Σ21/21exp{ 21(xμ2)T(Σ2)1(xμ2)}
带入化简,有
z = ln ⁡ P ( x ∣ C 1 ) P ( x ∣ C 2 ) + ln ⁡ P ( C 1 ) P ( C 2 ) = ∣ Σ 2 ∣ 1 / 2 ∣ Σ 1 ∣ 1 / 2 − 1 2 [ ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) − ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) ] + ln ⁡ N 1 N 2 = ln ⁡ ∣ Σ 2 ∣ 1 / 2 ∣ Σ 1 ∣ 1 / 2 − 1 2 x T ( Σ 1 ) − 1 x + ( μ 1 ) T ( Σ 1 ) − 1 x − 1 2 ( μ 1 ) T ( Σ 1 ) − 1 μ 1 + 1 2 x T ( Σ 2 ) − 1 x − ( μ 2 ) T ( Σ 2 ) − 1 x + 1 2 ( μ 2 ) T ( Σ 2 ) − 1 μ 2 + ln ⁡ N 1 N 2 \begin{aligned} z &= \ln \frac{P\left(x \mid C_{1}\right)}{P\left(x \mid C_{2}\right)}+\ln \frac{P\left(C_{1}\right)}{P\left(C_{2}\right)} \\ & = \frac{\left|\Sigma^{2}\right|^{1 / 2}}{\left|\Sigma^{1}\right|^{1 / 2}}-\frac{1}{2}\left[\left(x-\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1}\left(x-\mu^{1}\right)-\left(x-\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1}\left(x-\mu^{2}\right)\right] + \ln \frac{N_{1}}{N_{2}} \\ & = \begin{aligned} &\ln \frac{\left|\Sigma^{2}\right|^{1 / 2}}{\left|\Sigma^{1}\right|^{1 / 2}}-\frac{1}{2} x^{T}\left(\Sigma^{1}\right)^{-1} x+\left(\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1} x-\frac{1}{2}\left(\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1} \mu^{1} \\ &+\frac{1}{2} x^{T}\left(\Sigma^{2}\right)^{-1} x-\left(\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1} x+\frac{1}{2}\left(\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1} \mu^{2}+\ln \frac{N_{1}}{N_{2}} \end{aligned} \end{aligned} z=lnP(xC2)P(xC1)+lnP(C2)P(C1)=Σ11/2Σ21/221[(xμ1)T(Σ1)1(xμ1)(xμ2)T(Σ2)1(xμ2)]+lnN2N1=lnΣ11/2Σ21/221xT(Σ1)1x+(μ1)T(Σ1)1x21(μ1)T(Σ1)1μ1+21xT(Σ2)1x(μ2)T(Σ2)1x+21(μ2)T(Σ2)1μ2+lnN2N1
不妨假设 Σ 1 = Σ 2 = Σ \Sigma_{1}=\Sigma_{2}=\Sigma Σ1=Σ2=Σ ,则,
z = ( μ 1 − μ 2 ) T Σ − 1 x − 1 2 ( μ 1 ) T Σ − 1 μ 1 + 1 2 ( μ 2 ) T Σ − 1 μ 2 + ln ⁡ N 1 N 2 z=\left(\mu^{1}-\mu^{2}\right)^{T} \Sigma^{-1} x-\frac{1}{2}\left(\mu^{1}\right)^{T} \Sigma^{-1} \mu^{1}+\frac{1}{2}\left(\mu^{2}\right)^{T} \Sigma^{-1} \mu^{2}+\ln \frac{N_{1}}{N_{2}} z=(μ1μ2)TΣ1x21(μ1)TΣ1μ1+21(μ2)TΣ1μ2+lnN2N1
其中,令
w T = ( μ 1 − μ 2 ) T Σ − 1 b = − 1 2 ( μ 1 ) T Σ − 1 μ 1 + 1 2 ( μ 2 ) T Σ − 1 μ 2 + ln ⁡ N 1 N 2 w^T = \left(\mu^{1}-\mu^{2}\right)^{T} \Sigma^{-1} \\ b = -\frac{1}{2}\left(\mu^{1}\right)^{T} \Sigma^{-1} \mu^{1}+\frac{1}{2}\left(\mu^{2}\right)^{T} \Sigma^{-1} \mu^{2}+\ln \frac{N_{1}}{N_{2}} wT=(μ1μ2)TΣ1b=21(μ1)TΣ1μ1+21(μ2)TΣ1μ2+lnN2N1
z z z 可以重新写成 z = w T x + b z = w^T x + b z=wTx+b。即:
P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P\left(C_{1} \mid x\right)=\sigma(w \cdot x+b) P(C1x)=σ(wx+b)
此时可以通过使用 gradient descent 方法,直接找到 w w w b b b
以上方法被称为 Discriminative Model.

Generative v.s. Discriminative

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43335465/article/details/120630031