主要参考了B站UP主“shuhuai008”,包含自己的理解。
有任何的书写错误、排版错误、概念错误等,希望大家包含指正。
由于字数限制,分成两篇博客。
【机器学习】线性分类【上】广义线性模型
【机器学习】线性分类【下】经典线性分类算法
线性模型不仅包括线性回归模型,还包括方差分析模型等,但这里我们仅讨论线性回归,所以统一认为线性模型就是线性回归模型。
在《线性回归》中提到,线性回归模型的定义为
f ( x ) = w 0 + w 1 x 1 + ⋯ + w p x p (1) f(x) = w_0+w_1x_1+\dots+w_px_p\tag{1} f(x)=w0+w1x1+⋯+wpxp(1)
但其实,式 ( 1 ) (1) (1) 只是线性回归中的一个特例。总结 Wikipedia 的解释,只要模型参数满足线性组合,那么就认为是线性回归。比如
f ( x ) = w 0 + w 1 x 1 2 x 2 + w 2 log ( x 2 ) (2) f(x)=w_0+w_1x_1^2x_2+w_2\log(x_2)\tag{2} f(x)=w0+w1x12x2+w2log(x2)(2)
也属于线性回归。因为我们完全可以认为自变量并非 x x x,而是 t = { t 1 , t 2 } t=\{t_1,t_2\} t={t1,t2},其中 t 1 = x 1 2 x 2 t_1=x_1^2x_2 t1=x12x2, t 2 = log ( x 2 ) t_2=\log(x_2) t2=log(x2),因此式 ( 2 ) (2) (2) 可以重新表示为
f ( t ) = w 0 + w 1 t 1 + w 2 t 2 (3) f(t) = w_0+w_1t_1+w_2t_2\tag{3} f(t)=w0+w1t1+w2t2(3)
所以说,Wikipedia 也提到多项式回归也是线性回归的特例。根据自变量的个数和次数,多项式回归又可以称为 n n n元 m m m次多项式回归,不作为重点讲解。
要想与机器学习领域融合,我们不得不先区分一下“线性函数”与“线性回归”。对线性函数而言,我们是视角是自变量,如果函数是自变量的线性组合,则为线性函数;而对于线性回归而言,我们的视角是模型参数,如果是关于模型参数的线性组合,则为线性回归。这就是式 ( 2 ) (2) (2) 仍被称为线性回归的原因。
在机器学习中, x x x 是样本的直接特征,是已知信息。在训练模型参数前,我们就可以将直接特征 x x x 转换为 t t t,再将 t t t 作为样本特征进行训练。对于式 ( 2 ) (2) (2) 和 ( 3 ) (3) (3),在二维平面中直接绘制关于 x x x 的回归曲线肯定非线性,但是如果绘制关于 t t t 的回归曲线则是线性的。
当然,也可以认为式 ( 1 ) (1) (1) 是标准的线性回归,式 ( 2 ) (2) (2) 为线性回归的简单推广。从式 ( 2 ) (2) (2) 的角度来看,确实具有了非线性的特点,但是在机器学习中,其本质还是式 ( 3 ) (3) (3),满足线性的特点。
广义线性模型(Generalized Linear Model,GLM)是对(狭义)线性模型的推广,表示一类线性模型。由于线性回归只能解决非常简单的问题,而且对于分类和计数问题是无法处理的。很自然的一个思路是,对线性函数中的因变量 y y y 值找一个非线性函数上的映射 g ( y ) g(y) g(y),将线性函数的取值从连续值映射到想要的范围内。我们不再直接对 y y y 进行线性预测,而是对 g ( y ) g(y) g(y) 进行线性预测,即
g ( y ) = w 0 + w 1 x 1 + ⋯ + w p x p g(y)=w_0+w_1x_1+\dots+w_px_p g(y)=w0+w1x1+⋯+wpxp
或
y = g − 1 ( w 0 + w 1 x 1 + ⋯ + w p x p ) y=g^{-1}(w_0+w_1x_1+\dots+w_px_p) y=g−1(w0+w1x1+⋯+wpxp)
其中, g ( ⋅ ) g(·) g(⋅) 在 GLM 中被称为连接函数(link function)。
特别地,当 g ( y ) = y g(y)=y g(y)=y 时,该模型为线性回归模型;当 g ( y ) = ln y g(y)=\ln y g(y)=lny 时,该模型为对数线性模型;当 g ( y ) = ln y 1 − y g(y)=\ln \frac{y}{1-y} g(y)=ln1−yy 时,该模型为对数几率模型,也就是我们熟知的逻辑回归模型,对数几率模型扩展后可以得到 softmax 回归模型。
并不是任何函数都可以作为连接函数,连接函数究竟有哪些选择?以及,在机器学习中,模型最终要用于预测,如何利用训练好的模型参数根据输入 x x x 预测得到 y y y,也就是预测函数是什么,这又是一个问题?
介绍 GLM 之前,先将会用到的指数分布族的相关概念简单介绍一下。
指数分布族代表一类分布,统一的公式表示为
f ( y ; η ) = b ( y ) exp ( η T T ( y ) − a ( η ) ) (4) f(y;\eta)=b(y)\exp\big(\eta^T T(y)-a(\eta)\big) \tag{4} f(y;η)=b(y)exp(ηTT(y)−a(η))(4)
确定了 a ( ⋅ ) a(·) a(⋅)、 b ( ⋅ ) b(·) b(⋅) 和 T ( ⋅ ) T(·) T(⋅),那么 y y y 只与 η \eta η 有关,就定义了一个以 η \eta η 为参数的分布。属于指数分布族的常见分布有,伯努利分布、泊松分布、多种类分布、多项分布、正态分布等等。
详细学习“指数分布族”的相关知识请移步:REF [11] 。
广义线性模型基于三个假设,也可以理解为三个设计决策,这三个决策帮助我们构建广义线性模型:
① y ∣ x ; θ ∼ E x p F a m i l y ( η ) y\mid x;\theta \sim {\rm ExpFamily(\eta)} y∣x;θ∼ExpFamily(η): y y y 的先验分布属于指数分布族中的某一个分布。
② h ( x ) = E ( T ( y ) ∣ x ) h(x)=E\big(T(y)\mid x\big) h(x)=E(T(y)∣x):预测函数 h ( x ) h(x) h(x) 为 T ( y ) T(y) T(y) 的条件期望,亦将 T ( y ) T(y) T(y) 的条件期望作为模型预测值。
③ η = θ T x \eta=\theta^Tx η=θTx:线性关系。
获取连接函数 g ( ⋅ ) g(·) g(⋅) 与预测函数 h ( ⋅ ) h(·) h(⋅) 的过程重合,获取到了 g g g 也就相当于确定了 h h h 。获取两个函数的过程大致如下:
已知 y y y 服从均值为 μ \mu μ 的确定分布 D D D, D D D 属于指数分布族。将分布的概率质量函数(离散)或概率密度函数(连续)转化为指数形式后,与式 ( 4 ) (4) (4) 中的对应项建立等式关系即可确定 a ( ⋅ ) a(·) a(⋅) 关于 η \eta η 的表达式以及 b ( ⋅ ) b(·) b(⋅) 关于 y y y 的表达式。同时式 ( 4 ) (4) (4) 中的 η T \eta^T ηT 项也会有对应项,由此可以确定 η \eta η 与分布 D D D 参数 λ \lambda λ 的关系,不妨记为 λ = f 1 ( η ) \lambda = f_1(\eta) λ=f1(η);而分布 D D D 的均值 μ \mu μ 可以由分布参数 λ \lambda λ 表示(比如伯努利分布 B ( 1 , p ) B(1,p) B(1,p) 的均值为 p p p,泊松分布 P ( λ ) P(\lambda) P(λ) 的均值为 λ \lambda λ,高斯分布 N ( μ , σ ) N(\mu,\sigma) N(μ,σ) 的均值为 μ \mu μ),不妨记为 μ = f 2 ( λ ) \mu= f_2(\lambda) μ=f2(λ),合并得到 μ = f 2 ( f 1 ( η ) ) \mu=f_2(f_1(\eta)) μ=f2(f1(η)),重新记为 μ = f ( η ) \mu = f(\eta) μ=f(η)。GLM 中一般取 T ( y ) = y T(y)=y T(y)=y,根据假设 ② 可得预测函数 h ( x ) = E ( y ∣ x ) h(x)=E(y\mid x) h(x)=E(y∣x)。前面提到 μ \mu μ 为均值,那么 h ( x ) = E ( y ∣ x ) = μ h(x)=E(y\mid x)=\mu h(x)=E(y∣x)=μ,所以 h ( x ) = f ( η ) = f ( θ T x ) h(x)=f(\eta)=f(\theta^Tx) h(x)=f(η)=f(θTx) 。由于关系 f 1 f_1 f1 和 f 2 f_2 f2 均已知,所以 f f f 也已知,故预测函数 h h h 可求,且 f − 1 f^{-1} f−1 就是连接函数 g g g 。
当然,即使 T ( y ) ≠ y T(y)\ne y T(y)=y,我们也是可以根据期望的定义计算出期望的。
关于伯努利分布、二项分布、多类别分布和多项分布:
抛一次硬币,正面朝上的概率,这是伯努利分布;抛 n n n 次硬币,正面朝上出现了 m m m 次的概率,这是二项分布。
伯努利分布(Bernoulli Distribution) → \to → 二项分布(Binomial Distribution)
抛一次骰子,第 k 面朝上的概率,这是多类别分布;抛 n n n 次骰子, 第 1 \rm 1 1 面朝上出现了 m 1 m_1 m1 次,第 2 \rm 2 2 面朝上出现了 m 2 m_2 m2 次 … 第 K K K 面朝上出现了 m K m_K mK 次的概率,这是多项分布。
多类别分布(Categorical Distribution) → \to → 多项分布(Multinomial Distribution)
概率质量函数(Probability Mass Function,PMF)如下。
伯努利分布:
P ( X = x ∣ θ ) = θ x ( 1 − θ ) 1 − x x ∈ { 0 , 1 } P(X=x\mid \theta)=\theta^{x}(1-\theta)^{1-x} \\ x\in \{0,1\} P(X=x∣θ)=θx(1−θ)1−xx∈{0,1}
二项分布:
P ( X = m ∣ θ , n ) = ( n m ) θ m ( 1 − θ ) n − m m ∈ { 0 , 1 , 2 , … , n } ( n m ) = n ! m ! ( n − m ) ! P(X=m\mid \theta,n)=\left(\begin{matrix} n \\ m\end{matrix}\right) \theta ^ m(1-\theta)^{n-m}\\ m\in \{0,1,2,\dots, n\} \\ \left(\begin{matrix} n \\ m\end{matrix}\right)=\frac{n!}{m!(n-m)!} P(X=m∣θ,n)=(nm)θm(1−θ)n−mm∈{0,1,2,…,n}(nm)=m!(n−m)!n!
多类别分布:
P ( X = x k ∣ θ 1 , θ 2 , … , θ K ) = ∏ k = 1 K θ k x k ∑ k = 1 K θ k = 1 x k ∈ { 0 , 1 } , ∑ k = 1 K x k = 1 P(X=x_k\mid \theta_1,\theta_2,\dots, \theta_K)=\prod _{k=1}^K \theta_k^{x_k} \\ \sum_{k=1}^K \theta_k=1\\ x_k\in \{0,1\},\space\space\sum_{k=1}^Kx_k=1 P(X=xk∣θ1,θ2,…,θK)=k=1∏Kθkxkk=1∑Kθk=1xk∈{0,1}, k=1∑Kxk=1
多项分布:
P ( X 1 = m 1 , X 2 = m 2 , … , X K = m K ∣ θ 1 , θ 2 , … , θ K , n ) = n ! m 1 ! m 2 ! … m K ! ∏ k = 1 K θ k m k ∑ k = 1 K θ k = 1 ∑ k = 1 K m k = n P(X_1=m_1,X_2=m_2,\dots,X_K=m_K\mid \theta_1,\theta_2,\dots,\theta_K,n)=\frac{n!}{m_1!m_2!\dots m_K!}\prod_{k=1}^K \theta_k^{m_k} \\ \sum_{k=1}^K\theta_k=1 \\ \sum_{k=1}^K m_k=n P(X1=m1,X2=m2,…,XK=mK∣θ1,θ2,…,θK,n)=m1!m2!…mK!n!k=1∏Kθkmkk=1∑Kθk=1k=1∑Kmk=n
单纯描述过程还是过于抽象,下面将对我们最熟悉的逻辑回归和 softmax 回归推导连接函数(或预测函数)。
逻辑回归的 sigmoid 函数是符合 GLM 的伯努利分布的连接函数的反函数,即 sigmoid 函数将线性函数映射到伯努利分布的期望。
伯努利分布的概率质量函数可以写为
P ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y P(y;\phi)=\phi^y(1-\phi)^{1-y} P(y;ϕ)=ϕy(1−ϕ)1−y
其中, y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1}, ϕ \phi ϕ 表示 y = 1 y=1 y=1 的概率。转化成指数形式为
P ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y = exp ( log ϕ y ( 1 − ϕ ) 1 − y ) = exp ( y log ϕ + ( 1 − y ) log ( 1 − ϕ ) ) = exp ( y log ϕ 1 − ϕ + log ( 1 − ϕ ) ) \begin{aligned} P(y;\phi)&=\phi^y(1-\phi)^{1-y} \\ &=\exp\big(\log\phi^y(1-\phi)^{1-y} \big) \\ &= \exp\big( y\log\phi + (1-y)\log (1-\phi) \big) \\ &= \exp\big(y\log\frac{\phi}{1-\phi} + \log (1-\phi)\big) \end{aligned} P(y;ϕ)=ϕy(1−ϕ)1−y=exp(logϕy(1−ϕ)1−y)=exp(ylogϕ+(1−y)log(1−ϕ))=exp(ylog1−ϕϕ+log(1−ϕ))
与式 ( 4 ) (4) (4) 相对应可得
b ( y ) = 1 T ( y ) = y a ( η ) = − log ( 1 − ϕ ) η = log ϕ 1 − ϕ \begin{aligned} b(y)&=1 \\ T(y)&=y \\ a(\eta)&=-\log(1-\phi) \\ \eta &= \log \frac{\phi}{1-\phi} \\ \end{aligned} b(y)T(y)a(η)η=1=y=−log(1−ϕ)=log1−ϕϕ
伯努利分布的期望为 E ( y ∣ x ) = 0 × P ( 0 ) + 1 × P ( 1 ) = ϕ E(y\mid x) = 0\times P(0)+1\times P(1)=\phi E(y∣x)=0×P(0)+1×P(1)=ϕ,所以预测函数 h ( x ) = E ( T ( y ) ∣ x ) = ϕ h(x)=E(T(y)\mid x)=\phi h(x)=E(T(y)∣x)=ϕ。根据上面 η = log ϕ 1 − ϕ \eta=\log \frac{\phi}{1-\phi} η=log1−ϕϕ 可得 ϕ = 1 1 + exp ( − η ) \phi=\frac{1}{1+\exp({-\eta})} ϕ=1+exp(−η)1,因此 h ( x ) = 1 1 + exp ( − η ) = 1 1 + exp ( θ T x ) h(x)=\frac{1}{1+\exp({-\eta})}=\frac{1}{1+\exp({\theta^Tx})} h(x)=1+exp(−η)1=1+exp(θTx)1,对应的连接函数为 g ( x ) = log x 1 − x g(x)=\log\frac{x}{1-x} g(x)=log1−xx 。可见,此时的预测函数 h h h 就是熟知的逻辑回归函数。
多种类分布的概率质量函数可以写为
P ( y ; ϕ ) = ∏ i = 1 k ϕ i 1 { y = i } (5) P(y;\phi)=\prod_{i=1}^k\phi_i^{1\{y=i\}}\tag{5} P(y;ϕ)=i=1∏kϕi1{y=i}(5)
其中, 1 { y = ⋅ } 1\{y=·\} 1{y=⋅} 的作用类似于艾弗森括号,即括号内为真返回 1 1 1,否则返回 0 0 0。对于式 ( 5 ) (5) (5) 满足 1 { y = i } ∈ { 0 , 1 } 1\{y=i\} \in \{0,1\} 1{y=i}∈{0,1} 且 ∑ i = 1 k 1 { y = i } = 1 \sum_{i=1}^k 1\{y=i\}=1 ∑i=1k1{y=i}=1 。
为了处理方便,将式 ( 5 ) (5) (5) 第 k k k 类与前 k − 1 k-1 k−1 类分开处理,得
P ( y ; ϕ ) = ∏ i = 1 k − 1 ϕ i 1 { y = i } ⋅ ϕ k 1 { y = k } = ∏ i = 1 k − 1 ϕ i 1 { y = i } ⋅ ϕ k 1 − ∑ j = 1 k − 1 1 { y = j } (6) \begin{aligned} P(y;\phi)&=\prod_{i=1}^{k-1}\phi_i^{1\{y=i\}}·\phi^{1\{y=k\}}_k \\ &= \prod_{i=1}^{k-1}\phi_i^{1\{y=i\}}·\phi^{1-\sum_{j=1}^{k-1}1\{y=j\}}_k \tag{6} \end{aligned} P(y;ϕ)=i=1∏k−1ϕi1{y=i}⋅ϕk1{y=k}=i=1∏k−1ϕi1{y=i}⋅ϕk1−∑j=1k−11{y=j}(6)
将式 ( 6 ) (6) (6) 转换为指数形式为
P ( y ; ϕ ) = ∏ i = 1 k − 1 ϕ i 1 { y = i } ⋅ ϕ k 1 − ∑ j = 1 k − 1 1 { y = j } = exp ( ∑ i = 1 k − 1 1 { y = i } log ϕ i + ( 1 − ∑ i = 1 k − 1 1 { y = i } ) log ϕ k ) = exp ( ∑ i = 1 k − 1 1 { y = i } log ϕ i ϕ k + ∑ i = 1 k − 1 log ϕ k ) (7) \begin{aligned} P(y;\phi)&= \prod_{i=1}^{k-1}\phi_i^{1\{y=i\}}·\phi^{1-\sum_{j=1}^{k-1}1\{y=j\}}_k \\ &= \exp\big( \sum_{i=1}^{k-1}1\{y=i\}\log \phi_i+(1-\sum_{i=1}^{k-1}1\{y=i\})\log \phi_k \big) \\ &= \exp\big( \sum_{i=1}^{k-1}1\{y=i\}\log\frac{\phi_i}{\phi_k} +\sum_{i=1}^{k-1}\log\phi_k \big) \tag{7} \end{aligned} P(y;ϕ)=i=1∏k−1ϕi1{y=i}⋅ϕk1−∑j=1k−11{y=j}=exp(i=1∑k−11{y=i}logϕi+(1−i=1∑k−11{y=i})logϕk)=exp(i=1∑k−11{y=i}logϕkϕi+i=1∑k−1logϕk)(7)
式 ( 7 ) (7) (7) 中的求和项 ∑ i = 1 k − 1 1 { y = i } log ϕ i ϕ k \sum_{i=1}^{k-1}1\{y=i\}\log\frac{\phi_i}{\phi_k} ∑i=1k−11{y=i}logϕkϕi 可以表示为内积的形式。不妨假设与式 ( 4 ) (4) (4) 相对应的 η \eta η 和 T ( y ) T(y) T(y) 应该均为第 k k k 维为 0 0 0 的 k k k 维列向量,即
b ( y ) = 1 T ( y ) = ( 1 { y = 1 } 1 { y = 2 } ⋮ 1 { y = k − 1 } 0 ) a ( η ) = − log ( ϕ k ) η = ( log ϕ 1 ϕ k log ϕ 2 ϕ k ⋮ log ϕ k − 1 ϕ k 0 ) \begin{aligned} b(y)&=1 \\ T(y)&=\left(\begin{matrix} 1\{y=1\} \\ 1\{y=2\} \\ \vdots \\ 1\{y=k-1\} \\ 0 \end{matrix}\right) \\ a(\eta)&=-\log(\phi_k) \\ \eta &= \left(\begin{matrix} \log\frac{\phi_1}{\phi_k} \\ \log\frac{\phi_2}{\phi_k} \\ \vdots \\ \log\frac{\phi_{k-1}}{\phi_k} \\ 0 \end{matrix}\right) \\ \end{aligned} b(y)T(y)a(η)η=1=⎝⎜⎜⎜⎜⎜⎛1{y=1}1{y=2}⋮1{y=k−1}0⎠⎟⎟⎟⎟⎟⎞=−log(ϕk)=⎝⎜⎜⎜⎜⎜⎜⎛logϕkϕ1logϕkϕ2⋮logϕkϕk−10⎠⎟⎟⎟⎟⎟⎟⎞
因此 η i = log ϕ i ϕ k \eta_i=\log \frac{\phi_i}{\phi_k} ηi=logϕkϕi,特别地, η k = log ϕ k ϕ k = 0 \eta_k=\log \frac{\phi_k}{\phi_k}=0 ηk=logϕkϕk=0。所以有 ϕ i ϕ k = exp ( η i ) \frac{\phi_i}{\phi_k} = \exp(\eta_i) ϕkϕi=exp(ηi),对等式两侧同时求和,得
∑ i = 1 k ϕ i ϕ k = 1 ϕ k = ∑ i = 1 k exp ( η i ) \sum_{i=1}^k \frac{\phi_i}{\phi_k}=\frac{1}{\phi_k}=\sum_{i=1}^k \exp(\eta_i) i=1∑kϕkϕi=ϕk1=i=1∑kexp(ηi)
因此 ϕ k = 1 ∑ i = 1 k exp ( η i ) = exp ( η k ) ∑ i = 1 k exp ( η i ) \phi_k=\frac{1}{\sum_{i=1}^k\exp(\eta_i)}=\frac{\exp(\eta_k)}{\sum_{i=1}^k\exp(\eta_i)} ϕk=∑i=1kexp(ηi)1=∑i=1kexp(ηi)exp(ηk)。对于 i ≠ k i\ne k i=k 的情况,根据等式 ϕ i ϕ k = exp ( η i ) \frac{\phi_i}{\phi_k}=\exp(\eta_i) ϕkϕi=exp(ηi),可得 ϕ i = exp ( η i ) ∑ j = 1 k exp ( η j ) \phi_i=\frac{\exp(\eta_i)}{\sum_{j=1}^k\exp(\eta_j)} ϕi=∑j=1kexp(ηj)exp(ηi)。故统一表示为 ϕ i = exp ( η i ) ∑ j = 1 k exp ( η j ) \phi_i=\frac{\exp(\eta_i)}{\sum_{j=1}^k\exp(\eta_j)} ϕi=∑j=1kexp(ηj)exp(ηi),记 ϕ = ( ϕ 1 ϕ 2 … ϕ k ) T \phi = (\begin{matrix} \phi_1&\phi_2&\dots \phi_k \end{matrix})^T ϕ=(ϕ1ϕ2…ϕk)T。
根据 h ( x ) = E ( T ( y ) ∣ x ) h(x)=E\big(T(y)\mid x\big) h(x)=E(T(y)∣x) 可得预测为第 t ( t ∈ { 1 , 2 , … , k } ) t\space(t\in\{1,2,\dots,k\}) t (t∈{1,2,…,k}) 类的期望为
h ( x ) = E ( T ( y ) ∣ x ) = T ( y ) T ϕ = ϕ t = exp ( θ t T x ) ∑ i = 1 k exp ( θ i T x ) h(x)=E\big(T(y)\mid x\big) = T(y)^T\phi=\phi_t=\frac{\exp(\theta_t^Tx)}{\sum_{i=1}^k\exp(\theta_i^Tx)} h(x)=E(T(y)∣x)=T(y)Tϕ=ϕt=∑i=1kexp(θiTx)exp(θtTx)
这与我们熟悉的 softmax 函数一致。
连接函数与预测函数的关系:
连接函数的反函数 g − 1 g^{-1} g−1 是关于 η \eta η 的函数,而预测函数 h h h 是关于 x x x 的函数,所以可以认为 h h h 是内函数为 η = θ T x \eta=\theta^Tx η=θTx,外函数为 g − 1 g^{-1} g−1 的复合函数。
如何理解广义线性模型的“线性”?
我认为从其假设可以看到 η = θ T x \eta = \theta^Tx η=θTx 表达了线性信息,但是不够直观。不妨从分类角度更加直观地理解线性,我们知道 GLM 预测到的是被分为某一类的概率,最高概率对应的类为预测确定的类。通过查看 Wikipedia 中各个指数分布族中的分布对应的连接函数发现,这些连接函数的反函数都是单调函数,这说明要么选最大 η = θ T x \eta=\theta^Tx η=θTx 对应的类,要么选最小 η \eta η 对应的类,可见本质依然是根据线性组合值进行分类。更直观地表示在二维平面上,判断每个点的类别就会发现,类与类之间由直线(线性超平面)隔开,这无疑是 GLM 线性特点最直观的体现。
但是需要注意,模型参数 θ i \theta_i θi 对应的超平面并非类间超平面。对于多分类而言,往往二者之间没有直观上能理解的关系;对于二分类而言,二者平行。
我们可以尝试在二维平面中绘制 logistics 二分类图像和 softmax 多分类图像,也可以说明我们的观点是合理的。
很多同学会感性地认为,模型参数对应的超平面之间区域的样本为相同类别,其实这种理解是错误的。出现这个问题的原因在于,我们无法保证 θ 1 \theta_1 θ1 和 θ 2 \theta_2 θ2 对应的超平面之间区域的全部样本都满足 θ 1 T x > θ 2 T x \theta_1^Tx>\theta_2^Tx θ1Tx>θ2Tx 或者 θ 1 T x < θ 2 T x \theta_1^Tx<\theta_2^Tx θ1Tx<θ2Tx 。仅对于两个相交的模型参数超平面而言,往往类间超平面更可能被夹在两个超平面之间,比如图 1 1 1 softmax 子图中右侧红、蓝两线之间的类间分界线。注意,这是在没有其他模型参数超平面影响的前提下,大致有这样的规律,超平面一多,影响因素过多,不好讨论。
图 1 二分类(左)和多分类(右)的权重对应超平面(直线)和类间超平面(区域边界)
我当时不禁思考,本质上 GLM 比较的是 $\theta^Tx$ 的大小,如果 $\theta$ 相同,那么无论采用哪种 GLM 都会将样本分到相同的类别,选用不同的 GLM 的意义在哪?确实,在 θ \theta θ 相同的前提下,每种具体的 GLM 对应的分类结果是完全相同的;但问题就出在,每种 GLM 训练出的参数 θ \theta θ 几乎不可能完全相同,因为它们采用了不同的联系函数,也正是因为联系函数的不同,使得模型更加多样、能更加适应不同的场景。模型参数 θ \theta θ 的不同保证了每个模型对应的类间边界不是完全相同的,但都是线性。