《动手学深度学习》第二版(1.引言)笔记

前言

学习笔记,仅供学习,不做商用,如有侵权,联系我删除即可

一、机器学习

1.1 什么是机器学习

机器学习(machine learning, ML)是一类强大的可以从经验中学习的技术。通常采用观测数据或与环境交互的形式,机器学习算法会积累更多的经验,其性能也会逐步提高。

机器学习的过程大致可以总结为:

  1. 收集一个包含大量样本的数据集(dataset),并对包含和不包含所关心的样本进行标记;
  2. 利用机器学习算法,定义一个灵活的程序算法,其输出由许多参数(parameter)决定;
  3. 使用数据集来确定当下的最佳参数集,这些参数通过某种性能度量方式来达到完成任务的最佳性能。

任一调整参数后的程序被称为模型(model)。通过操作参数而生成的所有不同程序(输入‐输出映射)的集合称为“模型族”。使用数据集来选择参数的元程序被称为学习算法(learning algorithm)

机器学习的训练过程通常包含如下步骤:

  1. 从一个随机初始化参数的模型开始,这个模型基本没有“智能”;
  2. 获取一些数据样本(例如,音频片段以及对应的是或否标签);
  3. 调整参数,使模型在这些样本中表现得更好;
  4. 重复第(2)步和第(3)步,直到模型在任务中的表现令人满意。

这种“通过用数据集来确定程序行为”的方法可以被看作用数据编程(programmingwithdata) 

1.2 机器学习中的关键组件

无论什么类型的机器学习问题,都会遇到这些组件:

  1. 可以用来学习的数据(data);
  2. 如何转换数据的模型(model);
  3. 一个目标函数(objectivefunction),用来量化模型的有效性;
  4. 调整模型参数以优化目标函数的算法(algorithm)

 1.2.1 数据

每个数据集由一个个样本(example,sample)组成,大多时候,它们遵循独立同分布(i.i.d.)。样本有时也叫做数据点(datapoint)或者数据实例(datainstance),通常每个样本由一组称为特征(features,或协变量(covariates))的属性组成。机器学习模型会根据这些属性进行预测。在监督学习问题中,要预测的是一个特殊的属性,它被称为标签(label,或目标(target))。

当每个样本的特征类别数量都是相同的时候,其特征向量是固定长度的,这个长度被称为数据的维数(dimensionality)。固定长度的特征向量是一个方便的属性,它可以用来量化学习大量样本。

1.2.2 模型

深度学习与经典方法的区别主要在于:前者关注的功能强大的模型,这些模型由神经网络错综复杂的交织在一起,包含层层数据转换,因此被称为深度学习(deeplearning)

1.2.3 目标函数

在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,这被称之为目标函数。我们通常定义一个目标函数,并希望优化它到最低点。因为越低越好,所以这些函数有时被称为损失函数(lossfunction,或costfunction)

不同的任务,选用的目标函数是不同的,例如:在试图预测数值时,最常见的损失函数是平方误差(squared error),即预测值与实际值之差的平方。当试图解决分类问题时,最常见的目标函数是最小化错误率,即预测与实际情况不符的样本比例。有些目标函数(如平方误差)很容易被优化,有些目标(如错误率)由于不可微性或其他复杂性难以直接优化。在这些情况下,通常会优化替代目标。

通常,损失函数是根据模型参数定义的,并取决于数据集。在一个数据集上,我们可以通过最小化总损失来学习模型参数的最佳值。该数据集由一些为训练而收集的样本组成,称为训练数据集(training dataset,或称为训练集(training set))。然而,在训练数据上表现良好的模型,并不一定在“新数据集”上有同样的性能,这里的“新数据集”通常称为测试数据集(test dataset,或称为测试集(test set))。

训练数据集用于拟合模型参数,测试数据集用于评估拟合的模型。当一个模型在训练集上表现良好,但不能推广到测试集时,这个模型被称为过拟合(overfitting)的。

1.2.4 优化算法

当我们获得了一些数据源及其表示、一个模型和一个合适的损失函数,接下来就需要一种算法,它能够搜索出最佳参数,以最小化损失函数。深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)。简而言之,在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。然后,它在可以减少损失的方向上优化参数。

1.3 各种机器学习问题

1.3.1 监督学习

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

监督学习:在给定一组特定的可用数据的情况下,估计未知事物的概率。

一般可分为三大步骤:

  1. 从已知大量数据样本中随机选取一个子集,为每个样本获取真实标签;
  2. 选择有监督的学习算法,它将训练数据集作为输入,并输出一个“已完成学习的模型”;
  3. 将之前没有见过的样本特征放到这个“已完成学习的模型”中,使用模型的输出作为相应标签的预测
 回归任务

回归(regression)是最简单的监督学习任务之一。判断回归问题的一个很好的经验法则是,任何有关“有多少”的问题很可能就是回归问题。

回归问题的常见损失函数为平方误差损失函数

分类任务

判断是“哪一个”的问题叫做分类(classification)问题。分类问题希望模型能够预测样本属于哪个类别(category,正式称为类(class))

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

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

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

标记问题

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

序列学习

但是如果输入是连续的,模型可能就需要拥有“记忆”功能。

序列学习需要摄取输入序列或预测输出序列,或两者兼而有之。具体来说,输入和输出都是可变长度的序列。

1.3.2 无监督学习

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

无监督学习能解决的问题:

聚类(clustering)问题:没有标签的情况下,是否能给数据分类?

主成分分析(principal component analysis)问题:我们能否找到少量的参数来准确地捕捉数据的线性相关属性?

因果关系(causality)和概率图模型(probabilistic graphical models)问题:我们能否描述观察到的许多数据的根本原因

生成对抗性网络(generative adversarial networks):为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。

1.3.3 与环境互动

到目前为止,不管 是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。这种方式被称为离线学习(offline learning)

离线学习的优点:可以孤立地进行模式识别,而不必分心于其他问题

缺点:解决的问题相当有限。

1.3.4 强化学习

强化学习:机器学习开发与环境交互并采取行动的一种学习方式。

在强化学习问题中,智能体(agent)在一系列的时间步骤上与环境交互。在每个特定时间点,智能体从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)。此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。强化学习的目标是产生一个好的策略(policy)。强化学习智能体选择的“动作”受策略控制,即一个从环境观察映射到行动的功能。

强化学习者必须处理学分分配(creditassignment)问题:决定哪些行为是值得奖励的,哪些行为是需要惩罚的。

二、特点

线性和非线性处理单元的交替,通常称为层(layers)

使用链式规则(也称为反向传播(backpropagation))一次性调整网络中的全部参数

深度学习是“深度”的,模型学习了许多“层”的转换,每一层提供一个层次的表示。例如,靠近输入的层可以表示数据的低级细节,而接近分类输出的层可以表示用于区分的更抽象的概念。

深度学习方法中最显著的共同点是使用端到端训练

不仅取代了传统学习管道末端的浅层模型,而且还取代了劳动密集型的特征工程过程。

总结

机器学习研究计算机系统如何利用经验(通常是数据)来提高特定任务的性能。它结合了统计学、数据挖掘和优化的思想。通常,它是被用作实现人工智能解决方案的一种手段。

表示学习作为机器学习的一类,其研究的重点是如何自动找到合适的数据表示方式。深度学习是通过学习多层次的转换来进行的多层次的表示学习。

深度学习不仅取代了传统机器学习的浅层模型,而且取代了劳动密集型的特征工程。

最近在深度学习方面取得的许多进展,大都是由廉价传感器和互联网规模应用所产生的大量数据,以及(通过GPU)算力的突破来触发的。

整个系统优化是获得高性能的关键环节。有效的深度学习框架的开源使得这一点的设计和实现变得非常容易

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DayDayUp..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值