3.1 基本形式
给定由个属性描述的示例
,其中
是
在第
个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,
变成向量形式:
其中,和
学得之后,模型就得以确定。
许多功能更为强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。
此外,由于直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。(通过
值的大小判断重要性,值越大,越重要)
3.2 线性回归
给定数据集,其中
。
“线性回归”试图学得一个线性模型以尽可能准确地预测实值输出标记。
先考虑一种最简单的情形:输入属性的数目只有一个,也就是。
线性回归试图学得:
试图让均方误差最小,
均方误差有非常好的几何意义,它对应了常用的欧式距离。
基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。
在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线上的欧式距离之和最小。
求解并且使得均方误差最小化的过程,称为线性回归模型的最小二乘“参数估计”。分别求导等于0,即可求解。


更一般的情形,样本由个属性表示,此时成为“多元线性回归”


令上式等于0,则可得到最优解的闭式解。

然而,现实任务中往往不是满rank,就不逆。例如,属性的值远远超过样本数目,导致
的列数多于行数。此时,
不满rank,具有多个可行解,它们均能使均方误差最小,选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项。


更一般地,考虑单调可微函数,令

称其为“广义线性模型”,其中函数称为“联系函数”
3.3 对数几率回归(逻辑回归)
若要做分类任务,只需在广义线性模型中,找一个单调可微函数将分类任务的真实标记与线性回归模型的预测值联系起来。

但是单位阶跃函数不连续,因此不能作用到广义线性模型中的。
于是希望找到一个近似单位阶跃函数的替代函数,并且希望其单调可微。
对数几率函数(Sigmoid 函数):

带入到广义线性模型,就得到

若将视为样本
成为正例的可能性,则
是其反例的可能性,两者的比值叫做几率,为
。
对数几率:
接着看如何确定公式(3.18)中的和
。

(3.24)应该是通过概率和为1得到,(3.23)是如何得到的,暂时不清楚


后面这部分没看懂,特别是最小化那一块。
逻辑回归我记得一般是用交叉熵来构建代价函数:
3.5 多分类学习
有些二分类学习方法可直接推广到多分类,但在多数情况下,是基于一些基本策略,利用二分类学习器来解决多分类问题。
考虑个类别
,多分类学习的基本思路是“拆解法”,也就是将多分类任务拆为若干个二分类任务求解。

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


OvR 只需训练个分类器,而OvO需要训练
个,因此,OvO的存储开销和测试时间开销通常比OvR更大
MvM是每次把若干个类作为正类,若干个其他类作为反类。
MvM的正,反类构造必须有特殊的设计,不能随意选取。书里介绍了一种最常用的MvM技术:“纠错输出码”(Error Correcting Output Codes,简称ECOC)。

3.6 类别不平衡问题
类别不平衡是指:分类任务中不同类别的训练样例数目差别很大的情况。

然而,当训练集中正,反例数目不同时,令表示正例数目,
表示反例数目,则观测几率是
。

这是类别不平横学习的一个基本策略---“再缩放”。
再缩放的思想简单,但是因为“训练集是真实样本总体的无偏采样”这个假设往往不成立,因此实际操作起来麻烦,未必能有效地基于训练集观测几率来推断出真实几率。
现有技术大体上有三类做法:
- 直接对训练集里的反类样例进行“欠采样”,也就是去除一些反例使得正,反例数目接近。(去掉多的)
- 直接对训练集里的正类样例进行“过采样”,也就是增加一些正例使得正,反例数目接近。(补少)
- 基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式(3.48)嵌入到其决策过程中,称为“阈值移动”
欠采样法的时间开销远小于过采样法(欠采样使得训练集合变小,过采样使得训练集变大)
但是欠采样法如果随机丢弃反例,可能丢失一些重要信息(欠采样法的代表性算法EasyEnsemble)
过采样法不能简单地对初始正例样本进行重复采样,否则会招致严重的过拟合。(过采样的代表性算法SMOTE)

最后这个“再缩放”是常用的,在损失函数那里加一个权重。
参考资料:
西瓜书
网友评论