吴恩达《机器学习》课程总结(17)大规模机器学习
17.1大型数据集的学习
首先通过学习曲线判断是否增大数据集有效:
高方差时(交叉验证集误差减去训练集误差大时)增加数据集可以提高系统。下图中左图增加数据集有效,右图无效。
17.2随机梯度下降法
随机梯度下降法是只使用一个样本来迭代,其损失函数为:
迭代过程为:
特点:
(1)计算量小,迭代速度快;
(2)在最小值附近徘徊,无法求得最小值。
17.3小批量梯度下降
每次迭代所使用的样本数介于批量梯度下降法和随机梯度下降法之间,通常是2-100。
17.4随机梯度下降收敛
(1)对于批量梯度下降法而言,每次迭代求其代价函数的计算量太大,不现实;
(2)对于随机梯度下降法而言,每次迭代计算代价函数,然后经过x次迭代之后求x次代价函数的平均值,然后将该值与迭代次数绘制到图上。
(3)如果得到的图颠簸切看不到明显减少的函数图像,如下图中蓝色所示,可以增加α来时函数更加平缓,如下图红色所示,如果是洋红色可能说明模型本身有问题。
(4)如果出现代价函数随迭代次数的增加而增加,学习率α可能需要随着迭代的次数而减小:
17.5在线学习
常用于网站中,有连续的数据流可供模型来学习,与传统的模型学习没有什么大的差别;如果有连续的数据集,这种方法着重考虑。
17.6映射简化和数据并行
如果任何学习算法能够表达为对训练集的函数求和,便可以分配到多台计算机中计算子集,然后再求和(也叫做映射简化mapreduce),如下所示(其实就并行计算):
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spark获取当前分区的partitionId
版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80943341 我的原创地址:https://dongkelun.com/2018/06/28/sparkGetPartitionId/ 前言 本文讲解Spark如何获取当前分区的partitionId,这是一位群友提出的问题,其实只要通过TaskContext.get.partitionId(我是在官网上看到的),下面给出一些示例。 1、代码 下面的代码主要测试SparkSession,SparkContext创建的rdd和df是否都支持。 package com.dkl.leanring.partition import org.apache.spark.sql.SparkSession import org.apache.spark.TaskContext /** * 获取当前分区的partitionId */ object GetPartitionIdDemo ...
- 下一篇
elasticsearch(es) 集群恢复触发配置(Local Gateway参数)
elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现。 首先,我们需要明白如果什么也没配置将会发生什么。 想象一下假设你有 10 个节点,每个节点只保存一个分片,这个分片是一个主分片或者是一个副本分片,或者说有一个有 5 个主分片/1 个副本分片的索引。有时你需要为整个集群做离线维护(比如,为了安装一个新的驱动程序), 当你重启你的集群,恰巧出现了 5 个节点已经启动,还有 5 个还没启动的场景。 假设其它 5 个节点出问题,或者他们根本没有收到立即重启的命令。不管什么原因,你有 5 个节点在线上,这五个节点会相互通信,选出一个 master,从而形成一个集群。 他们注意到数据不再均匀分布,因为有 5 个节点在集群中丢失了,所以他们之间会立即启动分片复制。 最后,你的其它 5 个节点打开加入了集群。这些节点会发现 它们 的数据正在被复制到其他节点,所以他们删除本地数据(因为这份数据要么是多余的,要么是过时的)。 然后整个集群重新进行平衡,因为集群的大小已经从 5 变成了 10。 在整个过程中,你的节点会消耗...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19