3. 机器学习(中学指南)

核心观点

  • 机器学习使计算机能够在无需人们对特定行为进行显式编程的情况下掌握这些行为。(“机器学习” 的定义)
  • 学习新行为源于学习算法对推理模型(如决策树或神经网络)的内部表示所做出的改变。(机器学习算法的工作原理)
  • 当推理模型能够产生多种行为时,需要大量的训练数据来缩小学习算法的选择范围。(训练数据的作用)
  • 由机器学习算法构建的推理模型可应用于新数据,以解决问题或做出决策。(学习阶段与应用阶段)


学习的本质:人类学习与机器学习对比(3-A-1

  • 学习目标:对比人类学习的独特特征与机器学习系统的运行方式。
  • 基本理解:人类通过观察、接受教导、提问、实验、实践以及与过往经验建立联系来学习。计算机则通过将专门的算法应用于大量的训练数据,或者通过成千上万甚至数百万次的试错经验,来解决定义范围较窄的问题。
  • 详细说明:人类是灵活的学习者,会运用多种学习策略。计算机使用专门的算法,这些算法需要大量的数据或多次的尝试,并且只能解决定义范围较窄的问题。虽然人类可以通过显式编程来构建推理器,但对于复杂的问题,让机器学习算法来完成这项工作通常更为便捷。

学习的本质:在数据中发现模式(3-A-2

  • 学习目标:对无监督学习如何在无标签数据中发现模式进行建模。
  • 基本理解:当我们事先不知道存在哪些类别时,无监督学习就会很有用。它通过将附近的点归为簇来发现数据中的模式(或类别)。一旦找到了一组簇,新的点就可以根据其与簇边界的距离来进行分类。
  • 详细说明:这可以通过在平面上使用点,并通过勾勒(例如,围绕每个簇绘制一个椭圆)的方式直观地构建簇边界来以图形化方式实现。

    学习的本质:训练模型(3-A-3

    • 学习目标:在表格型数据集上使用机器学习来训练和评估一个分类或预测模型。
    • 基本理解:计算机能够通过检查特征值来学习对实例进行分类或预测数值。如果对于新输入数据的处理结果不尽如人意,可能就需要进行额外的训练以提高准确性。
    • 详细说明:在一个表格型数据集中,每个训练示例都是表格中的一行数据,并由一组特征值来描述;这些特征就是表格的列。分类是将每个示例归入一组离散的类别中的某一个(例如,猫或狗);预测则输出一个连续的值,比如根据一个人的年龄来预测其身高。所使用的学习算法很可能是决策树学习算法,而不是神经网络。
    • 活动:像 “机器学习助力儿童(MachineLearningForKids)” 和 “eCraft2Learn” 这样的网站都包含决策树学习的相关内容。学习算法会确定哪些是相关特征,以及对于每个类别而言,这些特征应该具有什么样的值。

      学习的本质:构建推理器与使用推理器(3-A-4

      • 学习目标:解释训练推理模型和使用推理模型之间的区别。
      • 基本理解:机器学习算法利用带标签的训练数据来构建用于分类或预测的推理模型。在训练过程中,推理模型基于训练输入数据运行,学习算法则对模型进行调整,使其输出结果更接近标签。一旦训练完成,该推理模型就可以应用于新的数据,以解决问题或做出决策。以这种方式使用已训练好的推理模型并不会对其进行改变;只有学习算法才能对模型进行修改。

      学习的本质:调整内部表征(3-A-5

      • 学习目标:比较决策树学习算法和神经网络学习算法的工作原理。
      • 基本理解:在决策树学习中,每一步都会添加一个新节点,该节点会对单个特征值进行测试。在神经网络学习中,每一步都会对网络中的每个权重进行微小调整。
      • 详细说明:决策树的内部表示包括节点、每个节点所检查的特征以及该特征所比较的值。神经网络的内部表示则是权重。决策树学习算法会为其创建的每个新节点尝试找到最具信息量的特征进行检查。改变训练数据可能会导致下一步选择不同的特征进行检查。对于神经网络而言,改变训练数据会使算法在尝试减少误差信号时对权重进行不同的调整。

        学习的本质:从经验中学习(3-A-6

        • 学习目标:解释监督学习和强化学习之间的区别。
        • 基本理解:监督学习会告知智能体对于每个输入应该产生怎样的输出;而强化学习仅在智能体选择要采取的行动时,告知其表现得如何。
        • 详细说明:在监督学习中,“教师” 会为每个训练示例指明正确的输出,这样学习算法就能知道自己错在哪里。在强化学习中,强化信号表明模型的表现情况,但不会告诉学习算法模型为了取得更好的表现本应选择怎样的行动。这一点必须通过试错来发现,所以可能需要进行成千上万次的尝试才能达到专业水平的表现。例如,在玩电子游戏时,强化信号可以是获得的分数。由于计算机是从自身的经验中学习,强化学习能够找到那些没有 “教师” 告知其最佳行动的问题的解决方案。

        神经网络:神经网络的结构(3-B-1

        • 学习目标:展示神经网络的结构,并描述其各个部分如何构成一组用于计算输出的函数。
        • 基本理解:神经网络由单元层(输入层、隐藏层和输出层)组成,相邻层的单元之间存在带权重的连接。每个单元计算其带权重输入的总和。它将该总和通过一个传递函数,以产生一个数值输出。
        • 详细说明:神经网络以一种复杂的方式将输入模式映射到输出模式。每个神经元计算一个函数,而整个网络计算一个复杂的函数,这个函数可以被看作是一个变化非常复杂的数学函数。

        神经网络:权重调整(3-B-2

        • 学习目标:演示如何使用一种学习规则来调整单层神经网络中的权重。
        • 基本理解:在训练过程中,根据网络输出中的误差来调整权重,这样当再次输入相同内容时,出现误差的可能性就会降低。
        • 详细说明:训练可以使用二进制单元以及一种用于调整权重的简单学习规则(例如 “这条狗会咬我吗?” 练习中的感知机学习规则)来完成。

        数据集:特征集(3-C-1

        • 学习目标:创建一个用于训练决策树分类器或预测器的数据集,并探究不同的特征编码对决策树产生的影响。
        • 基本理解:要纳入的特征的选择,以及针对这些特征所使用的最佳编码方式,取决于我们试图解决的特定推理问题。
        • 详细说明:在决策树的每个节点处,学习算法都会尝试选取一个在将剩余实例划分为不同类别时最有帮助的特征。那些与任何类别都没有强相关性的特征将不会被选中。
        • 资源:《儿童机器学习》(MachineLearningForKids)会绘制决策树,以便学生能够检查它,并查看在每个节点处引用了哪个特征。

          数据集:大型数据集(3-C-2

          • 学习目标:阐述如何对图像中的对象进行分割和标记,以便构建用于对象识别的训练集。
          • 基本理解:机器学习要想取得良好效果,需要大量的数据。对数据进行标记通常需要专业人员的参与,而这可能会耗费大量人力。
          • 详细说明:可以给学生提供一组图像,并要求他们在图像中的每个人、每只狗或每个交通标志周围绘制一个边界框,然后对对象进行恰当的标记。作为后续任务,可以要求学生估算构建一个包含数千个示例的标记数据集所需的时间。

            数据集:偏差(3-C-3

            • 学习目标:解释训练数据的选择是如何影响分类器的行为的,以及如果训练集没有得到恰当的平衡,偏差是如何被引入的。
            • 基本理解:如果要求模型对与训练数据不相似的输入进行分类,或者如果训练数据包含了我们不希望分类器依赖的不相关的关联关系,那么就可能会产生偏差。
            • 详细说明:一个仅在白人面孔上训练的分类器,在处理黑人或亚洲人面孔时表现会很差。一个在贷款申请数据集上训练的分类器(在该数据集中,大多数被拒绝的申请人都住在普莱森特维尔镇)可能会判定,永远不向住在普莱森特维尔镇的任何人发放贷款。