机器学习(一)线性回归

2019-03-24  本文已影响0人  计算机视觉__掉队选手

机器学习的两个重要的问题,一个是回归,一个是分类。
回归问题指的是对一组数据进行拟合,比如房价问题,f(x)=y,x是房子的面积,y就是最终的房价,在这个问题中,我们最终通过一个模型来得到拟合的结果。这样就可以在知道房子面积的时候,通过训练模型得到房子的价格。
衡量这些数据的模型,最简单的就是线性模型。在线性模型中,有一个重要的问题,就是如何去评价模型的好坏,比如我们得到了拟合的曲线,知道了在某一个数据点的预测值,那么它和真实值之间的差距到底有多少呢?

损失函数

这是机器学习最重要的一个步骤,定义损失函数,然后使用优化方式去最小化损失函数,在线性回归中,影响最终结果的特征值可能有很多个,比如在下面的方程中,可以把x1看作是房屋面积,x2看作是房屋的地段,通过这样一个线性回归方程就可以计算最终的房屋价格。


image

使用通用的模型定义:


image
这里就要介绍最重要的损失函数,通过计算预测房价和真实房价之间的差距,就可以评估整个线性模型的好坏,平方项和系数1/2,这样定义的原因是为了方便后续的求导操作。问题最终就是通过寻找合适的theta值来找到最小的损失值,那么下面就介绍求解的方法。
image

求解方法

最小二乘法和梯度下降法

最小二乘法

首先对目标函数进行转换,使用矩阵方程表示:


image

目标取得最小值的点,可以通过求导操作找到:


image
最终的结果如下所示:
image

此方法要求矩阵为列满秩,求矩阵的逆运算计算量还是比较大的,如果特征维数较高,使用这种方式就会严重影响计算速度,下面就介绍另外一种方法。

梯度下降法

初始化theta:


image

对损失函数求导:


image image
参考链接
[https://www.cnblogs.com/futurehau/p/6105011.html]
上一篇 下一篇

猜你喜欢

热点阅读