人工智能算法梳理及解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当前,伴随网络及计算机技术的长足发展,人工智能随着深度学习技术应用的突破取得极大进展,各种落地应用及概念产品层出不穷,人们对其在生产生活中的革命性创新充满期待。捋顺人工智能算法脉络,解析基本算法应用场景,可使我们对人工智能技术有一个更为理性深入和全面的理解及思考。
1 人工智能技术理解
纵观人工智能技术发展历史,人工智能在实现上可归类为六种途径,即符号主义、连接主义、学习主义、行为主义、进化主义和群体主义[1]。六种途径并非泾渭分明,它们只是从不同的角度提出了解决方案,如学习主义就用到了人工神经网络来实现。目前流行的机器学习以及深度学习算法实际上是符号主义、连接主义以及行为主义理论的进一步拓展。
对于机器学习的理解,笔者认为可以从三个问题入手,即学什么、怎么学、做什么。首先,机器学习需要学习的内容是能够表征此项任务的函数,即能够实现人们需要的输入和输出的映射关系,从信息论的角度来看,其学习的目标是确定两个状态空间内所有可能取
王蕴韬
中国信息通信研究院 北京 100037
摘 要 文章旨在梳理当前人工智能主流算法脉络,简析其原理及应用场景,帮助人们更加理性深入地对人工智能技术有一个比较全面的理解和思考。文章在对人工智能技术背后数学理论及实际应用的分析基础上,对机器学习算法主要任务、深度学习发展动因、深度学习算法应用进行梳理和分析,提取出人工智能算法主要能够完成的三类任务,并在技术层面针对人工智能下一步发展做出了分析和展望。关键词 人工智能;机器学习;深度学习;回归;分类;聚类
人工智能算法梳理及解析
值之间的关系,使得熵尽可能最低[2]。其次,机器怎么学。要实现学习目标,就要教给机器一套评判的方法,而不同于告诉机器每个具体步骤如何操作的传统方法,这需要对机器描述过程演进为对机器描述结果。从数学角度来看,就是为机器定义一个合适的损失函数,能够合理量化真实结果和训练结果的误差,并将之反馈给机器继续作迭代训练。最后,机器学习究竟要做什
么,其实主要做三件事,即分类(Classification)、回归(Regression)和聚类(Clustering),其中分类和回归属于监督学习的范畴,而聚类则属于非监督学习的范畴。目前多数人工智能落地应用的背后,都是通过对现实问题抽象成相应的数学模型,分解为这三类基本任务的有机组合,并对其进行建模求解的过程。
2 机器学习算法分类
这里,我们首先讨论当前的三大最常见的机器学习任务及其常用算法[3]。
首先是回归。回归是一种用于连续型数值变量预测和建模的监督学习算法;回归任务的特征是具有数值型目标变量的标注数据集。回归算法有很多种,其中最为
常用的算法主要有四种:第一是(正则化)线性回归,它最简的形式是用一个连续的超平面来拟合数据集;第二是回归树(集成方法),该方法又称为决策树,通过将数据集重复分割成不同的分支来最大化每次分离的信息增益,从而让回归树很自然地学到非线性关系,集成方法包括随机森林(RF)或梯度提升树(GBM);除此之外,还有最邻近算法和深度学习。
第二是分类。分类算法用于分类变量建模及预测的监督学习算法,许多回归算法都有其对应的分类形式,分类算法往往适用于类别(或其可能性)的预测,而非数值。其中最为常用的算法主要有五种。1)(正则化)逻辑回归。逻辑回归通过逻辑函数将预测映射到0到1的区间,因此预测值可被视为某一类别的概率。2)分类树(集成方法)。对应于回归树的分类算法是分类树。通常,它们都是指决策树,更为严谨的说法是“分类回归树”,也就是非常有名的CART算法。3)支持向量机。支持向量机使用一个名为核函数的技巧,来将非线性问题变换为线性问题,其本质是计算两个观测数据的距离。支持向量机算法所寻找的是能够最大化样本间隔的决策边界,因此又被称为大间距分类器。4)朴素贝叶斯。基于条件概率和计数的简单算法,其本质是一个概率表,通过训练数据来更新其中的概率。它预测新观察值的过程,就是根据样本的特征值在概率表中来寻找最为可能的类别。被称为“朴素”的原因是其核心的特征条件独立性假设(例如,每一项输入特征都相互独立)在现实中几乎是不成立的。5)深度学习方法。
第三是聚类[4]。聚类算法基于数据内部结构来寻找样本自然族群(集群)的无监督学习任务,使用案例包括用户画像、电商物品聚类、社交网络分析等。其中最为常用的算法主要有五种。1)K均值。基于样本点间的几何距离来度量聚类的通用目的算法。由于集群围绕在聚类中心,结果会接近于球状并具有相似的大小。2)仿射传播。基于两个样本点之间的图形距离来确定集群,其结果倾向于更小且大小不等的集群。3)分层/层次。主要完成层次聚类的目标。4)DBSCAN。基于密度的聚类算法,它将样本点的密集区域组成集群;其最新进展是HDBSCAN,它允许集群的密度可变。
在机器学习领域内,两个最为重要的概念是维度及特征选取。其中“维度(Dimensionality)”通常指数据集中的特征数量(即输入变量的个数)。而特征选取是从你的数据集中过滤掉不相关或冗余的特征。
特征选取(Feature Selection)[5]主要包括四种方法。
1)方差阈值。摒弃掉观测样本那些观测值改变较小的特征(即,它们的方差小于某个设定的阈值)。这样的特征价值极小。2)相关性阈值。去掉那些高度相关的特征(这些特征的特征值变化与其他特征非常相似),它们提供的是冗余信息。3)遗传算法。可用于不同任务的一大类算法的统称。它们受进化生物学与自然选择的启发,结合变异与交叉,在解空间内进行高效的遍历搜索。4)逐步搜索。逐步搜索是一个基于序列式搜索的监督式特征选取算法。它有两种形式:前向搜索和反向搜索。
值得注意的是,特征选取与特征提取不同,其关键区别在于:特征选取是从原特征集中选取一个子特征集,而特征提取则是在原特征集的基础上重新构造出一些(一个或多个)全新的特征。
特征提取(Feature Extraction)主要用来创造一个新的、较小的特征集,但仍能保留绝大部分有用的信息,主要包括三种方法。1)主成分分析。非监督式算法,它用来创造原始特征的线性组合。新创造出来的特征他们之间都是正交的,也就是没有关联性。具体来说,这些新特征是按它们本身变化程度的大小来进行排列的。第一个主成分代表了你的数据集中变化最为剧烈的特征,第二个主成分代表了变化程度排在第二位的特征,以此类推。 2)线性判别分析。监督式学习方式,它必须使用有标记的数据集。3)自编码机。人工神经网络,它是用来重新构建原始输入的。关键是在隐含层搭建比输入层和输出层更少数量的神经元。这样,隐含层就会不断学习如何用更少的特征来表征原始图像。
机器学习还包括密度估计(Density Estimation)和异常检测(Abnormal Detection)的任务,在此略过。总的