06- 梯度下降(SGDRegressor) (算法)

文章详细介绍了梯度下降算法的概念、公式、学习率的影响,以及批量梯度下降、随机梯度下降和小批量梯度下降的区别与应用场景,并通过代码示例展示了它们的实现过程。
  • 梯度下降算法也是先构建误差值的函数, 通过求误差值函数的最小值来达到误差最小的目的, 不过梯度下降是先随机取值, 然后求函数在该点的导数, 如果导数为正, 下一次取值向反方向移动, 如果导数为负, 正向移动, 直到导数取值极小时, 认定误差达到一个可以接受的范围, 然后导出相应的系数, 用于预测的模型。     # stochastic(随机)
  • 梯度下降法是一点点去逼近最优解
from sklearn.linear_model import SGDRegressor
sgd = SGDRegressor(penalty='l2',alpha=0, l1_ratio=0)
sgd.fit(X, y.reshape(-1,))
print('随机梯度下降求解的斜率是:',sgd.coef_)
print('随机梯度下降求解的截距是:',sgd.intercept_)

二  梯度下降

1、无约束最优化问题

  无约束最优化问题(unconstrained optimizationproblem)指的是从一个问题的所有可能的备选方案中,选择出依某种指标来说是最优的解决方案。从数学上说,最优化是研究在一个给定的集合S上泛函的极小化或极大化问题。

无约束最优化问题(unconstrained optimizationproblem)指的是从一个问题的所有可能的备选方案中,选择出依某种指标来说是最优的解决方案。从数学上说,最优化是研究在一个给定的集合S上泛函​的极小化或极大化问题:广义上,最优化包括数学规划、图和网络、组合最优化、库存论、决策论、排队论、最优控制等。狭义上,最优化仅指数学规划。

1.1、梯度下降

梯度下降法(Gradient Descent)是一个算法,但不是像多元线性回归那样是一个具体做回归任务的算法,而是一个非常通用的优化算法来帮助一些机器学习算法(都是无约束最优化问题)求解出最优解, 所谓的通用就是很多机器学习算法都是用梯度下降,甚至深度学习也是用它来求解最优解。所有优化算法的目的都是期望以最快的速度把模型参数θ求解出来,梯度下降法就是一种经典常用的优化算法。
之前我们令导数为 0,反过来求解最低点 θ 是多少,而梯度下降法是一点点去逼近最优解 !

      

1.2、梯度下降公式

  这里梯度下降法的公式就是一个式子指导计算机迭代过程中如何去调整θ,可以通过泰勒公式一阶展开来进行推导和证明:

\large \theta^{n + 1} = \theta^{n} - \alpha * gradient

其中 {\color{Red} \alpha} 表示学习率gradient 表示梯度

有些公式,使用其他字母表示:

\large w_j^{n + 1} = w_j^{n} - \eta * \frac{\partial J(\theta)}{\partial \theta_j}

学习率一般都是正数,如果在山左侧(曲线左半边)梯度是负的,那么这个负号就会把 w_j 往大了调, 如果在山右侧(曲线右半边)梯度就是正的,那么负号就会把 w_j 往小了调。每次 w_j 调整的幅度就是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值