10.2 梯度下降-机器学习笔记-斯坦福吴恩达教授
梯度下降
批量梯度下降法(Batch gradient descent)
拥有了大数据,就意味着,我们的算法模型中得面临一个很大的 m 值。回顾到我们的批量梯度下降法:
重复直到收敛:重复直到收敛:重复直到收敛:θj:=θj−α1m∑i=1m(hθ(x(i))−y(i))xj(i),forj=0,...,nθ_j:=θ_j−α\frac1m∑_{i=1}^m(h_θ(x^{(i)})−y^{(i)})x^{(i)}_j,\quad for\ j=0,...,nθj:=θj−αm1i=1∑m(hθ(x(i))−y(i))xj(i),for j=0,...,n
可以看到,每更新一个参数 θjθ_jθj ,我们都不得不遍历一遍样本集,在 mmm 很大时,该算法就显得比较低效。但是,批量梯度下降法能找到全局最优解:
随机梯度下降法(Stochastic gradient descent)
针对大数据集,又引入了随机梯度下降法,该算法的执行过程为:
重复直到收敛:重复直到收敛:重复直到收敛:fori=0,...,m\quad\quad for\ i=0,...,mfor i=0,...,mθj:=θj−α(hθ(x(i))−y(i))xj(i),forj=0,...,nθ_j:=θ_j−α(h_θ(x^{(i)})−y^{(i)})x^{(i)}_j,\quad for\ j=0,...,nθj:=θj−α(hθ(x(i))−y(i))xj(i),for j=0,...,n
相较于批量梯度下降法,随机梯度下降法每次更新 θjθ_jθj 只会用当前遍历的样本。虽然外层循环仍需要遍历所有样本,但是,往往我们能在样本尚未遍历完时就已经收敛,因此,面临大数据集时,随机梯度下降法性能卓越。
上图反映了随机梯度下降法找寻最优解的过程,相较于批量梯度下降法,随机梯度下降法的曲线就显得不是那么平滑,而是很曲折了,其也倾向于找到局部最优解而不是全局最优解。因此,我们通常需要绘制调试曲线来监控随机梯度的工作过程是否正确。例如,假定误差定义为 cost(θ,(x(i),y(i)))=12(hθ(x(i))−y(i))2cost(θ,(x^{(i)},y^{(i)}))=\frac12(h_θ(x^{(i)})−y^{(i)})^2cost(θ,(x(i),y(i)))=21(hθ(x(i))−y(i))2 ,则每完成 1000 次迭代,即遍历了 1000 个样本,我们求取平均误差并进行绘制,得到误差随迭代次数的变化曲线:
另外,遇到下面的曲线也不用担心,其并不意味着我们的学习率出了问题,有可能是我们的平均间隔取的太小:
如果,我们每进行 5000 次迭代才进行绘制,那么曲线将更加平滑:
如果我们面临明显上升态势的曲线,就要考虑降低学习率 ααα 了:
另外,学习率 ααα 还可以随着迭代次数进行优化
α=constant1iterationNumber+constant2α=\frac{constant1}{iterationNumber+constant2}α=iterationNumber+constant2constant1
这样,随着迭代次数的增多,我们的下降步调就会放缓,避免出现抖动:
随机梯度下降法工作前,需要先乱序数据集,是的遍历样本的过程更加分散。
Mini 批量梯度下降法(Mini-batch gradient descent)
Mini 批量梯度下降法是批量梯度下降法和随机梯度下降法的折中,通过参数 bbb 指明了每次迭代时,用于更新 θθθ 的样本数。假定 b=10,m=1000b=10,m=1000b=10,m=1000 ,Mini 批量梯度下降法的工作过程如下:
重复直到收敛:重复直到收敛:重复直到收敛:fori=1,11,21,...,991:\quad\quad for\ i=1,11,21,...,991:for i=1,11,21,...,991:θj:=θj−α110∑k=ii+9(hθ(x(i))−y(i))xj(i),forj=0,...,nθ_j:=θ_j−α\frac1{10}\sum_{k=i}^{i+9}(h_θ(x^{(i)})−y^{(i)})x^{(i)}_j,\quad for\ j=0,...,nθj:=θj−α101k=i∑i+9(hθ(x(i))−y(i))xj(i),for j=0,...,n
10.2 梯度下降-机器学习笔记-斯坦福吴恩达教授相关推荐
- 1.3 程序示例--梯度下降-机器学习笔记-斯坦福吴恩达教授
回归模块 回归模块中提供了批量梯度下降和随机梯度下降两种学习策略来训练模型: # coding: utf-8 # linear_regression/regression.py import nump ...
- 1.2 线性回归与梯度下降-机器学习笔记-斯坦福吴恩达教授
线性回归 首先,我们明确几个常用的数学符号: 特征(feature):xix_ixi , 比如,房屋的面积,卧室数量都算房屋的特征 特征向量(输入):xxx ,一套房屋的信息就算一个特征向量,特征向 ...
- 3.5 梯度校验-机器学习笔记-斯坦福吴恩达教授
梯度校验(Gradient Descent) 通常,直接使用BP算法可能会出现许多 bug,因此,需要使用称为**梯度校验(Gradient Checking)**的手段.我们知道, J(Θ)J(Θ) ...
- 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授
机器学习系统设计–垃圾邮件分类 假定我们现有一封邮件,其内容如下: From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subjec ...
- 3.10 程序示例--神经网络设计-机器学习笔记-斯坦福吴恩达教授
神经网络设计 在神经网络的结构设计方面,往往遵循如下要点: 输入层的单元数等于样本特征数. 输出层的单元数等于分类的类型数. 每个隐层的单元数通常是越多分类精度越高,但是也会带来计算性能的下降,因此, ...
- 9.5 程序示例--推荐系统-机器学习笔记-斯坦福吴恩达教授
程序示例–推荐系统 推荐模型 在推荐模型中,我们将暴露: 训练接口 train() 预测接口 predict(Theta, X) 获得推荐接口 getTopRecommends(Theta, X, i ...
- 1.5 特征缩放-机器学习笔记-斯坦福吴恩达教授
特征缩放 引子 在前一章节中,对房屋售价进行预测时,我们的特征仅有房屋面积一项,但是,在实际生活中,卧室数目也一定程度上影响了房屋售价.下面,我们有这样一组训练样本: 注意到,房屋面积及卧室数量两个特 ...
- 1.4 正规方程-机器学习笔记-斯坦福吴恩达教授
正规方程(Normal Equation) 定义 前面论述的线性回归问题中,我们通过梯度下降法来求得 J(θ)J(θ)J(θ) 的最小值,但是对于学习率 ααα 的调节有时候使得我们非常恼火.为此,我 ...
- 2.3 利用正规化解决过拟合问题-机器学习笔记-斯坦福吴恩达教授
利用正规化解决过拟合问题 在之前的文章中,我们认识了过拟合问题,通常,我们有如下策略来解决过拟合问题: 减少特征数,显然这只是权宜之计,因为特征意味着信息,放弃特征也就等同于丢弃信息,要知道,特征的获 ...
最新文章
- 三星下一代手机芯片由AI来设计,EDA行业老大提供技术
- codeforces 374A Inna and Pink Pony 解题报告
- ISA Server出现12250错误的解决方法
- 【渝粤题库】广东开放大学 建设监理 形成性考核
- 研发团队平稳度过“从小到大”并非易事
- 从数据库读取数据后输出XML
- 20140711 set
- 回发或回调参数无效。
- 最全最新cpu显卡天梯图_显卡天梯图,CPU天梯图汇总(大概是最全的天梯图)第三期...
- 储能系统双向DCDC变换器蓄电池充放电仿真模型有buck模式和boost模式,依靠蓄电池充放电维持直流母线电压平衡
- GO 语言的GOROOT 和GOPATH
- HBase学习总结(1):HBase的下载与安装
- 作为开篇文章,我们聊聊“围城”
- ABB KUC321AE HIEE300698R0001、KUC755AE106 3BHB005243R0106、KUC711AE 3BHB004661R0001、KUC720AE01
- 从0开始的技术美术之路(美术篇)(一)美术理论基础
- ACA-PEG-MAL,丙烯酰胺PEG马来酰亚胺
- Vulnhub-Zico2靶机实战
- JavaSE——数字格式化、产生随机数字、生成验证码
- 小红书入驻,小红书商家如何入驻,小红书入驻需要的细节
- 维特比算法 python_维特比算法理解与实现(Python)
热门文章
- springboot情操陶冶-web配置(四)
- 只读账号设置-db_datareader
- 如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误...
- SQL Server 2005 在建立与服务器的连接时出错,错误26收藏
- 揭开Google暴利秘密的数学公式
- UA MATH564 概率论VI 数理统计基础3 卡方分布上
- Linux内核编译学习1
- WPF 3D 基础学习 - 相机、裁剪、光线入门(2)
- http协议状态码和web错误解决总结
- 数据库中的约束和三大范式