

本文是我学习周志华老师编写的机器学习书籍『西瓜书』的第三章:线性模型的过程中做的笔记。
基本形式
def 给定一个由
优点:
- 简单,易于建模。
- 可解释性强。
线性回归
介绍
目标:学习预测实值输出标记
确定
一元线性回归
利用均方误差损失计算最小二乘参数估计:
$$
\begin{aligned}
(w^, b^)
&=\mathop{\arg\min}\limits_{(w, b)}\sum\limits_{i=1}^m(f(x_i)-y_i)^{2}\
&=\mathop{\arg\min}\limits_{(w,b)}\sum\limits_{i=1}^m(y_i-wx_i-b)^{2}
\end{aligned}
$$
- 对应:欧式距离
- 方法:最小二乘法
偏导:
令偏导 = 0,得使得
多元线性回归
def 样本由
为便于讨论,令
则:
当
满秩 or 正定时,令 得使 最优的闭式解:
此时对非满秩
→ 解不唯一,由算法归纳偏好决定。
推广 对数线性回归:
实质:求取输入空间到输出空间的非线性函数映射
再推广 广义线性模型:
对数几率回归
介绍
线性模型推广至分类任务
考虑二分类:
- 输出标记
{0, 1} - 实值映射
然而,阶跃函数不连续,因此不能用作
替代
通过分式运算与取对数将上述函数形式化为以下形式:
若将
对数几率回归的实质就是用线性回归模型预测真实标记的对数几率。
优点:
- 直接建模分类可能性。
- 对数几率函数是任意阶可导的凸函数,数学性质良好,最优解可求。
w, b 的求解
将
则
可以推出:
最大化对数似然:
原理:令每个样本属于其真实标记的概率越大越好。
令
令
则似然项可重写为:
则最大化对数似然等价于最小化以下损失:
线性判别分析(LDA)
介绍
LDA 是一种经典的线性学习方法,应用在多分类任务上,这个学期接触过特殊的二分类 LDA 方法,也就是模式识别课上讲到的 Fisher 线性判别分析。
LDA的思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。
若将数据投影到直线
若将所有样本点投影到
同类样例投影点尽可能接近
异类样本投影点尽可能远离
二者结合可得优化目标:
定义类内散度矩阵:
定义类间散度矩阵:
优化目标
上式即为 LDA 最大化目标,称为
注意到,
不失一般性,令
则原目标等价于:
由拉格朗日乘子法,上式等价于:
即:
若令
由于我们不关心
当两类数据同先验,满足高斯分布且协方差相等时,LDA 可达到最优分类。
LDA 推广到多分类任务
将 LDA 推广到多分类任务,假定
定义全局散度矩阵,其中
定义类内散度矩阵为每个类别的散度矩阵之和:
由以上两式可得:
多分类 LDA 有多种实现方法,使用
优化目标需要满足同类样例的投影点尽可能接近,异类样例的投影点尽可能远离的准则。
多分类学习
介绍
策略:利用二分类学习器解决多分类问题。
考虑
拆分问题,为拆分出来的每个二分类任务训练一个学习器,然后对多个分类器进行集成执行多分类推理。
经典的拆分策略:
- 一对一(One vs. One, OvO)
- 一对其余(One vs. Rest, OvR)
- 多对多(Many vs. Many, MvM)
一对一 & 一对其余
一对一(OvO) 将
例如,OvO 将为了区别类别
测试阶段,新样本将同时提交给所有分类器,产生
一对其余(OvR) 则是每次将一个类的样例作为正例,其它所有类的样例都作为反例,这个设置对应
在测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果,若有多个分类器预测为正类,则选择其中置信度最高的类别标记作为最终分类结果。
容易看出,OvO 的存储开销与测试时间开销通常比 OvR 更大,但在训练时,OvR 的每个分类器均使用全部测试样例,但 OvO 的每个分类器仅用到两个类别的样例,因此类别很多时,OvO 的训练时间开销通常比 OvR 更小,至于预测性能,则取决于具体的数据分布,多数情况下两者差不多。
多对多
多对多(MvM)每次将若干类作为正类,若干个其它类作为反类,OvO / OvR 是 MvM 的特例。
常见技术:纠错输出码(Error Correction Ouput Codes, ECOC)
ECOC 将编码思想引入类别拆分,尽可能在解码过程中具有容错,工作过程如下:
- 编码:N 个类别, M 次划分,每次一部分作正类,其余作反类,形成二分类训练集;一共产生 M 个训练集,对应训练 M 个分类器。
- 解码:M 个分类器分别对测试样本进行预测,预测标记组成编码,将该预测编码与各类别编码进行比较(计算码距),返回最小距离类别标记作为分类结果。
类别划分通过编码矩阵指定,常见形式有二元码和三元码,前者可指定正类反类,后者还可以额外指定停用类,给出书上示意图便于理解:
编码表示的方法在距离计算中具有鲁棒性,即使有分类器出错,仍然有可能产生正确分类结果。
类别不平衡问题
类别不平衡(class-imbalance):分类任务中,不同类别训练样例数目差距大。
回顾对数几率回归中,对二分类问题,定义了
决策规则(1):
该结论建立在类别平衡的基础上。
对于不平衡类别,令
决策规则(2):
分类器基于决策规则(1)进行决策,对其预测值进行调整,使其实际执行决策规则(2):
这是类别不平衡的基本策略
现实情境下,采样往往不满足无偏,现在的技术总体有以下做法:
- 欠采样:去除一些反例使得正、反例数量相近,再学习。
- 过采样:增加一些正例使得正、反例数量相近,再学习。
- 阈值移动:基于原始训练集学习,在预测时将上式的再缩放策略嵌入决策过程。