您的位置:首页 > 其它

斯坦福机器学习: 网易公开课系列笔记(三)——局部加权回归、logistic回归

2017-02-18 12:07 681 查看
在上一节中,我们讲到了线性回归的梯度下降和最小二乘的求解方法,但是实际当中,大部分问题并不是线性的,如果用线性方程去拟合这些数据,误差会非常大。

下图中最左边的,是我们用y=Θ0+Θ1x对数据集进行拟合,可以看到数据并没有很好的分布在方程的附近,会产生很大的误差;如果我们添加一个额外是特征x2,并用y=Θ0+Θ1x+Θ2x2进行拟合,可以看到数据被拟合的更好一些;进一步,如果我们添加更多的特征,可以对数据进行完美的拟合。那么,如果我用下述三个方程进行房价预测,哪个的效果最好?



很明显是中间的这个方程。对于第一个线性回归,它对样本数据的拟合太差,这种问题我们称为欠拟合(underfitting),会带来很高的偏差;对于第三张图,虽然它对样本的拟合几乎完美,但是它把由于样本中的噪声带来的影响认为是某些样本本来不包含的属性拟合了进去,预测的效果会很差,这种问题称为过拟合(overfitting),对应于高方差。因此,特征的选择,在很大程度上决定了我们模型的好坏。

局部加权线性回归(Locally Weighted Linear Regression)

原始的线性回归已经不能解决上述问题,为此,我们想到另外一种处理方式——局部加权回归:即我们只考虑数据的一小段来对数据进行线性拟合,这样在局部范围内,我们的拟合模型将会工作的很好。

原始的线性回归中,我们需要最小化成本函数:


而在局部加权回归中,我们需要最小化:


在这里,我们给每个预测误差项一个权重,一般地,



直观上的理解,就是对于某个预测点x,我们求解在x附近的线性回归函数,距离x越远的点,权重越低,对应误差项的就会越小,带*的参数为波长函数,控制权重下降的速度



局部加权回归工作的很好,它的缺点就是:对于每一个要预测的点都要重新计算一次回归模型,代价很高。

PS:局部加权回归并不能完全避免欠拟合过拟合问题

同样的,局部加权回归也可以用梯度下降最小二乘求解,这里给出最小二乘的推导过程:



Logistic回归

成本函数的由来

在讲解logistic回归之前,我们对之前的模型概率做一个解释,前面我们直接写出了成本函数,那为什么要选择最小二乘,而不是其他的诸如:预测值与真值差值的绝对值?关于成本函数的选择,有很多原因,这里给出其中一种解释。

我们先做出以下假设:



PS:这里条件概率中的“;”,表示Θ值是真实存在的,只是我们现在不知道,因此这里它不是一个随机变量,如果用“,”则表示概率以“|”后的为条件,只有随机变量能表示条件。这里应读作,在给定x并且以为Θ为参数的情况下y的概率

那么Θ的似然性:



在现实生活中,有很多问题,譬如:医生判断一个人是否生病,答案只能是或否;明天是否会下雨,答案也只能是是或否。这类问题中,我们的预测值仅仅是有限个离散值,如果我们仍然用线性回归来解决这种问题,情况将会十分糟糕,我们用y={0,1}来抽象上述答案的是与否:



黄色的点表示正类,蓝色的点表示负类,我们通过线性回归得到了一条拟合直线,并预测,当给一个x>X(图上的红点)时,我们认为它属于正类,反之为负类。让我们增加数据:



此时,如果我们依旧以0.5为划分点,可以看到,有的正类点的x是<X,因此应用线性回归来解决分类问题是很糟糕的一种想法。

对于二分类问题,我们先做如下定义:



我们修改假设函数的形式:



g(z)函数图像如下:



我们尝试用sigmoid函数来估计p(y|x;Θ),假设:



在极大化似然性之前,我们先看下sigmoid函数一个有用的性质:



极大化似然性,对对数似然函数求导:



注意到,这个公式和前面线性回归中的梯度下降求解参数的公式在形式上是一样的,只是这里的hΘ(x)不再是之前的函数而是sigmoid函数。其实,所有属于指数分布族(exponential family)的函数都具有相同形式的更新公式,在下一节我们会详细介绍。

感知机

最后简单
ada4
介绍下感知机,它也是用于二分类问题的一种算法,SVM也是由感知机演变而来的。采用梯度下降方式求解得到的更新公式和logistic回归具有相同的形式,只不过这里的hΘ(x)对应的g(z)变为:



知识补充:用正则化方法来避免过拟合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习