机器学习笔记(2)----线性回归之梯度下降

梯度下降

百度百科:梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。

梯度下降 类似于寻找下山的路,不断往下走直到来到山底。

  

选取不同的点得到的路径不一致,不过都能得到局部最优解。

梯度下降算法:

theta0和theta1需要同时更新。

alpha(a)表示学习速率,通俗说就是下山的步子,起止越大表示走的得越快,但并并不是越大越好。下面会举个栗子。

梯度下降算法 为了方便令theta0=0,如果选的点在最优解的右边,则求解的为正数,越来越小,最终会到达最小点得到最优解,反之在左边,为负数,越来越大,到达最小点。刚才提到,如果alpha(a)选的太大。

可能会偏离最小点,进而越来越偏离最小点。

如果已经处在最小点呢?

梯度下降算法如你所愿,并不会做出错误地选择。

此时的斜率等于0,那么0     ,仍是最小点。

在找到一个点后,一般情况下,斜率会不断调整,离最小点远的话其值就会大,走大步,离最小点越近其值也就越小。

 

梯度下降算法用于线性回归

上面的计算涉及到高等数学和线性代数方面的一些知识。

求偏导可验证上面的结果是否一致,下面以 j=0 为例。

通过公式的计算,将假设函数和代价函数组合起来,便可以编写梯度下降算法。

 

线性回归的代价函数总是呈现一个弓状函数,术语叫做凸函数(convex function),无局部最优解,只有全局最优解这又是一个很重要的领域。

刚才使用的梯度下降算法又可以叫做batch梯度下降,即每一步都是用整个训练样本。另外在高等代数中,可以正规方程组算法,而不必像梯度下降那样一步一步求解。相比来说,梯度下降适用于更大的数据集。

最后通过梯度下降求得代价函数所对应的假设函数最优解,拟合度最好。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值