【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归
最近开始学习西瓜书《机器学习》,一本畅销的机器学习书籍,同时将结合李航的《统计学习方法》和《机器学习实战》这两本书,致力于输出更完善的内容,尽可能的用容易理解的方式输出。
在学习过程中,博主没有根据目录进行学习,因此在每篇文章开头都注明了所述内容。文中内容为根据博主的理解而进行梳理,如果有理解偏差的地方,一起讨论。
本篇内容为西瓜书第 3 章线性模型 3.1,3.2,3.3 节内容:
- 3.1 基本形式
- 3.2 线性回归
- 3.3 对数几率回归
基本形式
线性组合:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibWBpztYs1P6G88UEmD-xUMZAoWOUEMc-weeTJlyGaXm5gpZHDGT_WIlDTQazLfPO8.jpg)
一般用向量形式写为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZFrAdhfclPD5JzUiYpAluLq1emO-4QXcSKifgTJz2QHD7rwXrX3F4qviwRt2usk34.jpg)
其中,
表示给定的d个属性,线性模型试图学得一个通过属性的线性组合来进行预测的函数。
是系数,它直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性。当w和b学得之后,模型就得以确定。
线性回归
给定一个数据集:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZidAh4uWZMoPY196uP4t9nSrJmtcqVApPpwGkiPo7DQCpfbUQo6o9_i6gwKvxkF4I.jpg)
线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。
一元线性回归
一元线性回归的基本形式
先考虑只有一个属性的情况,即只包括一个自变量和一个因变量。线性回归试图学得:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiasFMeExadZQg7PaH0ZqT1SoITFNWUE5pGGSCq3nI5LgxVsVizpIyI4fMFK1MVszIQ.jpg)
使得:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibsrOQsu80o5RI--K9ywZhD3yMTeec3SI7UyBCTL0QqZhsd8jO-ungfVbln4zmemiU.jpg)
对离散属性,若属性值间存在“序”关系,可通过连续化将其转化为连续值。如属性“身高”的取值高、中、低可转化为{1.0, 0.5, 0.0};若属性值间不存在序关系,假定有 k 个属性值,通常转化为 k 维向量,如“瓜类”的取值“西瓜”、“南瓜”、“黄瓜”可转化为(0, 0, 1)、(0, 1, 0)、(1, 0, 0)。
求解一元线性回归参数
接下来,就是确定w和b了。
学习的任务就是要基于均方误差最小化来对模型的参数w和b进行求解,我们用均方误差最小化来衡量f(x)和y之间的差别。
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZfwle2k5B0RJei46IeT33yyQt7o12ftx1pJynXN5LGM_NAeZba0wqWl4IVeilODj8.jpg)
arg(argument of the maximum / minimum): 当f(x)取最小值时,x的取值。即使目标函数取最小值时的变量值。
以上,基于均方误差最小化来进行模型求解的方法称为最小二乘法。
均方误差的几何意义对应着欧氏距离。因此,在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。即求解w和b使得下列式子最小化:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibAqkCCSxAcS65Ai7dryO9rIoxkxBhnMGZP7JEIELQhmm0QUpMxIASVRPvaoBVYrkc.jpg)
这个过程称为线性回归模型的最小二乘“参数估计”。
求解过程如下,将
分别对w和b求导:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiakyUnWhnnWoI9ZyZe_31vRuIMygYXsBnKgPz7jzzxYxXppGbrGqGz7OvgEtLtW19k.jpg)
令上式分别为 0,即可得到w和b最优解的解析解:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZnFLcFWLZRgfGcy2-a4j541y3CkWemYAhMyD2GVdlT1TVjPwNEk4a2jCS8jjcnlMg.jpg)
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYEyB9zr5WTfmJHabFMhC4Vm5UZzAXVs1oxolUboZ8KeXkaQCrH24iVxJpw6bq1hYk.jpg)
其中,
为
的均值。
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAia53MNdo1UyIKYGCJBIYyFeyhF5BMt1c3qhk0nmAfWR20Q87l9HqaZnE48FQ9eqsvc.jpg)
多元线性回归
多元线性回归基本形式
现在,我们考虑多个属性的情形,即开头给出的数据集d,样本有d个属性描述。此时线性回归试图学得:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiaAQnFPu8yNuO5vTpnkGBLOCotoZw43t62mevvFDZecdn5qJoJdQ1RBdwPPvey_ugE.jpg)
使得:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAia0lqbvnMNxOCCDnhZcoAue8dNc4FhT6aRkb_kOuzLgFPoB6sI0WFnnmOTvAv2T_m0.jpg)
多元线性回归的损失函数
我们仍用均方误差最小化来衡量f(x)和y之间的差别,损失函数形式如下:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibWV9bGJlllfEkm5iLTJU4rKqolEGHqvf1K_3hIfKBoxnsyPYaPaM3GGGdKyyIm5KU.jpg)
将截距b合并到w,使得新的权重向量新增加了一维。即
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYFgMxSNrMn3KblqLQIkgeGnjwFVXKIxuejRbu0PJEIqG57s7yHHUpxlsDxg4qgrjI.jpg)
相应地,每个样本
也增加了一维。即
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAia6EMm93vE5AK0lW--yOKeDHBfOgc0F-1TiuCPPfyUSzYsdrZxhk8QjSFOAsoZpA-M.jpg)
此时,
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYRe-pgFfcBXN5qC6gLNJ7VgBbe4fLlJcNRB3l_U-T4ZH0olBRveFwo8GVU7l6SPYs.jpg)
再把标记也写成向量形式:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibxrYieJkg3T3OKGvLmzYIKTqfNK-owjj4qTSVRH9RtJUjP7iAxjIczJxY0yY_tBpA.jpg)
则损失函数可改写为:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiat_CN9hz0PK56cJWcpNr81tO3kn3T5T-ppw5NYzgMsu9l15ilwgk5MfnuPAzBivbc.jpg)
最小二乘法求多元线性回归的参数
我们要求解多元线性回归模型,就是要求解使均方误差最小化时所对应的参数,类似于
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZfwle2k5B0RJei46IeT33yyQt7o12ftx1pJynXN5LGM_NAeZba0wqWl4IVeilODj8.jpg)
有
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZK1g5Z0EBLoafeEB-_BNd6KG_L3KFu6jvsaS64xYA2gU79rvcVKvkSCDm55e1YYKs.jpg)
求得对应模型的解,即使得均方误差函数最小化时的权重向量。
同上,我们可以用最小二乘法对模型的参数进行估计,具体做法是:损失函数对需要求解的参数进行求导,并且令其导数为 0,求得相应的参数。
损失函数对参数求导最后得到:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibGVjyWQJ-OZtYSyYVkGa6cuWRc4EAWVNOkLSLFlEM0GfrdrCVJ-srfcTwmyPi8zWY.jpg)
令上式为 0 可得:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibEmBcbxQgal5_YEZoXhnl8gnKJwbw5oezyUx5jQkS0oFvccRMGiRyEGDpcgKlFh3w.jpg)
其中,
需满足条件为满秩矩阵或正定矩阵。
令
,最终学得的多元线性回归模型为:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiY_m1LWm95o6DaEQzy4673hhbj2hjiq37viC794jo9QBYxKZfvr3KMwCxwJbhicOyE.jpg)
广义线性模型
将线性回归模型简写为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZU_4Sl-1w8rXfW8r1UzggKypeDId94uz6hBODRU1GcOoZi2MkIsAT-BFk3EWxaOMk.jpg)
在线性回归中,所对应的输出标记是在线性尺度(直线)上变化的,我们想把它映射到别的尺度上,来令模型预测值逼近y的衍生物。如指数尺度上,就可以将输出标记的对数作为线性模型逼近的目标,这里是在用
去逼近y。即
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAib0SLVf5XNj2Jv13Vg8Z9jT8QatKJFmebfETdFAgqhADIeZkhkwNUwHfHlYYw3_2D8.jpg)
称为对数线性回归。
上式在形式上仍是线性回归,但实质上已经是在求取输入空间到输出空间的非线性函数映射。示意图如下:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZ8ZCbPxgwU9iUD_sweHNWsla22NyRQftAxD8-6UsrWHKChl28LbvQmPeHG0hikC3c.jpg)
更一般地,考虑单调可微函数g(·),令
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAib20th4Hq1R9xDl1i_rJXDkxNgsJStY3S4PwmXsWB_IiZotycyCUwN6cn2fIxEQ9Oo.jpg)
这样得到的模型称为广义线性模型。其中,函数g(·)称为联系函数。
显然,对数线性回归是广义线性模型在g(·)=ln(·)时的特例。
对数几率回归
上面我们介绍的是使用线性模型进行回归学习,接下来要介绍的是做分类任务。如何进行这一分类任务呢?对于广义线性模型来说,找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来即可。
对数几率函数
我们考虑二分类任务。
线性回归模型产生的预测值是实值:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibu0EJAjauoRQ2McenrcnFTgmdWS3uq6F1QEMkwjZzMXYBBSHpHrpIIMdSRx4COY-w.jpg)
二分类任务的输出标记为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZ3Z6biVf6mJVRjZ6B014t8DwFeHPQ4chmxRusfjv-pFrRk6Y9hROIDD5dz31ukjSo.jpg)
我们需要将实值z转换为 0/1 值。可通过单位阶跃函数转换:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYpr9ytbjSSZdqaPLNWDANWoo-uS3gd2_KZCFwdW2YfacdTax_xDvNRSgXfBzPzgh4.jpg)
即若预测值z大于 0 就判为正例,小于 0 判为反例,预测值为临界值 0 则可任意判别。如下图所示:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYhDMyqYwgVPlqotXMWQhxyKnBnB2eHFrWJvxIRlOIqkJNaSxAhiuNT7i0c1H45jGU.jpg)
可以看出,单位阶跃函数(红色部分)不连续,故不满足函数g(·)单调可微的条件,因此我们希望找到能在一定程度上近似它的替代函数,这个函数就是对数几率函数 (logistic function),简称对率函数,它是一种 Sigmoid 函数。
对数几率函数:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiagJc8Z6687RYEMtfKJe_HMBg2JHbX2czQyOzZvJYSzRi0L9PGh8-QXGY0MNwAo1NY.jpg)
Sigmoid 函数:
即形似 S 的函数,对率函数是 Sigmoid 函数最重要的代表。
对数几率回归模型
对率函数将z值转化为一个接近 0 或 1 的y值,并且在输出值z=0附近变化很陡。将它作为
代入广义线性模型,得到模型:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibiV80a6td3eL9gRwh2s01p4QqMwfDxF8r4Iz-3-FjJ3FZHg5BhpMSzXMT1IJSsq9Y.jpg)
将上式变化为以下形式:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYBl6CokqjZTpnw69d0OkOG7A5lB17LkmAsfQPJSqpAijPX5qHolSduwP1LlkHT1hs.jpg)
若将y视为样本x作为正例的可能性,则1-y是其反例可能性,两者的比值
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZT39dC-AGkjZNmOqsC_kt_Ql5zE8qoIp6z0pJbpDDNfZtbMrRvwilrAbGVrKj0r1k.jpg)
称为几率,反映了x作为正例的相对可能性,对其取对数得到对数几率:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZfLtpNJcylLZfbtVRHKTO3C4F625c3rgguEBF8vianXoTo1nmIGhGiG5whyZtW66U.jpg)
由以上推导可知,该模型实际上是在用线性回归模型的预测结果
去逼近真实标记的对数几率
。称它为对数几率回归 (logistic regression 亦称 logit regression),是一种分类学习方法。
logistic regression:
在周志华的《机器学习》里译为对数几率回归,在李航的《统计学习方法》里译为逻辑斯谛回归。本文中不区分两种译法,都是指 logistic regression,特此说明。
二项逻辑斯谛回归模型
在下式中![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibiV80a6td3eL9gRwh2s01p4QqMwfDxF8r4Iz-3-FjJ3FZHg5BhpMSzXMT1IJSsq9Y.jpg)
我们希望确定式中的w和b。若将y视为后验概率估计p(y=1 | x),则式
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYBl6CokqjZTpnw69d0OkOG7A5lB17LkmAsfQPJSqpAijPX5qHolSduwP1LlkHT1hs.jpg)
可重写为
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZDePD2N1M5oEB-Fo9GEDf84D-6fgPnqVImcJJx_s0O2iCLWEHvWIzuJQhkPJqJ_Rg.jpg)
显然有
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZoyMlLPRB7cWT3yPSfCqaHJPJUT1hOdU3N4JHHSJuJkBV0PZ13x85Y-LuJh9q6soM.jpg)
上式即为二项逻辑斯谛回归模型的条件概率分布。逻辑斯谛回归比较两个条件概率值的大小,将实例x分到概率值较大的那一类。
由以上二式可得:
![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYvDLbw7MSVEMX66_z-Z7UbS6q970vzmJ_z-PUmJCX6wih4kFm4vLm3jdpEkzGSXhA.jpg)
这就是说,在逻辑斯谛回归模型中,输出y=1的对数几率是输入x的线性函数,或者说,输出y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯谛回归模型。
换个角度看,是通过逻辑斯谛回归模型将线性函数转换为了概率,也就是说线性函数的值越接近正无穷,概率值就越接近 1;线性函数的值越接近负无穷,概率值就越接近 0。
极大似然法估计参数
下面通过极大似然法来估计w和b。
首先做一个符号说明,令:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiaDHKkityoOB0uRfx8M0NqX7wbxeZ27Yj4gNAhfmaAE_r5KSs-W7XBLOqGtDD4Bk24.jpg)
给定数据集:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZ3S1IaFF5yTyfyrJ69-EpFW-hmwf0WaPaVWhvtMcCRrYog2QeZj31mzrdKguI9IVc.jpg)
对率回归模型最大化“对数似然”:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiaB7iRDDV_xwCMXh_XIekdkUPjhwLhItrYgb_Mv6cw2SpNtkmLyj60P2a5kf4dzJLo.jpg)
这个式子的意思是,对于每一个样本来说,找到参数使其属于真实标记的概率最大。 即令每个样本属于其真实标记的概率越大越好。
上式中的似然项可重写为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiaMVwf0YhOPVft2cjK3YZ_PVHvy872-UgiDwg-gwFiJ3Nud8JnpeMQ3f6xkc_rWdNM.jpg)
代回式中得到对数似然函数,化解为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiZWHEgb9yKqsXimqNGuWR1wHVabr-Xb2nRZWyeJu5GDLlsryzfPZSTPwtG6eaaUwfA.jpg)
得到最大化目标函数,等价于最小化下式:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYzz-h8jKulZY-EbjW-3p-6wPrG3WQ-_wtJAl_VkBjCievjLWv6aKENzACggoyggbs.jpg)
这是关于
的高阶可到连续凸函数,这样问题就变成了以对数似然函数为目标函数的最优化问题。经典的数值优化算法如梯度下降法和牛顿法等都可求得最优解。
以牛顿法为例,其第t+1轮迭代解的更新公式为![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYeJuOBkMiPCbQLJ0PjaMR_sEkpAWik25v8OAU-gGwzTOdIHQxCMHhRoMUEVJdfcvQ.jpg)
其一二阶导数分别为:![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAiYBYfteM_L5KywYEFyIJxqIKj9GHNRGJmsin9IjgXa2ZFBx67eJ0_YXlXGPBe9tLsU.jpg)
假设
的极大似然估计值是
,则学到的逻辑斯谛回归模型为![【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [1] 线性回归和 Logistic 回归](https://cdn.ancii.com/article/image/v1/Qj/zb/RO/ORzjbQVFJasX5aR2DaTg2_Zx5KSH75KdTtVIpx5BAibi8xoJvNQFXLn1IQcplW270wTYpPHOo-Fp3cfoARYSBgjYFs_tz7FlmBXs9V0wbFM.jpg)
参考链接:
线性模型(1) —— 多元线性回归
西瓜书《机器学习》阅读笔记6——Chapter3_公式(3.27)的推导过程
逻辑斯蒂回归(Logistic Regression)
不足之处,欢迎指正。