写在前面
线性模型,可以说是机器学习中最简单的一种模型;它形式简单,易于实现,却同时也是SVM、神经元等复杂非线性模型的基础。CH1和CH2,介绍了机器学习领域的基本概念,和获得模型的一般流程,从CH3开始,讲讲述ML领域最经典的算法。
本章介绍了几种经典的线性模型。
2018.2.6记录;
基本形式
假设以猫为样例,我们要评价一只猫,是好猫还是坏猫,那么,“好”、“坏”就是标签,分别以1和0来指代。假如只考虑毛色、大小、叫声三种属性的话,我们可以获取一个公式:f(x)=0.2x()+0.3x()+0.5x(),根据这个公式的值来判断好猫还是坏猫。这就是一个简单的线性回归模型。
其基本形式为:
一般用向量形式写为:
线性回归linear regression
线性回归,试图学得一个线性模型,以尽可能准确的预测实值输出标记。即是说,这个模型用于做监督学习中的回归任务。
首先讨论最简单的例子:一元线性回归。
线性回归试图学得:公式3.3
求解这个方程的重点在于,求解出w和b的值。要知道,w和b的取值,会使得均方误差最小,也即是说,使得公式3.4最小:
这里,均方误差的含义是:样本空间中,样本标签值与预测值之间的几何距离,即“欧氏距离”。也就是说,w和b的取值,要使得这个欧式距离最小。
然后,我们讨论多元线性回归。多元线性回归的解为:
再然后,书本还给出了多元线性回归的变式,对数线性回归。很好理解,它取的值,不是y,而是y的对数。本质上来说,对数线性回归是一个非线性模型,但在模型的形式上,可以看做是线性模型。
再然后,书本还给出了广义线性模型:
这里,g()是单调可微函数,这里称之为联系函数。
对数几率回归
线性回归,用于监督学习中的回归任务;那么对于分类任务,线性模型中的对数几率回归可以派上用场。在李航老师的《统计学习方法》中,对数几率回归被称为逻辑回归。
在回归任务中,标签y的取值,可以是任意连续值;在分类任务中,标签y则只能去离散值。这里为了简化问题,讨论的是二分类,那么y可以取0和1。
引入对数几率函数,替代线性回归中的y,那么可以得到如下公式:
那么现在的问题是:如何确定逻辑回归中的w和b呢?这里就要借用最大似然法。
线性判别分析Linear Discriminant Analysis
LDA也是一种经典的线性学习方法。它的思想是:
多分类学习
将逻辑回归中的二分类问题扩展,就是多分类问题。解决多分类问题的基本策略,是拆解法,即:将多分类任务拆为若干个二分类任务。
那么如何拆分呢?经典的有三种拆分方法:
- 一对一,One vs One,简称OvO;
- 一对其余,One vs Rest,简称OvR;
- 多对多,Many vs Many,简称MvM。
类别不平衡问题
习题
3.1 试析在什么情况下式(3.2)中不必考虑偏置项b
3.2 试证明,对于参数w,对率回归的目标函数(3.18)是非凸的,但其对数似然函数(3.27)是凸的
3.3 编程实现对率回归,并给出西瓜数据集3.0a上的结果
3.4 选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率
3.5 编程实现线性判别分析,并给出西瓜数据集3.0a上的结果
3.6 线性判别分析仅在线性可分数据上能获得理想结果,试设计一个改进方法,使其能较好的用于非线性可分数据
3.7
3.8
3.9
3.10