机器学习是如何工作的——一个简单的指南
已发表: 2019-07-31Netflix 和亚马逊在他们的游戏中做得非常好——他们似乎总是知道你想看/购买什么内容或产品。 您不只是喜欢看到已经根据您的口味和喜好精心策划的一切吗?
虽然我们大多数人都知道 Netflix 和亚马逊漂亮的推荐引擎背后的秘密(当然是机器学习!),但我们中有多少人熟悉机器学习的内部机制?
直截了当地说——机器学习是如何工作的?
本质上,机器学习是一种数据分析技术(人工智能的一个子集),旨在从经验中“学习”并使机器能够执行需要智能的任务。 机器学习算法应用计算方法来提取信息并直接从数据中学习,而无需对其进行显式编程(不必依赖于预定方程)。
机器学习系统剖析
所有机器学习系统都可以分解为三个部分:

- 模型——处理识别的组件,即预测。
- 参数——指模型用于做出决策(预测)的因素。
- 学习者——通过考虑与实际结果相比的预测差异来调整参数(以及作为一个整体,模型)的组件。
机器学习的类型
现在您已经熟悉了 ML 系统的核心组件,是时候看看它们“学习”的不同方式了。
监督学习
在监督学习中,模型被明确地训练如何将输入映射到输出。 监督学习算法采用一组已识别的输入数据以及对该数据的已知响应(输出),并训练模型以生成合理的预测以响应新的输入数据。
监督学习使用两种方法来开发预测模型——
- 分类——顾名思义,这种技术通过标记输入数据将它们分类为不同的类别。 它用于预测离散反应(例如,癌细胞是良性还是恶性)。 医学成像、语音识别和信用评分是分类的三个流行用例。
- 回归——该技术用于通过识别输入数据中的模式来预测连续响应。 例如,温度或天气的波动。 回归用于预测天气、电力负荷和算法交易。
无监督学习
无监督学习方法使用未标记的数据并试图解开其中的隐藏模式。 因此,该技术从由没有标记响应的输入数据组成的数据集中进行推断。
- 聚类——最常见的无监督学习方法之一,聚类是一种探索性数据分析技术,可将数据分类为“集群”,而无需任何关于集群凭据的已知信息。 对象识别和基因序列分析是聚类的两个例子。
- 降维- 降维清除所有冗余信息的输入数据并仅保留基本部分。 因此,数据不仅变得干净,而且还减小了大小,从而占用更少的存储空间。
强化学习
强化学习旨在建立可以通过反复试验学习和改进的自我维持和自我学习模型。 在学习(训练)过程中,如果算法能够成功执行特定动作,就会触发奖励信号。 奖励信号的作用就像算法的指路灯。 有两个奖励信号:
- 触发积极信号以鼓励和继续特定的行动序列。
- 负面信号是对特定错误行为的惩罚。 它要求在进一步进行培训之前纠正错误。
强化学习广泛用于视频游戏。 这也是自动驾驶汽车背后的机制。

在 ML 算法的“学习”功能中
在机器学习算法的功能以及它们如何通过经验学习的背后,有三个共同的原则。
学习函数
学习过程的第一步是 ML 算法学习目标函数 (f),该目标函数 (f) 最好地将输入变量 (X) 映射到输出变量 (Y)。 所以,
Y = f(X)。
在这里,目标函数 (f) 的形式是未知的,因此是预测建模。
在这个一般学习阶段,ML 算法学习如何根据新的输入变量 (X) 进行未来预测 (Y)。 自然,该过程并非没有错误。 这里错误 (e) 的存在与输入数据 (X) 无关。 所以,
Y = f(X) + e
由于误差 (e) 可能没有足够的属性来表征从 X 到 Y 的最佳映射场景,因此它被称为不可约误差——无论算法在估计目标函数 (f) 方面有多好,您都无法减少误差 ( e)。
做出预测并学习如何改进它们
在前面的一点中,我们了解了 ML 算法如何学习目标函数 (f)。 而且我们已经知道,我们唯一且唯一的目标是找到从 X 映射 Y 的最佳方法。换句话说,我们需要找到将输入映射到输出的最准确方法。
会有错误(e),是的,但是算法必须不断尝试了解它与所需输出(Y)的距离以及如何达到它。 在此过程中,它将不断调整参数或输入值 (X) 以最佳匹配输出 (Y)。 这将一直持续到它与所需的输出模型达到高度的相似性和准确性。
如何学习机器学习——一步一步“梯度下降”学习方法
我们可能确实成功地创造了“智能”机器,但它们的学习速度不同——机器往往会慢慢来。 他们相信“梯度下降”的学习过程——你不会一下子迈出一大步,而是迈出一小步,慢慢地从山顶下降(这里的比喻是爬下山)。

下山时,不要跳、跑、摔倒; 相反,您会采取测量和计算的步骤来安全地到达底部并避免意外。
ML 算法使用这种方法——它们不断调整自己以适应不断变化的参数(再次描绘一座山的崎岖和未开发的地形)以最终获得预期的结果。
总结…
所有机器学习算法的基本目标是开发一个最能泛化到特定输入数据的预测模型。 由于 ML 算法和系统通过不同类型的输入/变量/参数训练自己,因此必须拥有大量数据。 这是为了允许 ML 算法与不同类型的数据进行交互,以了解它们的行为并产生所需的结果。
我们希望通过这篇文章,我们可以为您揭开机器学习的神秘面纱!