您的位置:首页 > 其它

【机器学习笔记】二、 Regression回归

2014-02-06 16:15 429 查看

一、基础



这里面,输入变量x有两个,一个是居住面积(living area),一个是房间数目(bedrooms)。

所以x 是一个二维向量。

表示第i组数据中的居住面积(living area)。

表示第i组数据中的房间数目。

我们假设输入和输出呈线性关系,那么便有下面的公式。



其中,

叫做parameters(参数),也叫做weight(权重)。以上的公式还可以简写成



其中右边是线性代数中向量相乘的写法。

这样一来,我们最终是要学习的就是parameters θ ,也就是求θ 的值,使得h(x)最接近于y(h(x)表示预测的值,y表示实际的房价)

怎么判断h(x)是不是接近于y呢? 所以有了下面的公式。



有没有很熟悉,貌似是最小二乘法的公式。

二、LMS算法(最小二乘法)

为了使得J(θ)最小,这里用一个"initial guess"当做初始的θ的预测值,然后不断地迭代,这种算法就是(gradient descent)梯度下降算法,迭代的公式如下:




好吧,其实高等数学中有学过梯度的概念,梯度是变化最大的方向导数,对于二元函数,梯度是求偏导,记不清了,书不在身边。

α 是(学习速率) learning rate,θj是同步更新的,也就是对于这个例子,三个θ是一起更新的。
下面是假设只有一组数据(训练集只有一份数据)的时候的偏微分的推导过程。



将推导后偏微分的公式代入,便有了下面的。

:=是右边等于左边,如果有学过编程,这个:=就是编程里面的等号。
上式叫做LMS update rule,又叫做Widrow-Hoff learning rule. 当training example不止一份集合的时候,有下面的算法。



其实是两个循环吧,外面的循环是针对j的,有几个未知θ,就有几次repeat,里面的是循环是针对i的,有m组数据。因为对于每个θ,都需要遍历一遍。当然效率比较低叫做batch gradient descent
这里面讨论了局部最优和整体最优的问题,没看懂,可能类似有时候梯度下降会逐渐下降到局部最优而不是整体最优,视频里面有讲。
下面的图是由等高线组成的,上面的蓝色表示比较低,轨迹是梯度下降的轨迹,从(48,30)开始下降,每次取点。横坐标和纵坐标应该是θ的取值,可以看到,逐渐逼近最低点。



另外一种算法是一个训练集合点一个点加入。叫做stochastic gradient descent随机梯度下降incremental gradient descent。


这个算法最明显的优点是收敛快,所以随机梯度下降比批量梯度下降受欢迎,特别是数据量多的时候。这里的随机是指梯度下降的方向比较随机,每次并不意味着朝着梯度的方向下降。

可以看到,这个算法外层是M个数据组,里层是θ。后者的优点是早点逼近最终的θ。因为当第一组数据运算结束的时候,就能得到各个θ的值了,后面就是在不断地修正。

三、标准方程

这部分提供了用矩阵来表示的一种方法,不用迭代,因为刚被线性代数虐过,我就不分析过程了。结果如下



四、过拟合和欠拟合

如果比较适合用二次函数的模型,用了一次函数,那是欠拟合(underfitting),用了三次函数,那就是过拟合(overfitting)。

五、locally weighted linear regression (LWR)局部加权线性回归 LOESS

参数学习算法 有确定的未知参数,只要求出相应的参数就可以求出对应的模型。

非参数学习算法 参数随着训练集合中数据的增多而增多。

局部加权线性回归是非参数学习算法(non-parametric learning algorithms)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: