• 【机器学习-西瓜书】-第3章-线性回归-学习笔记-下


    3.3 对数几率回归

    针对二分类的分类模型中

    给出 x x x希望模型得到的 f ( x ) f(x) f(x)代表正样本的概率

    线性回归 f ( x ) ∈ R f(x) \in R f(x)R

    分类回归: f ( x ) ∈ [ 0 , 1 ] f(x)\in[0,1] f(x)[0,1]

    分类任务下使用线性回归

    • 可以使用单调可微函数将分类任务的真实标记 y y y与线性回归模型的预测值联系起来
    • 例,可使用单位阶跃函数
    • 相当于给线性回归的函数套了一个映射函数

    单位阶跃函数

    Heaviside函数

    例:

    y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 y=\left\{

    0,z<00.5,z=01,z>0" role="presentation">0,z<00.5,z=01,z>0
    \right. y= 0,0.5,1,z<0z=0z>0

    在这种情况下,若预测值 z z z大于0就判定为正例,小于0就判定为反例,预测值为临界值0则可以任意判别

    存在的问题:单位阶跃函数不连续,不能直接使用 g − ( ⋅ ) g^{-}(\cdot) g()

    对数几率函数

    logistic function

    简称”对率函数"

    y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1

    y = 1 1 + e − ( w T x + b ) y=\frac{1}{1+e^{-\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)}} y=1+e(wTx+b)1

    特点

    • 单调可微
    • 一定程度上近似单位阶跃函数
    • 一种"Sigmoid"函数
      • 形似S的函数
      • 对率函数是Sigmoid函数的重要代表
    • 严格是取不到0,1的

    对数几率函数原理

    1)对数几率

    将对数几率函数进一步变形

    ln ⁡ y 1 − y = w T x + b \ln \frac{y}{1-y}=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b ln1yy=wTx+b

    其中 y y y视为样本 x x x为正例的可能性, y − 1 y-1 y1为反例的可能性,则二者的比值称为几率

    y 1 − y \frac{y}{1-y} 1yy

    • “几率” ( odds ) 反映了 x x x作为正例的相对可能性
    • 将几率取对数得到的称为"对数几率" (log odds, logit)
      • ln ⁡ y 1 − y \ln \frac{y}{1-y} ln1yy

    所以实际上这个过程是用线性回归模型的预测结果去逼近真实标记的对数几率

    故对应的模型称为**“对数几率回归”(logistic regression, logit regression)**

    • 虽然名称是回归,但是做的是回归算法
    • 有的文献中译为逻辑回归

    2)最大熵原理

    对数几率函数的优点

    • 直接对分类可能性进行建模,无需事先假设数据分布
    • 得到了近似概率的预测,既包含了类别信息,又可以辅助利用概率进行决策的任务
    • 很好的数学性质,有任意阶可导的凸函数

    单位阶跃函数 v.s. 对数几率函数
    在这里插入图片描述

    损失函数的推导

    极大似然估计角度

    步骤

    • 确定概率密度质量函数
    • 写出似然函数

    概率密度函数

    针对不同样本,真实标记有两种情况0和1

    在给定 x x x的情况下,模型针对 y = 1 y=1 y=1 y = 0 y=0 y=0的预测概率结果分别为:

    p ( y = 1 ∣ x ) = 1 1 + e − ( w T x + b ) = e w T x + b 1 + e w T x + b p ( y = 0 ∣ x ) = 1 − p ( y = 1 ∣ x ) = 1 1 + e w T x + b

    p(y=1x)=11+e(wTx+b)=ewTx+b1+ewTx+bp(y=0x)=1p(y=1x)=11+ewTx+b" role="presentation">p(y=1x)=11+e(wTx+b)=ewTx+b1+ewTx+bp(y=0x)=1p(y=1x)=11+ewTx+b
    p(y=1x)=1+e(wTx+b)1=1+ewTx+bewTx+bp(y=0x)=1p(y=1x)=1+ewTx+b1

    对式子进行化简, β = ( w ; b ) , x ^ = ( x ; 1 ) \boldsymbol{\beta}=(\boldsymbol{w} ; b), \hat{\boldsymbol{x}}=(\boldsymbol{x} ; 1) β=(w;b),x^=(x;1),得到结果

    p ( y = 1 ∣ x ^ ; β ) = e β T x ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) p ( y = 0 ∣ x ^ ; β ) = 1 1 + e β T x ^ = p 0 ( x ^ ; β )

    p(y=1x^;β)=eβTx^1+eβTx^=p1(x^;β)p(y=0x^;β)=11+eβTx^=p0(x^;β)" role="presentation">p(y=1x^;β)=eβTx^1+eβTx^=p1(x^;β)p(y=0x^;β)=11+eβTx^=p0(x^;β)
    p(y=1x^;β)=1+eβTx^eβTx^=p1(x^;β)p(y=0x^;β)=1+eβTx^1=p0(x^;β)

    由于我们只关心预测真实标记的概率情况,所以针对单个样本的概率质量函数为:

    p ( y ∣ x ^ ; β ) = y ⋅ p 1 ( x ^ ; β ) + ( 1 − y ) ⋅ p 0 ( x ^ ; β ) p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=y \cdot p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})+(1-y) \cdot p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) p(yx^;β)=yp1(x^;β)+(1y)p0(x^;β)

    或者

    p ( y ∣ x ^ ; β ) = [ p 1 ( x ^ ; β ) ] y [ p 0 ( x ^ ; β ) ] 1 − y p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\left[p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{y}\left[p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{1-y} p(yx^;β)=[p1(x^;β)]y[p0(x^;β)]1y

    似然函数

    考虑 m m m的样本

    L ( β ) = ∏ i = 1 m p ( y i ∣ x ^ i ; β ) L(\boldsymbol{\beta})=\prod_{i=1}^{m} p\left(y_{i} \mid \hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right) L(β)=i=1mp(yix^i;β)

    将似然函数进行转换

    ℓ ( β ) = ln ⁡ L ( β ) = ∑ i = 1 m ln ⁡ p ( y i ∣ x ^ i ; β ) ℓ ( β ) = ∑ i = 1 m ln ⁡ ( y i p 1 ( x ^ i ; β ) + ( 1 − y i ) p 0 ( x ^ i ; β ) )

    (β)=lnL(β)=i=1mlnp(yix^i;β)(β)=i=1mln(yip1(x^i;β)+(1yi)p0(x^i;β))" role="presentation">(β)=lnL(β)=i=1mlnp(yix^i;β)(β)=i=1mln(yip1(x^i;β)+(1yi)p0(x^i;β))
    (β)=lnL(β)=i=1mlnp(yix^i;β)(β)=i=1mln(yip1(x^i;β)+(1yi)p0(x^i;β))
    p 1 ( x ^ i ; β ) = e β T x ^ i 1 + e β T x ^ i , p 0 ( x ^ i ; β ) = 1 1 + e β T x ^ i p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}, p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}} p1(x^i;β)=1+eβTx^ieβTx^i,p0(x^i;β)=1+eβTx^i1代入上式可得
    ℓ ( β ) = ∑ i = 1 m ln ⁡ ( y i e β T x ^ i 1 + e β T x ^ i + 1 − y i 1 + e β T x ^ i ) = ∑ i = 1 m ln ⁡ ( y i e β T x ^ i + 1 − y i 1 + e β T x ^ i ) = ∑ i = 1 m ( ln ⁡ ( y i e β T x ^ i + 1 − y i ) − ln ⁡ ( 1 + e β T x ^ i ) )
    (β)=i=1mln(yieβTx^i1+eβTx^i+1yi1+eβTx^i)=i=1mln(yieβTx^i+1yi1+eβTx^i)=i=1m(ln(yieβTx^i+1yi)ln(1+eβTx^i))" role="presentation">(β)=i=1mln(yieβTx^i1+eβTx^i+1yi1+eβTx^i)=i=1mln(yieβTx^i+1yi1+eβTx^i)=i=1m(ln(yieβTx^i+1yi)ln(1+eβTx^i))
    (β)=i=1mln(1+eβTx^iyieβTx^i+1+eβTx^i1yi)=i=1mln(1+eβTx^iyieβTx^i+1yi)=i=1m(ln(yieβTx^i+1yi)ln(1+eβTx^i))

    y i y_i yi等于1或者0代入,得到

    ℓ ( β ) = { ∑ i = 1 m ( − ln ⁡ ( 1 + e β T x ^ i ) ) , y i = 0 ∑ i = 1 m ( β T x ^ i − ln ⁡ ( 1 + e β T x ^ i ) ) , y i = 1 \ell(\boldsymbol{\beta})=\left\{

    i=1m(ln(1+eβTx^i)),yi=0i=1m(βTx^iln(1+eβTx^i)),yi=1" role="presentation">i=1m(ln(1+eβTx^i)),yi=0i=1m(βTx^iln(1+eβTx^i)),yi=1
    \right. (β)= i=1m(ln(1+eβTx^i)),i=1m(βTx^iln(1+eβTx^i)),yi=0yi=1

    将两个式子进行综合得到

    ℓ ( β ) = ∑ i = 1 m ( y i β T x ^ i − ln ⁡ ( 1 + e β T x ^ i ) ) \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) (β)=i=1m(yiβTx^iln(1+eβTx^i))

    通常损失函数是以最小化为优化目标

    所以可以将式子取相反数,得到损失函数的优化目标为

    ℓ ( β ) = − ∑ i = 1 m ( y i β T x ^ i − ln ⁡ ( 1 + e β T x ^ i ) ) \ell(\boldsymbol{\beta})=-\sum_{i=1}^{m}\left(y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) (β)=i=1m(yiβTx^iln(1+eβTx^i))

    信息论角度

    自信息

    I ( X ) = − log ⁡ b p ( x ) I(X)=-\log _{b} p(x) I(X)=logbp(x)

    b = 2 b=2 b=2时单位为bit,当 b = e b=e b=e时单位为nat

    信息熵

    H ( X ) = E [ I ( X ) ] = − ∑ x p ( x ) log ⁡ b p ( x ) H(X)=E[I(X)]=-\sum_{x} p(x) \log _{b} p(x) H(X)=E[I(X)]=xp(x)logbp(x)

    (离散型信息熵)

    自信息的期望

    度量随机变量 X X X的不确定性,信息熵越大越不确定

    约定:若 p ( x ) = 0 p(x)=0 p(x)=0,则 p ( x ) log ⁡ b p ( x ) = 0 p(x) \log _{b} p(x)=0 p(x)logbp(x)=0

    相对熵 ( KL散度 )

    D K L ( p ∥ q ) = ∑ x p ( x ) log ⁡ b ( p ( x ) q ( x ) ) = ∑ x p ( x ) ( log ⁡ b p ( x ) − log ⁡ b q ( x ) ) = ∑ x p ( x ) log ⁡ b p ( x ) − ∑ x p ( x ) log ⁡ b q ( x )

    DKL(pq)=xp(x)logb(p(x)q(x))=xp(x)(logbp(x)logbq(x))=xp(x)logbp(x)xp(x)logbq(x)" role="presentation">DKL(pq)=xp(x)logb(p(x)q(x))=xp(x)(logbp(x)logbq(x))=xp(x)logbp(x)xp(x)logbq(x)
    DKL(pq)=xp(x)logb(q(x)p(x))=xp(x)(logbp(x)logbq(x))=xp(x)logbp(x)xp(x)logbq(x)

    其中 − ∑ x p ( x ) log ⁡ b q ( x ) -\sum_{x} p(x) \log _{b} q(x) xp(x)logbq(x)称为交叉熵

    求和的含义是遍历 x x x所有的值

    度量两个分布的差异

    典型使用场景,度量理想分布 p ( x ) p(x) p(x)和模拟分布 q ( x ) q(x) q(x)之间的差异

    优化原理

    • 理想分布最接近的模拟分布即为最优分布
    • 因此可以通过最小化相对熵这个策略来求出最优分布
    • 理想分布 p ( x ) p(x) p(x)是未知但固定,所以 ∑ x p ( x ) log ⁡ b p ( x ) \sum_{x} p(x) \log _{b} p(x) xp(x)logbp(x)为常量
    • 最小化相对熵就等价于最小化交叉熵

    以对数几率回归为例,对单个样本 y i y_i yi来说,它的理想分布是

    p ( y i ) = { p ( 1 ) = 1 , p ( 0 ) = 0 , y i = 1 p ( 1 ) = 0 , p ( 0 ) = 1 , y i = 0 p\left(y_{i}\right)=\left\{

    p(1)=1,p(0)=0,yi=1p(1)=0,p(0)=1,yi=0" role="presentation">p(1)=1,p(0)=0,yi=1p(1)=0,p(0)=1,yi=0
    \right. p(yi)={p(1)=1,p(0)=0,p(1)=0,p(0)=1,yi=1yi=0

    现在模型的模拟分布是

    q ( y i ) = { e β T x ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) , y i = 1 1 1 + e β T = p 0 ( x ^ ; β ) , y i = 0 q\left(y_{i}\right)=\left\{

    eβTx^1+eβTx^=p1(x^;β),yi=111+eβT=p0(x^;β),yi=0" role="presentation">eβTx^1+eβTx^=p1(x^;β),yi=111+eβT=p0(x^;β),yi=0
    \right. q(yi)={1+eβTx^eβTx^=p1(x^;β),1+eβT1=p0(x^;β),yi=1yi=0

    对于单个样本 y i y_i yi的交叉熵为

    − ∑ y i p ( y i ) log ⁡ b q ( y i ) -\sum_{y_{i}} p\left(y_{i}\right) \log _{b} q\left(y_{i}\right) yip(yi)logbq(yi)

    将模型的预测结果进行代入

    − p ( 1 ) ⋅ log ⁡ b p 1 ( x ^ ; β ) − p ( 0 ) ⋅ log ⁡ b p 0 ( x ^ ; β ) -p(1) \cdot \log _{b} p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-p(0) \cdot \log _{b} p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) p(1)logbp1(x^;β)p(0)logbp0(x^;β)

    同时令 b = e b=e b=e

    − y i ln ⁡ p 1 ( x ^ ; β ) − ( 1 − y i ) ln ⁡ p 0 ( x ^ ; β ) -y_{i} \ln p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-\left(1-y_{i}\right) \ln p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) yilnp1(x^;β)(1yi)lnp0(x^;β)

    全体训练样本的交叉熵为

    ⁡ ∑ i = 1 m [ − y i ln ⁡ p 1 ( x ^ i ; β ) − ( 1 − y i ) ln ⁡ p 0 ( x ^ i ; β ) ] ∑ i = 1 m { − y i [ ln ⁡ p 1 ( x ^ i ; β ) − ln ⁡ p 0 ( x ^ i ; β ) ] − ln ⁡ ( p 0 ( x ^ i ; β ) ) } ∑ i = 1 m [ − y i ln ⁡ ( p 1 ( x ^ i ; β ) p 0 ( x ^ i ; β ) ) − ln ⁡ ( p 0 ( x ^ i ; β ) ) ]

    i=1m[yilnp1(x^i;β)(1yi)lnp0(x^i;β)]i=1m{yi[lnp1(x^i;β)lnp0(x^i;β)]ln(p0(x^i;β))}i=1m[yiln(p1(x^i;β)p0(x^i;β))ln(p0(x^i;β))]" role="presentation">i=1m[yilnp1(x^i;β)(1yi)lnp0(x^i;β)]i=1m{yi[lnp1(x^i;β)lnp0(x^i;β)]ln(p0(x^i;β))}i=1m[yiln(p1(x^i;β)p0(x^i;β))ln(p0(x^i;β))]
    i=1m[yilnp1(x^i;β)(1yi)lnp0(x^i;β)]i=1m{yi[lnp1(x^i;β)lnp0(x^i;β)]ln(p0(x^i;β))}i=1m[yiln(p0(x^i;β)p1(x^i;β))ln(p0(x^i;β))]

    将具体的式子代入后得到

    ∑ i = 1 m [ − y i ln ⁡ ( e β T x ^ 1 + e β T x ^ 1 1 + e β T x ^ ) − ln ⁡ ( 1 1 + e β T x ^ ) ] \sum_{i=1}^{m}\left[-y_{i} \ln \left(\frac{\frac{e^{\beta^{\mathrm{T}} \hat{\boldsymbol{x}}}}{1+e^{\beta^{\mathrm{T}} \hat{\boldsymbol{x}}}}}{\frac{1}{1+e^{\beta^{\mathrm{T}} \hat{x}}}}\right)-\ln \left(\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}\right)\right] i=1m yiln 1+eβTx^11+eβTx^eβTx^ ln(1+eβTx^1)

    经整理后得到

    ∑ i = 1 m ( − y i β T x ^ i + ln ⁡ ( 1 + e β T x ^ i ) ) \sum_{i=1}^{m}\left(-y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}+\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) i=1m(yiβTx^i+ln(1+eβTx^i))

    可以发现这两种角度下得到的损失函数结果是相同的

    3.4 线性判别分析

    Linear Discriminant Analysis ( LDA )

    LDA思想

    • 将样例投射到一条直线上
    • 样例之间的关系
      • 同类样例的投影点尽可能接近
      • 异类样例的投影点尽可能远离
    • 对于新样本进行分类时,投射到同样的直线上,根据投影点位置确定新样本的类别

    在这里插入图片描述

    线性判别分析 v.s. Fisher判别分析

    在分类问题上,Fisher判别分析更早提出

    LDA假设了各类样本的协方差矩阵相同且满秩

    LDA的形式化表述

    X i X_i Xi其中 X 0 X_0 X0 X 1 X_1 X1分别代表所有的负样本和正样本

    μ 0 \mu_0 μ0 μ 1 \mu_1 μ1分别代表负样本和正样本的均值

    ∑ 0 \sum_0 0 ∑ 1 \sum_1 1分别代表负样本和正样本的方差

    ∑ i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T \sum_i=\sum_{x \\\in X_i}(x-\mu_i)(x-\mu_i)^T i=xXi(xμi)(xμi)T

    在式子的表示中省略掉了 1 m i \frac{1}{m_i} mi1,但是这个系数并不影响LDA的结果

    求解 w w w向量的时候,为什么只关注于方向而不关心大小

    以均值 μ 0 \mu_0 μ0 μ 1 \mu_1 μ1为例,利用模型得到的 y y y值本质上是均值对直线的投影

    y = ∣ μ ∣ c o s θ y=|\mu| cos\theta y=μcosθ

    说明直线的向量最主要的是影响方向,真正影响长度的是你向量本身。所以直线的向量的大小并不是关键因素

    损失函数的推导

    异类样本中心尽可能远

    m a x ∣ ∣ ∣ μ 0 ∣ ⋅ c o s θ 0 − ∣ μ 1 ∣ ⋅ c o s θ 1 ∣ ∣ 2 2 max|| |\mu_0|\cdot cos\theta_0 - |\mu_1|\cdot cos\theta_1||_2^2 max∣∣∣μ0cosθ0μ1cosθ122

    为了方便后续进行计算推导,同时不关心 w w w的大小,所以可以乘以 ∣ w ∣ |w| w

    max ⁡ ∥ ∣ w ∣ ⋅ ∣ μ 0 ∣ ⋅ cos ⁡ θ 0 − ∣ w ∣ ⋅ ∣ μ 1 ∣ ⋅ cos ⁡ θ 1 ∥ 2 2 \max \left\||\boldsymbol{w}| \cdot\left|\boldsymbol{\mu}_{0}\right| \cdot \cos \theta_{0}-|\boldsymbol{w}| \cdot\left|\boldsymbol{\mu}_{1}\right| \cdot \cos \theta_{1}\right\|_{2}^{2} maxwμ0cosθ0wμ1cosθ122

    就可以将这个式子,转换为向量内积的形式

    max ⁡ ∥ w T μ 0 − w T μ 1 ∥ 2 2 \max \left\|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{0}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{1}\right\|_{2}^{2} max wTμ0wTμ1 22

    同类样本方差尽可能小

    min ⁡ w T Σ 0 w \min \boldsymbol{w}^{\mathrm{T}} \boldsymbol{\Sigma}_{0} \boldsymbol{w} minwTΣ0w

    解释下为什么这种形式表示为方差
    具体式子展开如下
    其实这个式子是在投影维度上考虑的方差形式

    w T Σ 0 w = w T ( ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T ) w = ∑ x ∈ X 0 ( w T x − w T μ 0 ) ( x T w − μ 0 T w )

    wTΣ0w=wT(xX0(xμ0)(xμ0)T)w=xX0(wTxwTμ0)(xTwμ0Tw)" role="presentation">wTΣ0w=wT(xX0(xμ0)(xμ0)T)w=xX0(wTxwTμ0)(xTwμ0Tw)
    wTΣ0w=wT(xX0(xμ0)(xμ0)T)w=xX0(wTxwTμ0)(xTwμ0Tw)

    其中 w T x − w T μ 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{0} wTxwTμ0代表的就是投影长度之间的
    ( w ⊤ x − w ⊤ μ 0 ) 2 \left(w^{\top} x-w^{\top} \mu_{0}\right)^{2} (wxwμ0)2形式就是类似于 ( x − x ˉ ) 2 (x-\bar{x})^{2} (xxˉ)2方差的形式

    二范数

    ∥ x ∥ 2 = ( ∣ x 1 ∣ 2 + ∣ x 2 ∣ 2 + ⋯ + ∣ x n ∣ 2 ) 1 / 2 \|x\|_{2}=\left(\left|x_{1}\right|^{2}+\left|x_{2}\right|^{2}+\cdots+\left|x_{n}\right|^{2}\right)^{1 / 2} x2=(x12+x22++xn2)1/2

    拉格朗日乘子法

    min ⁡ x f ( x )  s.t.  h i ( x ) = 0 i = 1 , 2 , … , n

    minxf(x) s.t. hi(x)=0i=1,2,,n" role="presentation">minxf(x) s.t. hi(x)=0i=1,2,,n
    minx s.t. f(x)hi(x)=0i=1,2,,n

    其中自变量 x ∈ R n , f ( x ) 和 h i ( x ) \boldsymbol{x} \in \mathbb{R}^{n}, f(\boldsymbol{x}) 和 h_{i}(\boldsymbol{x}) xRn,f(x)hi(x) 均有连续的一阶偏导数。首先列出其拉格朗日函 数:

    L ( x , λ ) = f ( x ) + ∑ i = 1 n λ i h i ( x ) L(\boldsymbol{x}, \boldsymbol{\lambda})=f(\boldsymbol{x})+\sum_{i=1}^{n} \lambda_{i} h_{i}(\boldsymbol{x}) L(x,λ)=f(x)+i=1nλihi(x)

    其中 λ = ( λ 1 , λ 2 , … , λ n ) T \boldsymbol{\lambda}=\left(\lambda_{1}, \lambda_{2}, \ldots, \lambda_{n}\right)^{\mathrm{T}} λ=(λ1,λ2,,λn)T 为拉格朗日乘子。然后对拉格朗日函数关于 x \boldsymbol{x} x 求偏导, 并令导数等于 0 \mathbf{0} 0 再搭配约束条件 h i ( x ) = 0 h_{i}(\boldsymbol{x})=0 hi(x)=0 解出 x \boldsymbol{x} x , 求解出的所有 x \boldsymbol{x} x 即为上述优化问题的所有 可能【极值点】

    极值点中存在最大值和最小值

    最终损失函数的式子

    max ⁡ J = ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T Σ 0 w + w T Σ 1 w = ∥ ( w T μ 0 − w T μ 1 ) T ∥ 2 2 w T ( Σ 0 + Σ 1 ) w = ∥ ( μ 0 − μ 1 ) T w ∥ 2 2 w T ( Σ 0 + Σ 1 ) w = [ ( μ 0 − μ 1 ) T w ] T ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w

    maxJ=wTμ0wTμ122wTΣ0w+wTΣ1w=(wTμ0wTμ1)T22wT(Σ0+Σ1)w=(μ0μ1)Tw22wT(Σ0+Σ1)w=[(μ0μ1)Tw]T(μ0μ1)TwwT(Σ0+Σ1)w=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w" role="presentation">maxJ=wTμ0wTμ122wTΣ0w+wTΣ1w=(wTμ0wTμ1)T22wT(Σ0+Σ1)w=(μ0μ1)Tw22wT(Σ0+Σ1)w=[(μ0μ1)Tw]T(μ0μ1)TwwT(Σ0+Σ1)w=wT(μ0μ1)(μ0μ1)TwwT(Σ0+Σ1)w
    maxJ=wTΣ0w+wTΣ1w wTμ0wTμ1 22=wT(Σ0+Σ1)w (wTμ0wTμ1)T 22=wT(Σ0+Σ1)w (μ0μ1)Tw 22=wT(Σ0+Σ1)w[(μ0μ1)Tw]T(μ0μ1)Tw=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)Tw

    为了方便记录和讨论

    设定 S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0μ1)(μ0μ1)T, S w = ( ∑ 0 + ∑ 1 ) S_w=(\sum_0+\sum_1) Sw=(0+1)

    式子表示为

    max ⁡ J = w T S b w w T S w w \max J=\frac{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}}{\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}} maxJ=wTSwwwTSbw

    下一步进行求解时,由于 w w w的长度完全不影响结果,所以可以先将 w w w固定,添加约束 w T S w w = 1 \boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}=1 wTSww=1

    通常优化问题中都考虑最小化问题,所以将式子转换为

    min ⁡ w − w T S b w  s.t.  w T S w w = 1

    minwwTSbw s.t. wTSww=1" role="presentation">minwwTSbw s.t. wTSww=1
    minw s.t. wTSbwwTSww=1

    求解 w w w

    min ⁡ w − w T S b w  s.t.  w T S w w = 1 ⇔ w T S w w − 1 = 0

    minwwTSbw s.t. wTSww=1wTSww1=0" role="presentation">minwwTSbw s.t. wTSww=1wTSww1=0
    minw s.t. wTSbwwTSww=1wTSww1=0

    由拉格朗日乘子法可得拉格朗日函数为

    L ( w , λ ) = − w T S b w + λ ( w T S w w − 1 ) L(\boldsymbol{w}, \lambda)=-\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}+\lambda\left(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}-1\right) L(w,λ)=wTSbw+λ(wTSww1)

    利用矩阵微分公式,对 w \boldsymbol{w} w 求偏导可得

    ∂ L ( w , λ ) ∂ w = − ∂ ( w T S b w ) ∂ w + λ ∂ ( w T S w w − 1 ) ∂ w = − ( S b + S b T ) w + λ ( S w + S w T ) w

    L(w,λ)w=(wTSbw)w+λ(wTSww1)w=(Sb+SbT)w+λ(Sw+SwT)w" role="presentation">L(w,λ)w=(wTSbw)w+λ(wTSww1)w=(Sb+SbT)w+λ(Sw+SwT)w
    wL(w,λ)=w(wTSbw)+λw(wTSww1)=(Sb+SbT)w+λ(Sw+SwT)w

    由于 S b S_b Sb S w S_w Sw都对称 S b = S b T , S w = S w T \mathbf{S}_{b}=\mathbf{S}_{b}^{\mathrm{T}}, \mathbf{S}_{w}=\mathbf{S}_{w}^{\mathrm{T}} Sb=SbT,Sw=SwT , 所以

    ∂ L ( w , λ ) ∂ w = − 2 S b w + 2 λ S w w \frac{\partial L(\boldsymbol{w}, \lambda)}{\partial \boldsymbol{w}}=-2 \mathbf{S}_{b} \boldsymbol{w}+2 \lambda \mathbf{S}_{w} \boldsymbol{w} wL(w,λ)=2Sbw+2λSww

    令上面的式子为0,即可得到

    S b w = λ S w w \mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} Sbw=λSww

    S b S_b Sb展开后,可以得到

    ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w = λ S w w \left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} (μ0μ1)(μ0μ1)Tw=λSww

    ( μ 0 − μ 1 ) T w \left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w} (μ0μ1)Tw为行向量和列向量相乘,所以可以令 ( μ 0 − μ 1 ) T w = γ \left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{w}=\gamma (μ0μ1)Tw=γ

    将式子进行整理,得到

    w = γ λ S w − 1 ( μ 0 − μ 1 ) \boldsymbol{w}=\frac{\gamma}{\lambda} \mathbf{S}_{w}^{-1}\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right) w=λγSw1(μ0μ1)

    正常在利用拉格朗日乘子法进行求解的时候需要考虑约束条件,由于不关系 w w w的大小,会关心方向,所以隐含的没有考虑,同时 γ \gamma γ只受 w w w影响, λ \lambda λ未知但是固定,所以令 γ λ = 1 \frac{\gamma}{\lambda}=1 λγ=1

    论证为什么使用拉格朗日乘子法求出的极值点 w w w一定是最小值点

    μ 0 \mu_0 μ0 μ 1 \mu_1 μ1投影后一定存在最大值和最小值

    同时 − w T S b w = − ∥ w T μ 0 − w T μ 1 ∥ 2 2 ⩽ 0 -\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}=-\left\|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{0}-\boldsymbol{w}^{\mathrm{T}} \boldsymbol{\mu}_{1}\right\|_{2}^{2} \leqslant 0 wTSbw= wTμ0wTμ1 220

    所以当求出的极值点代入到目标函数的式子中,不为0的点就是最小值点

    拓展到多线性判别分析

    W = ( w 1 , w 2 , . . . , w n ) W=(w_1,w_2,...,w_n) W=(w1,w2,...,wn)

    S b ( w 1 , w 2 , . . . , w 3 ) = λ S w ( w 1 , w 2 , . . . , w 3 ) S_b(w_1,w_2,...,w_3)=\lambda S_w(w_1,w_2,...,w_3) Sb(w1,w2,...,w3)=λSw(w1,w2,...,w3)

    S b w 1 = λ S w w 1 S_bw_1=\lambda S_ww_1 Sbw1=λSww1

    相当于是 n n n个二分类的线性判别问题

    补充数学知识

    广义特征值

    A x = λ x Ax=\lambda x Ax=λx,普通求特征值

    A x = λ B x Ax=\lambda B x Ax=λBx, 广义特征值

    其中 A A A B B B n n n阶方阵,称 λ \lambda λ A A A相对于 B B B的广义特征值

    x x x A A A相对于 B B B的属于广义特征值 λ \lambda λ的特征向量

    广义瑞利商

    A , B \mathbf{A}, \mathbf{B} A,B n n n阶厄米 (Hermitian) 矩阵, 且 B \mathbf{B} B 正定, 称 R ( x ) = x H A x x H B x ( x ≠ 0 ) R(\boldsymbol{x})=\frac{\boldsymbol{x}^{\mathrm{H}} \mathbf{A} \boldsymbol{x}}{\boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}}(\boldsymbol{x} \neq \mathbf{0}) R(x)=xHBxxHAx(x=0) A \mathbf{A} A 相对于 B \mathbf{B} B 的广义瑞利商。特别地, 当 B = I \mathbf{B}=\mathbf{I} B=I (单位矩阵) 时, 广义瑞利商退化为瑞利商。

    (这里可以先简单理解为厄米矩阵是对称矩阵)

    广义瑞利商的性质:设 λ i , x i ( i = 1 , 2 , … , n ) \lambda_{i}, \boldsymbol{x}_{i}(i=1,2, \ldots, n) λi,xi(i=1,2,,n) A \mathbf{A} A 相对于 B \mathbf{B} B 的广义特征值和特征向量, 且 $\lambda_{1} \leqslant \lambda_{2} \leqslant \ldots \leqslant \lambda_{n} $。

    min ⁡ x ≠ 0 R ( x ) = x H A x x H B x = λ 1 , x ∗ = x 1 max ⁡ x ≠ 0 R ( x ) = x H A x x H B x = λ n , x ∗ = x n

    minx0R(x)=xHAxxHBx=λ1,x=x1maxx0R(x)=xHAxxHBx=λn,x=xn" role="presentation">minx0R(x)=xHAxxHBx=λ1,x=x1maxx0R(x)=xHAxxHBx=λn,x=xn
    minx=0R(x)=xHBxxHAx=λ1,x=x1maxx=0R(x)=xHBxxHAx=λn,x=xn

    【证明】:当固定 x H B x = 1 \boldsymbol{x}^{\mathrm{H}} \mathbf{B} \boldsymbol{x}=1 xHBx=1 时,使用拉格朗日乘子法可推得 A x = λ B x \mathbf{A} \boldsymbol{x}=\lambda \mathbf{B} \boldsymbol{x} Ax=λBx 这样一个广义特征值问题, 因此 x \boldsymbol{x} x 所有可能的解即为 x i ( i = 1 , 2 , … , n ) \boldsymbol{x}_{i}(i=1,2, \ldots, n) xi(i=1,2,,n) n \mathrm{n} n 个广义特征向量, 将其分别代入 R ( x ) R(\boldsymbol{x}) R(x) 即可推得上述结论。

    其实也就是将特征值由小到大排列,然后需要几个解,就按照顺序取几个特征值对应的特征向量

    参考资料

    [1]周志华. 《机器学习》[J]. 中国民商, 2016, 03(No.21):93-93.
    [2]机器学习公式详解

  • 相关阅读:
    统计元音字母个数
    AI对开发者职业的影响,保持领先的7 个行动指南
    Java:Java中单元测试的最佳实践
    【AI】用iOS的ML(机器学习)创建自己的AI App
    Day03:Web架构&OSS存储&负载均衡&CDN加速&反向代理&WAF防护
    RabbitMQ中VirtualHost相关设置、SpringBoot中集成常见问题总结
    FTC局部路径规划代码分析
    Jenkins插件开发——插件的拓展
    16 Linux 内核定时器
    【若依】多级联动下拉的实现(附HTML及JavaScript参考代码)
  • 原文地址:https://blog.csdn.net/weixin_44944046/article/details/127413325