,其中向量的每一个元素x i 是一个特征。例如,一张图片的特征通常是指这张图片的像素值。
机器学习可以解决很多类型的任务。一些非常常见的机器学习任务列举如下。 ·分类: 在这类任务中,计算机程序需要指定某些输入属于k类中的哪一类。为了完成这个任务,学习算法通常会返回一个函数
[attach]815186[/attach]
。当y=f(x)时,模型将向量x所代表的输入分类到数字码y所代表的类别。还有一些其他的分类问题,例如,f输出的是不同类别的概率分布。分类任务中有一个任务是对象识别,其中输入是图片(通常由一组像素亮度值表示),输出是表示图片物体的数字码。例如,Willow Garage PR2机器人能像服务员一样识别不同饮料,并送给点餐的顾客(Goodfellow et al. ,2010)。目前,最好的对象识别工作正是基于深度学习的(Krizhevsky et al. ,2012a;Ioffe and Szegedy,2015)。对象识别同时也是计算机识别人脸的基本技术,可用于标记相片合辑中的人脸(Taigman et al. ,2014),有助于计算机更自然地与用户交互。 ·输入缺失分类: 当输入向量的每个度量不被保证时,分类问题将会变得更有挑战性。为了解决分类任务,学习算法只需要定义一个从输入向量映射到输出类别的函数。当一些输入可能丢失时,学习算法必须学习一组函数,而不是单个分类函数。每个函数对应着分类具有不同缺失输入子集的x。这种情况在医疗诊断中经常出现,因为很多类型的医学测试是昂贵的,对身体有害的。有效地定义这样一个大集合函数的方法是学习所有相关变量的概率分布,然后通过边缘化缺失变量来解决分类任务。使用n个输入变量,我们现在可以获得每个可能的缺失输入集合所需的所有2 n 个不同的分类函数,但是计算机程序仅需要学习一个描述联合概率分布的函数。参见Goodfellow et al. (2013d)了解以这种方式将深度概率模型应用于这类任务的示例。本节中描述的许多其他任务也可以推广到缺失输入的情况;缺失输入分类只是机器学习能够解决的问题的一个示例。 ·回归: 在这类任务中,计算机程序需要对给定输入预测数值。为了解决这个任务,学习算法需要输出函数
[attach]815187[/attach]
。除了返回结果的形式不一样外,这类问题和分类问题是很像的。这类任务的一个示例是预测投保人的索赔金额(用于设置保险费),或者预测证券未来的价格。这类预测也用在算法交易中。 ·转录: 在这类任务中,机器学习系统观测一些相对非结构化表示的数据,并转录信息为离散的文本形式。例如,光学字符识别要求计算机程序根据文本图片返回文字序列(ASCII码或者Unicode码)。谷歌街景以这种方式使用深度学习处理街道编号(Goodfellow et al. ,2014d)。另一个例子是语音识别,计算机程序输入一段音频波形,输出一序列音频记录中所说的字符或单词ID的编码。深度学习是现代语音识别系统的重要组成部分,被各大公司广泛使用,包括微软、IBM和谷歌(Hinton et al. ,2012b)。 ·机器翻译: 在这类任务中,输入是一种语言的符号序列,计算机程序必须将其转化成另一种语言的符号序列。这通常适用于自然语言,如将英语译成法语。最近,深度学习已经开始在这类任务上产生重要影响(Sutskever et al. ,2014;Bahdanau et al. ,2015)。 ·结构化输出: 结构化输出任务的输出是向量或者其他包含多个值的数据结构,并且构成输出的这些不同元素间具有重要关系。这是一个很大的范畴,包括上述转录任务和翻译任务在内的很多其他任务。例如语法分析——映射自然语言句子到语法结构树,并标记树的节点为动词、名词、副词等。参考Collobert(2011)将深度学习应用到语法分析的示例。另一个例子是图像的像素级分割,将每一个像素分配到特定类别。例如,深度学习可用于标注航拍照片中的道路位置(Mnih and Hinton,2010)。在这些标注型的任务中,输出的结构形式不需要和输入尽可能相似。例如,在为图片添加描述的任务中,计算机程序观察到一幅图,输出描述这幅图的自然语言句子(Kiros et al. ,2014a,b;Mao et al. ,2014;Vinyals et al. ,2015b;Donahue et al. ,2014;Karpathy and Li,2015;Fang et al. ,2015;Xu et al. ,2015)。这类任务被称为结构化输出任务,是因为输出值之间内部紧密相关。例如,为图片添加标题的程序输出的单词必须组合成一个通顺的句子。 ·异常检测: 在这类任务中,计算机程序在一组事件或对象中筛选,并标记不正常或非典型的个体。异常检测任务的一个示例是信用卡欺诈检测。通过对你的购买习惯建模,信用卡公司可以检测到你的卡是否被滥用。如果窃贼窃取你的信用卡或信用卡信息,窃贼采购物品的分布通常和你的不同。当该卡发生了不正常的购买行为时,信用卡公司可以尽快冻结该卡以防欺诈。参考Chandola et al. (2009)了解欺诈检测方法。 ·合成和采样: 在这类任务中,机器学习程序生成一些和训练数据相似的新样本。通过机器学习,合成和采样可能在媒体应用中非常有用,可以避免艺术家大量昂贵或者乏味费时的手动工作。例如,视频游戏可以自动生成大型物体或风景的纹理,而不是让艺术家手动标记每个像素(Luo et al. ,2013)。在某些情况下,我们希望采样或合成过程可以根据给定的输入生成一些特定类型的输出。例如,在语音合成任务中,我们提供书写的句子,要求程序输出这个句子语音的音频波形。这是一类结构化输出任务,但是多了每个输入并非只有一个正确输出的条件,并且我们明确希望输出有很多变化,这可以使结果看上去更加自然和真实。 ·缺失值填补: 在这类任务中,机器学习算法给定一个新样本
[attach]815188[/attach]
,x中某些元素x i 缺失。算法必须填补这些缺失值。 ·去噪: 在这类任务中,机器学习算法的输入是,干净样本
[attach]815189[/attach]
经过未知损坏过程后得到的损坏样本
[attach]815190[/attach]
。算法根据损坏后的样本
[attach]815191[/attach]
预测干净的样本x,或者更一般地预测条件概率分布
[attach]815192[/attach]
。 ·密度估计或概率质量函数估计: 在密度估计问题中,机器学习算法学习函数p model :
[attach]815193[/attach]
,其中p model (x)可以解释成样本采样空间的概率密度函数(如果x是连续的)或者概率质量函数(如果x是离散的)。要做好这样的任务(在讨论性能度量P时,我们会明确定义任务是什么),算法需要学习观测到的数据的结构。算法必须知道什么情况下样本聚集出现,什么情况下不太可能出现。以上描述的大多数任务都要求学习算法至少能隐式地捕获概率分布的结构。密度估计可以让我们显式地捕获该分布。原则上,我们可以在该分布上计算以便解决其他任务。例如,如果通过密度估计得到了概率分布p(x),我们可以用该分布解决缺失值填补任务。如果x i 的值是缺失的,但是其他的变量值x −i 已知,那么我们可以得到条件概率分布