线性模型
作者:little-xu
时间:2021/1/14
基本形式
给定由d个属性描述的实例 x = ( x 1 ; x 2 ; ⋯ ; x d ) x=(x_1;x_2;\cdots;x_d) x=(x1;x2;⋯;xd),其中 x i x_i xi是 x x x在第i个属性上的取值,线性模型试图学的一个预测函数,即
f ( x ) = w 1 x 1 + w 2 x 2 + ⋯ + w d x d + b \begin{aligned} f(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+b \end{aligned} f(x)=w1x1+w2x2+⋯+wdxd+b
概括的矩阵形式
f ( x ) = w T x + b \begin{aligned} f(x)=w^Tx+b \end{aligned} f(x)=wTx+b
例如:
f 好 瓜 ( x ) = 0.2 x 色 泽 + 0.5 x 根 蒂 + 0.3 x 敲 声 + 1 \begin{aligned} f_{好瓜}(x)=0.2x_{色泽}+0.5x_{根蒂}+0.3x_{敲声}+1 \end{aligned} f好瓜(x)=0.2x色泽+0.5x根蒂+0.3x敲声+1
线性回归
线性回归
f ( x i ) = w x i + b \begin{aligned} % 参数环境是align,公式带编号 f(x_i)=wx_i+b \end{aligned} f(xi)=wxi+b
我们试图取均方误差最小来试图模拟该函数
M S E = a r g m i n ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g m i n ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 = a r g m i n ( w , b ) ∑ i = 1 m [ w x i − ( y i − b ) ] 2 \begin{aligned} %数学公式左对齐环境 %\mathop{argmin}_{(w,b)},把(w,b)放在argmin下面 MSE & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}(f(x_i)-y_i)^2 \\ & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}(y_i-wx_i-b)^2 \\ & = \mathop{argmin}_{(w,b)}\sum_{i=1}^{m}\lbrack wx_i-(y_i-b) \rbrack^2 \\ \end{aligned} MSE=argmin(w,b)i=1∑m(f(xi)−yi)2=argmin(w,b)i=1∑m(yi−wxi−b)2=argmin(w,b)i=1∑m[wxi−(yi−b)]2
a r g m i n argmin argmin知识小扩展
Conception
线性回归模型的最小二乘“参数估计”:
求解 w w w和 b b b使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_(w,b)=\sum_{i=1}^{m}(y_i-wx_i-b)^2 E(w,b)=∑i=1m(yi−wxi−b)2最小化的过程
∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) ∂ E ( w , b ) ∂ b = ( m b − ∑ i = 1 m ( y i − w x i ) ) \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial E_{(w,b)}}{\partial w} & =2(w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i) \\ \cfrac{\partial E_{(w,b)}}{\partial b} & =(mb-\sum_{i=1}^{m}(y_i-wx_i)) \end{aligned} ∂w∂E(w,b)∂b∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)=(mb−i=1∑m(yi−wxi))
另上式子为 0 0 0,得到 w w w和 b b b最优解的闭式( c l o s e − f o r m close-form close−form)解
w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 b = 1 m ∑ i = 1 m ( y i − w x i ) \begin{aligned} w & =\cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\frac{1}{m}(\sum_{i=1}^{m}x_i)^2} % \bar{x} x的平均数 \\ b & =\cfrac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) \end{aligned} wb=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)=m1i=1∑m(yi−wxi)
[推导]:由公式得 b = y ˉ − w x ˉ b=\bar{y}-w\bar{x} b=yˉ−wxˉ
w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m b x i w ∑ i = 1 m x i 2 = ∑ i = 1 m y i x i − ∑ i = 1 m ( y ˉ − w x ˉ ) x i w ( ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i ) = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i w = ∑ i = 1 m y i x i − y ˉ ∑ i = 1 m x i ∑ i = 1 m x i 2 − x ˉ ∑ i = 1 m x i w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 \begin{aligned} w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}bx_i \\ w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}(\bar{y}-w\bar{x})x_i \\ w(\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i) & = \sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i \\ w & = \cfrac{\sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i}{\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i}\\ w & = \cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\cfrac{1}{m}(\sum_{i=1}^{m}x_i)^2} \end{aligned} wi=1∑mxi2wi=1∑mxi2w(i=1∑mxi2−xˉi=1∑mxi)ww=i=1∑myixi−i=1∑mbxi=i=1∑myixi−i=1∑m(yˉ−wxˉ)xi=i=1∑myixi−yˉi=1∑mxi=∑i=1mxi2−xˉ∑i=1mxi∑i=1myixi−yˉ∑i=1mxi=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
矩阵高度概括多元线性回归形式
f ( x i ) = w T x i + b \begin{aligned} % 参数环境是align,公式带编号 f(x_i) & = w^Tx_i+b \end{aligned} f(xi)=wTxi+b
其中数据集D表示为一个 m × ( d + 1 ) m\times(d+1) m×(d+1)大小的矩阵 X X X
个人理解:个人感觉这个1是当 f ( x ) 为 f(x)为 f(x)为没有特征 x x x的形式
w ^ ∗ = a r g m i n w ^ ( y − X w ^ ) T ( y − X w ^ ) = a r g m i n w ^ ( y − X w ^ ) 2 \begin{aligned} % 参数环境是align,公式带编号 \hat{w}^* & =\mathop{argmin}_{\hat{\boldsymbol w}}(y-X\hat{\boldsymbol w})^T(y-X\hat{\boldsymbol w}) \\ %\boldsymbol w的字体 & = \mathop{argmin}_{\hat{\boldsymbol w}}(y-X\hat{\boldsymbol w})^2 \end{aligned} w^∗=argminw^(y−Xw^)T(y−Xw^)=argminw^(y−Xw^)2
令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat{\boldsymbol w}}=(y-X\hat{w})^T(y-X\hat{w}) Ew^=(y−Xw^)T(y−Xw^),对 w ^ \hat{\boldsymbol w} w^求导得
∂ E ( w , b ) ∂ w = 2 X T ( X w ^ − y ) \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial E_{(\boldsymbol w,b)}}{\partial w} & =2X^T(X\hat{\boldsymbol w}-y) \end{aligned} ∂w∂E(w,b)=2XT(Xw^−y)
推导
矩阵微分公式 ∂ a T x ∂ x = ∂ x T a ∂ x = a , ∂ x T A x ∂ x = ( A + A T ) x \cfrac{\partial\boldsymbol{a}^{\mathrm{T}}\boldsymbol{x}}{\partial\boldsymbol{x}}=\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\boldsymbol{a}}{\partial\boldsymbol{x}}=\boldsymbol{a},\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\mathbf{A}\boldsymbol{x}}{\partial\boldsymbol{x}}=(\mathbf{A}+\mathbf{A}^{\mathrm{T}})\boldsymbol{x} ∂x∂aTx=∂x∂xTa=a,∂x∂xTAx=(A+AT)x
当 X T X X^TX XTX为满秩矩阵或正定矩阵时
0 = 2 X T ( X w ^ − y ) X T X w ^ = X T y w ^ = ( X T X ) − 1 X T y \begin{aligned} % 参数环境是align,公式带编号 0 & =2X^T(X\hat{\boldsymbol w}-y) \\ X^TX\hat{\boldsymbol w} & =X^Ty \\ \hat{\boldsymbol w} & =(X^TX)^{-1}X^Ty \end{aligned} 0XTXw^w^=2XT(Xw^−y)=XTy=(XTX)−1XTy
最终学的线性回归模型
f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y \begin{aligned} % 参数环境是align,公式带编号 f(\hat{\boldsymbol x}_i) = \hat{\boldsymbol x}_i^T(X^TX)^{-1}X^Ty \end{aligned} f(x^i)=x^iT(XTX)−1XTy
如果对应的标记在指数尺度上变化,可让输出取对数作为线性模型逼近目标
ln y = w T + b \begin{aligned} % 参数环境是align,公式带编号 \ln y = w^T+b \end{aligned} lny=wT+b
此处可能暗示还有其他模型,个人揣测还有对数模型,就是拟合函数取一个比较接近数据分布的函数。
对数几率回归
生活中许多问题是二分类问题,比如用户购买商品,买还是不买,我们可以设置模型当概率大于 0.5 0.5 0.5就是买,可取 S i g m o i d Sigmoid Sigmoid函数,将值转化为 0 / 1 0/1 0/1问题
最理想的是:单位阶跃函数(unit-step function)
y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 \begin{aligned} % 参数环境是align,公式带编号 y = \begin{cases} 0, & z<0 \\ 0.5, & z=0 \\ 1, & z>0 \end{cases} \end{aligned} y=⎩⎪⎨⎪⎧0,0.5,1,z<0z=0z>0
预测值 z z z大于 0 0 0判定为正例,小于 0 0 0为反例,预测值为临界值 0 0 0则任意判别
S i g m o i d Sigmoid Sigmoid函数:
y = 1 1 + e − z \begin{aligned} % 参数环境是align,公式带编号 y = \cfrac{1}{1+e^{-z}} \end{aligned} y=1+e−z1
可将我们的线性模型预测的概率带入 S i g i m o i d Sigimoid Sigimoid函数预测输出
y = 1 1 + e − ( w T x + b ) 1 y = 1 + e − ( w T x + b ) − z = ln y 1 − y ln y 1 − y = w T x + b \begin{aligned} % 参数环境是align,公式带编号 y & =\cfrac{1}{1+e^{-(w^Tx+b)}} \\ \frac{1}{y}& =1+e^{-(w^Tx+b)} \\ -z & = \ln \cfrac{y}{1-y} \\ \ln \cfrac{y}{1-y} & =w^Tx+b \end{aligned} yy1−zln1−yy=1+e−(wTx+b)1=1+e−(wTx+b)=ln1−yy=wTx+b
Conception
y y y看作样本正例的可能性,则 1 − y 1-y 1−y则是反例的可能性,两者比值 y 1 − y \cfrac{y}{1-y} 1−yy称为几率
对几率取对数 ln y 1 − y \ln \cfrac{y}{1-y} ln1−yy得到对数几率
注意:分类学习方法
若将公式 ( 29 ) (29) (29)看作类后验概率估计 p ( y = 1 ∣ x ) p(y=1\mid x) p(y=1∣x)则有
p ( y = 1 ∣ x ) = e w T x + b 1 + e w T x + b = π ( x ) p ( y = 0 ∣ x ) = 1 1 + e w T x + b = 1 − π ( x ) \begin{aligned} % 参数环境是align,公式带编号 p(y=1 \mid x) & = \cfrac{e^{w^Tx+b}}{1+e^{w^Tx+b}} =\pi(x) \\ p(y=0 \mid x) & = \cfrac{1}{1+e^{w^Tx+b}} =1-\pi(x) \\ \end{aligned} p(y=1∣x)p(y=0∣x)=1+ewTx+bewTx+b=π(x)=1+ewTx+b1=1−π(x)
则通过极大似然法估计 w w w和 b b b,对数回归模型最大化“对数似然”,用局部数据估计整体。
似然函数为
∐ i = 1 N [ π ( x i ) y i ] [ 1 − π ( x i ) ] 1 − y i \begin{aligned} % 参数环境是align,公式带编号 \coprod_{i=1}^N [\pi(x_i)^{y_i}][1-\pi(x_i)]^{1-y_i} \end{aligned} i=1∐N[π(xi)yi][1−π(xi)]1−yi
对数似然
L ( w , b ) = ∑ i = 1 m [ y i ln π ( x i ) + ( 1 − y i ) ln ( 1 − π ( x i ) ) ] = ∑ i = 1 m [ y i ln π ( x i ) 1 − π ( x i ) + ( 1 − y i ) ln ( 1 − π ( x i ) ) ] = ∑ i = 1 m [ y i ( w x i + b ) − ln ( 1 + e w x i + b ) ] \begin{aligned} % 参数环境是align,公式带编号 L(w,b) & = \sum_{i=1}^{m}[y_i \ln \pi(x_i)+(1-y_i)\ln(1-\pi(x_i))] \\ & = \sum_{i=1}^{m}[y_i \ln \cfrac{\pi(x_i)}{1-\pi(x_i)}+(1-y_i)\ln(1-\pi(x_i))] \\ & = \sum_{i=1}^{m}[y_i(wx_i+b)-\ln(1+e^{wx_i+b})] \end{aligned} L(w,b)=i=1∑m[yilnπ(xi)+(1−yi)ln(1−π(xi))]=i=1∑m[yiln1−π(xi)π(xi)+(1−yi)ln(1−π(xi))]=i=1∑m[yi(wxi+b)−ln(1+ewxi+b)]
对 L ( x ) L(x) L(x)求极大值,得到 w w w的估计值
令 β = ( w ; b ) \beta=(w;b) β=(w;b), x ^ = ( x ; 1 ) \hat{\boldsymbol x}=(x;1) x^=(x;1)则 β T x ^ = w T x + b \beta^T\hat{\boldsymbol x}=w^Tx+b βTx^=wTx+b
L ( β ) = ∑ i = 1 m ln ( [ p 1 ( x ^ i ; β ) ] y i [ p 0 ( x ^ i ; β ) ] 1 − y i ) = ∑ 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 = 1 m [ y i ln ( e β T x ^ i ) + ln ( 1 1 + e β T x ^ i ) ] = ∑ i = 1 m ( y i β T x ^ i − ln ( 1 + e β T x ^ i ) ) \begin{aligned} % 参数环境是align,公式带编号 L(\boldsymbol{\beta}) & =\sum_{i=1}^{m}\ln\left([p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})]^{y_i}[p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})]^{1-y_i}\right) \\ & = \sum_{i=1}^{m}\left[y_i\ln\left(p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)+(1-y_i)\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right] \\ & = \sum_{i=1}^{m} \left \{ y_i\left[\ln\left(p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)-\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right]+\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right\} \\ & = \sum_{i=1}^{m}\left[y_i\ln\left(\cfrac{p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})}{p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})}\right)+\ln\left(p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right)\right] \\ &=\sum_{i=1}^{m}\left[y_i\ln\left(e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}\right)+\ln\left(\cfrac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)\right] \\ & = \sum_{i=1}^{m}\left(y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) \end{aligned} L(β)=i=1∑mln([p1(x^i;β)]yi[p0(x^i;β)]1−yi)=i=1∑m[yiln(p1(x^i;β))+(1−yi)ln(p0(x^i;β))]=i=1∑m{yi[ln(p1(x^i;β))−ln(p0(x^i;β))]+ln(p0(x^i;β))}=i=1∑m[yiln(p0(x^i;β)p1(x^i;β))+ln(p0(x^i;β))]=i=1∑m[yiln(eβTx^i)+ln(1+eβTx^i1)]=i=1∑m(yiβTx^i−ln(1+eβTx^i))
β ∗ = a r g m a x β L ( β ) \begin{aligned} \beta^*=\mathop{argmax}_{\beta}L(\beta) \end{aligned} β∗=argmaxβL(β)
令 p 1 ( x ^ i ; β ) = π ( x i ) p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})=\pi(x_i) p1(x^i;β)=π(xi),将此式向量化
∂ L ( β ) ∂ β = − ∑ i = 1 m x ^ i ( y i − p i ( x i ^ ; β ) ) = − ∑ i = 1 m x ^ i ( y i − π ( x i ) ) = ∑ i = 1 m x ^ i ( π ( x i ) − y i ) = X T ( π ( X ) − y ) = X T ( p 1 ( X ; β ) − y ) ∂ 2 L ( β ) ∂ β ∂ β T = ∑ i = 1 m x i ^ x i ^ T p 1 ( x i ^ ; β ) ( 1 − p 1 ( x i ^ ; β ) \begin{aligned} % 参数环境是align,公式带编号 \frac{\partial L(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} &= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-p_i(\hat{\boldsymbol x_i};\beta)) \\ &= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-\pi(x_i)) \\ & =\sum_{i=1}^{m}\hat{\boldsymbol x}_i(\pi(x_i)-y_i) \\ & ={\mathbf{X}^{\mathrm{T}}}(\boldsymbol{\pi(X)}-\boldsymbol{y}) \\ & ={\mathbf{X}^{\mathrm{T}}}(p_1(\mathbf{X};\boldsymbol{\beta})- \boldsymbol{y}) \\ \\ \cfrac{\partial^2L(\beta)}{\partial \beta \partial \beta^T} & =\sum_{i=1}^{m}\hat{\boldsymbol x_i}\hat{\boldsymbol x_i}^Tp_1(\hat{\boldsymbol x_i};\beta)(1- p_1(\hat{\boldsymbol x_i};\beta) \end{aligned} ∂β∂L(β)∂β∂βT∂2L(β)=−i=1∑mx^i(yi−pi(xi^;β))=−i=1∑mx^i(yi−π(xi))=i=1∑mx^i(π(xi)−yi)=XT(π(X)−y)=XT(p1(X;β)−y)=i=1∑mxi^xi^Tp1(xi^;β)(1−p1(xi^;β)
利用牛顿法求最优解, t + 1 t+1 t+1轮迭代更新公式
β t + i = β t − ( ∂ 2 L ( β ) ∂ β ∂ β T ) − 1 ∂ L ( β ) ∂ β \begin{aligned} % 参数环境是align,公式带编号 \beta^{t+i}=\beta^t-(\cfrac{\partial^2L(\beta)}{\partial \beta \partial \beta^T})^{-1}\cfrac{\partial L(\beta)}{\partial \beta} \end{aligned} βt+i=βt−(∂β∂βT∂2L(β))−1∂β∂L(β)
线性判别分析
LDA:二分类问题,数据集在坐标轴上有 2 2 2簇数据,在坐标轴上做一条直线,使得同类数据在直线上投影更加集中,异类数据投影经可能远离,所以在测试集上的数据我们可以通过投影来判断分类是正例还是反例。
数据集 D = { ( x i , y i ) } i = 1 m , y i ∈ { 0 , 1 } , D=\{(x_i,y_i)\}_{i=1}^{m},y_i\in\{0,1\}, D={(xi,yi)}i=1m,yi∈{0,1},令 X i 、 μ i 、 Σ i X_i、\mu_i、\Sigma_i Xi、μi、Σi分别表示 i ∈ 0 , 1 i\in{0,1} i∈0,1类实例的集合,均值向量(样本中心),协方差矩阵。若将数据投影到直线 w w w(可以看成单位向量)上,则样本投影分别为 w T μ 0 w^T\mu_0 wTμ0和 w T u 1 w^Tu_1 wTu1(向量乘法),
尚未解决😭:投影到直线后,两类样本协方差分别为 w T Σ 0 w w^T\Sigma_0w wTΣ0w和 w T Σ 1 w w^T\Sigma_1w wTΣ1w.(不知道,不懂得,不晓得)。今天键盘打错字之手残链接
同类样本协方差尽可能小即 w T Σ 0 w + w T Σ 1 w w^T\Sigma_0w+w^T\Sigma_1w wTΣ0w+wTΣ1w尽可能小(同类样本在直线 w w w上投影尽量靠近样本中心,样本数据差异尽量缩小)
异类样本投影点尽量远离即 ∥ w T u 0 − w T u 1 ∥ 2 2 \|w^Tu_0-w^Tu_1\|_2^2 ∥wTu0−wTu1∥22尽可能大(范数平方,两者投影在 w w w距离的平方,异类样本投影中心尽量远)
所以我们欲最大化 J J J来得到这样的直线 w w w.🔰
J = ∥ w T μ 0 − w T μ 1 ∥ 2 2 w T ( Σ 0 + Σ 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 \begin{aligned} % 参数环境是align,公式带编号 J & = \cfrac{\|\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\|(\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1})^{\mathrm{T}}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\|(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\left[(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\right]^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ & = \cfrac{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \end{aligned} J=wT(Σ0+Σ1)w∥wTμ0−wTμ1∥22=wT(Σ0+Σ1)w∥(wTμ0−wTμ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
Conception
类内散度矩阵:
S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 0 ) ( x − μ 0 ) T \begin{aligned} % 参数环境是align,公式带编号 S_w & = \Sigma_{0}+\Sigma_{1} \\ & = \sum_{x \in X_0}(x-\mu_0)(x-\mu_0)^T + \sum_{x \in X_1}(x-\mu_0)(x-\mu_0)^T \end{aligned} Sw=Σ0+Σ1=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ0)(x−μ0)T
类间散度矩阵:样本距离的平方
S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T \begin{aligned} S_b & = (\mu_0-\mu_1)(\mu_0-\mu_1)^T \end{aligned} Sb=(μ0−μ1)(μ0−μ1)T
简化 J J J
J = w T S b w w T S w w \begin{aligned} % 参数环境是align,公式带编号 J & = \cfrac{w^TS_bw}{w^TS_ww} \end{aligned} J=wTSwwwTSbw
我们试图寻找一条直线 w w w,与该直线长度无关,但是与方向有关。使得 J J J最大
疑惑: 😭 w h y why why w T S w w = 1 w^TS_ww=1 wTSww=1.我们假定分母 w T S w w = 1 w^TS_ww=1 wTSww=1,然后就要求 w T S b w = 1 w^TS_bw=1 wTSbw=1
最大值。之后我们求得了 w T S b w = 1 w^TS_bw=1 wTSbw=1最大值。但是 w T S w w = w^TS_ww= wTSww=并不等于 1 1 1
当 w T S w w w^TS_ww wTSww更小的时候。我们的 J J J就会变动取得更大的值。
解答:自己蠢得可以😆刚想出来了。还是一个理,分母一定,在分母限制条件中让分子取得最大值。设置未知数 C C C,令 w T S w w = C w^TS_ww=C wTSww=C,则我们所求的 J = w T S b w w T S w w \begin{aligned}J & = \cfrac{w^TS_bw}{w^TS_ww}\end{aligned} J=wTSwwwTSbw可以转化为 J = 1 C w T S b w 1 C w T S w w \begin{aligned}J & = \cfrac{\frac{1}{C}w^TS_bw}{\frac{1}{C}w^TS_ww}\end{aligned} J=C1wTSwwC1wTSbw
线性规划,目标函数是 1 C w T S b w \frac{1}{C}w^TS_bw C1wTSbw,约束条件 1 C w T S w w = 1 \frac{1}{C}w^TS_ww=1 C1wTSww=1.求 1 C w T S b w \frac{1}{C}w^TS_bw C1wTSbw最大值,可以转化为求 − 1 C w T S b w -\frac{1}{C}w^TS_bw −C1wTSbw最小值
m i n w − 1 C w T S b w s . t 1 C w T S w w = 1 \begin{aligned} % 参数环境是align,公式带编号 & \mathop{min}_{w} \quad -\frac{1}{C}w^TS_bw \\ & s.t \quad \frac{1}{C}w^TS_ww=1 \end{aligned} minw−C1wTSbws.tC1wTSww=1
等价于
m i n w − w T S b w s . t w T S w w = 1 \begin{aligned} & \mathop{min}_{w} \quad -w^TS_bw \\ & s.t \quad w^TS_ww=1 \end{aligned} minw−wTSbws.twTSww=1
我们求得目标函数后还是带入 J J J中,结果不变。将一个极值问题转化为线性规划问题。又拉格朗日数乘可知
L ( w , λ ) = − w T S b w + λ ( w T S w w − 1 ) \begin{aligned} L(\boldsymbol w,\lambda)=-\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w+\lambda(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1) \end{aligned} L(w,λ)=−wTSbw+λ(wTSww−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} % 参数环境是align,公式带编号 \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = -\cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w)}{\partial \boldsymbol w}+\lambda \cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1)}{\partial \boldsymbol w} \\ & = -(\mathbf{S}_b+\mathbf{S}_b^{\mathrm{T}})\boldsymbol w+\lambda(\mathbf{S}_w+\mathbf{S}_w^{\mathrm{T}})\boldsymbol w \end{aligned} ∂w∂L(w,λ)=−∂w∂(wTSbw)+λ∂w∂(wTSww−1)=−(Sb+SbT)w+λ(Sw+SwT)w
由于 S b = S b T = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T , S w = S w T \mathbf{S}_b=\mathbf{S}_b^{\mathrm{T}}=(\mu_0-\mu_1)(\mu_0-\mu_1)^T,\mathbf{S}_w=\mathbf{S}_w^{\mathrm{T}} Sb=SbT=(μ0−μ1)(μ0−μ1)T,Sw=SwT,( S w \mathbf{S}_w Sw是协方差矩阵,举例样本 1 1 1与样本 3 3 3差异是 S 13 = 0.5 \mathbf{S}_{13}=0.5 S13=0.5,那么样本 3 3 3与样本 1 1 1差距 S 31 = 0.5 \mathbf{S}_{31}=0.5 S31=0.5,对角矩阵)所以
∂ L ( w , λ ) ∂ w = − 2 S b w + 2 λ S w w \begin{aligned} % 参数环境是align,公式带编号 \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = -2\mathbf{S}_b\boldsymbol w+2\lambda\mathbf{S}_w\boldsymbol w \end{aligned} ∂w∂L(w,λ)=−2Sbw+2λSww
令上式等于 0 0 0即可得
− 2 S b w + 2 λ S w w = 0 S b w = λ S w w \begin{aligned} -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{aligned} −2Sbw+2λSww=0Sbw=λSww
由于我们想要求解的只有 w \boldsymbol{w} w,而 λ \lambda λ这个拉格朗乘子具体取值多少都无所谓,因此我们可以任意设定 λ \lambda λ来配合我们求解 w \boldsymbol{w} w。我们注意到
S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w \begin{aligned} \mathbf{S}_b\boldsymbol{w}=(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} \end{aligned} Sbw=(μ0−μ1)(μ0−μ1)Tw
如果我们令 λ \lambda λ恒等于 ( μ 0 − μ 1 ) T w (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} (μ0−μ1)Tw,那么上式即可改写为 S b w = λ ( μ 0 − μ 1 ) \mathbf{S}_b\boldsymbol{w}=\lambda(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}) Sbw=λ(μ0−μ1)
将其代入 S b w = λ S w w \mathbf{S}_b\boldsymbol w=\lambda\mathbf{S}_w\boldsymbol w Sbw=λSww即可解得
w = S w − 1 ( μ 0 − μ 1 ) \begin{aligned} % 参数环境是align,公式带编号 \boldsymbol{w}=\mathbf{S}_{w}^{-1}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}) \end{aligned} w=Sw−1(μ0−μ1)
对 S w − 1 \mathbf{S}_{w}^{-1} Sw−1求解,通常是对 S w \mathbf{S}_{w} Sw奇异值分解, S w = U Σ V T \mathbf{S}_{w}=U\Sigma V^T Sw=UΣVT, Σ \Sigma Σ是是实对称矩阵,对角线上元素是 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
疑惑:拉格朗日数乘让我们得到两个关于 λ \lambda λ和 w w w的二元方程, w w w的求解需要 λ \lambda λ的配合,我们令 λ \lambda λ恒等于 ( μ 0 − μ 1 ) T w (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w} (μ0−μ1)Tw后,确实满足了 ∂ L ( w , λ ) ∂ w = 0 \begin{aligned}\cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} & = 0\end{aligned} ∂w∂L(w,λ)=0,但是 ∂ L ( w , λ ) ∂ w \begin{aligned}\cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} \end{aligned} ∂w∂L(w,λ)是否满足为 0 0 0呢??如果不为 0 0 0?我们求得 − w T S b w -w^TS_bw −wTSbw又是否是最小值??如果 J J J不是最优值,我们求得 w w w是 λ \lambda λ配合求解的值,那么又有什么意义呢?
Little-Knowledge
LDA可从贝叶斯决策理论阐释,当两类数据先验,满足高斯分布且协方差相等时,LDA可达到最优分类。
Conception
多元推广,高度概括:
假定存在 N N N个类,第i类示例数为 m i m_i mi,定义“全局散度矩阵”
S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T \begin{aligned} \mathbf{S}_t & = \mathbf{S}_b+\mathbf{S}_w \\ & = \sum_{i=1}^{m}(x_i-\mu)(x_i-\mu)^T \end{aligned} St=Sb+Sw=i=1∑m(xi−μ)(xi−μ)T
μ \mu μ是所有示例的均值向量,类内散度矩阵 S w \mathbf{S}_w Sw定义为每个类别散度矩阵之和
S w = ∑ i = 1 N S w i S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T \begin{aligned} % 参数环境是align,公式带编号 \mathbf{S}_w & = \sum_{i=1}^{N}\mathbf{S}_{w_i} \\ \mathbf{S}_{w_i} & = \sum_{x \in X_i}(x-\mu_i)(x-\mu_i)^T \end{aligned} SwSwi=i=1∑NSwi=x∈Xi∑(x−μi)(x−μi)T
多分类学习
一对一 (OvO)
假如某个分类中有N个类别,我们将这N个类别进行两两配对(两两配对后转化为二分类问题)。那么我们可以得到个二分类器。(简单解释一下,相当于在N个类别里面抽2个)
之后,在测试阶段,我们把新样本交给这个二分类器。于是我们可以得到个分类结果。把预测的最多的类别作为预测的结果。

电影《假如爱有天意》,爱情,战争,奇幻,动画。
我们两两组合分类器,分类器 1 1 1(爱情,战争),分类器 2 2 2(爱情,奇幻),分类器 3 3 3(爱情,动画),分类器 4 4 4(战争,奇幻),分类器 5 5 5(战争,动画),分类器 6 6 6(奇幻,动画)。
测试集《假如爱有天意》,分类器结果分别是爱情,爱情,爱情,战争,战争,奇幻。我们取预测最多的分类结果,将电影《假如爱有天意》分类为爱情。
一对其余 (OvR)
一对其余其实更加好理解,每次将一个类别作为正类,其余类别作为负类。此时共有(N个分类器)。在测试的时候若仅有一个分类器预测为正类,则对应的类别标记为最终的分类结果。例如下面这个例子。

注意:此处强调只有一个分类器预测为正例
电影《泰坦尼克号》,爱情,战争,奇幻,动画。
我们两两组合分类器,分类器 1 1 1(是爱情,非爱情),分类器 2 2 2(是战争,非战争),分类器 3 3 3(是奇幻,非奇幻),分类器 4 4 4(是动画,非动画),
测试集《泰坦尼克号》,分类器结果分别是是爱情,非战争,非奇幻,非动画。我们取预测正例,将电影《泰坦尼克号》分类为爱情。
但是假如此处我们的测试集是《假如爱有天意》,它真的不能分为战争吗,答案显然是否定的。所以有多个分类器器时,通常考虑各分类器的预测置信度,也就是权重,分类器 1 1 1(是爱情,非爱情)可信度 1 1 1,分类器 2 2 2(是战争,非战争)可信度 0.9 0.9 0.9,选择置信度最大的。
反思:笔者认为这里完全可以两个结果爱情战都可以采用,完全可以多元二分类。
O v O OvO OvO和 O v R OvR OvR各有千秋
OvR只需训练N个分类器,而OvO需训练 N ( N − 1 ) / 2 N(N - 1)/2 N(N−1)/2个分类器, 因此,OvO的存储开销和测试时间开销通常比OvR更大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO的训练时间开销通常比OvR更小。至于预测性能,则取决于具体的数据分布,在多数情形下两者差不多。
综上:
OvO的优点是,在类别很多时,训练时间要比OvR少(比较方便区分,区分快)。缺点是,分类器个数多。
OvR的优点是,分类器个数少,存储开销和测试时间比OvO少。缺点是,类别很多时,训练时间长。
多对多(MvM)
输出纠错编码( E C O O C ECOOC ECOOC)
二元码
E C O O C ECOOC ECOOC的思想是对于 N N N训练集做 M M M次划分,每次划分选择一些类别作为正例,剩下的类别作为反例来训练得到一个二分类器,于是可以训练得到 M M M个二分类器 { f 1 , f 2 , f 3 , f 4 , f 5 } \{f_1,f_2,f_3,f_4,f_5\} {f1,f2,f3,f4,f5}。
比如只含 C 1 , C 2 , C 3 , C 4 C_1,C_2,C_3,C_4 C1,C2,C3,C4类的训练集用分类器进行分类,正例标记为 1 1 1,反例标记为 − 1 -1 −1,得到如下图
f 1 f_1 f1 | f 2 f_2 f2 | f 3 f_3 f3 | f 4 f_4 f4 | f 5 f_5 f5 | 海明距离 | 欧式距离 | |
---|---|---|---|---|---|---|---|
C 1 C_1 C1 | -1 | +1 | -1 | +1 | +1 | 3 | 2 3 2\sqrt{3} 23 |
C 2 C_2 C2 | +1 | -1 | -1 | +1 | -1 | 4 | 4 |
C 3 C_3 C3 | -1 | +1 | +1 | -1 | +1 | 1 | 2 |
C 4 C_4 C4 | -1 | -1 | +1 | +1 | -1 | 2 | 2 2 2\sqrt{2} 22 |
测试集 | -1 | -1 | +1 | -1 | +1 |