使用SGD(Stochastic Gradient Descent)进行大规模机器学习

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 原贴地址:http://fuliang.iteye.com/blog/1482002  其它参考资料:http://en.wikipedia.org/wiki/Stochastic_gradient_descent   1. 基于梯度下降的学习        对于一个简单的机器学习算法,每一个样本包含了一个(x,y)对,其中一个输入x和一个数值输出y。

原贴地址:http://fuliang.iteye.com/blog/1482002 

其它参考资料:http://en.wikipedia.org/wiki/Stochastic_gradient_descent

 

1. 基于梯度下降的学习 
      对于一个简单的机器学习算法,每一个样本包含了一个(x,y)对,其中一个输入x和一个数值输出y。我们考虑损失函数
,它描述了预测值gif[1]和实际值y之间的损失。预测值是我们选择从一函数族F中选择一个以w为参数的函数gif[2]的到的预测结果。

我们的目标是寻找这样的函数gif[3],能够在训练集中最小化平均损失函数 :

由于我们不知道数据的真实分布,所以我们通常使用 
gif[5]
来代替 
gif[6]
经验风险gif[7]用来衡量训练集合的效果。期望风险E(f)描述了泛化(generation)的效果,预测未知样例的能力。 
如果函数族F进行足够的限制(sufficiently restrictive ),统计机器学习理论使用经验风险来代替期望风险。 
1.1 梯度下降 
我们经常使用梯度下降(GD)的方式来最小化期望风险,每一次迭代,基于
gif[8]更新权重w: 
,gif[10]为学习率,如果选择恰当,初始值选择合适,这个算法能够满足线性的收敛。也就是:gif[11],其中gif[12]表示残余误差(residual error)。 
基于二阶梯度的比较出名的算法是牛顿法,牛顿法可以达到二次函数的收敛。如果代价函数是二次的,矩阵
gif[13]是确定的,那么这个算法可以一次迭代达到最优值。如果足够平滑的话,gif[14]。但是计算需要计算偏导hession矩阵,对于高维,时间和空间消耗都是非常大的,所以通常采用近似的算法,来避免直接计算hession矩阵,比如BFGS,L-BFGS。


1.2 随机梯度下降 
SGD是一个重要的简化,每一次迭代中,梯度的估计并不是精确的计算
gif[15],而是基于随即选取的一个样例gif[16]
gif[17]
随机过程gif[18]
依赖于每次迭代时随即选择的样例,尽管这个简化的过程引入了一些噪音,但是我们希望他的表现能够和GD的方式一样。 
随机算法不需要记录哪些样例已经在前面的迭代过程中被访问过,有时候随机梯度下降能够直接优化期望风险,因为样例可能是随机从真正的分布中选取的。 
随机梯度算法的收敛性已经在随机近似算法的论文所讨论。收敛性要满足: 
gif[19]并且gif[20]
二阶随机梯度下降: 
gif[21]
这种方法并没有减少噪音,也不会对计算gif[22]有太大改进。 
1.3 随即梯度的一些例子 
下面列了一些比较经典的机器学习算法的随机梯度, 

 

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
机器学习/深度学习 存储 文字识别
图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
如何快速部署机器学习模型?本文是机器学习工业部署的 best practice(最佳实践)!详细讲解了如何操作机器学习开源框架 BentoML,帮助研发团队轻松打包机器学习模型,并重现该模型以用于生产。
1761 4
图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
|
机器学习/深度学习 SQL 数据采集
使用SQL和机器学习进行大规模自动化数据质量测试
使用SQL和机器学习进行大规模自动化数据质量测试
110 0
|
机器学习/深度学习 分布式计算 Apache
《基于Apache Spark 的大规模分布式机器学习实践》电子版地址
基于Apache* Spark* 的大规模分布式机器学习实践
121 0
《基于Apache Spark 的大规模分布式机器学习实践》电子版地址
|
机器学习/深度学习 分布式计算 Spark
|
机器学习/深度学习 算法 搜索推荐
【吴恩达机器学习笔记】十五、大规模机器学习
【吴恩达机器学习笔记】十五、大规模机器学习
94 0
|
机器学习/深度学习
《机器学习在大规模服务器治理复杂场景的实践》电子版地址
机器学习在大规模服务器治理复杂场景的实践
|
机器学习/深度学习 分布式计算 并行计算
十七、大规模机器学习和随机梯度下降(SGD)
十七、大规模机器学习和随机梯度下降(SGD)
十七、大规模机器学习和随机梯度下降(SGD)
|
机器学习/深度学习
《大规模机器学习在蚂蚁+阿里的应用》电子版地址
大规模机器学习在蚂蚁+阿里的应用
92 0
《大规模机器学习在蚂蚁+阿里的应用》电子版地址
|
机器学习/深度学习
《大规模机器学习在蚂蚁+阿里的应用》电子版地址
大规模机器学习在蚂蚁+阿里的应用
56 0
《大规模机器学习在蚂蚁+阿里的应用》电子版地址
|
机器学习/深度学习 文字识别 分布式计算
吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR
吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR
283 0
吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR