机器学习ML

机器学习(machine learning,ML)

机器学习的关键组件

  1. 可以用来学习的数据(data);

  2. 如何转换数据的模型(model);

  3. 一个目标函数(objective function),用来量化模型的有效性;

  4. 调整模型参数以优化目标函数的算法(algorithm)。

数据

  • 样本(example):每个样本由一组称为特征(features,或协变量(covariates))的属性组成

    • 特征(features)
    • 维数(dimensionality):特征向量的长度
  • 与传统机器学习方法相比,深度学习的一个主要优势是可以处理不同长度的数据。

模型

  • 涉及到数据的转换

深度学习:由神经网络错综复杂的交织在一起,包含层层数据转换,因此被称为深度学习(deep learning)

目标函数

  • 在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,这被称之为目标函数(objective function)。

  • 因为越低越好,所以这些函数有时被称为损失函数(loss function,或cost function)。

当然我们也可以取一个新的函数,优化到它的最高点。

  • 训练数据集(training dataset,或称为训练集(training set))

  • 测试数据集(test dataset,或称为测试集(test set))

  • 在训练数据上表现良好的模型,并不一定在“测试集”上有同样的性能

训练数据集用于拟合模型参数,测试数据集用于评估拟合的模型

过拟合(overfitting)
  • 当一个模型在训练集上表现良好,但不能推广到测试集时,这个模型被称为过拟合(overfitting)的

例如:当我们把房子分成多片叶子时,每片叶子上的房子也就更少了。拥有非常少房子的叶子会做出非常接近这些房子的实际值的预测,但是他们可能会对新数据做出非常不可靠的预测(因为每个预测都是基于很少的房子)。这就是所谓的过度拟合现象。

欠拟合(underfitting)

在极端情况下,如果一棵树只把房子分成2或4个,那么每一组仍然有各种各样的房子。即使是在培训数据中,最终的预测对于大多数房屋来说也可能是遥远的(而且出于同样的原因,在验证方面也会很糟糕)。当一个模型无法捕捉到数据中的重要区别和模式时,即使在训练数据方面,它的表现也很差,这就是所谓的欠拟合

优化算法

  • 能够搜索出最佳参数,以最小化损失函数

深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)。

在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。 然后,它在可以减少损失的方向上优化参数。

监督学习

监督学习(supervised learning)擅长在“给定输入特征”的情况下预测标签。 每个“特征-标签”对都称为一个样本(example)。

监督学习的学习过程:
  1. 从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签。有时,这些样本已有标签(例如,患者是否在下一年内康复?);有时,这些样本可能需要被人工标记(例如,图像分类)。这些输入和相应的标签一起构成了训练数据集;

  2. 选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”;

  3. 将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测。

../_images/supervised-learning.svg

回归

回归(regression)是最简单的监督学习任务之一。

经验法则

判断回归问题的一个很好的经验法则是,任何有关“有多少”的问题很可能就是回归问题。

分类

分类问题希望模型能够预测样本属于哪个类别(category,正式称为(class))

交叉熵

分类问题的常见损失函数被称为交叉熵(cross-entropy)

回归是训练一个回归函数来输出一个数值;分类是训练一个分类器来输出预测的类别。\textcolor{red}{回归是训练一个回归函数来输出一个数值; 分类是训练一个分类器来输出预测的类别。}

分类问题
二项分类
  • 最简单的分类问题是只有两类,这被称之为二项分类(binomial classification)

多项分类
  • 当有两个及以上类别时,称为多项分类(multiclass classification)问题

层次分类
  • 人们宁愿错误地分入一个相关的类别,也不愿错误地分入一个遥远的类别,这通常被称为层次分类(hierarchical classification)。

多标签分类
  • 学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)

监督学习与环境的交互

../_images/data-collection.svg

无监督学习

这类数据中不含有“目标”的机器学习问题通常被为无监督学习(unsupervised learning)

无监督学习适用于以下问题:

  • 聚类(clustering)问题

  • 主成分分析(principal component analysis)问题

  • 因果关系(causality)和概率图模型(probabilistic graphical models)问题

  • 生成对抗性网络(generative adversarial networks)

强化学习

智能体(agent)在一系列的时间步骤上与环境交互。

在每个特定时间点,智能体从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。

强化学习和环境之间的相互作用

../_images/rl-environment.svg

强化学习框架的通用性十分强大

例如,我们可以将任何监督学习问题转化为强化学习问题。 假设我们有一个分类问题,可以创建一个强化学习智能体,每个分类对应一个“动作”。 然后,我们可以创建一个环境,该环境给予智能体的奖励。 这个奖励与原始监督学习问题的损失函数是一致的。

一些特殊情况下的强化学习问题

当环境可被完全观察到时,强化学习问题被称为*马尔可夫决策过程*(markov decision process)。 当状态不依赖于之前的操作时,我们称该问题为*上下文赌博机*(contextual bandit problem)。 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的*多臂赌博机*(multi-armed bandit problem)。

补充:考虑到数据和计算的稀缺性,核方法(kernel method)、决策树(decision tree)和图模型(graph models)等强大的统计工具(在经验上)证明是更为优越的。 与神经网络不同的是,这些算法不需要数周的训练,而且有很强的理论依据,可以提供可预测的结果。

深度学习的特点

深度学习是“深度”的,模型学习了许多“层”的转换,每一层提供一个层次的表示。 例如,靠近输入的层可以表示数据的低级细节,而接近分类输出的层可以表示用于区分的更抽象的概念。 由于表示学习(representation learning)目的是寻找表示本身,因此深度学习可以称为“多级表示学习”。

Reference

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2024 Guijie Wang
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信