主页

深度学习中的优化方法:梯度下降和约束优化

大多数深度学习算法都涉及某种形式的优化。优化指的是改变 $\boldsymbol{x}$ 以最小化或最大化某个函数 $f(\boldsymbol{x})$ 的任务。我们通常以最小化 $f(\boldsymbol{x})$ 指代大多数最优化问题,最大化可经由最小化算法最小化 $−f(\boldsymbol{x})$ 来实现。 我们把要最小化或最大化的函数称为目标函数 (objective function),当我们对其进行最小化时,我们也把它称为代价函数(cost function)、损失函数 (loss function)或误差函数 (error function)。 我们通常使用一个上标 $*$ 表示最小化或最大化函数的 $\boldsymbol{x}$ 值。如我们记 $\bol...

阅读更多

概率与信息论基础(下):常用概率分布和信息熵

常用概率分布 许多简单的概率分布在机器学习的众多领域中都是有用的。 Bernoulli 分布 Bernoulli 分布 (Bernoulli distribution) 是单个二值随机变量的分布。它由单个参数 $\phi ∈ [0, 1]$ 控制,$\phi$ 给出了随机变量等于 $1$ 的概率。它具有如下的一些性质: \(P(\mathbb{x} = 1) = \phi\\ P(\mathbb{x} = 0) = 1-\phi\\ P(\mathbb{x} = x) = \phi^x(1-\phi)^{1-x}\\ \mathbb{E}_\mathbb{x}[\mathbb{x}] = \phi\\ \text{Var}_\mathbb{x}(\mathbb{x}) = \ph...

阅读更多

概率与信息论基础(上):基础概念

概率论中最基本的概念是随机变量,随机变量 (random variable) 就是可以随机地取不同值的变量。 一个随机变量只是对可能的状态的描述,它必须伴随着一个概率分布来指定每个状态的可能性。随机变量可以是离散的或者连续的。离散随机变量拥有有限或者可数无限多的状态(这些状态不一定是整数,也可能只是一些被命名的没有数值的状态)。连续随机变量伴随着实数值。 我们通常用无格式字体来表示随机变量,用手写体来表示随机变量的取值。例如,$x_1$ 和 $x_2$ 都是随机变量 $\mathbb{x}$ 可能的取值。对于向量值变量,我们会将随机变量写成 $\textbf{x}$,它的一个可能取值为 $\boldsymbol{x}$。 概率分布 概率分布 (probability di...

阅读更多

机器学习基础(五):监督学习算法和随机梯度下降

本文内容摘取自 《Deep Learning》,部分内容有修改。 监督学习算法 粗略地说,监督学习算法是给定一组输入 $\boldsymbol{x}$ 和输出 $\boldsymbol{y}$ 的训练集,学习如何关联输入和输出。 概率监督学习 大部分监督学习算法都是基于估计概率分布 $p(y \mid \boldsymbol{x})$ 的,我们可以使用最大似然估计找到对于有参分布族 $p(y \mid \boldsymbol{x}; \boldsymbol{\theta})$ 最好的参数向量 $\boldsymbol{\theta}$。 我们已经看到,线性回归对应于分布族 \[p(y\mid\boldsymbol{x};\boldsymbol{\theta}) = \ma...

阅读更多

机器学习基础(四):最大似然估计和贝叶斯统计

本文内容摘取自 《Deep Learning》,部分内容有修改。 在《机器学习基础(三)》估计一节中我们已经看过常用估计的定义,并分析了它们的性质,但是这些估计是从哪里来的呢?我们希望有些准则可以让我们从不同模型中得到特定函数作为好的估计,而不是猜测某些函数可能是好的估计,然后分析其偏差和方差。 最常用的准则是最大似然估计。 最大似然估计 考虑一组含有 $m$ 个样本的数据集 $\mathbb{X} = {\boldsymbol{x}^{(1)}, . . . , \boldsymbol{x}^{(m)}}$,独立地由未知的真实数据分布 $p_{\text{data}}(\boldsymbol{x})$ 生成。令 $p_{\text{model}}(\boldsymbol{x...

阅读更多

机器学习基础(三):交叉验证和参数估计

本文内容摘取自 《Deep Learning》,部分内容有修改。 超参数和验证集 大多数机器学习算法都有超参数来控制算法行为,超参数的值不是通过学习算法本身学习出来的。有时一个选项被设为超参数是因为它太难优化了,更多的情况是该选项不适合在训练集上学习。例如在训练集上学习控制模型容量的超参数,这些超参数总是趋向于最大可能的模型容量,导致过拟合。 为了解决这个问题,我们需要一个训练算法观测不到的验证集 (validation set) 样本。 早先我们讨论过和训练数据相同分布的样本组成的测试集用来估计学习器的泛化误差,其重点在于测试样本不能以任何形式参与到模型的选择中 (包括设定超参数)。基于这个原因,测试集中的样本不能用于验证集,因此我们总是从训练数据中构建验证集。 我们将训...

阅读更多

机器学习基础(二):容量、过拟合和欠拟合

本文内容摘取自 《Deep Learning》,部分内容有修改。 在先前未观测到的输入上表现良好的能力被称为泛化 (generalization)。通常当我们训练机器学习模型时,我们目标是降低在训练集上的训练误差 (training error),同时我们也希望泛化误差 (generalization error) 很低。当我们只能观测到训练集时,我们如何才能影响测试集的性能呢?统计学习理论 (statistical learning theory) 提供了一些答案。 通常,我们会做一系列被统称为独立同分布假设 (i.i.d. assumption) 的假设。该假设是说,每个数据集中的样本都是彼此相互独立的 (independent),并且训练集和测试集是同分布的 (identi...

阅读更多

机器学习基础(一):学习算法

本文内容摘取自 《Deep Learning》,部分内容有修改。 机器学习算法是一种能够从数据中学习的算法。Mitchell (1997) 提供了一个简洁的定义:“对于某类任务 $T$ 和性能度量 $P$,一个计算机程序被认为可以从经验 $E$ 中学习是指,通过经验 $E$ 改进后,它在任务 $T$ 上由性能度量 $P$ 衡量的性能有所提升。” 任务 $T$ 通常机器学习任务定义为机器学习系统应该如何处理样本 (example)。样本是指我们从某些希望机器学习系统处理的对象或事件中收集到的已经量化的特征 (feature) 的集合。我们通常会将样本表示成一个向量 $\boldsymbol{x} \in \mathbb{R}^n$,其中向量的每一个元素 $x_i$ 是一个特征。 ...

阅读更多