吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降

无监督学习:一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E,经过P的评判,程序在处理T时性能有所提升。
A computer program is said to learn from experience E with respect to some task T and some performance measure P , if its performance on T , as measured by P , improved with experience E. —— Tom Mitchell

无监督学习:给出数据并且已知正确的输出,找到输入和输出之间的关系。可以分为回归问题和分类问题,在回归问题中,我们试图在连续输出中预测结果,这意味着我们正在尝试将输入变量映射到某个连续函数。在分类问题中,试图在离散输出中预测结果,换句话说,我们试图将输入变量映射到离散类别。

无监督学习:在无监督学习中,数据没有属性和标签这一概念,所有的数据没有区别;无监督学习允许我们能够在很少或者根本不知道我们的结果的情况下学习,我们可以通过基于数据中变量之间的关系来推导数据的结构。

Model Representation
房价预测:根据房子的面积预测房子的价格
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第1张图片
符号规范:
x ( i ) x^{(i)} x(i),表示输入样本
x ( i ) x^{(i)} x(i),表示试图预测的输出或目标变量
m,表示数据集
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第2张图片
为了更精确地描述监督学习问题,我们的目标是,给定一个训练集,学习函数h:x~y,使得H(x)是y的对应值的“好”预测器。由于历史原因,这个函数H被称为hypothesis。从图画上看,这个过程是这样的:
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第3张图片
当我们试图预测的目标变量是连续的,例如在我们的住房例子中,我们把学习问题称为回归问题。当y可以只接受少量离散值(例如,如果给定居住区,我们想预测住宅是房子还是公寓,比如说),我们称之为分类问题。

Cost Function
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第4张图片
假设函数为 h 0 ( x ) h_0(x) h0(x),现在选择合适的参数 θ 0 \theta_0 θ0 θ 1 \theta_1 θ1,使得模型可以准确的预测y的值
我们可以通过使用代价函数来测量假设函数的精度,在这里是计算的是hypothesis函数的输出和真实输出之间的平均差值,公式如下:
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第5张图片
假设 θ 0 \theta_0 θ0=0则:
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第6张图片
样本有三个(1,1),(2,2),(3,3),当 θ 1 \theta_1 θ1=1时J的值为0,改变 θ 1 \theta_1 θ1得值求的J,就可以绘制出J( θ 1 \theta_1 θ1)的图,我们的优化目标是,通过选择 θ 1 \theta_1 θ1的值,尽可能的减小J( θ 1 \theta_1 θ1)。
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第7张图片
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第8张图片
当保留两个参数的时候:
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第9张图片
为了分析方便,使用等高线图,每个椭圆对应的就是一组( θ 0 \theta_0 θ0, θ 1 \theta_1 θ1),同心圆的中心就是J( θ 0 \theta_0 θ0, θ 1 \theta_1 θ1)的最小值
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第10张图片

Gradient Descent
对于代价函数J,可能有很多参数,为了简单起见,这里只讨论两个参数的情况:
在梯度下降算法中要做的是,不停地一点点改变θ0 和θ1 ,通过这种改变使J变小。直到我们找到了J的最小值,或许是局部最小值。
我们通过下面的图片,说明梯度下降算法是如何工作的。
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第11张图片
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第12张图片

当我们的代价函数在我们的图中的凹坑的底部时,即当它的值是最小值时,我们就知道我们已经成功了。红色箭头显示图表中的最小点。
我们这样做的方法是取我们的代价函数的导数。切线的斜率是这一点上的导数,它将给我们一个移动的方向。我们沿着代价函数最陡的方向向下移动。每一步的大小由参数α决定,这被称为学习速率。
例如,上面图表中的每个“星星”之间的距离代表了我们的参数α所决定的一个步骤。较小的α会导致较小的步长,较大的α会导致较大的步长。步步进的方向是由J的偏导数决定的。取决于在图上的起点,可以在不同的点结束。上面的图像显示了两个不同的起点,它们在两个不同的地方结束。

数学上的定义:
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第13张图片
需要注意的是两个参数需要同时进行更新,在这里是使用temp临时变量保存然后头同时更新
当只有一个参数 θ 1 \theta_1 θ1重复以下参数直到收敛,当斜率为正的时候 θ 1 \theta_1 θ1回减小,当斜率为负的时候 θ 1 \theta_1 θ1会增大
θ 1 : = θ 1 − α d d θ 1 J ( θ 1 ) \theta_1:=\theta_1-\alpha\frac{d}{d\theta_1}J(\theta_1) θ1:=θ1αdθ1dJ(θ1)
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第14张图片

另一方面,我们应该调整参数α,以保证梯度下降算法在合理的时间内收敛。未能收敛或过多的时间来获得最小值意味着我们的步长是错误的。
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第15张图片
当斜率趋近于0的时候, θ 1 \theta_1 θ1得变化就会减小,直到斜率为0, θ 1 \theta_1 θ1就不会改变
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第16张图片
左边为梯度下降算法,右边为线性回归模型
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第17张图片
求偏导数结果如下
吴恩达-机器学习笔记(1)-模型表示、损失函数、梯度下降_第18张图片
批量梯度下降:每一次梯度下降,都会使用全部的数据集

你可能感兴趣的:(吴恩达-机器学习笔记)