机器学习基础(林軒田)笔记之十

来源:互联网 发布:比特币交易 知乎 编辑:程序博客网 时间:2024/06/15 05:03

Logistic Regression (Logistic线性回归)

回顾

第九讲我们着重介绍了线性回归问题,在使用平方误差的情况下线性回归假设集的解为

Logistic Regression Problem

如果按照之前的二分类方法来分析心脏病复发的问题,则输出为。若含有噪声,则目标函数使用目标分布P表示:


此时的学习流程如下:


但是在实际中,我们通常是告知患者心脏病复发的可能性,而不是确切的会不会复发。此类问题被称为软二元分类问题,目标函数为:



此分类为题的理想数据集如下:


但是实际中我们我们无法得到心脏病复发的确切几率,而仅仅能得到心脏病是否复发,实际的数据集如下:


进而:


现在的问题就是如何给出假设函数集H,根据之前的经验,我们对输入特征的各个属性进行加权求和:


进而,我们利用Logistic函数将得到的加权和转换到0到1之间:


从而,得到假设函数为:

Logistic函数定义(单调,可微):


Logistic回归的假设集:



Logistic Regression Error

三种线性模型的比较:


线性分类使用的0/1损失函数,线性回归使用的平方损失函数,本节讨论Logistic回归的损失函数。

由目标函数可得:


假设存在一个数据集,则由目标函数产生这种数据样本的概率:


进而:


上式中未知,但是我们知道假设函数,我们用替代得到:


假设假设函数很接近,则产生数据集D的可能性(称之为似然)与产生数据集D的可能性也很接近。如果产生了数据集D,则可以认为产生该数据集的可能性很大,那么可以推断出假设函数g为似然最大的假设函数


进而:


Logistic函数的一个性质:


进而:


可以写为:


观察可知,最大值的求取是没有影响的,最值只与函数对每个样本的连乘相关,即:




将最大值问题转换为最小值问题(加一个负号),另外乘以以保证与之前的错误衡量机制类似:


进而:



注:上图中的错误表达式称为交叉熵错误。


Gradient of Logistic Regression Error

上一节中我们求得了Logistic的损失函数,进一步我们需要求得使得最小的


观察得:


求解:


进一步:


假设一种特殊情况:所有的,则,此时同号,即线性可分。除去此特殊情况,当加权和为0时,此时不能使用线性回归中使用的闭式求解方法来求解最小值。


针对上述情况,我们使用在PLA中使用的迭代思路来求解最小值:


即:当同号时,不修改参数向量,当异号时按照上图中步骤二修改参数向量。


上图中表示步长,v表示更行的方向。


Gradient Descent

在上一节中我们介绍了怎样使用迭代的方式来求解Logistic回归问题的误差最小值问题:用过逐步修改参数向量w的值,寻找是得最小的w。

 

此方法中如何设计和v成为解决问题的关键。在PLA中,v是错误修正,在Logistic回归算法中我们针对其来找到一种快速求的最佳w的方法。由上一节我们已知,是一个可微的的连续的凸函数,则上图中的最低点所对应的w向量即是我们要求的w。

为了使得v仅代表方向的变化,我们将其归一化为单位向量;代表更新的步长。即在固定,时,我们可以沿着最快的方向找到使得最小的w。

下面我们介绍一种线性近似的方法:


上面的迭代方法仍然是一个非线性带约束的式子,我们可考虑将其转换成一个近似的式子,进而通过求解使得近似式子最小的w来间接的达到求解使得最小的w的值。

首先,回忆一下一维空间中的泰勒展开式:


同理,当很小时,可以将展开为:



因此可以与近似:


上式中已知,为一给定正数,因此上式化为求:



两个向量乘积最小为其方向相反,又由于v被归一化为单位向量,因此:


进而:


上式说明,w每次沿着梯度的反方向移动一小步,按照此方法可以快速找到使得最小的w,此方法称之为梯度下降法。

下面介绍对求解的影响:


由上图可知:当过小时,w的更新速度过慢;过大时,下降过程不稳定,可能出现越更新越高的情形;最佳的是使得随着梯度的下降而下降,即成正比,如上图右所示。

从而,我们可以给出一种新的给值方法:


进而:


上式中称之为固定学习率。


Logistic回归算法的求解步骤归结为下:











0 0
原创粉丝点击