当前位置: 首页 > 科技观察

机器学习可以解决哪些类型的任务?

时间:2023-03-19 20:17:20 科技观察

机器学习可以让我们解决一些人类设计和执行固定程序难以解决的问题。从科学和哲学的角度来看,机器学习之所以受到关注,是因为要加深对机器学习的理解,就需要加深对智能背后原理的理解。如果考虑更正式的“任务”定义,那么学习的过程就不是任务。学习就是我们所说的获得执行任务的能力。例如,如果我们的目标是步行机器人,那么步行就是任务。我们可以通过编程让机器人学习如何走路,也可以编写具体的指令来手动指导机器人如何走路。通常机器学习任务被定义为机器学习系统如何处理样本(示例)。样本是我们从希望机器学习系统处理的某些对象或事件中收集的量化特征的集合。我们通常将样本表示为向量x∈Rn,其中向量的每个元素xi都是一个特征。例如,图像的特征通常是指图像的像素。机器学习可以解决许多类型的任务。下面列出了一些非常常见的机器学习任务:分类:在此类任务中,计算机程序需要指定某些输入属于K类中的哪一类。为了完成这项任务,学习算法通常会返回一个函数。当y=f(x)时,模型将数字代码y表示的类别分配给向量x表示的输入。还有一些其他的分类问题,例如,f输出不同类别的概率分布。一类分类任务是对象识别。输入是一张图片(通常用一组像素亮度值表示),输出是代表图片中物体的数字代码。例如,WillowGaragePR2机器人可以像服务员一样识别不同的饮料,并将它们送到点餐的顾客手中。目前,最先进的物体识别工作是基于深度学习。物体识别也是计算机识别人脸的基础技术。它可用于在照片集中标记人脸,帮助计算机更自然地与用户交互。缺少输入分类:当不能保证输入向量的每个指标时,分类问题更具挑战性。为了解决分类任务,学习算法只需要定义一个从输入向量映射到输出类别的函数。当某些输入可能缺失时,学习算法必须学习一组函数而不是单个分类函数。每个函数对应于用不同的缺失输入子集对x进行分类。这种情况在医学诊断中经常出现,因为很多类型的医学检查既昂贵又对身体有害。定义如此庞大的函数集的一种有效方法是学习所有相关变量的概率分布,然后通过边缘化缺失变量来解决分类任务。使用n个输入变量,我们现在拥有每组可能的缺失输入所需的所有2n个不同的分类函数,但计算机程序只需要学习一个描述联合概率分布的函数。查看以这种方式将深度概率模型应用于此类任务的示例。本节中描述的许多其他任务也可以推广到缺少输入的情况;缺少输入分类只是机器学习可以解决的问题之一。回归:计算机程序预测输入值的任务。为了解决这个问题,学习算法输出函数。这类问题与分类问题非常相似,只是返回结果的形式不同。此类任务的一个示例是预测保单持有人的索赔金额(用于设定保险费),或预测证券的未来价格。此类预测也用于算法交易。转录:在这类任务中,机器学习系统观察一些相对非结构化的数据表示,并将信息转录为离散的文本形式。例如,光学字符识别需要计算机程序从文本图像中返回单词序列(ASCII或Unicode)。谷歌街景使用深度学习以这种方式处理街道号码。另一个例子是语音识别,其中计算机程序输入音频波形并输出录音中所说的一系列编码字符或单词ID。深度学习是现代语音识别系统的重要组成部分,被微软、IBM和谷歌等公司使用。机器翻译:在机器翻译任务中,输入是一种语言的符号序列,计算机程序必须将其翻译成另一种语言的符号序列。这通常适用于自然语言,例如将英语翻译成法语。最近,深度学习开始对这项任务产生重大影响。结构化输出:结构化输出任务涉及输出向量(或其他包含多个值的数据结构)的任务,该向量是不同元素之间的重要关系。这是一个很大的类别,包括许多其他任务,包括上述转录任务和翻译任务。例如,语法分析——将自然语言句子映射到语法结构树,并将树的节点标记为动词、名词、副词等。参见ApplyingDeepLearningtoParsing。另一个例子是图像的像素级分割,将每个像素分配给特定的类别。例如,深度学习可用于标记航拍照片中的道路位置。在这些标记任务中,输出的结构形式不需要与输入尽可能相似。例如,在图片字幕中,计算机程序观察图片并输出描述图片的自然语言句子。此类任务称为结构化输出任务,因为输出值彼此密切相关。例如,图片字幕程序输出的单词必须组合成连贯的句子。异常检测:计算机程序筛选一组事件或对象并标记异常或非典型个体的任务。异常检测任务的一个例子是信用卡欺诈检测。通过模拟您的购买习惯,信用卡公司可以检测您的卡是否被滥用。如果小偷窃取了您的信用卡或信用卡信息,小偷购买的物品分布通常与您的不同。当卡上发生异常消费时,信用卡公司可以第一时间冻结该卡,防止诈骗。了解欺诈检测方法。合成和采样:在这类任务中,机器学习程序生成类似于训练数据的新样本。通过机器学习,合成和采样在媒体应用程序中可能非常有用,可以为艺术家节省大量昂贵或繁琐且耗时的手动工作。例如,视频游戏可以自动为大型物体或风景生成纹理,而不是让艺术家手动标记每个像素。在某些情况下,我们希望采样或合成过程在给定输入的情况下生成某种特定类型的输出。例如,在语音合成任务中,我们提供一个书面句子,并要求程序输出该句子语音的音频波形。这是一种结构化的输出任务,但加上每个输入不只有一个正确输出的条件,我们显然希望输出有较大的偏差,让结果看起来更自然、更真实。缺失值填充:在这类任务中,给机器学习算法一个新的样本x∈Rn,缺失x中的一些元素xi。该算法必须填充这些缺失值。去噪:在此类任务中,机器学习算法的输入是通过未知损坏过程从干净样本x∈Rn中获得的污染样本。该算法从受污染的样本x中预测出干净的样本x,或更一般地预测条件概率分布P(x|~x)。密度估计或概率分布律函数估计:在密度估计问题中,机器学习算法学习函数可以解释为样本的概率密度函数(如果x是连续的)或概率分布律函数(如果x是离散的)采样空间。为了做好这样的任务(我们将在讨论性能指标P时明确定义任务是什么),算法需要学习观察数据的结构。该算法必须知道样本聚类何时发生以及何时不太可能发生。上面描述的大多数任务都需要学习算法至少隐含地捕获概率分布的结构。密度分布使我们能够明确地捕获该分布。原则上,我们可以计算此分布以解决其他任务。例如,如果我们通过密度估计得到一个概率分布p(x),我们可以使用这个分布来解决缺失值插补任务。如果xi的值缺失,但是其他变量x??i的值已知,那么我们就可以得到条件概率分布。实际上,密度估计并不能解决所有这些问题,因为在很多情况下p(x)很难计算。当然,还有许多其他或其他类型的任务。我们这里列出的任务类型只是用来介绍机器学习可以做的任务,并不严格定义机器学习任务的分类。