机器学习方法论

半监督学习

半监督学习在训练阶段结合了大量未标记的数据和少量标签数据。与使用所有标签的数据相比,训练集训练的训练模型可以高度准确,训练成本更低。例如,我们的朋友Delip Rao在AI咨询公司Joostware上使用半监督学习,每班只使用30个标签,与使用监督学习训练的模型的准确度相同,每班需要约1360个标签。这使得他们的客户能够非常快速地将其预测功能从20个类别扩展到110个类别。

为什么使用未标记数据的一个直觉有时可以帮助模型更准确:即使你不知道答案,你正在学习一些有关可能的价值观以及特定值出现的频率。

强化学习

加固学习适用于你再次没有标注数据集的情况,但你有办法告诉你是否越来越接近目标(奖励功能)。经典的儿童游戏更热或更冷(Huckle Buckle Beanstalk的一个变体)是这个概念的很好的例证。

你的工作是找到一个隐藏的对象,你的朋友将会调出你是否越来越热(更接近)或更冷(更远)的对象。“更热/更冷”是奖励功能,算法的目标是最大化奖励功能。你可以认为奖励功能是一种延迟和稀疏的标签数据形式:而不是在每个数据点中获得特定的“正确/错误”答案,你将得到延迟的反应,只会提示是否标题在正确的方向。

·DeepMind在Nature中发表了一篇文章,描述了一个将强化学习与深度学习结合在一起的系统,学习了一系列的Atari视频游戏,一些取得了巨大的成功(如Breakout)和其他可怕的(如Montezuma的复仇)。

Nervana团队(现在在英特尔)发表了一个很好的解释性博客文章,详细介绍了这些技术。

由Russell Kaplan,Christopher Sauer,Alexander Sosa创作的非常有创意的斯坦福大学生项目说明了强化学习的挑战之一,并提出了一个聪明的解决方案。你将在Deep Mind的论文中看到,算法无法学习如何玩Montezuma的复仇。这样做的原因是,正如斯坦福大学生所描述的那样,“强化学习者仍然在努力学习稀缺奖励的环境”。当你没有得到足够的“更热”或者更冷的提示时,你很难找到隐藏的键。斯坦福大学的学生基本上教会系统了解和回应自然语言提示,例如“爬梯子”或“获得关键”,使该系统成为Open AI体育馆的顶级算法。

无监督学习

无监督学习适用于你具有数据集但无标签的情况。无监督学习采用输入集,并尝试查找数据中的模式,例如将其组织成群(聚类)或查找异常值(异常检测)。例如:

扫描二维码关注公众号,回复: 9266857 查看本文章

想象你是一个T恤制造商,你有一堆人的身体测量。你想要一个聚类算法将这些测量组合成一组集群,所以你可以决定使你的XS,S,M,L和XL衬衫有多大。

你是安全启动的首席技术官,你希望在计算机之间的网络连接历史中找到异常:网络流量看起来不正常可能会帮助你找到一名员工下载所有CRM历史记录,因为他们即将退出或有人转移一个新的银行账户异常大量的钱。如果你对这种事情感兴趣,你会喜欢这种无监督异常检测算法的调查。

你在Google Brain团队中,你想知道YouTube视频中有什么。这是YouTube的“寻找者”研究的真实故事,唤起了大众对AI的热忱。在本文中,Google Brain团队与斯坦福大学研究人员Quoc Le和Andrew Ng一起描述了一种将YouTube视频分成多个类别的算法,其中包括一个包含猫的视频。他们没有开始寻找猫,但算法自动将包含猫的视频(以及Image Net中定义的22,000个对象类别中的数千个其他对象)组合在一起,而不需要任何明确的训练数据。

你将在文献中阅读的一些无监督的学习技术包括:

l Autoencoding

l 主要成分分析

l 森林漫游

l K均值聚类

无人监督学习中最有希望的最新发展之一是来自Ian Goodfellow(当时在Yoshua Bengio的实验室工作)的想法,称为“生成对抗网络”,其中我们将两个神经网络相互勾结:一个网络,称为发生器负责生成旨在尝试欺骗其他网络的数据,称为鉴别器。这种方法实现了一些令人惊奇的结果,如AI,可以从文本字符串或手绘草图生成照片般逼真的图片。

监督学习

监督学习使用我们已经知道正确答案的示例来训练网络。想象一下,我们有兴趣培养一个网络来识别照片库中是否有父母的图片。这是我们在这个假设场景中采取的步骤。

步骤1:数据集的创建和分类

我们将通过浏览你的照片(数据集),并对照片中的你父母进行标注,从而开始此过程。然后我们将把整堆照片分成两堆。我们将使用第一堆培训网络(培训数据)和第二堆,以了解我们的父母(验证数据)选择照片的准确程度。

数据集准备就绪后,我们会将照片提供给模型。在数学上,我们的目标是深层网络找到一个功能,其输入是一张照片,当你的父母不在照片中时,其输出为0,反之是1。

此步骤通常称为分类任务。在这种情况下,我们正在对结果进行训练,这是yes-no,但是监督学习也可以用于输出一组值,而不仅仅是0或1。例如,我们可以训练一个网络来输出有人会偿还信用卡贷款,在这种情况下,输出在0到100之间。这些任务称为回归。

步骤2:培训

为了继续该过程,模型通过以下规则(激活功能)对每张照片进行预测,以决定是否点亮工作中的特定节点。

该模型从左到右一层次地运行——此处我们将忽略更复杂的网络。网络为网络中的每个节点计算这一点后,我们将到达亮起的最右边的节点(输出节点)。

既然我们已经知道哪些图片有你父母的照片,那么我们可以告诉模型它的预测是对还是错。然后,我们会将此信息反馈给网络。

该算法使用这种反馈,这是一个量化“真实答案距离模型预测有多远”的函数的结果。这被称为成本函数,也称为目标函数,效用函数,适应度函数。然后,该函数的结果用于修改称为反向传播的过程中节点之间的连接强度和偏差,因为信息从结果节点“向后”。

我们会对每个图片重复一遍,在每种情况下,算法都会尽量减少成本函数。

有各种各样的数学技术,使用这种知识是否模型是对或错回到模型,但一个非常常见的方法是梯度下降。阿尔贡人有一个很好的作为外行人的表述来解释这是如何工作的。并且迈克尔·尼尔森(Michael Nielsen)增加了微积分和线性代数(和一个友好的恶魔)的数学。

步骤3:验证

一旦我们处理了我们第一堆的所有照片,我们将准备好测试模型。我们将抓住第二张照片,并使用它们来查看训练有素的模型如何准确地接收你父母的照片。

通常会通过调整关于模型的各种事物(超参数)来重复步骤2和3,例如有多少个节点,有多少层,哪些数学函数用于决定节点是否点亮,如何积极地训练在反向传播阶段的权重,等等。这个Quora的答案有一个很好的解释,你可以转动的旋钮。

步骤4:使用

最后,一旦你有一个准确的模型,你将该模型部署到你的应用程序。你将模型公开为API调用,例如Parents In Picture(照片),你可以从软件中调用该方法,导致模型进行推理并给出结果。

稍后我们将详细介绍一下可以识别名片的iPhone应用程序。

得到一个标签的数据集可能很难(也就是昂贵的),所以你需要确保预测的价值证明获得标记数据的成本,并首先训练模型。例如,获得可能患有癌症的人的标签X射线是昂贵的,但是产生少量假阳性和少量假阴性的准确模型的价值显然是非常高的。

发布了24 篇原创文章 · 获赞 0 · 访问量 4292

猜你喜欢

转载自blog.csdn.net/lynchyueliu/article/details/104370233