吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


一、单变量的LR模型


 最简单的单变量线性回归模型:

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


二、损失函数(cost function)


在这个例子中使用的是平方误差函数最为损失函数,这是解决线性回归问题最常用的损失函数

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


1、假设函数和损失函数之间的关系

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


先考虑θ₀=0的情况:当θ₁ = 1时,损失函数取最小值

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


θ₀不知道时,两个参数,对应的损失函数的图像如下:是一个三维图像。与上面例子类似,都是找到损失函数值最小时候的参数值。

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)



三、梯度下降(Gradient descent)

梯度下降法基础知识

1、梯度:

在微积分里面,对多元函数参数求偏导数,把求的各参数的偏导数以向量的形式写出来,就是梯度。

梯度向量从几何意义上讲,就是函数变化增加最快的地方,沿着梯度向量的方向更容易找到函数的最大值,沿着向量相反的方向,梯度减小最快,更容易找到函数最小值。


2、梯度下降与梯度上升可以互相转化。求损失函数f(θ)的最小值,用梯度下降法迭代,亦可反过来求损失函数 -f(θ)的最大值,用梯度上升法。


3、梯度下降算法解析

(1)直观解释

eg.在一座大山的某一位置,要下山,走一步算一步,每走一步就计算当前位置的梯度,沿着当前梯度的负方向走一步(也就是当前最陡的位置),然后再次计算当前位置,这样一步一步往下走,一直走到觉得已经到了山脚。有可能我们只是到了一个局部山峰底部。所以梯度下降不一定能找到全局最优解,有可能是一个局部最优解。当损失函数是凸函数的时候,梯度下降法所求的解就是全局最优解。

(2)相关概念

(i)步长:梯度下降迭代过程中每一步沿负方向前进的长度。

(ii)特征:样本输入部分,样本(x0,y0),其样本特征为x,输出为y。

 (Iii) 假设函数:在监督学习中,用假设函数拟合输入样本,记为hθ(x)。比如对于样本(xi,yi)。(i=1,2,...n),可以采用拟合函数如下: hθ(x) = θ01x

(iv)损失函数:度量拟合程度,评估模型拟合好坏。损失函数极小化,意味着拟合程度最好,对应的模型参数为最优参数。线性回归中,损失函数通常为样本输出和假设函数的差取平方。

(3)算法:

(i)代数法

(ii) 矩阵法

(4)算法调优

(i)步长选择。

  步长太大,会导致迭代过快,错过最优解;

  步长太小,迭代速度太慢,耗时间太长。

(ii)初始值选择。

  有可能求的是局部最优解,所以要多次使用不同初始值进行运算,选择损失函数最小化的初始值。

 (iii)将特征数据归一化。



可视化图像:
吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)

Gradient descent algorithm


需注意:=是赋值的意思,temp0和temp1要先求出偏微分之后再更新进行后续操作,不能写成右下角形式。
吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)

关于梯度下降参数迭代里需要注意的是导数和学习率阿尔法,下图就是证明为什么梯度导数前面是负号,其最终目的就是收敛到损失函数最低的θ值

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


对于阿尔法而言,就相当于学习步长,太小会导致学习速度太慢,太大会导致有可能错过最低点。

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)

当初始点就在局部最低点时,由于梯度是0,所以参数不会改变

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)

我们也不用随着迭代进行而降低步长,因为迭代的进行会让梯度不断变小,越接近极值点收敛速度越慢。

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)


回到刚才那个例子,分别求偏导数,即可

吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)
吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)



PPT地址:http://download.****.net/download/cheneykl/10127716