【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

最近开始学习西瓜书《机器学习》,一本畅销的机器学习书籍,同时将结合李航的《统计学习方法》《机器学习实战》这两本书,致力于输出更完善的内容,尽可能的用容易理解的方式输出。

在学习过程中,博主没有根据目录进行学习,因此在每篇文章开头都注明了所述内容。文中内容为根据博主的理解而进行梳理,如果有理解偏差的地方,一起讨论。


本篇内容为西瓜书第 3 章线性模型 3.13.23.3 节内容:

  • 3.1 基本形式
  • 3.2 线性回归
  • 3.3 对数几率回归

基本形式

线性组合:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

一般用向量形式写为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

其中,【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归表示给定的d个属性,线性模型试图学得一个通过属性的线性组合来进行预测的函数。【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归是系数,它直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。当wb学得之后,模型就得以确定。

线性回归

给定一个数据集:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。

一元线性回归

一元线性回归的基本形式


先考虑只有一个属性的情况,即只包括一个自变量和一个因变量。线性回归试图学得:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

使得:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

对离散属性,若属性值间存在“序”关系,可通过连续化将其转化为连续值。如属性“身高”的取值高、中、低可转化为{1.0, 0.5, 0.0};若属性值间不存在序关系,假定有 k 个属性值,通常转化为 k 维向量,如“瓜类”的取值“西瓜”、“南瓜”、“黄瓜”可转化为(0, 0, 1)(0, 1, 0)(1, 0, 0)


求解一元线性回归参数


接下来,就是确定wb了。

学习的任务就是要基于均方误差最小化来对模型的参数wb进行求解,我们用均方误差最小化来衡量f(x)y之间的差别。

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

arg(argument of the maximum / minimum):f(x)取最小值时,x的取值。即使目标函数取最小值时的变量值。

以上,基于均方误差最小化来进行模型求解的方法称为最小二乘法


均方误差的几何意义对应着欧氏距离。因此,在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。即求解wb使得下列式子最小化:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

这个过程称为线性回归模型的最小二乘“参数估计”

求解过程如下,将【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归分别对wb求导:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

令上式分别为 0,即可得到wb最优解的解析解
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

其中,【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归的均值。

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


多元线性回归


多元线性回归基本形式


现在,我们考虑多个属性的情形,即开头给出的数据集d,样本有d个属性描述。此时线性回归试图学得:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

使得:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


多元线性回归的损失函数


我们仍用均方误差最小化来衡量f(x)y之间的差别,损失函数形式如下:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

将截距b合并到w,使得新的权重向量新增加了一维。即

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

相应地,每个样本【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归也增加了一维。即

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

此时,

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

再把标记也写成向量形式:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

则损失函数可改写为:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


最小二乘法求多元线性回归的参数


我们要求解多元线性回归模型,就是要求解使均方误差最小化时所对应的参数,类似于

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

求得对应模型的解,即使得均方误差函数最小化时的权重向量。


同上,我们可以用最小二乘法对模型的参数进行估计,具体做法是:损失函数对需要求解的参数进行求导,并且令其导数为 0,求得相应的参数。

损失函数对参数求导最后得到:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

令上式为 0 可得:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

其中,【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归需满足条件为满秩矩阵或正定矩阵。

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归,最终学得的多元线性回归模型为:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


广义线性模型


将线性回归模型简写为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

在线性回归中,所对应的输出标记是在线性尺度(直线)上变化的,我们想把它映射到别的尺度上,来令模型预测值逼近y的衍生物。如指数尺度上,就可以将输出标记的对数作为线性模型逼近的目标,这里是在用【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归去逼近y。即

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

称为对数线性回归

上式在形式上仍是线性回归,但实质上已经是在求取输入空间到输出空间的非线性函数映射。示意图如下:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


更一般地,考虑单调可微函数g(·),令

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

这样得到的模型称为广义线性模型。其中,函数g(·)称为联系函数

显然,对数线性回归是广义线性模型在g(·)=ln(·)时的特例。

对数几率回归

上面我们介绍的是使用线性模型进行回归学习,接下来要介绍的是做分类任务。如何进行这一分类任务呢?对于广义线性模型来说,找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来即可。


对数几率函数


我们考虑二分类任务。

线性回归模型产生的预测值是实值:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

二分类任务的输出标记为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

我们需要将实值z转换为 0/1 值。可通过单位阶跃函数转换:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

即若预测值z大于 0 就判为正例,小于 0 判为反例,预测值为临界值 0 则可任意判别。如下图所示:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

可以看出,单位阶跃函数(红色部分)不连续,故不满足函数g(·)单调可微的条件,因此我们希望找到能在一定程度上近似它的替代函数,这个函数就是对数几率函数 (logistic function),简称对率函数,它是一种 Sigmoid 函数

对数几率函数:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

Sigmoid 函数:
即形似 S 的函数,对率函数是 Sigmoid 函数最重要的代表。

对数几率回归模型


对率函数将z值转化为一个接近 0 或 1 的y值,并且在输出值z=0附近变化很陡。将它作为【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归代入广义线性模型,得到模型:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

将上式变化为以下形式:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

若将y视为样本x作为正例的可能性,则1-y是其反例可能性,两者的比值

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

称为几率,反映了x作为正例的相对可能性,对其取对数得到对数几率

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

由以上推导可知,该模型实际上是在用线性回归模型的预测结果【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归去逼近真实标记的对数几率【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归。称它为对数几率回归 (logistic regression 亦称 logit regression),是一种分类学习方法

logistic regression:
在周志华的《机器学习》里译为对数几率回归,在李航的《统计学习方法》里译为逻辑斯谛回归。本文中不区分两种译法,都是指 logistic regression,特此说明。

二项逻辑斯谛回归模型


在下式中
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

我们希望确定式中的wb。若将y视为后验概率估计p(y=1 | x),则式

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

可重写为

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

显然有

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

上式即为二项逻辑斯谛回归模型的条件概率分布。逻辑斯谛回归比较两个条件概率值的大小,将实例x分到概率值较大的那一类。

由以上二式可得:

【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归
这就是说,在逻辑斯谛回归模型中,输出y=1的对数几率是输入x的线性函数,或者说,输出y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯谛回归模型。

换个角度看,是通过逻辑斯谛回归模型将线性函数转换为了概率,也就是说线性函数的值越接近正无穷,概率值就越接近 1;线性函数的值越接近负无穷,概率值就越接近 0。


极大似然法估计参数


下面通过极大似然法来估计wb

首先做一个符号说明,令:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

给定数据集:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

对率回归模型最大化“对数似然”:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

这个式子的意思是,对于每一个样本来说,找到参数使其属于真实标记的概率最大。 即令每个样本属于其真实标记的概率越大越好。

上式中的似然项可重写为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

代回式中得到对数似然函数,化解为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

得到最大化目标函数,等价于最小化下式:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

这是关于【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归的高阶可到连续凸函数,这样问题就变成了以对数似然函数为目标函数的最优化问题。经典的数值优化算法如梯度下降法牛顿法等都可求得最优解。

以牛顿法为例,其第t+1轮迭代解的更新公式为
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

其一二阶导数分别为:
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归

假设【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归的极大似然估计值是【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归,则学到的逻辑斯谛回归模型为
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归


参考链接:
线性模型(1) —— 多元线性回归
西瓜书《机器学习》阅读笔记6——Chapter3_公式(3.27)的推导过程
逻辑斯蒂回归(Logistic Regression)

不足之处,欢迎指正。

相关推荐