ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

机器学习[2] 梯度下降算法

2021-11-28 21:32:53  阅读:129  来源: 互联网

标签:方程 机器 变量 梯度 正态 0.5 leq 算法 输入


梯度下降算法

2.多个参数时多项式回归

在这里插入图片描述

在这里插入图片描述
我们可以通过将每个输入值都设置在大致相同的范围内来加快梯度下降的速度。这是因为θ在小范围内会迅速下降,而在大范围内会缓慢下降,因此当变量非常不均匀时,会无效率地振荡到最佳状态。

防止这种情况的方法是修改输入变量的范围,以使它们都大致相同。理想情况下:
− 1 ≤ x ( i ) ≤ 1 -1 \leq x(i) \leq 1 −1≤x(i)≤1
− 0.5 ≤ x ( i ) ≤ 0.5 -0.5 \leq x_{(i)} \leq 0.5 −0.5≤x(i)​≤0.5

这些不是确切的要求;我们只是试图加快速度。目标是使所有输入变量大致进入这些范围之一,给出或取几个。

有助于此的两种技术是特征缩放和均值归一化。特征缩放涉及将输入值除以输入变量的范围(即最大值减去最小值),从而得到的新范围仅为1。平均归一化涉及从输入值的平均值中减去输入变量的平均值。输入变量导致输入变量的新平均值仅为零。要实现这两种技术,请按照以下公式调整输入值:
x i : = x i − μ i s i x_{i}:=\frac{x_{i}-\mu_{i}}{s_{i}} xi​:=si​xi​−μi​​

例如,代表房价范围为100至2000,平均值为1000,那么,
x i : =  price  − 1000 1900  .  x_{i}:=\frac{\text { price }-1000}{1900} \text { . } xi​:=1900 price −1000​ . 
*
在这里插入图片描述

2.正态方程

梯度下降提供了一种最小化J的方法。让我们讨论这样做的第二种方法,这一次显式地执行最小化,而不求助于迭代算法。在“正态方程”方法中,我们将通过明确地针对θj取导数并将其设置为零来最小化J。这使我们无需迭代即可找到最佳theta。正态方程公式如下:
θ = ( X ⊤ ˘ X ) − 1 X ⊤ ¨ y ¨ \theta=\left(X^{\breve{\top}} X\right)^{-1} X^{\ddot{\top}} \ddot{y} θ=(X⊤˘X)−1X⊤¨y¨​

以下是梯度下降与正太方程方程的比较:
在这里插入图片描述
利用正态方程,计算反演具有复杂性。因此,如果我们具有大量特征,则正常方程将变慢。实际上,当n超过10,000时,可能是从正常解转到迭代过程的好时机。

标签:方程,机器,变量,梯度,正态,0.5,leq,算法,输入
来源: https://blog.csdn.net/weixin_44897776/article/details/116132331

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有