读书笔记 | 动手学深度学习——前言

动手学深度学习——前言

本文源自李沐老师的《动手学深度学习》,为记录自己从0开始的深度学习入门。一开始可能都不能称之为复写,只能叫做摘抄。书本地址:https://zh-v2.d2l.ai/

目标函数

目标函数:定义模型的优劣程度的度量

损失函数:通常定义一个目标函数,并希望优化它到最低点。因为越低越好,所以这些函数有时被称为损失函数(loss function, 或cost function)

几种常见的损失函数

当任务为试图预测数值时,最常见的损失函数是平方误差(squared error),即预测值与实际值之差的平方。

当试图解决分类问题时,最常见的目标函数是最小化错误率,即预测与实际情况不符的样本比例。

优化算法

我们需要一种算法,它能够搜索出最佳参数,以最小化损失函数。深度学习中,大多流行的优化算法通常基于一种基本方法–梯度下降(gradient descent)。

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

各种机器学习问题

监督学习

目标是生成一个模型,能够将任何输入特征映射到标签,即预测。在一定程度上,许多重要的任务可以清晰地描述为:在给定一组特定的可用数据的情况下,估计未知事物的概率。

监督学习可以采取多种形式的模型,并且需要大量不同的建模决策,这取决于输入和输出的类型、大小和数量。

回归

让一条线,尽量地接近特征到标签的映射

分类

具体地说,这款应用程序需要能够自动理解照片图像中看到的文本,并将手写字符映射到已知字符之一。 这种“哪一个?”的问题叫做分类(classification)问题。

在分类问题中,我们希望模型能够预测样本属于哪个类别(category,正式称为类(class))。最简单的分类问题是只有两类,我们称之为“二元分类”。我们可以试着用概率语言来理解模型。给定一个样本特征,我们的模型为每个可能的类分配一个概率。比如猫狗分类中,分类器可能会输出图像是猫的概率为0.9。解释:分类器90%确定图像描绘的是一只猫。

当我们有两个以上的类别时,我们把这个问题称为多类分类(multiclass classification)问题。

与解决回归问题不同,分类问题的常见损失函数被称为交叉熵(cross-entropy)

分类可能变得比二元分类、多类分类复杂得多。 例如,有一些分类任务的变体可以用于寻找层次结构,层次结构假定在许多类之间存在某种关系。我们宁愿错误地分入一个相关的类别,也不愿错误地分入一个遥远的类别,这通常被称为层次分类(hierarchical classification)。

标记问题

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

搜索

在信息检索领域,我们希望对一组项目进行排序。 以网络搜索为例,我们的目标不是简单的“查询(query)-网页(page)”分类,而是在海量搜索结果中找到用户最需要的那部分。

该问题的一种可能的解决方案:首先为集合中的每个元素分配相应的相关性分数,然后检索评级最高的元素。PageRank,谷歌搜索引擎背后最初的秘密武器就是这种评分系统的早期例子,但它的奇特之处在于它不依赖于实际的查询。

推荐系统

它的目标是向给特定用户进行“个性化”推荐。

序列学习

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

标记和解析

自动语音识别

文本到语音

机器翻译

无监督学习

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

无监督学习可以回答什么样的问题:

  • 聚类(clustering)问题:没有标签的情况下,我们是否能给数据分类呢?比如,给定一组照片,我们能把它们分成风景照片、狗、婴儿、猫和山峰的照片吗?同样,给定一组用户的网页浏览记录,我们能否将具有相似行为的用户聚类吗?
  • 主成分分析(principal component analysis)问题:我们能否找到少量的参数来准确地捕捉数据的线性相关属性?比如,一个球的运动轨迹可以用球的速度、直径和质量来描述。再比如,裁缝们已经开发出了一小部分参数,这些参数相当准确地描述了人体的形状,以适应衣服的需要。另一个例子:在欧几里得空间中是否存在一种(任意结构的)对象的表示,使其符号属性能够很好地匹配?这可以用来描述实体及其关系,例如“罗马” − “意大利” + “法国” = “巴黎”。
  • 因果关系(causality)和概率图模型(probabilistic graphical models)问题:我们能否描述观察到的许多数据的根本原因?例如,如果我们有关于房价、污染、犯罪、地理位置、教育和工资的人口统计数据,我们能否简单地根据经验数据发现它们之间的关系?
  • 生成对抗性网络(generative adversarial networks):为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。

强化学习

目前为止,不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。这里所有学习都是在算法与环境断开后进行的,被称为离线学习(offline learning)。

  • 环境还记得我们以前做过什么吗?
  • 环境是否有助于我们建模?例如,用户将文本读入语音识别器。
  • 环境是否想要打败模型?例如,一个对抗性的设置,如垃圾邮件过滤或玩游戏?
  • 环境是否重要?
  • 环境是否变化?
    最后一个问题提出了当训练和测试数据不同时数据分布偏移(distribution shift)的问题。

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

环境可以是完整观察到的,也可以是部分观察到的,解释所有这些复杂性可能会对研究人员要求太高。当环境可被完全观察到时,我们将强化学习问题称为马尔可夫决策过程(markov decision process)。 当状态不依赖于之前的操作时,我们称该问题为上下文赌博机(contextual bandit problem)。 当没有状态,只有一组最初未知回报的可用动作时,这个问题就是经典的多臂赌博机(multi-armed bandit problem)。

你可能感兴趣的:(深度学习学习笔记,深度学习,机器学习,神经网络)