目录

  • 基本形式
  • 线性回归 (linear regression)
    • 单变量线性回归
    • 多变量线性回归 (multivariate linear regression)
    • 广义线性模型 (generalized linear model)
    • 从概率角度理解线性回归
    • 贝叶斯线性回归
  • 对数几率回归 (logistic regression)
    • logistic distribution
    • logistic regression
      • 使用线性模型进行分类任务
      • 最大化 "对数似然"
      • 求最优解
    • 逻辑回归为什么用 Sigmoid?
    • 多项逻辑斯谛回归 (multi-nominal logistic regression model)
  • 线性判别分析 (Linear Discriminant Analysis, LDA)
    • 二分类任务
    • 多分类任务
    • PCA vs. LDA
  • 多分类学习
    • OvO, OvR
    • MvM
  • 类别不平衡问题 (class-imbalance)
    • 再缩放 (rescaling) / 再平衡 (rebalance)
    • 欠采样, 过采样, 阈值移动
  • 参考文献

基本形式

  • 给定由 d d d 个属性描述的示例 x = ( x 1 ; x 2 ; . . . ; x d ) \boldsymbol x= (x_1; x_2;...;x_d) x=(x1​;x2​;...;xd​), 其中 x i x_i xi​ 是 x \boldsymbol x x 在第 i i i 个属性上的取值,线性模型 (linear model) 试图学得一个通过属性的线性组合来进行预测的函数,即
    一般用向量形式写成
  • 由于 ω \boldsymbol ω ω 直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性 (comprehensibility)

线性回归 (linear regression)

  • 给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{(\boldsymbol x_1 ,y_1) , (\boldsymbol x_2,y_2),..., (\boldsymbol x_m ,y_m)\} D={(x1​,y1​),(x2​,y2​),...,(xm​,ym​)}, 其中 x i = ( x i 1 ; . . . ; x i d ) , y i ∈ R \boldsymbol x_i= (x_{i_1};...;x_{i_d}) , y_i\in\R xi​=(xi1​​;...;xid​​),yi​∈R. “线性回归” 试图学得一个线性模型以尽可能准确地预测实值输出标记. 我们可试图让均方误差最小化,即
  • 均方误差有非常好的几何意义,它对应了常用的欧几里得距离或简称 “欧氏距离" (Euclidean distance). 基于均方误差最小化来进行模型求解的方法称为 “最小二乘法” (least square method)

单变量线性回归

  • 假如只有一个输入属性,下面求解 ω ω ω 和 b b b 来最小化
    我们可将 E ( ω , b ) E_{(\omega,b)} E(ω,b)​ 分别对 ω ω ω 和 b b b 求导,得到
    显然,这里 E ( w , b ) E_{(w,b)} E(w,b)​ 是关于 w w w 和 b b b 的凸函数当它关于 w w w 和 b b b 的导数均为零时,得到 w w w 和 b b b 的最优解.因此令式 (3.5) 和 (3.6) 为零,可得到 ω ω ω 和 b b b 最优解的闭式 (closed-form) 解. 令公式 (3.5) 等于 0
    由于令公式 (3.6) 等于 0 可得 b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m} \sum_{i=1}^{m}\left(y_{i}-w x_{i}\right) b=m1​∑i=1m​(yi​−wxi​), 又因为 1 m ∑ i = 1 m y i = y ˉ , 1 m ∑ i = 1 m x i = x ˉ \frac{1}{m} \sum_{i=1}^{m} y_{i}=\bar{y}, \frac{1}{m} \sum_{i=1}^{m} x_{i}=\bar{x} m1​∑i=1m​yi​=yˉ​,m1​∑i=1m​xi​=xˉ, 则 b = y ‾ − w x ‾ b =\overline y−w\overline x b=y​−wx,代入上式可得

也可利用投影和最佳逼近定理来求解

  • 我们可以进一步将上面的结果向量化
    w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i = ∑ i = 1 m ( y i x i − y i x ˉ ) ∑ i = 1 m ( x i 2 − x i x ˉ ) = ∑ i = 1 m ( y i x i − y i x ˉ − x i y ˉ + x ˉ y ˉ ) ∑ i = 1 m ( x i 2 − x i x ˉ − x i x ˉ + x ˉ 2 ) = ∑ i = 1 m ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 m ( x i − x ˉ ) 2 \begin{aligned} w &=\frac{\sum_{i=1}^{m} y_{i}\left(x_{i}-\bar{x}\right)}{\sum_{i=1}^{m} x_{i}^{2}-\bar{x} \sum_{i=1}^{m} x_{i}} \\ &=\frac{\sum_{i=1}^{m}\left(y_{i} x_{i}-y_{i} \bar{x}\right)}{\sum_{i=1}^{m}\left(x_{i}^{2}-x_{i} \bar{x}\right)} \\&=\frac{\sum_{i=1}^{m}\left(y_{i} x_{i}-y_{i} \bar{x}-x_{i} \bar{y}+\bar{x} \bar{y}\right)}{\sum_{i=1}^{m}\left(x_{i}^{2}-x_{i} \bar{x}-x_{i} \bar{x}+\bar{x}^{2}\right)} \\ &=\frac{\sum_{i=1}^{m}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)}{\sum_{i=1}^{m}\left(x_{i}-\bar{x}\right)^{2}} \end{aligned} w​=∑i=1m​xi2​−xˉ∑i=1m​xi​∑i=1m​yi​(xi​−xˉ)​=∑i=1m​(xi2​−xi​xˉ)∑i=1m​(yi​xi​−yi​xˉ)​=∑i=1m​(xi2​−xi​xˉ−xi​xˉ+xˉ2)∑i=1m​(yi​xi​−yi​xˉ−xi​yˉ​+xˉyˉ​)​=∑i=1m​(xi​−xˉ)2∑i=1m​(xi​−xˉ)(yi​−yˉ​)​​若令 x d = ( x 1 − x ˉ , x 2 − x ˉ , … , x m − x ˉ ) T , y d = ( y 1 − y ˉ , y 2 − y ˉ , … , y m − y ˉ ) T \boldsymbol x_{d}=\left(x_{1}-\bar{x}, x_{2}-\bar{x}, \ldots, x_{m}-\bar{x}\right)^{T},\boldsymbol y_{d}=\left(y_{1}-\bar{y}, y_{2}-\bar{y}, \ldots, y_{m}-\bar{y}\right)^{T} xd​=(x1​−xˉ,x2​−xˉ,…,xm​−xˉ)T,yd​=(y1​−yˉ​,y2​−yˉ​,…,ym​−yˉ​)T, 则
    w = x d T y d x d T x d w=\frac{\boldsymbol{x}_{d}^{T} \boldsymbol{y}_{d}}{\boldsymbol{x}_{d}^{T} \boldsymbol{x}_{d}} w=xdT​xd​xdT​yd​​

多变量线性回归 (multivariate linear regression)

  • 把数据集 D D D 表示为一个 m × ( d + 1 ) m \times (d+1) m×(d+1) 大小的矩阵 X X X,

  • 令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{w}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) Ew^​=(y−Xw^)T(y−Xw^), 对 w ^ \hat w w^ 求导:
    由矩阵微分公式 ∂ a T x ∂ x = ∂ x T a ∂ x = a , ∂ x T A x ∂ x = ( A + A T ) x \frac{\partial \boldsymbol{a}^{\mathrm{T}} \boldsymbol{x}}{\partial \boldsymbol{x}}=\frac{\partial \boldsymbol{x}^{\mathrm{T}} \boldsymbol{a}}{\partial \boldsymbol{x}}=\boldsymbol{a}, \frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial \boldsymbol{x}}=\left(\mathbf{A}+\mathbf{A}^{\mathrm{T}}\right) \boldsymbol{x} ∂x∂aTx​=∂x∂xTa​=a,∂x∂xTAx​=(A+AT)x 可得
    ∂ E w ^ ∂ w ^ = 0 − X T y − X T y + ( X T X + X T X ) w ^ ∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) ( 3.10 ) \begin{gathered} \frac{\partial E_{\hat{w}}}{\partial \hat{w}}=0-\mathbf{X}^{\mathrm{T}} \boldsymbol{y}-\mathbf{X}^{\mathrm{T}} \boldsymbol{y}+\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}+\mathbf{X}^{\mathrm{T}} \mathbf{X}\right) \hat{\boldsymbol{w}} \\ \frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y})\ \ \ \ \ \ \ (3.10) \end{gathered} ∂w^∂Ew^​​=0−XTy−XTy+(XTX+XTX)w^∂w^∂Ew^​​=2XT(Xw^−y)       (3.10)​

这里用投影的思想,也可以推出上述公式,而且推导过程更简单. 具体可参考 Applications to linear models


补充:求 ∂ x T A x ∂ x \frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial \boldsymbol{x}} ∂x∂xTAx​

目前没有系统学习过矩阵微分的相关知识,因此就直接硬推了. 但应该有更简洁的推导; 下面 a j \boldsymbol a_j aj​ 指 A \mathbf{A} A 的第 j j j 列, a i j a_{ij} aij​ 指 A \mathbf{A} A 的第 i i i 行、第 j j j 列的元素, A \mathbf{A} A 为 m m m 行 n n n 列的矩阵

  • 先求 ∂ x T A x ∂ x i \frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial x_i} ∂xi​∂xTAx​
    ∂ x T A x ∂ x i = ∂ ∂ x i x T ∑ j = 1 n x j a j = ∂ ∂ x i x T ∑ j ≠ i x j a j + x T x i a i = ∂ ∂ x i x i ∑ j ≠ i x j a i j + x i x T a i = ∑ j ≠ i x j a i j + ∂ ∂ x i x i ( ∑ j ≠ i x j a j i + x i a i i ) = ∑ j ≠ i x j a i j + ∑ j ≠ i x j a j i + 2 x i a i i = ∑ j ≠ i x j ( a i j + a j i ) + 2 x i a i i = ∑ j = 1 n x j ( a i j + a j i ) \begin{aligned}\frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial x_i}&=\frac{\partial}{\partial x_i} \boldsymbol{x}^{\mathrm{T}} \sum_{j=1}^n x_j\boldsymbol a_j \\&=\frac{\partial}{\partial x_i}\boldsymbol{x}^{\mathrm{T}}\sum_{j\neq i}x_j\boldsymbol a_j+\boldsymbol{x}^{\mathrm{T}}x_i\boldsymbol a_i \\&=\frac{\partial}{\partial x_i}x_i\sum_{j\neq i}x_ja_{ij}+x_i\boldsymbol{x}^{\mathrm{T}}\boldsymbol a_i \\&=\sum_{j\neq i}x_ja_{ij}+\frac{\partial}{\partial x_i}x_i(\sum_{j\neq i}x_j a_{ji}+x_i a_{ii}) \\&=\sum_{j\neq i}x_ja_{ij}+\sum_{j\neq i}x_j a_{ji}+2x_ia_{ii} \\&=\sum_{j\neq i}x_j(a_{ij}+a_{ji})+2x_ia_{ii} \\&=\sum_{j=1}^n x_j(a_{ij}+a_{ji})\end{aligned} ∂xi​∂xTAx​​=∂xi​∂​xTj=1∑n​xj​aj​=∂xi​∂​xTj=i∑​xj​aj​+xTxi​ai​=∂xi​∂​xi​j=i∑​xj​aij​+xi​xTai​=j=i∑​xj​aij​+∂xi​∂​xi​(j=i∑​xj​aji​+xi​aii​)=j=i∑​xj​aij​+j=i∑​xj​aji​+2xi​aii​=j=i∑​xj​(aij​+aji​)+2xi​aii​=j=1∑n​xj​(aij​+aji​)​
  • 因此 ∂ x T A x ∂ x = [ ∂ x T A x ∂ x 1 . . . ∂ x T A x ∂ x d ] = ( A + A T ) x \frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial \boldsymbol{x}}=\begin{bmatrix}\frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial x_1}&...&\frac{\partial \boldsymbol{x}^{\mathrm{T}} \mathbf{A} \boldsymbol{x}}{\partial x_d}\end{bmatrix}=\left(\mathbf{A}+\mathbf{A}^{\mathrm{T}}\right) \boldsymbol{x} ∂x∂xTAx​=[∂x1​∂xTAx​​...​∂xd​∂xTAx​​]=(A+AT)x

  • 令式 (3.10) 为零可得 w ^ \hat w w^ 最优解的闭式解,但由于涉及矩阵逆的计算,下面我们做一个简单的讨论:

    • 当 X T X X^TX XTX 为满秩矩阵 (full-rank matrix) 或正定矩阵 (positive definite matrix) 时,令式 (3.10) 为零可得
      令 x ^ i = ( x i , 1 ) \hat x_i = (x_i ,1) x^i​=(xi​,1), 则最终学得的多元线性回归模型为
    • 然而,现实任务中 X T X X^TX XTX 往往不是满秩矩阵. 例如在许多任务中我们会遇到大量的变量,其数目甚至超过样例数,导致 X X X 的列数多于行数, X T X X^TX XTX 显然不满秩 ( r a n k ( X T X ) = r a n k ( X ) rank(X^TX)=rank(X) rank(XTX)=rank(X)). 此时可解出多个 w ^ \hat w w^ (可参考 Theorem 14),它们都能使均方误差最小化. 选择哪一个解作为输出,将由学习算法的归纳偏好决定, 常见的做法是引入正则化 (regularization) 项.

广义线性模型 (generalized linear model)

线性模型虽简单,却有丰富的变化

  • 例如,我们可将输出标记的对数作为线性模型逼近的目标, 即
    这就是"对数线性回归" (log-linear regression). ,它实际上是在试图让 e w T x + b e^{\boldsymbol w^T\boldsymbol x+\boldsymbol b} ewTx+b 逼近 y \boldsymbol y y. 式 (3.14) 在形式上仍是线性回归,但实质上已是在求取输入空间到输出空间的非线性函数映射

其实,只要参数是线性的,就可以称为线性模型

  • 更一般地,考虑单调可微函数 g ( . ) g(.) g(.), 令
    这样得到的模型称为"广义线性模型",其中 g g g 称为 “联系函数” (link function). 广义线性模型的参数估计常通过加权最小二乘法极大似然法进行

从概率角度理解线性回归

最小化均方误差等价于最大化似然

  • 给定样本 x x x 和线性模型 y ( x , w ) = w T x y(x,w)=w^Tx y(x,w)=wTx,我们假定目标值 t t t 服从高斯分布,它的均值为 y ( x , w ) y(x,w) y(x,w),方差由一个超参 β \beta β 控制 ( β = 1 / σ 2 \beta=1/\sigma^2 β=1/σ2):
    由此对于数据集 { x,t } \{\text{x,t}\} {x,t},可以写出其似然函数:
    对数似然
    可以发现,最大化对数似然的参数 w M L w_{ML} wML​ 也会最小化均方误差,因此最小化均方误差等价于最大化似然 (under the assumption of a Gaussian noise distribution). 同时,根据最大化对数似然求得的 β M L \beta_{ML} βML​ 为样本方差:

A Gaussian prior – L2 regularization

  • 现在我们再进一步假设 w w w 服从一个高斯先验,该先验的均值为 0,方差由超参 α \alpha α 控制
    其中, w ∈ R M + 1 w\in\R^{M+1} w∈RM+1
  • 由贝叶斯定理可知,后验概率正比于似然和先验之积,
    我们可以通过 最大化后验概率 (maximum posterior, MAP) 来找到最优参数
    ln ⁡ p ( w ∣ x , t , α , β ) = ln ⁡ p ( t ∣ x , w , β ) + ln ⁡ p ( w ∣ α ) = − β 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 + N 2 ln ⁡ β − N 2 ln ⁡ ( 2 π ) + M + 1 2 ( ln ⁡ α − ln ⁡ ( 2 π ) ) − α 2 w T w = − β 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 − α 2 w T w + N 2 ln ⁡ β + M + 1 2 ln ⁡ α − N 2 ln ⁡ ( 2 π ) − M + 1 2 ln ⁡ ( 2 π ) \begin{aligned} \ln p(w|\text{x},\text{t},\alpha,\beta) &=\ln p(\text{t}|\text{x},w,\beta)+\ln p(w|\alpha) \\&=-\frac{\beta}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, {w}\right)-t_{n}\right\}^{2}+\frac{N}{2} \ln \beta-\frac{N}{2} \ln (2 \pi)+\frac{M+1}{2}(\ln\alpha-\ln(2\pi))-\frac{\alpha}{2}w^Tw \\&=-\frac{\beta}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, {w}\right)-t_{n}\right\}^{2}-\frac{\alpha}{2}w^Tw \\&\ \ \ \ +\frac{N}{2} \ln \beta+\frac{M+1}{2}\ln\alpha-\frac{N}{2} \ln (2 \pi)-\frac{M+1}{2}\ln(2\pi) \end{aligned} lnp(w∣x,t,α,β)​=lnp(t∣x,w,β)+lnp(w∣α)=−2β​n=1∑N​{y(xn​,w)−tn​}2+2N​lnβ−2N​ln(2π)+2M+1​(lnα−ln(2π))−2α​wTw=−2β​n=1∑N​{y(xn​,w)−tn​}2−2α​wTw    +2N​lnβ+2M+1​lnα−2N​ln(2π)−2M+1​ln(2π)​因此,最大化后验概率等价于找到使得下式最小的 w w w:
    最大化后验概率等价于最小化加上 L2 正则化的均方误差,其中 λ = α / β \lambda=\alpha/\beta λ=α/β

贝叶斯线性回归

  • 前面我们虽然引入了先验概率 p ( w ∣ α ) p(w|\alpha) p(w∣α),但仍然是对 w w w 进行点估计,而完全的贝叶斯方法需要对 w w w 进行积分
  • 给定数据集 x \text{x} x, t \text{t} t 以及一个新的测试样本 x x x 及其预测值 t t t,我们想要求得的概率分布是 predictive distribution p ( t ∣ x , x , t ) p(t|x,\text{x},\text{t}) p(t∣x,x,t),贝叶斯方法可以将其分解为如下积分形式:
    这里省略了超参 α , β \alpha,\beta α,β, p ( t ∣ x , w ) p(t|x,w) p(t∣x,w) 为最大化似然时介绍的高斯噪声 N ( t ∣ y ( x , w ) , β − 1 ) \mathcal N(t|y(x,w),\beta^{-1}) N(t∣y(x,w),β−1), p ( w ∣ x , t ) p(w|\text{x},\text{t}) p(w∣x,t) 为最大化后验概率时介绍的参数的后验概率。求解上述积分可以得到 p ( t ∣ x , x , t ) p(t|x,\text{x},\text{t}) p(t∣x,x,t) 也是服从高斯分布 (证明过程比较复杂,可以参考贝叶斯线性回归)
    其中,均值和方差

    其中,线性模型为 y ( x , w ) = w T ϕ ( x ) y(x,w)=w^T\phi(x) y(x,w)=wTϕ(x)
    S − 1 = α I + β ∑ n = 1 N ϕ ( x n ) ϕ ( x n ) T \mathbf{S}^{-1}=\alpha \mathbf{I}+\beta \sum_{n=1}^{N} \phi\left(x_{n}\right) \phi(x_n)^{\mathrm{T}} S−1=αI+βn=1∑N​ϕ(xn​)ϕ(xn​)T

对数几率回归 (logistic regression)

虽然它的名字是 “回归”,但实际却是一种分类学习方法

logistic distribution

  • 分布函数属于逻辑斯谛函数,其图形是一条 S S S 形曲线 (sigmoid curve)。该曲线以点 ( μ , 1 2 ) (\mu,\frac{1}{2}) (μ,21​) 为中心对称。曲线在中心附近增长速度较快,在两端增长速度较慢。形状参数 γ \gamma γ 的值越小,曲线在中心附近增长得越快

logistic regression

使用线性模型进行分类任务

  • 若要使用线性模型进行分类任务,则根据式 (3.15) 的广义线性模型:只需找一个单调可微函数将分类任务的真实标记 y y y 与线性回归模型的预测值 z = w T x + b z=\boldsymbol w^T\boldsymbol x+b z=wTx+b 联系起来

    • 考虑二分类任务,最理想的是“单位阶跃函数" (unit-step function): 若预测值 z z z 大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别
    • 但单位阶跃函数并不连续,因此我们希望找到能在一定程度上近似单位阶跃函数的"替代函数" (surrogate function) ,并希望它单调可微. 对数几率函数 (logistic function) (Sigmoid 函数) 正是这样一个常用的替代函数,它是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解:
  • 将对数几率函数作为 g − g^- g− 代入式 (3.15) ,得到

    • 若将 y y y 视为样本 x \boldsymbol x x 作为正例的可能性,则 1 − y 1-y 1−y 是其反例可能性,两者的比值 y 1 − y \frac{y}{1-y} 1−yy​ 称为"几率" (odds) ,反映了 x \boldsymbol x x 作为正例的相对可能性. 对几率取对数则得到 “对数几率” (log odds,亦称 logit) ln ⁡ y 1 − y \ln\frac{y}{1-y} ln1−yy​
    • 由此可看出,式 (3.18) 实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为 “对数几率回归
    • 同时注意到,对数几率回归不仅可以用来预测“类别”,还可得到近似概率预测

最大化 “对数似然”

  • 注意到对数几率回归中,线性模型要拟合的对数几率 ln ⁡ y 1 − y \ln\frac{y}{1-y} ln1−yy​ 是不能直接从数据集中算出来的,也就不能直接套用线性回归中的公式来求解 w \boldsymbol w w 和 b b b. 下面我们来看看如何确定式 (3.18) 中的 w \boldsymbol w w 和 b b b
  • 若将式 (3.18) 中的 y y y 视为类后验概率估计 p ( y = 1 ∣ x ) p(y = 1 | \boldsymbol x) p(y=1∣x), 则式 (3.19) 可重写为
    显然有
  • 于是我们可通过"极大似然法" (maximum likelihood method) 来估计 w \boldsymbol w w 和 b b b. 给定数据集 { ( x i , y i ) } i = 1 m \{(\boldsymbol x_i,y_i)\}_{i=1}^m {(xi​,yi​)}i=1m​,对率回归模型最大化 “对数似然” (log-likelihood)
    即令每个样本属于其真实标记的概率越大越好.
  • 为便于讨论,令 β = ( w ; b ) \boldsymbol β= (\boldsymbol w; b) β=(w;b), x ^ = ( x ; 1 ) \hat x = (\boldsymbol x; 1) x^=(x;1),则 w T x + b \boldsymbol w^T\boldsymbol x+b wTx+b 可简写为 β T x ^ \boldsymbol β^T\hat x βTx^. 再令 p 1 ( x ^ ; β ) = p ( y = 1 ∣ x ^ ; β ) p_1(\hat x;\boldsymbol β) = p(y= 1|\hat x;\boldsymbol β) p1​(x^;β)=p(y=1∣x^;β), p 0 ( x ^ ; β ) = p ( y = 0 ∣ x ^ ; β ) = 1 − p 1 ( x ^ ; β ) p_0(\hat x;\boldsymbol β) = p(y= 0|\hat x;\boldsymbol β)=1-p_1(\hat x;\boldsymbol β) p0​(x^;β)=p(y=0∣x^;β)=1−p1​(x^;β),则式 (3.25) 中的似然项可重写为
    将公式 (3.26) 代入公式 (3.25) 可得
    其中 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{x}_{i} ; \boldsymbol\beta\right)=\frac{e^{\boldsymbol\beta^{\mathrm{T}} \hat{x}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{{x}}_{i}}}, p_{0}\left(\hat{{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{{x}}_{i}}} p1​(x^i​;β)=1+eβTx^i​eβTx^i​​,p0​(x^i​;β)=1+eβTx^i​1​,代入上式可得
    因此,两式综合可得
    因此,最大化式 (3.25) 等价于最小化

    • 也可以将公式 (3.26) 这个似然项改写为 p ( y i ∣ x i ; w , b ) = [ p 1 ( x ^ i ; β ) ] y i [ p 0 ( x ^ i ; β ) ] 1 − y i p(y_i|\boldsymbol x_i;\boldsymbol w,b)=[p_1(\hat x_i;\boldsymbol β)]^{y_i}[p_0(\hat x_i;\boldsymbol β)]^{1-y_i} p(yi​∣xi​;w,b)=[p1​(x^i​;β)]yi​[p0​(x^i​;β)]1−yi​,再将其代入公式 (3.25) 可以更方便地得到上述答案

求最优解

  • 我们的目标是最小化式 (3.27):
    ℓ ( β ) = ∑ 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=1∑m​(−yi​βTx^i​+ln(1+eβTx^i​))
  • 式 (3.27) 是关于 β \boldsymbol β β 的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法梯度下降法 (gradient descent method) 、牛顿法 (Newton method) 等都可求得其最优解

  • 以牛顿法为例,其第 t + 1 t +1 t+1 轮选代解的更新公式为
    其中关于 β \boldsymbol β β 的一阶、二阶导数分别为
    式 (3.30) 可以进行向量化,令 KaTeX parse error: Unexpected end of input in a macro argument, expected '}' at position 9: p_1(\hat\̲b̲o̲l̲d̲s̲y̲m̲b̲o̲l̲ ̲x_i; \boldsymbo…,代入上式得

求导可用矩阵微分的相关公式

逻辑回归为什么用 Sigmoid?

  • 上面我们已知 logistic 回归的形式,推导出了模型的训练方法。那么 logistic 回归为什么采用当前的形式呢?这可以从 最大熵模型 以及 广义线性模型 (假设因变量 y y y 服从伯努利分布) 推得,具体可参考这篇文章:逻辑回归为什么用 Sigmoid?

多项逻辑斯谛回归 (multi-nominal logistic regression model)

  • 可以将 logistic regression 推广,用于多类分类。假设离散型随机变量 Y Y Y 的取值集合是 { 1 , 2 , … , K } \{1,2,… ,K\} {1,2,…,K}, 那么多项逻辑斯谛回归模型是
    这里, x ∈ R n + 1 x\in \R^{n+1} x∈Rn+1, w k ∈ R n + 1 w_k\in \R^{n+1} wk​∈Rn+1

线性判别分析 (Linear Discriminant Analysis, LDA)

  • LDA 是一种经典的线性学习方法,在二分类问题上因为最早由 [Fisher, 1936] 提出,亦称 “Fisher 判别分析

    • LDA 的思想非常朴素.给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离,在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别 (有监督降维,使降维后更易分类)

二分类任务

将样本点投影到直线上

  • 给定数据集 D = { ( x i , y i } i = 1 m D= \{(\boldsymbol x_i,y_i\}_{i=1}^m D={(xi​,yi​}i=1m​, y i ∈ { 0 , 1 } y_i\in\{0,1\} yi​∈{0,1},令 X i X_i Xi​、 μ i \boldsymbol \mu_i μi​、 Σ i \Sigma_i Σi​ 分别表示第 i ∈ { 0 , 1 } i\in\{0,1\} i∈{0,1} 类示例的集合、均值向量、协方差矩阵.若将数据投影到直线 w \boldsymbol w w 上,则两类样本的中心在直线上的投影分别为 w T μ 0 \boldsymbol w^T\boldsymbol \mu_0 wTμ0​ 和 w T μ 1 \boldsymbol w^T\boldsymbol \mu_1 wTμ1​; 若将所有样本点都投影到直线上,则两类样本的协方差分别为 w T Σ 0 w \boldsymbol w^T\Sigma_0\boldsymbol w wTΣ0​w 和 w T Σ 1 w \boldsymbol w^T\Sigma_1\boldsymbol w wTΣ1​w

    • 注 1:这里的直线 w \boldsymbol w w 并不是指该直线方向上的单位向量,而是指直线 y = w T x y=\boldsymbol w^T\boldsymbol x y=wTx,也就是说,该直线其实是在三维空间里
    • 注 2:设 X ^ i \hat X_i X^i​ 为平均偏差形式 (即每个样本点都减去了该类样本点的均值),投影后第 i i i 类样本的协方差矩阵为 1 N i − 1 w T X ^ i ( w T X ^ i ) T = w T 1 N i − 1 X ^ i X ^ i T w = w T Σ i w \frac{1}{N_i-1}\boldsymbol w^T\hat X_i(\boldsymbol w^T\hat X_i)^T=\boldsymbol w^T\frac{1}{N_i-1}\hat X_i\hat X_i^T\boldsymbol w=\boldsymbol w^T\Sigma_i\boldsymbol w Ni​−11​wTX^i​(wTX^i​)T=wTNi​−11​X^i​X^iT​w=wTΣi​w; 注意到这里 w T X ^ i \boldsymbol w^T\hat X_i wTX^i​ 的 size 为 1 × N i 1\times N_i 1×Ni​,上面计算的 “协方差矩阵” 其实就是投影后该类样本的方差

最大化类间均值,最小化类内方差

  • 欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即 w T Σ 0 w \boldsymbol w^T\Sigma_0\boldsymbol w wTΣ0​w + w T Σ 1 w \boldsymbol w^T\Sigma_1\boldsymbol w wTΣ1​w 尽可能小;而欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即 ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 ||\boldsymbol w^T\boldsymbol \mu_0- \boldsymbol w^T\boldsymbol \mu_1||_2^2 ∣∣wTμ0​−wTμ1​∣∣22​ 尽可能大.同时考虑二者,则可得到欲最大化的目标:
  • 定义 “类内散度矩阵" (within-class scatter matrix)
  • 定义 “类间散度矩阵” (between-class scatter matrix)
  • 则式 (3.32) 可重写为
    即 S b S_b Sb​ 与 S w S_w Sw​ 的 “广义瑞利商” (generalized Rayleigh quotient)

    • 注意到式 (3.35) 的分子和分母都是关于 w \boldsymbol w w 的二次项,因此式 (3.35) 的解与 w \boldsymbol w w 的长度无关,只与其方向有关 (若 w \boldsymbol w w 是一 个解,则对于任意常数 α \alpha α, α w \alpha\boldsymbol w αw 也是式 (3.35) 的解).不失一般性,令 w T S w w = 1 \boldsymbol w^T S_w\boldsymbol w= 1 wTSw​w=1 (因为 J J J 的值 w \boldsymbol w w 的长度无关,因此可以先通过 w T S w w = 1 \boldsymbol w^T S_w\boldsymbol w= 1 wTSw​w=1 的约束关系把 w \boldsymbol w w 的长度定下来), 则式 (3.35) 等价于
      由拉格朗日乘子法,上式等价于

      • [推导]:由公式 ( 3.36 ) (3.36) (3.36) 可得拉格朗日函数为
        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,λ)=−wTSb​w+λ(wTSw​w−1)对 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 \begin{aligned} \frac{\partial L(\boldsymbol{w}, \lambda)}{\partial \boldsymbol{w}} &=-\frac{\partial\left(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}\right)}{\partial \boldsymbol{w}}+\lambda \frac{\partial\left(\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}-1\right)}{\partial \boldsymbol{w}} \\ &=-\left(\mathbf{S}_{b}+\mathbf{S}_{b}^{\mathrm{T}}\right) \boldsymbol{w}+\lambda\left(\mathbf{S}_{w}+\mathbf{S}_{w}^{\mathrm{T}}\right) \boldsymbol{w} \end{aligned} ∂w∂L(w,λ)​​=−∂w∂(wTSb​w)​+λ∂w∂(wTSw​w−1)​=−(Sb​+SbT​)w+λ(Sw​+SwT​)w​由于 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} ∂w∂L(w,λ)​=−2Sb​w+2λSw​w令上式等于 0 即可得
        − 2 S b w + 2 λ S w w = 0 S b w = λ S w w \begin{gathered} -2 \mathbf{S}_{b} \boldsymbol{w}+2 \lambda \mathbf{S}_{w} \boldsymbol{w}=0 \\ \mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} \end{gathered} −2Sb​w+2λSw​w=0Sb​w=λSw​w​
    • 由于我们想要求解的只有 w \boldsymbol w w, 而 λ \lambda λ 这个拉格朗乘子具体取值多少都无所谓 (注意到,上面由拉格朗日乘子法得到的约束中,解同样与 w \boldsymbol w w 的长度无关,因此就相当于由 w T S w w = 1 \boldsymbol w^T S_w\boldsymbol w= 1 wTSw​w=1 这个约束条件确定了 w \boldsymbol w w 的长度,然后通过 S b w = λ S w w \mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} Sb​w=λSw​w 确定 w \boldsymbol w w 的方向),因此我们可以任意设定 λ \lambda λ 来配合我们求解 w \boldsymbol w w 。我们注意到
      S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w \mathbf{S}_{b}\boldsymbol w=\left(\boldsymbol \mu_{0}-\boldsymbol \mu_{1}\right)\left(\boldsymbol \mu_{0}-\boldsymbol \mu_{1}\right)^{\mathrm{T}} \boldsymbol{w} Sb​w=(μ0​−μ1​)(μ0​−μ1​)Tw如果我们令 λ \lambda λ 恒等于 ( μ 0 − μ 1 ) T w \left(\boldsymbol \mu_{0}-\boldsymbol \mu_{1}\right)^{\mathrm{T}} \boldsymbol w (μ0​−μ1​)Tw, 那么上式即可改写为
      S b w = λ ( μ 0 − μ 1 ) ( 3.38 ) \mathbf{S}_{b} \boldsymbol{w}=\lambda\left(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}\right)\ \ \ \ \ \ \ \ (3.38) Sb​w=λ(μ0​−μ1​)        (3.38)将其代入 S b w = λ S w w \mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w} Sb​w=λSw​w 即可解得
      w = S w − 1 ( μ 0 − μ 1 ) ( 3.39 ) \boldsymbol{w}=\mathbf{S}_{w}^{-1}\left(\boldsymbol\mu_{0}-\boldsymbol\mu_{1}\right)\ \ \ \ \ \ \ \ (3.39) w=Sw−1​(μ0​−μ1​)        (3.39)
  • 考虑到数值解的稳定性,在实践中通常是对 S w \mathbf{S}_{w} Sw​ 进行奇异值分解,即 S w = U Σ V T \mathbf{S}_{w} = U\Sigma V^T Sw​=UΣVT, 然后再计算 S w − 1 = V Σ − 1 U T \mathbf{S}_{w}^{-1}=V\Sigma^{-1}U^T Sw−1​=VΣ−1UT

  • 值得一提的是,LDA 可从贝叶斯决策理论的角度来阐释,并可证明,当两类数据同先验、满足高斯分布且协方差相等时,LDA 可达到最优分类

    • 参见习题 7.5

多分类任务

  • 可以将 LDA 推广到多分类任务中.假定存在 N N N 个类且第 i i i 类示例数为 m i m_i mi​

    • 我们先定义 “全局散度矩阵
      其中 μ \boldsymbol \mu μ 是所有示例的均值向量
    • 类内散度矩阵 S w S_w Sw​ 重定义为每个类别的散度矩阵之和,即
      其中
    • 由式 (3.40) ~ (3.42) 可得

      • 推导

投影矩阵

  • 投影矩阵 W ∈ R d × ( N − 1 ) W\in\R^{d\times(N-1)} W∈Rd×(N−1),则多分类 LDA 将样本投影到 N − 1 N-1 N−1 维空间 (也就是 类别数 − 1 类别数- 1 类别数−1), N − 1 N-1 N−1 通常远小于数据原有的属性数.于是,可通过这个投影来减小样本点的维数,且投影过程中使用了类别信息,因此 LDA 也常被视为一种经典的监督降维技术

优化目标

  • 显然,多分类 LDA 可以有多种实现方法使用 S b S_b Sb​, S w S_w Sw​, S t S_t St​ 三者中的任何两个即可. 常见的一种实现是采用优化目标

    • [解析]: 此式是公式 ( 3.35 ) (3.35) (3.35) 的推广形式,证明如下:设 W = ( w 1 , w 2 , … , w i , … , w N − 1 ) ∈ R d × ( N − 1 ) \mathbf{W}=\left(\boldsymbol{w}_{1}, \boldsymbol{w}_{2}, \ldots, \boldsymbol w_{i}, \ldots, \boldsymbol w_{N-1}\right) \in \mathbb{R}^{d \times(N-1)} W=(w1​,w2​,…,wi​,…,wN−1​)∈Rd×(N−1), 其中
      w i ∈ R d × 1 \boldsymbol{w}_{i} \in \mathbb{R}^{d \times 1} wi​∈Rd×1 为 d d d 行 1 列的列向量,则
      { tr ⁡ ( W T S b W ) = ∑ i = 1 N − 1 w i T S b w i tr ⁡ ( W T S w W ) = ∑ i = 1 N − 1 w i T S w w i \left\{\begin{aligned} \operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{b} \mathbf{W}\right) &=\sum_{i=1}^{N-1} \boldsymbol{w}_{i}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}_{i} \\ \operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{w} \mathbf{W}\right) &=\sum_{i=1}^{N-1} \boldsymbol{w}_{i}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}_{i} \end{aligned}\right. ⎩ ⎨ ⎧​tr(WTSb​W)tr(WTSw​W)​=i=1∑N−1​wiT​Sb​wi​=i=1∑N−1​wiT​Sw​wi​​所以公式 (3.44) 可变形为
      max ⁡ W ∑ i = 1 N − 1 w i T S b w i ∑ i = 1 N − 1 w i T S w w i \max _{\mathbf{W}} \frac{\sum_{i=1}^{N-1} \boldsymbol{w}_{i}^{\mathrm{T}} \mathbf{S}_{b} \boldsymbol{w}_{i}}{\sum_{i=1}^{N-1} \boldsymbol{w}_{i}^{\mathrm{T}} \mathbf{S}_{w} \boldsymbol{w}_{i}} Wmax​∑i=1N−1​wiT​Sw​wi​∑i=1N−1​wiT​Sb​wi​​对比公式 ( 3.35 ) (3.35) (3.35) 易知上式即公式 ( 3.35 ) (3.35) (3.35) 的推广形式
  • 式 ( 3.44 ) (3.44) (3.44) 可通过如下广义特征值问题求解,可以看到, W W W 的闭式解则是 S w − 1 S b S_w^{-1}S_b Sw−1​Sb​ 的 N − 1 N-1 N−1 个最大广义特征值所对应的特征向量组成的矩阵

    • Q1: 为什么 LDA 的降维维数不能大于 N − 1 N-1 N−1 (类别数减一)?(参考知乎)

      • 这里注意到, S b S_b Sb​ 为 N N N 个秩为 1 的矩阵相加,由 r a n k ( A + B ) ≤ r a n k ( A ) + r a n k ( B ) rank(A+B)\leq rank(A)+rank(B) rank(A+B)≤rank(A)+rank(B) 可知, r a n k ( S b ) ≤ N rank(S_b)\leq N rank(Sb​)≤N;而又由于加和中的最后一项,也就是 m N ( μ N − μ ) ( μ N − μ ) T m_N(\mu_N-\mu)(\mu_N-\mu)^T mN​(μN​−μ)(μN​−μ)T 可以由前前 N − 1 N-1 N−1 项进行线性表示,因此 r a n k ( S b ) ≤ N − 1 rank(S_b)\leq N-1 rank(Sb​)≤N−1. 进而由 r a n k ( A B ) ≤ r a n k ( A ) rank(AB)\leq rank(A) rank(AB)≤rank(A) 可以得到 r a n k ( S w − 1 S b ) ≤ r a n k ( S b ) ≤ N − 1 rank(S_w^{-1}S_b)\leq rank(S_b)\leq N-1 rank(Sw−1​Sb​)≤rank(Sb​)≤N−1
      • 再证明一下这样的一个结论:一个矩阵的非 0 特征值的总重数小于等于该矩阵的秩;设 m × n m\times n m×n 矩阵 A A A 的秩为 r r r,因此 d i m N u l A = n − r dim NulA=n-r dimNulA=n−r,这里 N u l A NulA NulA 就对应 0 特征值的特征空间,而我们知道,特征值空间维数是小于等于该特征值在特征方程中对应的重数的,也就是说,0 特征值的重数 k ≥ d i m N u l A = n − r k\geq dim NulA=n-r k≥dimNulA=n−r。而所有特征值的重数和为 n n n,因此非零特征值的重数和一定小于等于 r r r
      • 由上面的结论可知, S w − 1 S b S_w^{-1}S_b Sw−1​Sb​ 的非零特征值重数小于等于 N − 1 N-1 N−1,因此可以选取的线性无关的特征向量的个数也一定小于等于 N − 1 N-1 N−1,因此降维维数不能大于 N − 1 N-1 N−1 (没有足够多的线性无关的特征向量啦!)
      • 那这里我还有个疑问有待解决:这是不是意味着降维到 N − 1 N-1 N−1 只是一个理想状态,实际可能没法降维到 N − 1 N-1 N−1,只能降维到一个更小的维度
    • Q2: 为什么是取最大的几个广义特征值对应的特征向量
      • 选取特征值时,如果一些特征值明显大于其他的特征值,则取这些取值较大的特征值,因为它们包含更多的数据分布的信息。相反,如果一些特征值接近于 0,我们将这些特征值舍去
    • [推导]:同公式 ( 3.35 ) (3.35) (3.35) 一样,我们在此处也固定公式 ( 3.44 ) (3.44) (3.44) 的分母为 1, 那么公式 ( 3.44 ) (3.44) (3.44) 此时等价于如下优化问题:
      min ⁡ w − tr ⁡ ( W T S b W ) s.t.  tr ⁡ ( W T S w W ) = 1 \begin{array}{ll} \min _{\boldsymbol{w}} & -\operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{b} \mathbf{W}\right) \\ \text { s.t. } & \operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{w} \mathbf{W}\right)=1 \end{array} minw​ s.t. ​−tr(WTSb​W)tr(WTSw​W)=1​根据拉格朗日乘子法可知,上述优化问题的拉格朗日函数为
      L ( W , λ ) = − tr ⁡ ( W T S b W ) + λ ( tr ⁡ ( W T S w W ) − 1 ) L(\mathbf{W}, \lambda)=-\operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{b} \mathbf{W}\right)+\lambda\left(\operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{w} \mathbf{W}\right)-1\right) L(W,λ)=−tr(WTSb​W)+λ(tr(WTSw​W)−1)根据矩阵微分公式 ∂ ∂ X tr ⁡ ( X T B X ) = ( B + B T ) X \frac{\partial}{\partial \mathbf{X}} \operatorname{tr}\left(\mathbf{X}^{\mathrm{T}} \mathbf{B} \mathbf{X}\right)=\left(\mathbf{B}+\mathbf{B}^{\mathrm{T}}\right) \mathbf{X} ∂X∂​tr(XTBX)=(B+BT)X 对上式关于 W \mathrm{W} W 求偏导可得
      ∂ L ( W , λ ) ∂ W = − ∂ ( tr ⁡ ( W T S b W ) ) ∂ W + λ ∂ ( tr ⁡ ( W T S w W ) − 1 ) ∂ W = − ( S b + S b T ) W + λ ( S w + S w T ) W \begin{aligned} \frac{\partial L(\mathbf{W}, \lambda)}{\partial \mathbf{W}} &=-\frac{\partial\left(\operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{b} \mathbf{W}\right)\right)}{\partial \mathbf{W}}+\lambda \frac{\partial\left(\operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{S}_{w} \mathbf{W}\right)-1\right)}{\partial \mathbf{W}} \\ &=-\left(\mathbf{S}_{b}+\mathbf{S}_{b}^{\mathrm{T}}\right) \mathbf{W}+\lambda\left(\mathbf{S}_{w}+\mathbf{S}_{w}^{\mathrm{T}}\right) \mathbf{W} \end{aligned} ∂W∂L(W,λ)​​=−∂W∂(tr(WTSb​W))​+λ∂W∂(tr(WTSw​W)−1)​=−(Sb​+SbT​)W+λ(Sw​+SwT​)W​由于 S b = S b T , S w = S w T \mathrm{S}_{b}=\mathrm{S}_{b}^{\mathrm{T}}, \mathrm{S}_{w}=\mathrm{S}_{w}^{\mathrm{T}} Sb​=SbT​,Sw​=SwT​, 所以
      ∂ L ( W , λ ) ∂ W = − 2 S b W + 2 λ S w W \frac{\partial L(\mathbf{W}, \lambda)}{\partial \mathbf{W}}=-2 \mathbf{S}_{b} \mathbf{W}+2 \lambda \mathbf{S}_{w} \mathbf{W} ∂W∂L(W,λ)​=−2Sb​W+2λSw​W令上式等于 0 即可得
      − 2 S b W + 2 λ S w W = 0 S b W = λ S w W \begin{gathered} -2 \mathbf{~S}_{b} \mathbf{~W}+2 \lambda \mathbf{S}_{w} \mathbf{~W}=0 \\ \mathbf{~S}_{b} \mathbf{~W}=\lambda \mathbf{S}_{w} \mathbf{~W} \end{gathered} −2 Sb​ W+2λSw​ W=0 Sb​ W=λSw​ W​

PCA vs. LDA

参考:线性判别分析 Linear Discriminant Analysis (LDA)

  • (1) 出发思想不同PCA 主要是从特征的协方差角度,去找到比较好的投影方式,即选择样本点投影具有最大方差的方向 (降低了维数并能最大限度的保持原有信息,但降维后分类可能会更加困难,如下图所示);而 LDA 则更多的是考虑了分类标签信息,寻求投影后不同类别之间数据点距离更大化以及同一类别数据点距离最小化,即选择分类性能最好的方向
  • (2) 学习模式不同PCA 属于无监督式学习,因此大多场景下只作为数据处理过程的一部分,需要与其他算法结合使用,例如将 PCA 与聚类、判别分析、回归分析等组合使用;LDA 是一种监督式学习方法,本身除了可以降维外,还可以进行预测应用,因此既可以组合其他模型一起使用,也可以独立使用
  • (3) 降维后可用维度数量不同LDA 降维后最多可生成 C − 1 C-1 C−1 维子空间( 分类标签数 − 1 分类标签数-1 分类标签数−1),因此 LDA 与原始维度数量无关,只有数据标签分类数量有关;而 PCA 最多有 n n n 维度可用,即最大可以选择全部可用维度

多分类学习

  • 可以基于一些基本策略,利用二分类学习器来解决多分类问题. 考虑 N N N 个类别 C 1 , C 2 , . . . , C N C_1, C_2,...,C_N C1​,C2​,...,CN​,多分类学习的基本思路是 “拆解法”, 即将多分类任务拆为若干个二分类任务求解.

    • 具体来说,先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器; 在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果.
    • 这里的关键是如何对多分类任务进行拆分,以及如何对多个分类器进行集成.本节主要介绍拆分策略.

  • 最经典的拆分策略有三种: “一对一” (One vs. One,OvO) 、“一对其余” (One vs. Rest ,OvR) 和 “多对多” (Many vs. Many, MvM).

OvO, OvR

  • 给定数据集 D = { ( x 1 , y 1 ) , . . . , ( x m , y m ) ) } D = \{(\boldsymbol x_1,y_1) ,...,(\boldsymbol x_m,y_m))\} D={(x1​,y1​),...,(xm​,ym​))}, y i ∈ { C 1 , . . . , C N } y_i\in \{C_1,...,C_N\} yi​∈{C1​,...,CN​}
  • OvO 将这 N N N 个类别两两配对, 从而产生 N ( N − 1 ) / 2 N(N -1)/2 N(N−1)/2 个二分类任务.在测试阶段,新样本将同时提交给所有分类器,于是我们将得到 N ( N − 1 ) / 2 N(N -1)/2 N(N−1)/2 个分类结果,最终结果可通过投票产生: 即把被预测得最多的类别作为最终分类结果
  • OvR 则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练 N N N 个分类器. 在测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果. 若有多个分类器预测为正类, 则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果.

OvR vs OvO

  • OvR 只需训练 N N N 个分类器, 而 OvO 需训练 N ( N − 1 ) / 2 N(N - 1)/2 N(N−1)/2 个分类器, 因此, OvO 的存储开销和测试时间开销通常比 OvR 更大
  • 但在训练时,OvR 的每个分类器均使用全部训练样例,而 OvO 的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO 的训练时间开销通常比OvR 更小
  • 预测性能多数情形下两者差不多

MvM

  • MvM每次将若干个类作为正类,若干个其他类作为反类. 显然, OvO 和 OvR 是 MvM 的特例. MvM 的正、反类构造必须有特殊的设计,不能随意选取

    • 这里介绍一种最常用的 MvM 技术: “纠错输出码” (Error Correcting Output Codes,ECOC)

ECOC

  • (1) 编码:对 N N N 个类别做 M M M 次划分, 每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集; 这样一共产生 M M M 个训练集,可训练出 M M M 个分类器

    • 类别划分通过"编码矩阵" (coding matrix) 指定. 编码矩阵有多种形式,常见的主要有二元码三元码. 前者将每个类别分别指定为正类和反类,后者在正、反类之外,还可指定"停用类"

      • 在图 3.5 (a) 中,分类器 f 2 f_2 f2​ 将 C 1 , C 3 C_1,C_3 C1​,C3​ 类的样例作为正例, C 2 , C 4 C_2,C_4 C2​,C4​ 类的样例作为反例; 在图 3.5 (b) 中,分类器 f 4 f_4 f4​ 将 C 1 , C 4 C_1,C_4 C1​,C4​ 类的样例作为正例, C 3 C_3 C3​ 类的样例作为反例
  • (2) 解码: M M M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码.将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果.
    • 例如在图 3.5 (a) 中,若基于欧氏距离,预测结果将是 C 3 C_3 C3​

为什么称为"纠错输出码"呢?

  • 这是因为在测试阶段, ECOC 编码对分类器的错误有一定的容忍和修正能力. 一般来说,对同一个学习任务, ECOC 编码越长,纠错能力越强.然而,编码越长,意味着所需训练的分类器越多,计算、存储开销都会增大; 另一方面,对有限类别数可能的组合数目是有限的,码长超过一定范圃后就失去了意义

    • 例如图 3.5 (a) 中对测试示例的正确预测编码是 ( − 1 , + 1 , + 1 , − 1 , + 1 ) (-1,+1,+1,-1,+1) (−1,+1,+1,−1,+1),假设在预测时某个分类器出错了,例如 f 2 f_2 f2​ 出错从而导致了错误编码 ( − 1 , − 1 , + 1 , − 1 , + 1 ) (-1,-1,+1,-1,+1) (−1,−1,+1,−1,+1),但基于这个编码仍能产生正确的最终分类结果 C 3 C_3 C3​
  • 类别划分: 对同等长度的编码,理论上来说,任意两个类别之间的编码距离越远,则纠错能力越强. 因此,在码长较小时可根据这个原则计算出理论最优编码. 然而,码长稍大一些就难以有效地确定最优编码,事实上这是 NP 难问题. 不过,通常我们并不需获得理论最优编码,因为非最优编码在实践中往往己能产生足够好的分类器.另一方面,并不是编码的理论性质越好,分类性能就越好,因为机器学习问题涉及很多因素,例如将多个类拆解为两个"类别子集“,不同拆解方式所形成的两个类别子集的区分难度往往不同,即其导致的二分类问题的难度不同; 于是一个理论纠错牲质很好、但导致的二分类问题较难的编码,与另一个理论纠错性质差一些、但导致的二分类问题较简单的编码,最终产生的模型性能孰强孰弱很难说.

类别不平衡问题 (class-imbalance)

  • 类别不平衡问题: 若不同类别的训练样例数目差别很大,则会对学习过程造成困扰

    • 例如有 998 个反例,但正例只有 2 个,那么学习方法只需返回一个永远将新样本预测为反例的学习器,就能达到 99.8% 的精度; 然而这样的学习器往往没有价值,因为它不能预测出任何正例.
  • 在现实的分类学习任务中,我们经常会遇到类别不平衡
    • 例如在通过拆分法解决多分类问题时,即使原始问题中不同类别的训练样例数目相当, 在使用 OvR 、MvM 策略后产生的二分类任务仍可能出现类别不平衡现象,因此有必要了解类别不平衡性处理的基本方法 (对 OvR 、MvM 来说,由于对每个类进行了相同的处理,其拆解出的二分类任务中类别不平衡的影响会相互抵消,因此通常不需专门处理)

再缩放 (rescaling) / 再平衡 (rebalance)

  • 假如模型输出正例的可能性 y y y 值用于分类,通常在 y > 0.5 y > 0.5 y>0.5 时判别为正例,否则为反例 (阈值设为 0.5). 几率 y 1 − y \frac{y}{1-y} 1−yy​ 反映了预测几率, 即正例可能性与反例可能性之比值,阈值设置为 0.5 恰表明分类器认为真实正、反例可能性相同,即分类器决策规则为
  • 然而,当训练集中正、反例的数目不同时,令 m + m^+ m+ 表示正例数目, m − m^- m− 表示反例数目,则观测几率是 m + m − \frac{m^+}{m^-} m−m+​,由于我们通常假设训练集是真实样本总体的无偏采样 (无偏采样意味着真实样本总体的类别比例在训练集中得以保持), 因此观测几率就代表了真实几率. 于是,只要分类器的预测几率高于观测几率就应判定为正例
  • 但是,我们的分类器是基于式 (3.46) 进行决策,因此,需对其预测值进行调整,使其在基于式 (3.46) 决策时,实际是在执行式 (3.47). 要做到这点很容易,只需令
    也就是说,直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式 (3.48) 嵌入到其决策过程

“再缩放"也是"代价敏感学习” (cost-sensitive learning) 的基础.在代价敏感学习中将式 (3.48) 中的 m − , m + m^-,m^+ m−,m+ 用 c o s t + , c o s t − cost^+,cost^- cost+,cost− 代替即可,其中 c o s t + cost^+ cost+ 是将正例误分为反例的代价, c o s t − cost^- cost− 是将反例误分为正例的代价
(代价敏感学习研究非均等代价下的学习, 参见 2.3.4 节)

欠采样, 过采样, 阈值移动

  • 再缩放的思想虽简单,但实际操作却并不平凡,主要因为"训练集是真实样本总体的无偏采样"这个假设往往并不成立,也就是说,我们未必能有效地基于训练集观测几率来推断出真实几率

下面假定正类样例较少,反类样例较多.


  • 现有技术大体上有三类做法:

    • (1) 直接对训练集里的反类样例进行"欠采样" (undersampling) ,即去除一些反例使得正、反例数目接近,然后再进行学习

      • 欠采样法若随机丢弃反例可能丢失一些重要信息
      • 欠采样法的代表性算法 EasyEnsemble 则是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息
    • (2) 对训练集里的正类样例进行"过采样" (oversampling) ,即增加一些正例使得正、反例数目接近,然后再进行学习
      • 过采样法不能简单地对初始正例样本进行重复采样,否则会招致严重的过拟合
      • 过采样法的代表性算法 SMOTE,是通过对训练集里的正例进行插值来产生额外的正例
    • (3) 直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式 (3.48) 嵌入到其决策过程中,称为 “阈值移动” (threshold-moving)

参考文献

  • 《机器学习》(周志华)、南瓜书
  • 《统计学习方法》
  • P a t t e r n Pattern Pattern R e c o g n i t i o n Recognition Recognition a n d and and M a c h i n e Machine Machine L e a r n i n g Learning Learning

ML (Chapter 3): 线性模型相关推荐

  1. 【南瓜书ML】(task2)线性模型的数学推导(最小二乘估计、广义瑞利商、极大似然估计等)

    学习总结 学习线性模型(线性回归,对数几率回归进行分类,线性判别分析LDA进行降维,多分类学习,类别不平衡问题中的采样or处理方法等). 对数几率回归里的联合概率最大等价于线性回归里的均方误差最小,最 ...

  2. ML (Chapter 10): 降维与度量学习

    本文为<机器学习>(周志华).<统计学习方法>(李航) 的读书笔记 参考 南瓜书 目录 kkk 近邻学习 (kkk NN) kkk 近邻算法 kkk 值的选择 距离度量 分类决 ...

  3. R语言统计入门课程推荐——生物科学中的数据分析Data Analysis for the Life Sciences

    Data Analysis for the Life Sciences是哈佛大学PH525x系列课程--生物医学中的数据分析(PH525x series - Biomedical Data Scien ...

  4. 牛顿方法、指数分布族、广义线性模型—斯坦福ML公开课笔记4

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9207047 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  5. ML—广义线性模型导论

    Andrew Zhang Tianjin Key Laboratory of Cognitive Computing and Application Tianjin University Nov 3, ...

  6. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  7. Core ML 文档翻译

    概览 借助 Core ML,您可以将已训练好的机器学习模型,集成到自己的应用当中. 所谓已训练模型 (trained model),指的是对一组训练数据应用了某个机器学习算法后,所生成的一组结果.举个 ...

  8. 移动应用AI化成新战场?详解苹果最新Core ML模型构建基于机器学习的智能应用...

    Google刚刚息鼓,苹果又燃战火!这一战,来自移动应用的AI化之争. 近日,苹果发布专为移动端优化的Core ML后,移动开发者对此的需求到底有多强烈?去年大获成功的AI应用Prisma又能告诉我们 ...

  9. 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源

    向AI转型的程序员都关注了这个号☝☝☝ 编译 | AI科技大本营(rgznai100) 参与 | suiling 此前营长曾发过一篇高阅读量.高转发率,高收藏量的文章<爆款 | Medium上6 ...

最新文章

  1. 【 MATLAB 】xcorr 函数介绍(互相关)简介
  2. 如何打造园本特色_立足城市特色 打造赛事品牌——年轻成马如何走向国际化...
  3. 在游戏里模拟天空的颜色,太迷人了!
  4. 潘淳的苏州.NET俱乐部成立有感!附我的录音
  5. Ceres和g2o的配置和使用
  6. Python学习笔记简单数据类型之数字
  7. 基础笔记8(二)(容器-引用类型的排序)
  8. 求有向图中两点最短距离java_Java 迪杰斯特拉算法实现查找最短距离
  9. Eclipse下,修改MAVEN 中央仓库地址,解决maven下载慢问题
  10. Git教程、python教程、ubuntu教程 收藏
  11. 悉尼科技大学量子计算_世界排名前12位的量子计算研究型大学
  12. Unity中的Character Controller 简介
  13. 浅谈sketch插件开发(三)
  14. STM32F103C8T6定时器产生PWM
  15. TBox、E-Call、B-Call、I-Call是什么?
  16. differential privacy 学习笔记(一)
  17. c语言几张图片合成视频,一张有料的图片!!!附文件-图片合成器C语言实现算法-站长资讯中心...
  18. 一个基于 Spring Boot 的开源社区
  19. ZYNQ之路--搞清楚Xilinx开发软件之间的关系
  20. java中timestamp_JAVA日期处理(Timestamp)

热门文章

  1. 微信小程序开发—项目实战之聊天机器人
  2. HTML CSS 制作响应式价格表单展示id1075-网页前端设计
  3. 大数据开发平台:数仓组件Apache Kylin详细安装暨使用教程
  4. 前端微信支付步骤(笔记)
  5. 抖音的小程序怎么弄的
  6. 《质量免费》读书笔记(陆续更新)
  7. 好心情精神心理平台:精神病人最害怕什么?
  8. 控制空间光调制器(SLM)的不同控制方法小结作者来源lvmeng987
  9. UIButton 的图文混排
  10. 计算机毕业设计ssm活动报名系统qp88u系统+程序+源码+lw+远程部署