第三章 线性模型
此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…
3.1 基本形式
-
模型内容
- 线性模型
函数形式:f(x)=w1x1+w2x2+...+wdxdf(x)=w_1x_1+w_2x_2+...+w_dx_df(x)=w1x1+w2x2+...+wdxd
向量形式:f(x)=wTx+bf(\textbf x)=\textbf w^T\textbf x+bf(x)=wTx+b - 非线性模型:在线性模型的基础上引入层级结构或高维映射而得
- 线性模型
-
可解释性:www直观表达了各属性在预测中的重要性
3.2 线性回归
-
定义:试图学的一个线性模型以尽可能准确地预测实值输出标记
-
离散属性与序关系
有序属性值:连续化
无序属性值:one-hot化 -
性能度量:均方误差
均方误差最小化:(w∗,b∗)=arg min(w,b)∑i=1m(f(xi)−yi)2=arg min(w,b)E(w,b)(w^*,b^*)=arg\ min_{(w,b)}\sum_{i=1}^m(f(x_i)-y_i)^2=arg\ min_{(w,b)}E_{(w,b)}(w∗,b∗)=arg min(w,b)i=1∑m(f(xi)−yi)2=arg min(w,b)E(w,b)
最小二乘法:基于均方误差对模型求解的方法(试图找到一条直线,使所有样本到直线上的欧氏距离直和最小)
min E(w,b)=∑i=1m(yi−wxi−b)2min\ E_{(w,b)}=\sum_{i=1}^m(y_i-wx_i-b)^2min E(w,b)=i=1∑m(yi−wxi−b)2
最小二乘“参数估计”
∂E(w.b)∂w=0, ∂E(w.b)∂b=0⇒w=∑i=1myi(xi−xˉ)∑i=1mxi2−1m(∑i=1mxi)2, b=1m∑i=1m(yi−wxi) \begin{aligned} \ \frac{\partial E_{(w.b)}}{\partial w}=0,&\ \frac{\partial E_{(w.b)}}{\partial b}=0\\ \Rightarrow\\ w= \frac{\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},&\ b=\frac1 m\sum_{i=1}^m(y_i-wx_i) \end{aligned} ∂w∂E(w.b)=0,⇒w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ), ∂b∂E(w.b)=0 b=m1i=1∑m(yi−wxi) -
多元线性回归
秩矩阵(full-rank matrix)或正走矩阵(positive definite matrix)
归纳偏好决定多个解的选择(常见做法:引入正则化项) -
对数线性回归:令模型预测值逼近u的衍生物:lny=wTx+blny=w^Tx+blny=wTx+b
形式上认为线性回归,但实质已是再求输入空间的非线性函数映射
线性回归模型的预测值与真实值标记联系(广义线性模型:y=g−1(wTx+b)y=g^{-1}(w^Tx+b)y=g−1(wTx+b))
3.3 对数几率回归(逻辑回归)
-
分类任务
二分类:单位阶跃函数y={0,z<00.5,z=01,z>0y=\begin{cases}0, z<0\\0.5, z=0\\1,z>0\end{cases}y=⎩⎪⎨⎪⎧0,z<00.5,z=01,z>0
替代函数:在一定程度上近似单位阶跃函数,单调可微,如对数几率函数:
y=11+e−z(A)y=\frac 1 {1+e^{-z}} \tag{A}y=1+e−z1(A)
联系
-
几率推导
对数几率函数(A)(A)(A)->带入假设->变换
z=wTx+b⇒y=11+e−(wTx+b)⇒lny1−y=wTx+bz=w^Tx+b\Rightarrow y=\frac{1}{1+e^{-(w^Tx+b)}}\Rightarrow ln\frac{y}{1-y}=w^Tx+bz=wTx+b⇒y=1+e−(wTx+b)1⇒ln1−yy=wTx+b
将yyy视为类后验概率P(y=1∣x)⇒P(y=1|x) \RightarrowP(y=1∣x)⇒
lnP(y=1∣x)P(y=0∣x)=wTx+b⇒{P(y=1∣x)=ewTx+b1+ewTx+bP(y=0∣x)=11+ewTx+bln\frac{P(y=1|\textbf x)}{P(y=0|\textbf x)}=\textbf w^T\textbf x+b\Rightarrow \begin{cases} P(y=1|\textbf x)=\frac{e^{w^Tx+b}}{1+e^{w^Tx+b}}\\ P(y=0|\textbf x)=\frac{1}{1+e^{w^Tx+b}} \end{cases}lnP(y=0∣x)P(y=1∣x)=wTx+b⇒⎩⎨⎧P(y=1∣x)=1+ewTx+bewTx+bP(y=0∣x)=1+ewTx+b1
几率是样本为正例和样本为负例的比值:y1−y\frac{y}{1-y}1−yy
对数几率:lny1−yln\frac{y}{1-y}ln1−yy -
优点
直接对分类可能性进行建模,无需事先假设数据分布
可得到近似概率预测
对率函数任意阶可导的凸函数,方便求最优解 -
极大似然法
凸优化理论
经典的数值优化算法:梯度下降法、牛顿法
3.4 线性判别分析(LDA)
-
LDA思想
给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离
max J=∣∣wTμ0−wTμ1∣∣22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)wmax\ J=\bf \frac{||w^T\mu_0-w^T\mu_1||_2^2}{w^T\Sigma_0w+w^T\Sigma_1w}=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w}max J=wTΣ0w+wTΣ1w∣∣wTμ0−wTμ1∣∣22=wT(Σ0+Σ1)wwT(μ0−μ1)(μ0−μ1)Tw
-
二分类问题上——Fisher判别分析
类内散度矩阵Sw:
Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T\bf Sw=\Sigma_0+\Sigma_1=\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in X_1}(x-\mu_1)(x-\mu_1)^TSw=Σ0+Σ1=x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T
类间散度矩阵Sb:
Sb=(μ0−μ1)(μ0−μ1)T\bf S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^TSb=(μ0−μ1)(μ0−μ1)T
LDA可从贝叶斯决策理论的角度来阐释
Sb与Sw的广义瑞利商:LDA最大化的目标:J=wTSbwwTSwwJ\bf =\frac{w^TS_bw}{w^TS_ww}J=wTSwwwTSbw
LDA可达到的最优分类:当两类数据同先验、满足高斯分布、协方差相等 -
LDA推广到多分类
最大化矩阵的迹WWW:max tr(WTSbW)tr(WTSwW)→SbW=λSwWmax\ \frac{tr(\bf W^TS_bW)}{tr(\bf W^TS_wW)} \rightarrow \bf S_bW=\lambda S_wWmax tr(WTSwW)tr(WTSbW)→SbW=λSwW
3.5 多分类学习
-
基本思路:拆解法-将多分类任务拆为若干个二分类任务求解
-
最经典的拆分策略
- 一对一(OvO)
- 一对其余(OvR)
- 多对多(MvM)
- 最常用技术:纠错输出码(ECOC):编码矩阵
二元码:指定正类和反类
三元码:指定停用类 - OvO和OvR是MvM的特例
- 最常用技术:纠错输出码(ECOC):编码矩阵
3.6 类别不平衡问题
- 定义:分类任务中不同类别的训练样例数目差别很大的情况
- 处理的基本方法:再平衡/再缩放
- 代价敏感学习的基础
- 解决现实中没有“无偏采样”的做法
欠采样/下采样
过采样/上采样
阈值移动