机器学习算法_MATLAB机器学习:机器学习算法的分类

机器学习算法的能力来源于算法的质量,这正是过去这些年科学家着力更新、改进的内容。这些算法根据使用的输入数据、训练方式以及学习到的模型的输出结果,可分为如下3类。

(1)监督学习:这类算法根据一系列样本(每个样本的输入有对应的输出)的观测结果建立从输入到输出的映射关系,最终构建一个预测模型。

(2)非监督学习:这类算法只需一系列样本点的输入,不需要样本事先标注出对应的输出。算法学习的信息能够构建一个描述性模型 ,一个经典的例子是搜索引擎。

(3)强化学习:这种算法能够通过多次迭代并观察每次迭代后环境产生的反馈进行学习。事实上,每次迭代后的输出结果和模型采取的行动都会对环境产生影响,而环境也会针对这些影响进行反馈。这类算法多用于语音识别和文本识别。

图1.5描述了不同机器学习算法间的关系。

机器学习算法_MATLAB机器学习:机器学习算法的分类_第1张图片

图1.5 机器学习算法分类

1.1监督学习

监督学习同时用样本的输入集合和每个样本对应的标签集合0作为输入数据,能够建立从输入倒标签0的映射关系,即模型与参数间的关系。用于求解模型、参数的数据集称为训练集(training set)。监督学习的训练流程如图1.6所示。

机器学习算法_MATLAB机器学习:机器学习算法的分类_第2张图片

图1.6监督学习训练流程

所有监督学习算法的训练都基于以下这个论断:如果一个算法拥有足够大的训练集,那么经过训练后它能够建立一个映射关系B-这个映射关系能够无限逼近于潜在的真实映射关系A。

在用于预测问题时,监督学习假设相似的输入有相似的输出。也就是说,当B足够接近A时,在新数据上应用时,给B和A同一输入,应该产生相似的输出结果。

总体来说,在实际应用中这两个假设并不总是成立的。显然,这种算法的最终表现在很大程度上取决于输入数据集的质星。如果输入数据集只包含少量样本,那么训练得到的模型就没有学习到足够经验以进行正确预测。相反,过多的冗余样本将导致优化的模型过于复杂,会降低模型的执行速度。

此外,在实际开发中我们发现,监督学习算法对数据集中的噪声、奇异值非常敏感。即使很小比例的奇异值,也将导致整个系统产生极大偏误,并给出错误预测。

在监督学习中,我们可以根据输入数据的特点、学习任务的不同,将其分成两类。当需要输出离散类型的数据和对数据集中的样本进行归类时,此类问题称为分类问题;当需要输出连续的结果时,这类问题称为回归问题。

1.2非监督学习

非监督学习的目标是自动从数据集中提取信息,整个过程中没有事先对数据集给出任何先验假设。与监督学习不同,训练数据集只包含样本的输入,不包含对应的输出。非监督学习的目标是能够自动在数据集中发现有用的信息,例如聚类(根据样本间的相似特点将样本组合在一起) ,典型的应用是搜索引擎。

非监督学习算法的有效性在很大程度上取决于从数据集中抽取到的信息质量。这些算法通过比较数据集中样本间的相似和不同之处来进行学习。图1.7展示了监督学习和非监督学习的例子。

机器学习算法_MATLAB机器学习:机器学习算法的分类_第3张图片

图1.7 监督学习vs.非监督学习

非监督学习在处理教值型数据集时具有很好的表现,但当处理非数值型数据集时,精确度会下降一些。总体来说,非监督学习适合处理含有顺序的,或者能够被明显划分成组并被明确辨识的数据集。

1.3强化学习

强化学习的目标是构建一种算法,这类算法通过多次迭代和观察每次迭代后环境产生的反馈进行学习这类算法借助模型输出决策所引起的外部环境反馈进行交互式学习。当模型给出正确决策时,外部环境会给予正向奖励;当出错时,外部环境会给予负向惩罚。算法的学习目标是最大化奖励。

监督学习好比一位"老师” ,通过标注数据来教学生(算法)学习。然而,不是对于所有问题都可以有这种"老师"”。很多情况下,即使人类也只能给出定性的信息(好/坏、成功/失败等)。

这类定性信息称为"增强信号" ( reinforcement signal )。在这种情况下,模型只能得到每次学习结果的增强信号,无法获取任何关于如何优化智能体( agent )表现(模型参数)的信息。因为我们无法针对结果定义损失函数( cost function ) ,所以也就无法计算出梯度( gradient )以供模型优化参数。强化学习的解决办法是创建聪明的智能体并在外部环境中不断试错,来从经验中学习。

图1.8展示了强化学习的流程。

机器学习算法_MATLAB机器学习:机器学习算法的分类_第4张图片

图1.8 强化学习与环境间的交互

本文节选自《MATLAB机器学习》

机器学习算法_MATLAB机器学习:机器学习算法的分类_第5张图片

MATLAB为机器学习领域提供了必要的工具。用户可以借助MATLAB环境提供的强大交互式图形界面,非常轻松地解决机器学习问题。 本书在介绍每个主题前,会简要概述其理论基础,然后辅以实际案例进行阐释。通过阅读本书,读者能够应用机器学习方法,并能充分利用MATLAB的功能解决实际问题。 《MATLAB机器学习》前3章主要介绍MATLAB机器学习的基础知识、使用MATLAB导入数据和组织数据的方法以及从数据到知识发掘的方法,中间3章主要介绍回归分析、分类分析以及无监督学习,最后3章介绍人工神经网络、降维变换的方法以及机器学习实战的相关知识。 本书可供数据分析员、数据科学家以及任何希望学习机器学习算法以及构建数据处理、预测应用的读者阅读。

你可能感兴趣的:(机器学习算法)