大规模机器学习

如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果。我们应 该怎样应对一个有 100 万条记录的训练集?
以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和, 如果我们的学习算法需要有 20 次迭代,这便已经是非常大的计算代价。
首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用 1000 个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。

随机梯度下降法

随机梯度下降算法在每一次计算之后便更新参数 θ,而不需要首先将所有的训练集求和, 在梯度下降算法还没有完成一次迭代时,随机梯度下降算法便已经走出了很远。但是这样的 算法存在的问题是,不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全 局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。

小批量梯度下降
小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法,每计算 常数 b 次训练实例,便更新一次参数 θ。


通常我们会令 b 在 2-100 之间。这样做的好处在于,我们可以用向量化的方式来循环 b 个训练实例,如果我们用的线性代数函数库比较好,能够支持平行处理,那么算法的总体 表现将不受影响(与随机梯度下降相同)。

随机梯度下降收敛
现在我们介绍随机梯度下降算法的调试,以及学习率 α 的选取。

在批量梯度下降中,我们可以令代价函数 J 为迭代次数的函数,绘制图表,根据图表来 判断梯度下降是否收敛。但是,在大规模的训练集的情况下,这是不现实的,因为计算代价 太大了。

在随机梯度下降中,我们在每一次更新 θ 之前都计算一次代价,然后每 X 次迭代后,求 出这 X 次对训练实例计算代价的平均值,然后绘制这些平均值与 X 次迭代的次数之间的函 数图表。

当我们绘制这样的图表时,可能会得到一个颠簸不平但是不会明显减少的函数图像(如 上面左下图中蓝线所示)。我们可以增加 X 来使得函数更加平缓,也许便能看出下降的趋势 了(如上面左下图中红线所示);或者可能函数图表仍然是颠簸不平且不下降的(如洋红色 线所示),那么我们的模型本身可能存在一些错误。

如果我们得到的曲线如上面右下方所示,不断地上升,那么我们可能会需要选择一个较 小的学习率 α。

我们也可以令学习率随着迭代次数的增加而减小,例如令:

a=const1interationNumber+const2

随着我们不断地靠近全局最小值,通过减小学习率,我们迫使算法收敛而非在最小值附 近徘徊。 但是通常我们不需要这样做便能有非常好的效果了,对 α 进行调整所耗费的计算 通常不值得

总结下,这段视频中,我们介绍了一种方法,近似地监测出随机梯度下降算法在最优化 代价函数中的表现,这种方法不需要定时地扫 整个训练集,来算出整个样本集的代价函数, 而是只需要每次对最后 1000 个,或者多少个样本,求一下平均值。应用这种方法,你既可 以保证随机梯度下降法正在正常运转和收敛,也可以用它来调整学习速率α的大小。

在线学习
在这个视频中,讨论一种新的大规模的机器学习机制,叫做在线学习机制。在线学习机 制让我们可以模型化问题。

今天,许多大型网站或者许多大型网络公司,使用不同版本的在线学习机制算法,从大 批的涌入又离开网站的用户身上进行学习。特别要 及的是,如果你有一个由连续的用户流 引发的连续的数据流,进入你的网站,你能做的是使用一个在线学习机制,从数据流中学习 用户的偏好,然后使用这些信息来优化一些关于网站的决策。

假定你有一个 供运输服务的公司,用户们来向你询问把包裹从 A 地运到 B 地的服务, 同时假定你有一个网站,让用户们可多次登陆,然后他们告诉你,他们想从哪里寄出包裹, 以及包裹要寄到哪里去,也就是出发地与目的地,然后你的网站开出运输包裹的的服务价格。 比如,我会收取50,20 之类的,然后根据你开给用户的这个价 格,用户有时会接受这个运输服务,那么这就是个正样本,有时他们会走掉,然后他们拒绝 购买你的运输服务,所以,让我们假定我们想要一个学习算法来帮助我们,优化我们想给用 户开出的价格。

一个算法来从中学习的时候来模型化问题在线学习算法指的是对数据流而非离线的静 态数据集的学习。许多在线网站都有持续不断的用户流,对于每一个用户,网站希望能在不 将数据存储到数据库中便顺利地进行算法学习。

假使我们正在经营一家物流公司,每当一个用户询问从地点 A 至地点 B 的快递费用时, 我们给用户一个报价,该用户可能选择接受(y=1)或不接受(y=0)。
现在,我们希望构建一个模型,来预测用户接受报价使用我们的物流服务的可能性。因 此报价 是我们的一个特征,其他特征为距离,起始地点,目标地点以及特定的用户数据。 模型的输出是 p(y=1)。

在线学习的算法与随机梯度下降算法有些类似,我们对单一的实例进行学习,而非对一 个 前定义的训练集进行循环。

一旦对一个数据的学习完成了,我们便可以丢弃该数据,不需要再存储它了。这种方式 的好处在于,我们的算法可以很好的适应用户的倾向性,算法可以针对用户的当前行为不断 地更新模型以适应该用户。

每次交互事件并不只产生一个数据集,例如,我们一次给用户 供 3 个物流选项,用户 选择 2 项,我们实际上可以获得 3 个新的训练实例,因而我们的算法可以一次从 3 个实例 中学习并更新模型。

这些问题中的任何一个都可以被归类到标准的,拥有一个固定的样本集的机器学习问题 中。或许,你可以运行一个你自己的网站,尝试运行几天,然后保存一个数据集,一个固定 的数据集,然后对其运行一个学习算法。但是这些是实际的问题,在这些问题里,你会看到 大公司会获取如此多的数据,真的没有必要来保存一个固定的数据集,取而代之的是你可以 使用一个在线学习算法来连续的学习,从这些用户不断产生的数据中来学习。这就是在线学 习机制,然后就像我们所看到的,我们所使用的这个算法与随机梯度下降算法非常类似,唯 一的区别的是,我们不会使用一个固定的数据集,我们会做的是获取一个用户样本,从那个 样本中学习,然后丢弃那个样本并继续下去,而且如果你对某一种应用有一个连续的数据流, 这样的算法可能会非常值得考虑。当然,在线学习的一个优点就是,如果你有一个变化的用 户群,又或者你在尝试预测的事情,在缓慢变化,就像你的用户的品味在缓慢变化,这个在 线学习算法,可以慢慢地调试你所学习到的假设,将其调节更新到最新的用户行为。

映射化简和数据并行
映射化简和数据并行对于大规模机器学习问题而言是非常重要的概念。之前 到,如果 我们用批量梯度下降算法来求解大规模数据集的最优解,我们需要对整个训练集进行循环, 计算偏导数和代价,再求和,计算代价非常大。如果我们能够将我们的数据集分配给不多台 计算机,让每一台计算机处理数据集的一个子集,然后我们将计所的结果汇总在求和。这样 的方法叫做映射简化。

具体而言,如果任何学习算法能够表达为,对训练集的函数的求和,那么便能将这个任 务分配给多台计算机(或者同一台计算机的不同 CPU 核心),以达到加速处理的目的。
例如,我们有 400 个训练实例,我们可以将批量梯度下降的求和任务分配给 4 台计算机 进行处理:

很多高级的线性代数函数库已经能够利用多核 CPU 的多个核心来并行地处理矩阵运 算,这也是算法的向量化实现如此重要的缘故(比调用循环快)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国半导体:存储器能否打破海外垄断?

来源:中金公司摘要:根据WSTS的统计,全球存储器行业营收2017年达到1319亿美元,占半导体行业收入的30.1%,过去五年(2012-2017)年复合增长率高达37%。▌全球市场概览:千亿美金市场,寡头竞争,IDM模式…

hdu 4588 Count The Carries

思路:容易发现二进制表示的数的最低位规律是01010101……;接着是001100110011……;接着是:0000111100001111…… 这样我们发现每一位的循环节是2^(i1),前2^i是0,后面的是1.这样就可以算出每一位1出现的次数…

数字图像处理入门

图像是指能在人的视觉系统中产生视觉印象的客观对象,包括自然景物、拍摄到的图片、用数学方法描述的图形.图像的要素有儿何要素〈刻画对象的轮廓、 形状等〉和非几何要素(刻画对象的颜色、 材质等〉。 什么是数字图像 简单地说, 数字图像就…

马化腾六年后知乎再提问:未来十年哪些基础科学突破会影响互联网科技产业?...

来源:量子位“未来十年哪些基础科学突破会影响互联网科技产业?产业互联网和消费互联网融合创新,会带来哪些改变?”昨天午夜时分,一个新问题出现在知乎。略微不同之处在于,这个问题的提出者ID是ponyma&#…

2018 中国开源年度报告发布,阿里系独占鳌头

来源:网络大数据摘要:指南针团队使用网络爬虫与 GitHub 数据 API 获取开源代码库的数据如原代码、项目信息、项目的静态信息如项目名称、起始日期等、与动态信息如fork数、客户给与的星数等众多项目相关的信息储存在本地数据结构中。第二篇 数据篇2.1 指…

图像处理中的matlab使用

图像的矩阵表示 类和图像类型 虽然使用的是整数坐标, 但 MATLAB 中的像素值(亮度)并未限制为整数。 表 1-1 列出了 MATLAB 和图像处理工具箱为描述像素值而支持的各种类。 表中的前 8 项是数值型的数据类,第 9 项称为字符类&…

AI洞观 | 一文读懂2018安博会四大趋势

来源: 网易智能10月23-26日,2018年安博会在北京顺义举行。这是全球规模最大,最具影响力的安防展会之一,据安博会官方介绍,本次展会总面积超过10万平方米,展位数突破5000个,云集了国内外上千家安…

图像的点运算

对于一个数字图像处理系统来说, 一般可以将处理流程分为3个阶段。在获取原始图像 后, 首先是图像预处理阶段, 其次是特征抽取阶段,最后才是识别分析阶段。预处理阶段尤 为重要, 这个阶段处理不好则直接导致后面的工作…

量子计算技术发展迅猛,商业潜力初现!如何把握量子计算时代的新机遇?

来源:蓝驰创投编译:全球君摘要:通用量子计算机一旦实现,将对通信安全、导航、成像以及人工智能、生物制药、新材料研发等诸多领域产生颠覆性影响,带来国家安全和社会经济发展的极大变革。通用量子计算机一旦实现&#…

分段线性变换与直方图修正

本文主要包括以下内容 分段线性变换两种实用的直方图修正技术:直方图均衡化和直方图规定化本章的典型案例分析 基于直方图均衡化的图像灰度归一化直方图匹配 分段线性变换 分段线性变换有很多种, 包括灰度拉伸、 灰度窗口变换等, 本节仅讲述最为常用…

图像的几何变换

包含相同内容的两幅图像可能由于成像角度、透视关系乃至镜头自身原因所造成的几何失 真而呈现出截然不同的外观,这就给观测者或是图像识别程序带来了困扰。通过适当的几何变 换可以最大程度地消除这些几何失真所产生的负面影响,有利于我们在后续的处理…

交叉科学不仅不是边缘学科,反而应是科研主流

来源:科学网摘要:“信息时代将走过数字化、网络化、智能化等几个阶段,从现在分界将信息时代和智能时代划分成两个时代有点牵强。”“信息时代将走过数字化、网络化、智能化等几个阶段,从现在分界将信息时代和智能时代划分成两个时…

空间域图像增强

图像增强是数字图像处理相对简单却最具艺术性的领域之一,增强的目的是消除噪声, 显现那些被模糊了的细节或简单突出一幅图像中我们感兴趣的特征。一个简单例子是增强图 像的对比度, 使其看起来更加一目了然。增强是图像处理中非常主观的领域…

wordpress增删改查

wordpress 焦点图插件-增删改查操作 2012-02-01 15:39:14分类: 系统运维 该插件在wordpress-3.3.1-zh_CN版本下开发,主要用于在后台管理首页焦点图(图片轮播)。存放焦点图信息的表 focusphoto(id,photourl,linkto,title,descripti…

AI改变现代商业的25种方式

来源:财富编译 | Geek AI、微胖、茜茜现在,是时候真正了解 AI 未来。关于人工智能引起的焦虑 - 就业问题是其主要来源 - 现实是,没有人知道未来会如何。原因是,我们永远无法预见人类的聪明才智,以及全世界数百万企业家…

中值滤波与图像锐化

本文主要包括以下内容 中值滤波及其改进算法图像锐化, 包括梯度算子、拉普拉斯算子、高提升滤波和高斯-拉普拉斯变换本章的典型囊例分析 对椒盐噪声的平滑效果比较Laplacian与LoG算子的锐化效果比较 中值滤波 中值滤波本质上是一种统计排序滤波器. …

5G手机“狂奔而来”,业内预计明年二季度全面上市

来源: 全天候科技作者:张超,编辑:舒虹随着科技快速发展、网络不断升级,智能手机的“5G时代”正狂奔而来。10月25日,台湾电子时报援引行业消息人士称,芯片、手机厂商等正在加快进度,预…

傅立叶变换学习

空间域和频率域为我们提供了不同的视角. 在空域中. 函数的自变量(x, y)被视为二维空间中的一点, 数字图像J(x, y)即为一个定义在二维空间中的矩形区域上的离散函数:换一个角度, 如果…

盘点互联网大厂AI战略变迁,开发者将怎样pick前进路线?

来源:AI科技大本营随着各大企业相继试水“全面 AI”,人工智能在技术落地层面也开始持续深入,泛人工智能时代正在逼近。越来越多的发展趋势表明,未来的人工智能将逐步迈入广泛普及阶段,继而深入影响人类日常的生产生活方…

人脸识别最全知识图谱—清华大学出品

来源:智东西摘要:全面解析人脸识别技术原理、领域人才情况、技术应用领域和发展趋势。自20世纪下半叶,计算机视觉技术逐渐地发展壮大。同时,伴随着数字图像相关的软硬件技术在人们生活中的广泛使用,数字图像已经成为当…