机器学习介绍

2021-04-20 08:43:50

本文的目的是“ML 101”系列中的进一步的目的是讨论机器学习的基本概念。我希望确保我在未来可能使用的所有概念都明确和解释。通过机器学习到金融领域的最重要问题之一是“黑匣子”的概念。这些模型中许多景象背后发生了很多歧义,所以我希望这一点,在深入进入理论中,我们可以帮助消除一些我们可能拥有关于信任这些模型的担忧。

“[机器学习是a]研究领域,使计算机能够在没有明确编程的情况下学习。” (Arthur Samuel,1959)

Arthur Samuel认为是“机器学习”一词的发起人,以上述报价定义了它。这个定义仍然存在今天,但已经随着时间的推移而发展。

“据说一个计算机程序在某些任务T和一些性能测量P中学习了经验E,如果它在T的性能下,通过P测量而改善了经验E.” (汤姆米切尔,1998)

Carnegie Mellon大学的计算机科学教授Tom Mitchell在1998年定义了一个结构良好的机器学习问题,以上描述。

让我们进一步打破这两个报价。这两个定义中的关键元素是“学习”一词,这正是机器学习的基础 - 我们希望没有我们的机器,没有我们特别讲述应该学习什么。

通常,我们可能希望我们的算法学习如何从一个点到另一个点。该初始点可以是描述一种情况的因素数据集,例如人体测量的人的身体测量 - 高度,重量,BMI,血压水平等,以及我们希望我们算法达到的最终点可能是生命特定人的期望。

最终,我们想要做的是提供我们旅程的起点和终点,并讲述算法弄清楚要采取的路径 - 这就是我们作为学习的分类。

这是典型的,我们所谓的“监督学习”问题 - 无监督的学习是替代方案,其实际上并不声明特定的端点,而是告诉算法在所有数据点之间定位相似性。

然而,普通性是,我们仍然在没有初始数据集的情况下开始,然后为我们希望输出看起来像的算法,规格的不同程度的算法提供指示。

在第二个清晰度中,我们可以考虑我们的经验E才能成为我们的初始输入数据集,任务T是该数据集必须培训的指令,以与我们的输出数据集和我们的性能P匹配为基本上通知的某种形式的准确度指标。我们的模型表现如何。

那么所有这些学习如何发生这种情况?嗯,从高级视图中,它发生在功能的概念。对于那些可能不完全熟悉的人,函数是从一组可能的输出到一组可能输出的输入关系[1]。如果我们看看我们对机器学习的定义是什么,功能的作用正是我们希望我们的机器学习或估算。我们希望它知道如何从我们的投入到我们的产出中获取,从而基本上找出了该关系的内容。

因此,任何机器学习算法的目标是为我们的函数找到最佳可能近似,它将输入变量尽可能接近我们的输出变量。

Word泛化是我们如何将其应用于未来的情景。从本质上讲,我们构建的是我们的投入和输出之间的关系。但如果我们现在给我们的关系是什么新的投入?它仍然能够将这些看不见的输入转换为正确的输出集吗?概括是对看不见的数据进行正确预测的能力。

最终,这就是我们希望我们的机器学习算法做的事情。我们希望他们了解数据中的数据中的关系,这些数据都在以前没有看到的数据测试。

我们在图表上绘制了4个已知的数据点,我们希望他们有一些我们正在寻求估计的潜在关系。我们将呼叫底层函数f(x),我们制作了3个基本估计模型,我们调用h(x)。

第一个估计方法只是为了绘制连接每个数据点的线。这为我们提供了完美的适合我们所看到的数据,因为我们估计了每个X点的精确f(x)值。但是,此模型没有任何恒定的属性,如果我们添加了一个不间断的数据点(红色的点),我们的模型将无法估计这一点,因为此X值没有程序。

或者,我们可以使用第三阶多项式,这似乎是另一种良好的适合于所看到的数据点。它收集了点的一般形状,具体取决于绘制了看不见的数据点的位置,该模型具有泛化的能力。

上述情况下的第一阶多项式是直线。我们可以看到它没有由于输入数据的形状而提供完美的拟合,但是,根据我们的x和f(x)的关系,该估计能够概括到我们的未见数据。

这一概念是牢记机器学习最重要的概念之一。我们不是在寻找完美的模型,因为我们不指望这种完美的模型概括。我们正在寻找对我们所知道的数据的最佳估计,希望它还在我们没有暴露模型的数据上表现良好。除此之外,最终的2个图表告诉我们,我们选择的模型总是是我们旨在解决的问题的独特,没有“一定尺寸适合所有人”。

这为我们带来了下一个对话 - 机器学习与模式识别。这些通常是将其分组并可互换使用的条款,但它们实际上具有独特的定义。

机器学习正在从经验中学习,经验是我们提供我们算法的一组输入数据。在机器学习中,我们的经验,任务和性能明确定义。机器学习也被称为监督学习,因为我们提供了数据中的输入和目标输出。

模式识别是在我们的数据中查找模式的过程。它也被称为无监督的学习,因为,而不是讲述该模型应该是什么,我们要求它找到数据内的模式和关系。我们的经验E将只是没有目标输出的功能变量,并且我们的任务和性能更广泛地定义,因为我们没有特定的路径我们希望遵循算法。

由1个功能和1个标签组成的数据 - 高度→单变量监督学习

由3种特征组成的数据 - 年龄,高度,性别和1个标签 - 预期寿命→多变量监督学习

由1个功能组成的数据 - 道琼斯指数的一系列价格,目的是将价格分类为类似的分组→单变量无人监督的学习

由3个特征组成的数据 - 歌曲,节奏,长度和钥匙的属性,目的是将它们分类为类似的歌曲组,这些歌曲可以有希望被流派可分变→多变量无人监督的学习

分类是一种机器学习任务,我们有一个离散的一组结果。分类通常是二进制的,这意味着结果有两种可能的选项,通常是/否或1/0。分类的例子包括面部检测,微笑检测,垃圾邮件分类。

回归是一项机器学习任务,我们在连续的子空间中具有真实值的结果。基本上,这意味着我们的结果是一个连续变量,但它通常被限制在某种范围内。回归的例子包括年龄估计,库存值预测,温度预测。

在上图中,n是所有自然数的集合。这些都是大于0的整数。自然数字集看起来像{1,2,3,4,...}。 R是所有实数的集合。这包括所有自然数,整数,理性和非理性数。该组的实数不包括的唯一值是假想的数字,例如i,用于表示-1的平方根,但我们在机器学习中不遇到这些,所以它不是我们必须的担心。值得注意的是,分类采用任何自然数值,而回归采用任何真实编号值。

多个数据点构成数据集。数据点也称为实例。我们的机器学习算法将使用数据集创建其假设函数(估计函数)或找到模式。

在监督学习中,数据点由一系列输入组成,由x表示,我们调用特征和输出,由y表示,我们调用标签。我们可以将它们分组为符号{x,y}中的元组。

标签是我们的假设函数h(x)试图预测的内容。功能是我们的假设函数h(x)将用于预测我们的标签。

假设x和y之间存在一些隐式关系,否则我们将尝试基于实际提供任何相关信息的变量来预测输出。这可能会产生不准确和相当无用的算法。

值得注意的是,对于给定的问题,所有数据点必须具有相同的固定长度集。我们不能通过不同的长度,因为我们的算法无法概括。

让我们说X,我们的特征是一系列的人,以kg测量,范围为50kg - 120kg。我们将说Y是那些人的相应高度,以厘米为单位测量,从150厘米 - 200cm的范围内。我们希望找到使用x值来预测y的最佳方法。我们可以通过绘制这些点来开始,它们可能看起来像下图一样。如果我们决定使用线性回归来估计我们的数据,我们可以在图表上绘制直线估计。从图形理论来看,我们知道这条线将采用y = mx + c,其中m是行的梯度,c是y-erlcept。在ML理论中,我们将其转换为估计函数:

在单变量线性回归中,与单个x变量的回归,我们的解决方案空间是THETA_0和THETA_1的所有可能值。

所以我们模型产生的H(x)是我们的训练算法。我们目前处于培训算法的阶段,我们还没有提供任何看不见的数据,以了解它的概括。

在上面的示例中,我们已经说明了一种训练算法,是算法H(x)。 Theta参数本质上是我们的算法尝试学习的内容。通过查看所有功能和标签组合,它试图找到最佳值。 “最佳”值将根据我们的性能度量是什么,因此我们的算法将选择一组提供最佳性能值的θ值。

请注意,上面的示例是一个非常简化的版本。我们的数据集很可能包含多个特征,我们可能有数百或数千个参数。

我们有内在的参数,这是我们构建的每个模型都是唯一的参数。这些是由模型学习的参数,例如在上面的示例中的线性回归中的系数或人工神经网络中的重量。这些基本上是我们假设函数的组成部分。

我们还具有超参数,可以由用户调整,并根据它们提供的最佳性能选择。这些数量远小于内在参数。这些示例是人工神经网络中的节点的数量,多项式的多项式的多项式的多项式或我们实例提供的功能数量。

ML 101系列中的未来文章将涵盖其他重要主题,包括回归,神经网络,决策树和聚类来命名几个。 留意那些和文章,我们将这些概念与财务数据合并以建立我们的预测发动机。