Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法

(一)局部加权回归


通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting)。如下图的左图。而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的
过拟合(overfitting),不符合数据真实的模型。如下图的右图。

下面来讲一种非参数学习方法——局部加权回归(LWR)。为什么局部加权回归叫做非参数学习方法呢?首先,参数学习方法是这样一种方法:在训练完成所有数据后得到一系列训练参数,然后根据训练参数来预测新样本的值,这时不再依赖之前的训练数据,参数是确定的。而非参数学习方法是这样一种算法:在预测新样本值的时候,每次都会重新训练数据得到新的参数值,亦即说每次预测样本都会依赖训练数据集合,所以每次得到的参数是不确定的。
局部加权回归算法是对线性回归的扩展,当目标假设是线性模型时,使用线性回归自然能拟合得很好,但如果目标假设不是线性模型,比如一个忽上忽下的函数,这时用线性模型就拟合得很差。为了解决这个问题,当当我们在预测一个点的值时,我们选择和这个店相近的点而不是全部得点做线性回归。基于这个思想,就有了局部加权回归算法。之前普通的线性拟合中,我们得到了最小二乘的损失函数为

找到合适的参数θ使得上述损失函数最小即可。而在局部加权回归中,损失函数变为
其中,是权值,它的作用在于根据要预测的点与数据集中的点的距离来为数据集中的点赋权值,当某点距离待预测点较远时,其权重较小,否则较大。一个较好的函数如下
其性质为:
(1)如果

(2)如果,则
其中,τ被称为波长参数,用于控制权值随距离下降的速率。该函数比较像但不是高斯函数或正太分布。这个算法的问题在于,对于每一个要查询的点,都要重新依据整个数据集计算一个线性回归模型出来,这样使得计算代价极高。


(二)最小二乘法的概率解释
接下来,对线性回归中的最小二乘法的合理性做了概率解释,即为什么选择平方函数作为目标函数会使得效果比较好?
假设一:对于每一个样例(x(i),y(i)),特征值x和目标值y的关系可以表示成:
其中,ε(i)  表示线性模型与目标值的误差。
 
假设二:ε(i)  服从正态分布:
假设一只是一种表示方法,成立很合理。那么假设二为何会成立呢?这是因为影响误差的因素有很多,这些因素都是随机分布,根据中心极限定理(Central Limit Thoery),即许多独立随机变量的和趋向于正态分布,我们可以得到假设二。
       有了假设二之后,我们可以得到:

这也表示,当给定参数θ和x时,目标值y也服从正态分布:
注意到x(i)与θ间的分号,它表示的是θ是已知变量而非随机变量;整个P式表示给定以θ为参数的概率。

假设三:对于各个样例的误差ε(i) ,它们是IID(独立同分布,Independent Identical Distribution)随机变量。
这样,我们就可以得到似然函数:

其中,Y是一个长度为样例数的向量,X是样例数*特征数的矩阵。
似然函数的意义是什么?似然函数表示的是在参数θ下,数据集出现的概率。似然函数与概率的概念其实相似,不同之处在于似然函数把θ作为变量,找到使得数据集出现的概率最大时的参数,就称为极大似然估计。
对上式取log对数,即对一个乘积取对数等于对每项取对数之后再求和。可得下式:

所以,最大化等同于最小化



所以,之前讲的一般的最小二乘法实际上是在假设误差项满足高斯分布且独立同分布的情况下,使似然性最大化。

 
 
(三)逻辑回归
 
对于目标值是连续变量的问题来说,使用线性回归可能会解决得很好,即便其问题不是线性模型所能解决的,也可以用局部加权回归解决。但对于目标值是离散变量的分类问题来说,应用线性模型会有一定的困难。当然,有些这类问题也可以应用线性模型,但线性模型绝不是一种通用的解决这类问题的方法。
对于目标值是离散变量的二分类问题,假设目标值为{0,1},所以先改变模型使其预测值在[0,1]之间,我们选择这样一个函数:

其中,函数g被称为logistic函数或sigmoid函数。
有了这个函数,对于一个样例,我们就可以得到它分类的概率值:


将两式组合起来,得到公式如下: 这样,我们得到了函数h在整个数据集上的似然函数为:
同样的,为了计算方便,对似然函数取对数: 因为要求最大似然函数,可应用梯度上升算法,所以有如下更新规则: 求上式的导数时,根据上节课的做法,先假设有一个样例,这样,导数的解法如下:

考虑到多个样例,所以更新规则为:
上式与上节课中最小二乘的形式一样,但是实际上含义是不一样的,因为函数h不一样。但这并不是巧合,这几乎是一种通用的规则,你可以选择不同的假设,但如果使用梯度下降(上升)算法的话,更新规则都是如上式的形式的。

 
(四)感知器算法
感知器算法强迫函数输出为{0,1}离散值而不是概率。其假设为
在这个假设的基础上,我们使用与


形式相同的规则,就得到了感知器算法。感知器算法是人工神经网络的基础,在后面的理论学习中,将把它作为分析的起点。


 

posted @ 2016-04-20 23:51  阿玛尼迪迪  阅读(724)  评论(0编辑  收藏  举报