机器学习笔记(参考吴恩达机器学习视频笔记)02_单变量线性回归

版权声明:博客内容都是对一些知识的整理,可能有些部分存在借鉴,如果存在侵权,请联系我删掉。 https://blog.csdn.net/cunxinlitian/article/details/82556231

2 单变量线性回归

2.1 模型描述

思想:有了一些自变量、因变量的数据,拿一个数学函数Model(模型)去拟合(适配)这些数据,以便之后能根据这个模型,在自变量(条件)给出后,预测因变量的值。m (数量),x(输入,特征),y(输出,预测值),(x,y)表示一个训练样本,如果表示特点训练样本,则用(x(i),y(i))来表示第i个训练样本

为了更正式地描述监督学习问题,我们的目标是,给定一个训练集,学习函数h:X→Y,以便h(x)是一个“好”的预测器y的对应值。由于历史原因,这个函数h被称为假设函数。从形象上看,这个过程是这样的:

当我们试图预测的目标变量是连续的,例如在我们的房价预测示例中,我们称之为回归问题。当y只能接受少量离散值(例如,如果考虑到居住面积,我们想要预测一个住宅是房子还是公寓),我们称之为分类问题。

2.2 代价函数

代价函数的意义在于帮助我们找到假设函数的最佳参数,从而确定最佳的假设函数。学习算法的目标就是使得代价函数最小,即预测的值尽量接近实际值。线性回归问题的代价函数也被称作平方误差函数,也叫平方误差代价函数。平方误差代价函数是解决回归问题最常用的手段。

代价函数,或者称为误差函数:

J (θ)={∑(h(θ) - y)² } / 2m

h(θ) = θ₀ + θ₁x 由minimize J (θ)确定θ₀和θ₁

代价函数No.1:

如果用图形的方式来思考,训练集就散布在x-y平面上。 我们试图作出一条直线(由hθ(x)定义),它通过这些散布的数据点。

我们的目标是获得最佳线。尽可能最好的线是这样的:线上散射点的平均垂直距离将是最小的。理想情况下,该线应该通过我们训练数据集的所有点。在这种情况下,J(θ0,θ1)的值将为0。

以下示例显示了理想情况,其中成本函数为0。

当θ1= 1时,我们得到1的斜率,它经过我们模型中的每个单一数据点。相反,当θ1= 0.5时,我们看到从我们的拟合到数据点的垂直距离增加:

这使我们的成本函数增加到0.58。 绘制其他几点得出以下结论图形:

因此,为达到目标,我们应该尽量减少成本函数。 在这种情况下,θ1= 1是我们的全局最小值。

代价函数No.2

等值线图是包含许多等高线的图。 两个变量函数的轮廓线在同一行的所有点上具有恒定值。如下面图:

采取任何颜色并沿着“圆”走,人们会期望获得相同的代价函数值。例如,上面绿线上的三个绿色点对于J(θ0,θ1)具有相同的值,因此发现它们沿着同一条线。

带圆圈的x显示θ0= 800和θ1= -0.15时左侧图形的成本函数值。再取一个h(x)并绘制其等值线图,可以得到以下图表:

当θ0= 360且θ1= 0时,等值线图中J(θ0,θ1)的值更靠近中心,从而降低了代价函数误差。 现在给我们的假设函数一个稍微正向的斜率会更好的拟合数据。

上面的图尽可能地降低了代价函数,θ1和θ0的结果分别趋于0.12和250左右。当我们的图表上绘制这些值时,似乎将点放在了最内圈的“圆圈”的中心。

2.3 梯度下降

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数的最小值。

随机选择一个参数组合,计算代价函数,寻找一个能让代价函数值下降最多的参数组合,持续这么做直到获得一个局部最小值。批量梯度(batch gradient descent)下降算法的公式为:

repeat until convergence{

}

其中,是学习率(learning rate),决定了沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。注意,要同时更新参数,应该先计算公式右边的内容。

在梯度下降算法中,接近局部最低点时,算法会自动采取更小的幅度,因为局部最低处的导数为零,接近它时导数会自动变得越来越小,所以不必减小

2.4 梯度下降的线性回归

梯度下降与线性回归算法的比较:

线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:

猜你喜欢

转载自blog.csdn.net/cunxinlitian/article/details/82556231
今日推荐