本实验要求利用逻辑回归(Logistic Regression),对生成的数据进行二分类。首先我们先回顾一下逻辑回归的基本原理:
逻辑回归
逻辑回归,又意译为对率回归(周志华《机器学习》),虽然它的名字中带“回归”,但它是一个分类模型。它的基本思想是直接估计条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X)的表达式,即给定样本 X = x X=x X=x(这里 x x x是一个 d d d维列向量),其属于类别 Y Y Y的概率(这里研究的是二分类问题, Y Y Y的取值只有 0 , 1 0,1 0,1, 1 1 1表示正例, 0 0 0表示反例)。利用贝叶斯公式,可以得到给定样本,其为正例的概率
P ( Y = 1 ∣ X = x ) = P ( X = x ∣ Y = 1 ) P ( Y = 1 ) P ( X = x ) = P ( X = x ∣ Y = 1 ) P ( Y = 1 ) P ( X = x ∣ Y = 1 ) P ( Y = 1 ) + P ( X = x ∣ Y = 0 ) P ( Y = 0 ) = 1 1 + P ( X = x ∣ Y = 0 ) P ( Y = 0 ) P ( X = x ∣ Y = 1 ) P ( Y = 1 ) \begin{aligned}P(Y=1|X=x)&= \frac {P(X=x|Y=1)P(Y=1)}{P(X=x)}\\ &=\frac{P(X=x|Y=1)P(Y=1)}{P(X=x|Y=1)P(Y=1)+P(X=x|Y=0)P(Y=0)}\\ &=\frac{1}{1+\frac{P(X=x|Y=0)P(Y=0)}{P(X=x|Y=1)P(Y=1)}}\\ \end{aligned} P(Y=1∣X=x)=P(X=x)P(X=x∣Y=1)P(Y=1)=P(X=x∣Y=1)P(Y=1)+P(X=x∣Y=0)P(Y=0)P(X=x∣Y=1)P(Y=1)=1+P(X=x∣Y=1)P(Y=1)P(X=x∣Y=0)P(Y=0)1
在这个式子中有两类式子需要我们已知:类别先验 P ( Y = y ) P(Y=y) P(Y=y)和条件分布 P ( X ∣ Y ) P(X|Y) P(X∣Y).这也是逻辑回归做出的最基本假设:
(1)类别先验服从伯努利分布 B ( 1 , p ) , B(1,p), B(1,p),即一个样本有 p p p的概率为正例。
(2)类内样本服从正态分布 N ( μ , Σ ) . N(\mu,\Sigma). N(μ,Σ).具体地说,正例样本服从 N ( μ 1 , Σ 1 ) N(\mu_1,\Sigma_1) N(μ1,Σ1);反例样本服从 N ( μ 0 , Σ 0 ) N(\mu_0,\Sigma_0) N(μ0,Σ0)。特别地,我们要求两类样本的协方差矩阵相同,即 Σ 1 = Σ 0 = Σ . \Sigma_1=\Sigma_0=\Sigma. Σ1=Σ0=Σ.之后我们就都用 Σ \Sigma Σ这一个符号代表协方差矩阵。
(注: n n n维正态分布 N ( μ , Σ ) N(\mu,\Sigma) N(μ,Σ)的概率密度 p ( x ) = 1 ( 2 π ) n / 2 ∣ Σ ∣ 1 / 2 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } p(x)=\frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}}\exp\{-\frac12(x-\mu)^T\Sigma^{-1}(x-\mu)\} p(x)=(2π)n/2∣Σ∣1/21exp{ −21(x−μ)TΣ−1(x−μ)})
顺着上面两条假设,我们可以继续推导。我们在这里用正态分布的概率密度来代替概率(这个推导在概率论中不是那么严谨,但概率密度的大小可以一定程度上反映样本分布在该点的概率大小。)
P ( Y = 1 ∣ X = x ) = 1 1 + P ( X = x ∣ Y = 0 ) P ( Y = 0 ) P ( X = x ∣ Y = 1 ) P ( Y = 1 ) = 1 1 + exp { − 1 2 ( x − μ 0 ) T Σ − 1 ( x − μ 0 ) } exp { − 1 2 ( x − μ 1 ) T Σ − 1 ( x − μ 1 ) } ⋅ 1 − p p = 1 1 + exp { ( μ 0 − μ 1 ) T Σ − 1 x + 1 2 ( μ 1 T Σ − 1 μ 1 − μ 0 T Σ − 1 μ 0 ) } ⋅ 1 − p p \begin{aligned}P(Y=1|X=x)&=\frac{1}{1+\frac{P(X=x|Y=0)P(Y=0)}{P(X=x|Y=1)P(Y=1)}}\\ &=\frac{1}{1+\frac{\exp\{-\frac12(x-\mu_0)^T\Sigma^{-1}(x-\mu_0)\}}{\exp\{-\frac12(x-\mu_1)^T\Sigma^{-1}(x-\mu_1)\}}\cdot\frac{1-p}{p}}\\ &=\frac{1}{1+\exp\{(\mu_0-\mu_1)^T\Sigma^{-1}x+\frac12(\mu_1^T\Sigma^{-1}\mu_1-\mu_0^{T}\Sigma^{-1}\mu_0)\}\cdot\frac{1-p}{p}} \end{aligned} P(Y=1∣X=x)=1+P(X=x∣Y=1)P(Y=1)P(X=x∣Y=0)P(Y=0)1=1+exp{
−21(x−μ1)TΣ−1(x−μ1)}exp{
−21(x−μ0)TΣ−1(x−μ0)}⋅p1−p1=1+exp{(μ0−μ1)TΣ−1x+21(μ1TΣ−1μ1−μ0TΣ−1μ0)}⋅p1−p1
上式2~3行就是把两个指数相除,把项展开整理了一下。我们把结果中的 1 − p p \frac{1-p}{p} p1−p也改写成指数形式:
1 − p p = exp ln ( 1 − p p ) \frac{1-p}{p}=\exp \ln(\frac{1-p}{p}) p1−p=expln(p1−p)
再整理一下 P ( Y = 1 ∣ X = x ) , P(Y=1|X=x), P(Y=1∣X=x),得到
P ( Y = 1 ∣ X = x ) = 1 1 + exp { ( μ 0 − μ 1 ) T Σ − 1 x + 1 2 ( μ 1