关于机器学习:机器学习-梯度下降算法

4次阅读

共计 1956 个字符,预计需要花费 5 分钟才能阅读完成。

梯度降落算法

在机器学习中,梯度降落算法罕用于最小化代价函数(或损失函数),以此来优化模型的参数。代价函数掂量的是模型预测值与理论值之间的差别。通过最小化这个函数,咱们能够找到模型预测最精确的参数。

代价函数

代价函数(Cost Function)或损失函数(Loss Function),是用来掂量模型预测值与实在值之间差别的一个函数。在回归问题中,一个常见的代价函数是均方误差

其中 n 是样本数量,yi 是样本的实在值,被减去的则是预测值,这个值越小,阐明预估越靠近实在值。

理论案例:从简略线性回归了解梯度降落算法

假如咱们有一组数据,示意屋宇的大小与其价格的关系。咱们想要构建一个简略的线性回归模型来预测房价,模型模式为
y=wx+b,其中 y 是房价,x 是屋宇大小,w 是斜率,b 是截距。
第一步要做的是:初始化模型参数:随机抉择 w 和 b 的初始值,比方 w=0 和 b=0。计算代价函数的梯度:首先,咱们须要定义代价函数,这里咱们应用均方误差。而后,计算代价函数对于每个参数的梯度。
咱们随便给出一组数据:
(1,2),(2,4),(3,6)
咱们的目标是尽量用 y =wx+ b 去拟合这些数据。w 梯度计算公式是:

b 的则是

w=0,b= 0 得出得梯度别离是:-56/ 3 和 -8。
这个线性模型是一条 y= 0 的直线,显然无奈拟合这些数据. 咱们此时设置 w=0.1,b=0.1 来拟合,又失去了两个梯度,可能这次的线性模型拟合度会好一些,那么再设置 w =0.2,b=0.2,会不会又好一点呢?咱们每次选用 w,b 都会失去一个预测值,而后咱们能够算出他的代价函数(误差)值,咱们就能够画出这样一张图。

其中咱们要找的点就是误差最低的那一个点,咱们可能会从任何中央登程,去找那个点,这个过程使用到的就是 梯度降落算法

正式介绍

通过下面那个小例子,咱们曾经晓得了,梯度降落算法罕用于最小化代价函数(或损失函数),以此来优化模型的参数。代价函数掂量的是模型预测值与理论值之间的差别。通过最小化这个函数,咱们能够找到模型预测最精确的参数。

形象

咱们能够形象这个过程:设想一下,你在山顶,指标是以最快的速度下到山脚。因为你被蒙上了眼睛,看不见四周的环境,所以你只能通过感觉脚下的坡度来判断下一步该往哪个方向走。这个“感觉坡度”的过程,就有点像梯度降落算法的工作原理。

梯度的含意

“梯度”(Gradient)其实就是指函数在某一点上的斜率,或者说是这一点最陡的回升方向。梯度通知你,如果你想让函数值减少得最快,应该往哪个方向走。相应地,梯度的反方向就是函数值降落最快的方向。

梯度降落的工作原理

梯度降落算法的核心思想就是:在以后地位计算梯度(即斜率),而后沿着梯度的反方向走一小步,反复这个过程,直到达到山脚(即找到函数的最小值点)。

梯度降落 – 专属案例

假如咱们有一个函数
y=x^2 这个求最小值,这个案例不是让你应用高中数学去解答,你能够不假思索答复是 0,然而不是我想要学习的。
让咱们以梯度降落的形式求解,初始化: 假如咱们随机抉择一个终点,x=2。计算梯度: 对 f(x) 求导失去它的梯度 f(x)=2x。在 x =2 处的梯度是 4。此时咱们更新 x,咱们假如咱们走一小步,0.1 那么此时 x 应该是:x = x – 学习率 梯度 = 2 – 0.1 4 = 1.6 计算此时的梯度,反复这个过程,直到 x 的更新值很小很小,有限趋近于 0,此时实际上 x 的值 (在 y =x^2 中) 也有限趋近于 0,y 也趋近于 0 了。

注意事项

学习率的抉择:学习率太大可能导致“跨过”最低点,甚至发散;学习率太小又会导致收敛速度很慢。因而,抉择一个适合的学习率十分要害。收敛条件:通常会设置一个阈值,当间断两次迭代的 x 值变动十分小(小于这个阈值)时,咱们就认为算法曾经收敛。

完结

咱们计算房价,假如线性模型,求 w,b,咱们应用均方误差(MSE)作为代价函数,来掂量模型预测值与理论值之间的差别,咱们应用梯度降落模型计算 w,b 的梯度,失去了误差,咱们通过管制迭代次数和学习率,一直的批改 w,b,以使得误差越来越小,误差越来越小,即 w,b 的变动十分小或达到一个预设的迭代次数。这就是梯度降落算法。对于不同类型的机器学习问题,老本函数的抉择也会不同。例如:回归问题:罕用的老本函数是均方误差(Mean Squared Error, MSE),它计算的是预测值与理论值之间差别的平方的平均值。这个值越小,示意模型的预测越精确。分类问题:对于二分类问题,一个常见的老本函数是穿插熵(Cross-Entropy),它量化的是理论标签与预测概率之间的差别。
在梯度降落算法中,咱们的指标是找到模型参数的值,这些参数值能使老本函数的值最小化。换句话说,咱们心愿找到的参数能让模型的预测尽可能靠近理论状况,从而最小化误差。通过迭代地更新模型参数,梯度降落算法可能逐渐迫近这个最优参数组合,实现老本的最小化。

正文完
 0