本篇是人工智能专辑文章的第二篇,为大家归类总结人工智能的三类工作方式、九大算法及五大应用系统。
人工智能到底是如何工作的?包含哪些常见的机器学习机制和主要算法?接下来的内容可能会有些烧脑,但足以让你对人工智能实施的主要方法有个全局的了解。
三类工作方式
机器学习从数据中提取信息,按照工作方式把它分成三个主要的类别:监督学习、无监督学习和强化学习。
监督学习 如果数据集包含已知的输入和输出对,称为监督学习。监督学习使用一组训练数据来预测未知数据集的输出值。使用监督学习开发的模型的性能取决于所采用的训练数据集的大小和方差(数据选择),以实现更好的泛化和对新数据集更好的预测能力。
无监督学习 在不定义预先指定属性的情况下学习对数据集的实例进行分组,称为无监督学习。该算法无需目标条件信息即可确定数据集的基础结构。
强化学习 在强化学习中, AI系统以代理的形式与环境交互。代理能够操作并观察环境,并以奖惩的形式接收环境的反馈,通过执行动作并接收针对所述动作的奖惩来改进学习效果。通过重复执行动作并接收反馈, 代理就可以更好地通过价值函数近似估计执行动作的价值。
▲ 强化学习
九大算法
决策树 适用于分类和回归任务,是监督学习算法的一种形式。决策树使用训练数据以图形方式概述决策规则及其结果。分类树会产生分类或离散结果,而回归树会预测连续值。因为容易解释、准确性高,决策树成为非常流行的机器学习技术。
▲ 决策树
支持向量机 SVM算法处理监督机器学习问题,可应用于分类和回归任务。该算法的基本概念是线性划分不同的类别,将数据集提供的类之间的距离最大化。为了实现最佳的分类,该算法使用可以令不同类别之间的间隔最大化的数据点。定义了分隔开不同类别的直线上的那些被选中的数据点叫做支持向量,这就是SVM算法名称的由来。
朴素贝叶斯 是一类基于贝叶斯定理的监督学习算法。有一个普遍的假设,即所有这些算法都可以共享以对数据进行分类。被分类数据的每个特征都独立于该类别中所有其它特征。当一个特征的值发生变化对其它特征的值没有影响时,认为该特征是独立的。贝叶斯算法被应用于文本检索或垃圾邮件分类等许多任务。
k最近邻 k-NN算法通常用于监督分类和回归,但也可以应用于无监督聚类。该算法被称为惰性学习者,因为只需要保存数据直到需要对新数据进行分类,根据存储的数据点对新数据进行分类,因此分类结果始终取决于当前的训练数据。k-NN算法的基本思想是根据与待分类数据距离最近 的k个数据点对数据进行匹配分类。
▲ K最近邻
k均值聚类 聚类问题中提供了一个未标记的数据集,聚类算法将其自动分组为相干的子集或聚类。k均值算法是用于此类任务的最受欢迎的算法之一。k均值算法首先随机初始化数据集中的k个随机点 (称为聚类质心)。然后重复执行两个步骤:分配和质心重定位。在聚类分配步骤中,该算法遍历给定数据集中的每个样本,并根据最近距离将每个样本分配给一个初始化的质心。对每个数据点重复此操作 ,直到将每个样本分配给一个簇。第二步,算法计算分配给特定簇的每个数据点的平均距离,然后将质心移动到计算出的平均位置。对所有k个簇重复该步骤。该算法进行迭代,直到聚类质心不再变化为止,这意味着k均值算法已收敛到k个聚类。
隐马尔科夫模型 HMM是一种创建线性序列概率模型的有用算法。该算法的基本概念是马尔可夫过程,它假设系统在任何时候都可以被描述为处于一组独特的状态。在间隔开的离散时间上,系统根据与状态相关的一组概率在状态之间变化。马尔可夫模型中的隐藏状态表示不可直接观测的随机过程,它只能通过另一组产生观测序列的随机过程间接观测。HMM的应用范围包括DNA和蛋白质分析中的序列建模、信息检索系统和音频测序。
人工神经网络 人工神经网络(ANN)是受到人脑启发诞生的一种基于神经网络(感知器)的算法,具有很强的通用性。一个神经网络由多个不同的层组成,每一层都包含与上一层所有人工神经元相连的人工神经元。输入层表示输入数据,由数值组成,可以处理结构化数据(例如温度传感器输出)和非结构化数据(例如图像像素)。根据隐藏层中哪些单元被激活,输出层单元将提供预测。
▲ 人工神经网络
卷积神经网络 (CNN)与普通ANN有很多相似之处。它们同样都由神经元组成,而且这些神经元的权重和偏差会在学习过程中进行调整。整个网络仍表示单个可区分的得分函数,并且有一个成本函数链接到最后一个全连接层上。但是,与常规前馈神经网络相反,CNN明确假定其输入为图像,它们可以将某些属性编码到网络的体系结构中,让前向函数的实现更加有效,并且大大减少了参数的数量。
递归神经网络 (RNN)是一种特殊类型的人工神经网络。它们可以应用于监督学习和无监督学习,也可以用于强化学习。ANN在把当前输入数据考虑进去时假设它们和之前的数据无关,但RNN能够计入之前数据的影响。ANN的神经元只有来自先前层的输入,但RNN神经元的输出上带有循环,因此RNN的神经元对其先前的输出具有依赖性。这种特性使得此类算法能够覆盖序列预测问题,例如单词的语境或时间关系。
▲ 递归神经网络
五大应用系统
计算机视觉 计算机视觉就是用计算机模拟人类视觉系统,以识别物体或人。它通常利用机器学习算法来识别图片中的模式,并利用这些模式对图像进行分类。计算机视觉任务包括获取、处理、分析和理解数字图像以及从现实世界中提取高维数据以产生数字或符号信息(例如决策)的方法。
▲ 计算机视觉
异常检测 任何必须识别出偏离预期模式的偏差的应用都需要异常检测,例如欺诈检测、健康监护或计算机系统入侵检测。异常检测有三大类。
- 无监督异常检测技术会在未标记的测试数据集中检测异常,其前提是假设,与看起来最不适合数据集的其余实例比起来,数据集中的大多数实例是正常的。
- 有监督异常检测技术需要一个标记了“正常”和“异常”的数据集,并涉及到训练分类器的使用。
- 半监督异常检测技术会根据给定的正常训练数据集构建一个表示正常行为的模型,然后测试通过该学习模型生成测试实例的可能性。
时间序列分析 描述了一种在一组时间序列数据中查找模式的分析方法。目的是识别可能被噪声掩盖的数据趋势,并正式对其进行描述。此外,还可以使用时间序列分析预测该序列的未来值,以便进行预测。
自然语言处理 NLP是计算机以一种智能方式来分析、理解人类语言并从中获得意义的方法。通过利用NLP ,开发人员可以组织和构造知识来执行自动摘要、翻译、命名实体识别、关系提取、情感分析、语音识别和主题分割之类的任务。
▲ 自然语言处理
推荐系统 推荐器或推荐系统为用户预测与其偏好相匹配的项目。推荐系统的流行通常是基于数字内容或服务的使用,在这种情况下可以更容易地根据用户的评分识别用户的偏好。该任务经常使用协作过滤算法,但朴素贝叶斯和k-NN算法也很受欢迎。
至此,人工智能的算法全貌已了然于胸。下期,我们将为你展开人工智能应用市场的广阔画卷。