1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 邱锡鹏《神经网络与深度学习》 机器学习概述

邱锡鹏《神经网络与深度学习》 机器学习概述

时间:2021-07-17 05:43:17

相关推荐

邱锡鹏《神经网络与深度学习》 机器学习概述

机器学习(Machine Learning,ML)就是让计算机从数据中进行自动学习,得到某种知识(或规律),并利用学习到的规律(模型)对未知或无法观测的数据进行预测。 在早期的工程领域,机器学习也经常称为模式识别(Pattern Recognition, PR),但模式识别更偏向于具体的应用任务,比如光学字符识别、语音识别、人脸 识别等。1、基本概念一组样本构成的集合称为数据集(Data Set)。一般将数据集分为两部分: 训练集和测试集.训练集(Training Set)中的样本是用来训练模型的,也叫训练 样本(Training Sample),而测试集(Test Set)中的样本是用来检验模型好坏 的,也叫测试样本(Test Sample)。 我们通常用一个𝐷 维向量𝒙 = [𝑥1 , 𝑥2 , ⋯ , 𝑥𝐷]T 表示一个芒果的所有特征构 成的向量,称为特征向量(Feature Vector),其中每一维表示一个特征. 而芒果的标签通常用标量𝑦来表示。假设训练集 𝒟 由 𝑁 个样本组成,其中每个样本都是独立同分布的(Identically and Independently Distributed,IID),即独立地从相同的数据分布中抽取 的,记为: 𝒟 = {(𝒙(1), 𝑦(1)), (𝒙(2), 𝑦(2)), ⋯ , (𝒙(𝑁), 𝑦(𝑁))}(2.1) 给定训练集𝒟,我们希望让计算机从一个函数集合ℱ = {𝑓1 (𝒙), 𝑓2 (𝒙), ⋯}中 自动寻找一个“最优”的函数𝑓∗ (𝒙) 来近似每个样本的特征向量 𝒙 和标签 𝑦 之间 的真实映射关系.对于一个样本𝒙,我们可以通过函数𝑓∗ (𝒙)来预测其标签的值 𝑦 = 𝑓∗ (𝒙) (2.2) 或标签的条件概率 ̂𝑝(𝑦|𝒙) = 𝑓𝑦∗ (𝒙)(2.3) 如何寻找这个“最优”的函数 𝑓∗ (𝒙) 是机器学习的关键,一般需要通过学习 算法(Learning Algorithm)𝒜 来完成.这个寻找过程通常称为学习(Learning)或训练(Training)过程。 计算预测结 果的准确率:

其中𝐼(⋅)为指示函数,|𝒟′|为测试集大小。

对一个预测任务,输入特征向量为 𝒙,输出标签为𝑦,我们选择一个函数集合ℱ,通过学习算法𝒜和一组训练样本𝒟,从ℱ 中学习到函数𝑓∗ (𝒙).这样对新的输入𝒙,就可以用函数𝑓∗ (𝒙)进行预测。

2、机器学习三要素

2.1模型输入空间 𝒳 和输出空间 𝒴 构成了一个样本空间.对于样本空间中的样本 (𝒙, 𝑦) ∈ 𝒳 × 𝒴,假定 𝒙 和 𝑦 之间的关系可以通过一个未知的真实映射函数𝑦 = 𝑔(𝒙) 或真实条件概率分布𝑝𝑟 (𝑦|𝒙) 来描述。机器学习的目标是找到一个模型来近 似真实映射函数𝑔(𝒙)或真实条件概率分布𝑝𝑟 (𝑦|𝒙)。由于我们不知道真实的映射函数𝑔(𝒙)或条件概率分布𝑝𝑟 (𝑦|𝒙)的具体形式, 因而只能根据经验来假设一个函数集合ℱ,称为假设空间(Hypothesis Space), 然后通过观测其在训练集 𝒟 上的特性,从中选择一个理想的假设(Hypothesis) 𝑓∗ ∈ ℱ. 假设空间ℱ 通常为一个参数化的函数族 ℱ = {𝑓(𝒙; 𝜃)|𝜃 ∈ ℝ𝐷}(2.5) 其中𝑓(𝒙; 𝜃)是参数为𝜃 的函数,也称为模型(Model),𝐷 为参数的数量. 常见的假设空间可以分为线性和非线性两种,对应的模型 𝑓 也分别称为线性模型和非线性模型。2.1.1线性模型线性模型的假设空间为一个参数化的线性函数族,即 𝑓(𝒙; 𝜃) = 𝒘T𝒙 + 𝑏(2.6) 其中参数𝜃 包含了权重向量𝒘和偏置𝑏.2.1.2非线性模型广义的非线性模型可以写为多个非线性基函数𝜙(𝒙)的线性组合 𝑓(𝒙; 𝜃) = 𝒘T𝜙(𝒙) + 𝑏 (2.7) 其中𝜙(𝒙) = [𝜙1 (𝒙), 𝜙2 (𝒙), ⋯ , 𝜙𝐾(𝒙)]T 为𝐾 个非线性基函数组成的向量,参数 𝜃 包含了权重向量𝒘和偏置𝑏。 如果𝜙(𝒙)本身为可学习的基函数,比如 𝜙𝑘(𝒙) = ℎ(𝒘T𝑘𝜙′ (𝒙) + 𝑏𝑘), ∀1 ≤ 𝑘 ≤ 𝐾(2.8) 其中 ℎ(⋅) 为非线性函数,𝜙′ (𝒙) 为另一组基函数,𝒘𝑘 和 𝑏𝑘 为可学习的参数,则 𝑓(𝒙; 𝜃)就等价于神经网络模型.2.2学习准则令训练集 𝒟 = {(𝒙(𝑛), 𝑦(𝑛))}𝑁 𝑛=1 是由 𝑁 个独立同分布的(Independent and Identically Distributed,IID)样本组成,即每个样本(𝒙, 𝑦) ∈ 𝒳 × 𝒴 是从𝒳 和𝒴的联合空间中按照某个未知分布𝑝𝑟 (𝒙, 𝑦)独立地随机产生的.这里要求样本分布𝑝𝑟 (𝒙, 𝑦) 必须是固定的(虽然可以是未知的),不会随时间而变化.如果 𝑝𝑟 (𝒙, 𝑦) 本身可变的话,就无法通过这些数据进行学习。 一个好的模型 𝑓(𝒙, 𝜃∗) 应该在所有 (𝒙, 𝑦) 的可能取值上都与真实映射函数 𝑦 = 𝑔(𝒙)一致,即 |𝑓(𝒙, 𝜃∗ ) − 𝑦| < 𝜖, ∀(𝒙, 𝑦) ∈ 𝒳 × 𝒴(2.9) 或与真实条件概率分布𝑝𝑟 (𝑦|𝒙)一致,即 |𝑓𝑦 (𝒙, 𝜃∗ ) − 𝑝𝑟 (𝑦|𝒙)| < 𝜖, ∀(𝒙, 𝑦) ∈ 𝒳 × 𝒴(2.10) 其中𝜖是一个很小的正数,𝑓𝑦 (𝒙, 𝜃∗)为模型预测的条件概率分布中𝑦对应的概率. 模型𝑓(𝒙; 𝜃)的好坏可以通过期望风险(Expected Risk)ℛ(𝜃)来衡量,其定 义为 ℛ(𝜃) = 𝔼(𝒙,𝑦)∼𝑝𝑟 (𝒙,𝑦)[ℒ(𝑦, 𝑓(𝒙; 𝜃))](2.11) 其中𝑝𝑟 (𝒙, 𝑦)为真实的数据分布,ℒ(𝑦, 𝑓(𝒙; 𝜃))为损失函数,用来量化两个变量之 间的差异。2.2.1损失函数损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异。 下面介绍几种常用的损失函数:0-1损失函数最直观的损失函数是模型在训练集上的错误率,即0-1 损失函数 (0-1 Loss Function): 虽然0-1损失函数能够客观地评价模型的好坏,但其缺点是数学性质不是很好:不连续且导数为0,难以优化.因此经常用连续可微的损失函数替代。平方损失函数平方损失函数(Quadratic Loss Function)经常用在预测标签𝑦 为实数值的任务中,定义为

平方损失函数一般不适用于分类问题。

交叉熵损失函数交叉熵损失函数(Cross-Entropy Loss Function)一般用于 分类问题.假设样本的标签 𝑦 ∈ {1, ⋯ , 𝐶} 为离散的类别,模型 𝑓(𝒙; 𝜃) ∈ [0, 1]𝐶 的输出为类别标签的条件概率分布,即 我们可以用一个𝐶 维的one-hot向量𝒚来表示样本标签。 假设样本的标签为 𝑘,那么标签向量𝒚只有第𝑘维的值为1,其余元素的值都为0。 标签向量𝒚可以看 作样本标签的真实条件概率分布𝑝𝑟 (𝒚|𝒙),即第𝑐维(记为𝑦𝑐,1 ≤ 𝑐 ≤ 𝐶)是类别 为 𝑐 的真实条件概率.假设样本的类别为 𝑘,那么它属于第 𝑘 类的概率为 1,属于 其他类的概率为0。Hinge损失函数对于二分类问题,假设 𝑦 的取值为 {−1, +1},𝑓(𝒙; 𝜃) ∈ ℝ. Hinge损失函数(Hinge Loss Function)为2.2.2风险最小化准则一个好的模型 𝑓(𝒙; 𝜃) 应当有一个比较小的期望错误,但由于不知道真实的 数据分布和映射函数,实际上无法计算其期望风险 ℛ(𝜃).给定一个训练集 𝒟 = {(𝒙(𝑛), 𝑦(𝑛))}𝑁 𝑛=1,我们可以计算的是 经验风险(Empirical Risk),即在训练集上 的平均损失: 这就是经验风险最小化(Empirical Risk Minimization,ERM)准则。过拟合根据大数定理可知,当训练集大小 |𝒟| 趋向于无穷大时,经验风险就趋向于期望风险. 然而通常情况下,我们无法获取无限的训练样本,并且训练样本 往往是真实数据的一个很小的子集或者包含一定的噪声数据,不能很好地反映 全部数据的真实分布.经验风险最小化原则很容易导致模型在训练集上错误率 很低,但是在未知数据上错误率很高.这就是所谓的过拟合(Overfitting) 和过拟合相反的一个概念是欠拟合(Underfitting),即模型不能很好地拟 合训练数据,在训练集上的错误率比较高.欠拟合一般是由于模型能力不足造成 的.图2.3给出了欠拟合和过拟合的示例2.2.3优化算法参数与超参数在机器学习中,优化又可以分为参数优化和超参数优化.模型 𝑓(𝒙; 𝜃)中的𝜃 称为模型的参数 ,可以通过优化算法进行学习.除了可学习的参数 𝜃 之外,还有一类参数是用来定义模型结构或优化策略的,这类参数叫作超参数 (Hyper-Parameter)。 常见的超参数包括:聚类算法中的类别个数、梯度下降法中的步长、正则化 项的系数、神经网络的层数、支持向量机中的核函数等.超参数的选取一般都是 组合优化问题,很难通过优化算法来自动学习.因此,超参数优化是机器学习的 一个经验性很强的技术,通常是按照人的经验设定,或者通过搜索的方法对一组 超参数组合进行不断试错调整。

2.2.4梯度下降算法

为了充分利用凸优化中一些高效、成熟的优化方法,比如共轭梯度、拟牛顿 法等,很多机器学习方法都倾向于选择合适的模型和损失函数,以构造一个凸函 数作为优化目标.但也有很多模型(比如神经网络)的优化目标是非凸的,只能退而求其次找到局部最优解.

在机器学习中, 最简单 、 常用的优化算法就是 梯度下降法 ,即首先初始化参数 𝜃 0 , 然后按下面的迭代公式来计算训练集 𝒟 上风险函数的最小值:

其中 𝜃 𝑡 为第 𝑡 次迭代时的参数值 , 𝛼 为搜索步长 . 在机器学习中 , 𝛼 一般称为 学习 率 ( Learning Rate )。

2.2.5随机梯度下降算法

在机器学习中,我们假设每个样本都是独立同分布地从真实数据分布中随 机抽取出来的,真正的优化目标是期望风险最小.批量梯度下降法相当于是从 真实数据分布中采集 𝑁 个样本,并由它们计算出来的经验风险的梯度来近似期 望风险的梯度.为了减少每次迭代的计算复杂度,我们也可以在每次迭代时只 采集一个样本,计算这个样本损失函数的梯度并更新参数,即随机梯度下降法 (Stochastic Gradient Descent,SGD). 当经过足够次数的迭代时,随机梯度下降 也可以收敛到局部最优解 。

批量梯度下降和随机梯度下降之间的区别在于,每次迭代的优化目标是对所有样本的平均损失函数还是对单个样本的损失函数.由于随机梯度下降实现 简单,收敛速度也非常快,因此使用非常广泛。在非凸优化问题中,随机梯度下降更容易逃离局 部最优点。

概括:对于每一个样本进行梯度更新,而不是对于所有的样本。

2.2.5小批量梯度下降算法

随机梯度下降法的一个缺点是无法充分利用计算机的并行计算能力.小批量梯度下降法(Mini-Batch Gradient Descent)是批量梯度下降和随机梯度下降的折中.每次迭代时,我们随机选取一小部分训练样本来计算梯度并更新参 数,这样既可以兼顾随机梯度下降法的优点,也可以提高训练效率。

第𝑡 次迭代时,随机选取一个包含𝐾 个样本的子集𝒮𝑡,计算这个子集上每个样本损失函数的梯度并进行平均,然后再进行参数更新:

在实际应用中,小批量随机梯度下降法有收敛快、计算开销小的优点,因此 逐渐成为大规模的机器学习中的主要优化算法。

2.3.1参数学习

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。