斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

监督学习应用与梯度下降

         1.线性回归(Linear Regreesion

              以房价预测为例,引入符号。(以训练样本仅含两个特征值为假设)

           

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

           系统工作流程如下:

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

           假设函数(线性回归模型)

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

           学习工作所要完成成的任务就是不断修正θ的值,使其最终结果更接近真实结果。

           如果用更规范化的表示来对准确程度进行度量,引入J,可近似看为预测结果h与原结果y之间的方差。

           J的表达式可以表示如下:

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

          至此,第一部分的问题已叙述完毕,接下来将使用不同的方法来进行参数调优,尽可能的减小J值。

            2.梯度下降(Gradient Descent)

                  前文已经说到要采取各种方法找到最小化J值,梯度下降便是其中的一种方法,可以通过以下图片简单理解。

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

              在图中,X、Y坐标表示参数的取值范围,Y坐标表示J的取值,由此得知,J的最小取值在蓝色谷底处,通过数学方法找到到谷底的路径即可找到最小的J值以及此时XY的值。

 

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

          图中路径即为该过程,每一步下降过程均选择最选择最“陡”的路径(及正梯度的方向)。

          梯度下降的主要过程如下,

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

          根据修正零向量的方法不同又可将梯度下降分为批梯度下降与随机梯度下降。

       (1)批梯度下降算法(Batch Gradient Descent)

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

           

         公式解释:θ即为初始向量,α为学习速度,表征到图像上就是每一步的步长,α大小的选取应适当,过大会越过最低点,过小会使函数收敛过慢,通过对J关于θ求偏导,找到梯度方向并进一步修正θ,直至函数收敛,公式推导如下。

 

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

 

         重复过程直到算法收敛,此时向量θ可以表示为

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

 

         p.s.如何判定是否收敛?1.检验两个迭代是否改变了很多,2.(更常用)检测J的值是否不在发生很大改变。

               为什么要通过求偏导数来找到下降最陡峭的方向?因为对θ求偏导数找出的是梯度的方向,而沿着梯度的方向,函数下降值最大。

          总结:批梯度下降算法的适用于训练样本较少的训练集合,若样本结合过大,批梯度下降算法所需计算量过大,完成情况不够好,这时候,更适合使用随机梯度下降算法。

     (2)随机梯度下降算法(Batch Gradient Descent)

          随机梯度下降算法的基本原理同批量梯度下降算法,区别在于批量梯度下降算法每次更新梯度时要用到全部的样本数据,而随机梯度下降算法只用到了第j个样本值,其梯度更新过程表示如下:

斯坦佛大学机器学习课程笔记及整理#2(线性回归与梯度下降)

        随机梯度下降由于每次只使用一个样本数据进行更新,其最大的优点就是训练速度快,但其缺点也显而易见,由于样本数据使用少,每次更新数据不一定都能保证是最优解,甚至会出现J值增大的情况,或者达不到最优解。

 

 

 另:在少数情况下,最优解的选择具有非唯一性,即由于θ值的不同,可能出现不一样的最优解。