斯坦佛大学机器学习课程笔记及整理#3(欠拟合与过拟合、局部加权回归、使用最小二乘法的理论依据、logistic分类算法)
1.欠拟合与过拟合
以房价预测模型为例,假设我们有如下7个房价数据,其唯一参数选为房子的面积,用不同的函数幂次对同样的样本进行线性回归,可以得到如下的结果
通过例子 ,可以发现在用一次函数进行拟合时,函数并不能十分精确的反映预测房价的情况,与实际结果相差较大,出现欠拟合情况,这是由学习能力低下引起的,欠拟合比较容易克服,但如果我们用高次函数拟合,势必会得到一个经过全部样本点的拟合函数,由于函数完全依赖样本点,而由于样本点本身具有不可克服的噪音,所以得到的拟合函数更不能很好的反映现实状况,这种称为过拟合,过拟合是机器学习面临的关键障碍。
2.局部加权回归算法
局部加权回归算法属于非参数学习算法的范畴,所谓非参数学习算法,是相对于参数学习算法而区分的,之前介绍的线性回归算法即属于参数学习算法,具体表现为选取学习对象的若干参数,通过具体算法进行拟合,如房价预测模型中,我们可以选取房子的面积、卧室数目、楼层等作为学习参数,由此可知,参数的选择直接关系到模型预测的准确度,为降低参数选择不当而造成对模型的影响,产生了不需要参数的非参数学习算法。
局部加权回归算法,不必考虑特征值的选择,以房价预测系统为例,线性回归算法需要考虑所有样本的值,但局部加权回归算法仅需考虑样本点附近的若干样本点的取值,如下图。
由于数值较为接近的样本点之间存在较大的相关性,(我是这么理解的,好比给出身高预测体重,那么179 180 181这三个身高与体重之间存在的相关性肯定是大于170 180 190这三个样本点的),所以我们单独把一个样本点以及其周围的样本点拿出来分析,进行线性拟合,如果采用微分法的思想,在整体上,我们将得到一个更为精确的模型。
如下图:
具体的实现算法如下:
由于局部加权回归算法在微观上仍为线性回归算法,所以我们仍先使用线性回归算法的步骤及表示:
拟合出θ,使得预测值与实际值的方差尽可能小。
由于局部加权回归要考虑临近样本点的影响,所以给原公式加权值,并将权值函数定为w,
但是需要注意的是局部加权回归算法并不能避免欠拟合和过拟合的问题。
3.为什么线性回归时采用最小二乘法的方法来找到最小值?
首先说明一下什么是最小二乘法。
基于均方误差最小化来进行模型求解的方法为最小二乘法。
接下来开始论证:
首先,我们假设实际值y与预测值存在如下关系,
其中,ε用来表示噪音,理解为不可消除的误差,且ε服从正态分布,并且独立同分布。
在此情况下,已知x,此时y的分布也服从正态分布,其概率密度及概率为:
要使P最大,采用概率论求最大似然估计的知识,求θ的表达式的值。
由此,使用最小二乘法得证。
4.logistic分类
分类问题所产生的预测值是离散的,只能为是或者否。
分类问题也可以用线性回归的方式来解决,但通常情况下结果很不理想,以下说明原因。
比如,下组的数据中,在x0处进行划分,大于为1小于为0,明显能够达到目标。
但当样本数据集发生变化,在采用同样的线性拟合方法,在x0处进行划分,会出现问题导致分类失败。
由于y的值属于[0,1],所以选择一个函数g,其具体形式如下:
g函数为signoid函数,又称logistic函数,其函数图像如下:
p.s.为什么用这个函数见下节。
将y发生的概率用公式表示出来:
化简形式:
带入y的值,可轻松松得出化简之前的公式。
同样使用最大似然函数求解的知识,
要使似然函数最大,可以采用之前学过的梯度下降 的方法,之前梯度下降的方法是为了最快下降找到最小值,在这里,我们需要最快上升找最大值,只需改变对θ修正时所用的正负号即可,此方法称为梯度上升,关于θ的公式如下:
可以发现,与梯度下降的算法唯一不同的是把-号变成了+号。
5.感知器算法
在logistic函数中,我们会得到0-1之间的数,如何将这些小数转化为0或者1?只需重新假设一个新的函数,函数如下:
初学,如有问题,欢迎交流。