梯度下降法--笔记

1.吴恩达老师课程的文档版 https://www.cnblogs.com/ooon/p/4947688.html

2. https://www.jianshu.com/p/c7e642877b0e

梯度下降法的思想可类比于“下山”,初始位置在山上某点,目的位置是山的最低点,那么下山就需要不断的在当前位置找到下山最陡的那条路的'方向‘,然后向这个方向往下走一段路,再重新计算最陡方向,直到到达最低点。

那么梯度下降如何在数据分析中发挥作用?

以”房屋面积--房价“例子的预测为例:

梯度下降法--笔记_第1张图片

 这个例子中给出一些房屋面积---房价的已知数据点。那么,当你的朋友向你询问他的房子卖多少价格合适时,我们考虑利用上述数据训练出一个“房屋面积--房价”的规律,然后将你朋友的房屋面积带入这个规律(式子),就可以得到他应当出售的价格。

归结就是回归的问题。

首先从简单入手,考虑线性的回归,实际上在这个例子中,线性已经足够。可以看出这些已知的数据点大约分布在一条直线附近,这条直线可以用y=kx+b表示。

为了得到这个函数,我们给计算机一个初始的k,一个初始的b(任意给,可以给0)。然后计算机计算已知的这些数据点们距离y0这条直线的距离之和,显然第一次往往时很大的,也就是说已知的这些数据点都距离y0直线很远,即y0直线不能很好的拟合上述数据点。那么计算机调整k与b的值,进行重新计算,直到找到最拟合的那条线。

计算机如何调整呢?就可以运用到梯度下降法了。
显然,每一次调整都希望y函数能够比上次尽可能多的提高拟合程度,也就是说使数据点们距离y直线的距离和越来越小。

引出两个式子:

式子1即y函数

式子2即数据点们与y直线的距离的平方之和,即损失函数。因为后续梯度下降的过程中需要对损失函数求偏导,因此,再该函数前面加一个系数1/2消去求偏导产生的2,方便运算。再除以m是为了求平均值。

3.

上面说到我们需要使数据点们距离y直线的距离和越来越小,即求出损失函数最小值点,进而求出该点对应的theta1和theta2,即k和b,即可得知y函数。

如何求损失函数的最小值?数学上,这是二元函数求偏导的问题。回归到数据分析的思想中,那么就是梯度下降的问题。如何理解?首先我们可以画出损失函数的图像。

梯度下降法--笔记_第2张图片

回到文章开始对梯度下降的解释,初始位置在山上某点,目的位置是山的最低点,那么下山就需要不断的在当前位置找到下山最陡的那条路的'方向‘,然后向这个方向往下走一段路,再重新计算最陡方向,直到到达最低点。

我们对于找到最陡的下山方向的手段是损失函数分别对theta1和theta2求偏导,同时找到两个变量各自最陡的下降方向结合起来即向量(theta1,theta2)的下降方向,沿该方向下降一段距离alpha,重新计算最陡方向,直到到达一个点,该点无法再找到任何下降的方向,即为最低点。

这里引入第四个式子:

4.

这个式子的含义即  找到向量(theta1,theta2)的下降方向,沿该方向下降一段距离alpha。

你可能感兴趣的:(机器学习笔记,机器学习,梯度下降,数据分析)