机器学习可以定义为一组算法,有助于根据过去的学习进行预测。
在机器学习算法中,输入数据被组织为数据点。每个数据点都由描述所表示数据的特征组成。例如,尺寸和速度是可以将汽车与街道上的自行车区分开来的特征。汽车的大小和速度通常都高于自行车。机器学习方法的目标是将输入数据转换为有意义的输出,例如将输入数据分类为汽车和非汽车数据点或对象。输入通常写为向量,由多个数据点组成。输出写为。xy
二维或三维输入数据可以在所谓的特征空间中进行说明和查看,其中每个数据点都相对于其特征绘制。图 8 (a) 显示了描述汽车和非汽车对象的二维特征空间的简化示例。x
图8.根据汽车和非汽车物体的大小和速度对汽车和非汽车对象进行分类:特征空间(a)以及两个类(b)之间的相应间隔。
所谓的学习映射函数或,给出特征向量之间的差异(例如,分类为汽车和非汽车数据点)。该模型的结构范围从简单的线性函数(例如图 8 (a) 中的汽车和非汽车对象的线划分)到复杂的非线性神经网络。学习方法的目标是确定系数的值,这些系数表示可用输入数据中的模型参数。映射函数的输出是算法对输入数据描述内容的预测。model,h_θ (x)θ-
机器学习方法可以根据映射函数的学习方式进行分类(图 9)。有三种可能性:
监督学习 –映射函数是根据训练数据对计算的,其中预先知道的输出在训练阶段单独提供给学习算法。计算出模型参数后,可以将模型部署到目标应用程序中。当它收到未知数据点时,它的输出将是预测值。yy
无监督学习 –在这种情况下,与监督学习相比,在训练阶段没有可用的特征标签对。学习算法的输入仅包含未标记的数据点。这种机器学习方法的目标是直接从输入特征在特征空间中的分布中推断出输入特征的标签。x
强化(半监督)学习 –在这种情况下,训练数据也没有标签,但构建模型是为了通过一组操作促进与其环境的交互。映射函数将环境的状态映射到操作,该状态由输入数据提供给操作。奖励信号指示操作在环境的特定状态下的性能。当信号表明积极影响时,学习算法会加强动作。如果识别出负面影响,该算法将阻止环境的特定操作或状态。
图9.基于训练方法的机器学习算法分类。
深度学习革命
近年来,所谓的深度学习范式彻底改变了机器学习领域。深度学习通过解决以前传统模式识别方法无法解决的挑战,对机器学习社区产生了巨大影响(LeCun et al. 2015)。深度学习的引入极大地提高了专为视觉识别、对象检测、语音识别、异常检测或基因组学而设计的系统精度。深度学习的关键方面是,用于解释数据的特征是从训练数据中自动学习的,而不是由工程师手动制作的。
图 10.经过训练的深度卷积神经网络可以识别图像中的汽车。
到目前为止,构建良好的模式识别算法的主要挑战是手动设计用于分类的手工制作的特征向量,例如早期版本的交通标志识别系统中使用的局部二进制模式,如第 1 部分所述。深度学习的出现已经用学习算法取代了特征向量的手动工程,该算法可以自动发现原始输入数据中的重要特征。
在架构上,深度学习系统由多层非线性单元组成,可以将原始输入数据转换为更高级别的抽象。每个层将前一层的输出映射到适用于回归或分类任务的更复杂的表示中。这种学习通常在深度神经网络上进行,该网络通过使用反向传播算法进行训练。该算法迭代地调整网络的参数或权重,以模拟输入训练数据。因此,网络在训练结束时学习了输入数据点的复杂非线性映射函数。
图 10 显示了深度神经网络的符号表示,该网络经过训练以识别图像中的汽车。输入层表示原始输入像素。隐藏层 1 通常模拟图像某些位置和方向中边缘的存在与否。第二个隐藏层使用在前一层中计算的边对对象零件进行建模。第三个隐藏层构建了建模对象的抽象表示,在我们的例子中,这是汽车的成像方式。输出层根据第三个隐藏层的高级特征计算给定图像包含汽车的概率。
不同的网络架构源于神经网络的单元和层的分布方式。所谓的感知器是最简单的,由单个输出神经元组成。通过构建感知器可以获得大量的神经网络风格。这些网络中的每一个都比其他网络更适合特定的应用程序。图 11 显示了近年来创建的众多神经网络架构中最常见的三种。
深度前馈神经网络(图11a)是一种结构,其中两个相邻层之间的神经元完全互连,并且信息流仅在一个方向上,从系统的输入到输出。这些网络可用作通用分类器,并用作所有其他类型的深度神经系统的基础。
图 11.深度神经网络架构(来源:www.asimovinstitute.org)
深度卷积神经网络(图11b)改变了视觉感知方法的发展方式。此类网络由交替的卷积层和池化层组成,这些层通过从输入数据进行泛化来自动学习对象特征。这些学习到的特征被传递到一个完全互连的前馈网络进行分类。这种类型的卷积网络是图 10 所示汽车检测架构和第1 部分描述的用例的基础。
虽然深度卷积网络对视觉识别至关重要,但深度递归神经网络(图11c)对于自然语言处理至关重要。由于隐藏层中神经元之间的自递归连接,这种架构中的信息是时间依赖性的。网络的输出可能因数据馈入网络的顺序而异。例如,如果在单词“mouse”之前输入单词“cat”,则会获得一定的输出。现在,如果输入顺序发生变化,输出顺序也可能更改。
机器学习算法的类型
尽管深度神经网络是复杂机器学习挑战中最常用的解决方案之一,但还有各种其他类型的机器学习算法可用。表1根据其性质(连续或离散)和训练类型(有监督或无监督)对它们进行分类。
表 1.机器学习算法的类型
机器学习估计器可以根据其输出值或训练方法大致分类。如果后者估计连续值函数(即连续输出),则该算法被归类为回归估计器。当机器学习算法的输出是离散变量时,该算法称为分类器。第 1 部分中描述的交通标志检测和识别系统是此类算法的实现。y
? Ry ? {0,1,…,q}
异常检测是无监督学习的一种特殊应用。此处的目标是识别数据集中的异常值或异常。异常值定义为特征向量,与应用程序中常见的特征向量相比,这些特征向量具有不同的属性。换句话说,它们在特征空间中占据不同的位置。
表 1 还列出了一些流行的机器学习算法。下面简要解释这些内容。
线性回归是一种回归方法,用于将线、平面或超平面拟合到数据集。拟合模型是一个线性函数,可用于对实值函数进行预测。y
逻辑回归是线性回归方法的离散对应物,其中映射函数给出的预测实际值被转换为概率输出,该输出表示输入数据点对某个类的成员资格。
朴素贝叶斯分类器是一组基于贝叶斯定理构建的机器学习方法,该定理假设每个特征都独立于其他特征。
支持向量机 (SVM) 旨在使用所谓的边距计算类之间的分离。边距的计算尽可能宽,以便尽可能清楚地分隔类。
集成方法,如决策树、运行dom 森林或AdaBoost组合了一组基础分类器,有时称为“弱”学习器,目的是获得“强”分类器。
神经网络是机器学习算法,其中回归或分类问题由一组称为神经元的互连单元解决。从本质上讲,神经网络试图模仿人脑的功能。
K-均值聚类是一种用于将具有共同属性的特征分组在一起的方法,即它们在特征空间中彼此接近。k 均值根据要分组的给定聚类数,以迭代方式将常见要素分组到球形聚类中。
均值偏移也是一种数据聚类技术,对于异常值而言,该技术更为通用和稳健。与 k 均值相反,均值偏移只需要一个优化参数(搜索窗口大小),并且不假定数据聚类的球形先验形状。
主成分分析 (PCA) 是一种数据降维技术,它将一组可能相关的特征转换为一组名为主成分的线性不相关变量。主成分按方差顺序排列。第一个分量的变化最大;第二个在此之下有下一个变体,依此类推。
第三部分在功能安全要求的背景下评估这些机器学习算法。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !