线性回归(吴恩达机器学习)

回归是机器学习中最经典的算法,它的意思就是根据之前的数据找出某种规律(可以是线性,也可以是非线性),构建模型实现预测或分类。

一、线性回归

1.线性回归

线性回归顾名思义,就是找出大量数据在二维平面中呈现的是线性关系。拿房价举个例子,假如你现在要出售自己的房子,你不大清楚这么大面积的房子能卖多少钱,于是你找到了所在小区的房价数据(房价、面积),发现大概是呈线性分布,那么如果你可以通过这个直线,去计算出自己的房子大概可以卖多少钱

房价与面积数据

2.工作方式

整个监督学习算法的工作方式如下图,还是拿刚才的预测房价举例,把训练集数据(房价、房屋面积)喂给算法,等到算法学到足够好之后。我们给他输入一个x(代表面积),算法就给我们一个y(预测房价)。因此,h(算法)是一个从x(输入数据)到y(输出数据)的函数映射。


监督学习工作方式



二、误差函数表示

那么我们如何表达h,现在学习的是线性回归,当然可以做出这样的假设:

假设算法模型

那么我们现在的目的,就是找到这个算法中合适的参数。怎样才算合适?当然是算法拟合出来的结果与真实的结果误差越小越好,试想一下如果算法拟合出来的结果与真实值的误差为零,那简直完美有木有!所以可以根据“真实值与算法拟合值的误差”来表示算法的“合适程度”!

所以我们假设出这样的公式:

误差函数

这里要用到最小二乘的思想去构建平方差函数:

全局性误差(平方差函数)

这里的loss,我们定义为“全局性误差函数”,它的含义为:

模型预测的准确程度

换句话说,loss的值越小,则代表算法拟合结果与真实结果越接近;loss的值越大,则表示目前的算法越不靠谱,反应Loss与“算法数据”的关系如下图:

Loss与算法数据关系

当我们看到在右边的loss函数中取深蓝色的点,即w=0,对应左面的算法与真实数据相差最远。当取粉红色的即w=0.5时,左边图像的算法离真实值更加接近了。而当我们找到Loss的最小值点,即w=1的时候,对应左边的图像可以说近乎完美地拟合出了真实数据的规律

当你找到了loss的最小值点对应的w,也就找到了我们的目标算法对应的描述参数。

三、梯度下降

所以问题就变成了,如何找到全局性误差函数loss的最小值问题,要用到之前提到的“梯度下降法”

这里就不再赘述了(之前的文章对梯度下降有过详解,感兴趣的朋友可以出门左转去看),这里重点说下梯度下降的思想逻辑

就像刚才提到的,我们的目标现在已经变成了求得loss的最小值点。梯度下降的核心思想就是随机在loss上取一个点,然后朝着loss下降变化最大的下一个点挪动,通过这样一步一步挪动的方式,找到函数的最小值

四.线性回归“得到”

·所谓回归,就是我们从数据中找打算法(规律),实现对未知数据的预测或分类

·我们可以通过假设的算法,去描述这个规律

·为了找到合适的算法,就要构建全局性损失函数,即真实数据与拟合数据的误差

·损失函数的值越接近于零,则模型的效果越好

·为了找到这个“最小值”(零点),需要用到梯度下降法

你可能感兴趣的:(线性回归(吴恩达机器学习))