Skip to content

Commit

Permalink
Merge branch 'master' of github.com:exacity/deeplearningbook-chinese
Browse files Browse the repository at this point in the history
Former-commit-id: 80f1706
  • Loading branch information
SwordYork committed Dec 8, 2016
2 parents 27aa8b6 + 5b7b886 commit 4241c87
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 41 deletions.
12 changes: 7 additions & 5 deletions Chapter11/practical_methodology.tex
Original file line number Diff line number Diff line change
Expand Up @@ -350,12 +350,14 @@ \subsection{随机搜索}
随机搜索过程如下。
首先,我们定义每个超参数定义一个边缘分布,例如,伯努利分布或分类分布(对应着二元超参数或离散超参数),或者对数尺度上的均匀分布(对应着正实值超参数)。
例如,
%\begin{aligned}
% \text{log\_learning\_rate} \sim u(-1, -5) \\
% \text{learning\_rate} = 10^{\text{log\_learning\_rate}}
%\end{aligned}
\begin{equation}
\begin{aligned}
\texttt{log\_learning\_rate} &\sim u(-1, -5), \\
\texttt{learning\_rate} &= 10^{\texttt{log\_learning\_rate}},
\end{aligned}
\end{equation}
其中,$u(a,b)$表示区间$(a,b)$上均匀采样的样本。
类似地,$\text{log\_number\_of\_hidden\_units}$可能表示采样自$u(\log(50), \log(2000))$
类似地,$\texttt{log\_number\_of\_hidden\_units}$可能表示采样自$u(\log(50), \log(2000))$

和格点搜索的情况不同,我们\emph{不应该离散化}超参数的值,从而我们可以去探索一个更大集合的值,而不产生额外的计算代价。
实际上,如图11.2所示,当有几个超参数对\gls{performance_metrics}没有很强的影响时,随机搜索指数级高效于格点搜索。
Expand Down
16 changes: 10 additions & 6 deletions Chapter2/linear_algebra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ \section{标量,向量,矩阵和张量}
\ref{fig:chap2_transpose}显示了这个操作。
我们将矩阵$\MA$的转置表示为$\MA^\top$,定义如下
\begin{equation}
(\MA^\top)_{i,j} \SA_{j,i}.
(\MA^\top)_{i,j}= \SA_{j,i}.
\end{equation}

\begin{figure}[!htb]
Expand Down Expand Up @@ -383,7 +383,7 @@ \section{范数}
\end{itemize}


$p2$时,$L^2$被称为\firstgls{euclidean_norm}。
$p=2$时,$L^2$被称为\firstgls{euclidean_norm}。
它表示从原点出发到向量$\Vx$确定的点的欧几里得距离。
$L^2$范数十分频繁地出现在机器学习中,它经常被简化表示为$\norm{x}$,略去了下标$2$
平方$L^2$范数也经常被用来衡量向量的大小,可以简单地t通过\gls{dot_product}$\Vx^\top\Vx$计算。
Expand Down Expand Up @@ -444,7 +444,7 @@ \section{特殊类型的矩阵和向量}


\firstgls{diagonal_matrix}只在主对角线上含有非零元素,其它位置都是零。
形式上,矩阵$\MD$是对角矩阵,当且仅当对于所有的$i\neq j$$\SD_{i,j}0$
形式上,矩阵$\MD$是对角矩阵,当且仅当对于所有的$i\neq j$$\SD_{i,j}=0$
我们已经看到过一个对角矩阵:单位矩阵,对角元素全部是$1$
我们用$\text{diag}(\Vv)$表示一个对角元素由向量$\Vv$中元素给定的对角方阵。
对角矩阵受到关注,部分原因是对角矩阵的乘法计算很高效。
Expand Down Expand Up @@ -701,12 +701,16 @@ \section{迹运算}

用迹运算表示式,使我们可以使用很多有用的性质来操纵表达式。。
例如,迹运算在转置运算下是不变的:
$\Tr(\MA)=\Tr(\MA^\top)$.
\begin{equation}
\Tr(\MA)=\Tr(\MA^\top).
\end{equation}


多个矩阵乘积的迹,和将这些矩阵中最后一个挪到最前面之后乘积的迹是相同的。
当然,我们需要考虑挪动之后矩阵乘积依然定义良好:
$\Tr(\MA\MB\MC)=\Tr(\MC\MA\MB)= \Tr(\MB\MC\MA)$
\begin{equation}
\Tr(\MA\MB\MC)=\Tr(\MC\MA\MB)= \Tr(\MB\MC\MA).
\end{equation}
或者更一般地,
\begin{equation}
\Tr(\prod_{i=1}^n \MF(i))= \Tr(\MF^n \prod_{i=1}^{n-1} \MF^i).
Expand Down Expand Up @@ -826,7 +830,7 @@ \section{实例:\gls{PCA}}
\nabla_{\Vc} (-2\Vx^\top \MD \Vc + \Vc^\top\Vc) = 0
\end{equation}
\begin{equation}
-2\MD^\top\Vc + 2\Vc = 0
-2\MD^\top\Vx + 2\Vc = 0
\end{equation}
\begin{equation}
\Vc = \MD^\top \Vx.
Expand Down
54 changes: 27 additions & 27 deletions Chapter5/machine_learning_basics.tex
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ \chapter{机器学习基础}

首先,我们将介绍学习算法的定义,并介绍一个简单的示例:\gls{linear_regression}算法。
接下来,我们会探讨拟合训练数据和寻找能够泛化到新数据的参数有哪些不同。
大部分机器学习算法都会有必须在学习算法外确定的\textit{超参数};我们将讨论如何使用额外的数据设置超参数。
大部分机器学习算法都会有必须在学习算法外确定的\emph{超参数};我们将讨论如何使用额外的数据设置超参数。
机器学习本质上属于应用统计学,更多关注于如何用计算机来统计估计复杂函数,较少关心如何这些函数的置信区间;因此我们会探讨两种统计学中主要的方法:频率估计和贝叶斯推理。
大部分机器学习算法可以分成监督学习和无监督学习两类;我们将探讨不同的分类,并为每类都介绍一些简单的机器学习算法作为示例。
大部分深度学习算法都基于\gls{SGD}求解。
Expand Down Expand Up @@ -60,8 +60,8 @@ \subsection{任务,$T$}

\item \textbf{输入缺失分类}:
当输入向量的每个衡量不被保证的时候,分类问题将会更有挑战。
为了解决分类任务,学习算法只需要定义\textit{一个}从输入向量映射到输出类别的函数。
当一些输入可能丢失时,学习算法必须学习\textit{一组}函数,而不是单个分类函数。
为了解决分类任务,学习算法只需要定义\emph{一个}从输入向量映射到输出类别的函数。
当一些输入可能丢失时,学习算法必须学习\emph{一组}函数,而不是单个分类函数。
每个函数对应着分类具有不同缺失输入子集的$\Vx$
这种情况在医疗诊断中经常出现,因为很多类型的医学测试是昂贵的,对身体有害的。
有效地定义这样一个大集合函数的方法是学习所有相关变量的概率分布,然后通过边缘化缺失变量来解决分类任务。
Expand Down Expand Up @@ -718,7 +718,7 @@ \subsection{点估计}
\hat{\Vtheta}_m = g(\Vx^{(1)}, …, \Vx^{(m)})
\end{equation}
这个定义不要求$g$返回一个接近真实植$\Vtheta$的值,或是$g$的值域为$\Vtheta$的允许取值。
点估计的定义非常宽泛,给了估计器的设计者极大的灵活性
点估计的定义非常宽泛,给了\gls{estimator:chap5}的设计者极大的灵活性
虽然几乎所有函数都可以称为\gls{estimator:chap5},但是一个好的\gls{estimator:chap5}的输出会接近生成训练数据的真实参数$\Vtheta$

% -- 119 --
Expand Down Expand Up @@ -750,8 +750,8 @@ \subsection{偏差}
\text{bias}(\hat{\Vtheta}_m) = \SetE(\hat{\Vtheta}_m) - \Vtheta
\end{equation}
其中期望作用在所有数据(看作是从随机变量采样得到的)上,$\Vtheta$是定义数据生成分布$\Vtheta$的真实值。
如果$\text{bias}(\hat{\Vtheta}_m)=0$那么估计器$\hat{\Vtheta}_m$被称为是\firstgls{unbiased},这意味着$\SetE(\hat{\Vtheta}_m) = \Vtheta$
如果$\lim_{m\to\infty} \text{bias}(\hat{\Vtheta}_m)=0$那么估计器$\hat{\Vtheta}_m$称为是\firstgls{asymptotically_unbiased},这意味着$\lim_{m\to\infty} \SetE(\hat{\Vtheta}_m) = \Vtheta$
如果$\text{bias}(\hat{\Vtheta}_m)=0$那么\gls{estimator:chap5}$\hat{\Vtheta}_m$被称为是\firstgls{unbiased},这意味着$\SetE(\hat{\Vtheta}_m) = \Vtheta$
如果$\lim_{m\to\infty} \text{bias}(\hat{\Vtheta}_m)=0$那么\gls{estimator:chap5}$\hat{\Vtheta}_m$称为是\firstgls{asymptotically_unbiased},这意味着$\lim_{m\to\infty} \SetE(\hat{\Vtheta}_m) = \Vtheta$

% -- 121 --

Expand All @@ -776,7 +776,7 @@ \subsection{偏差}

因为$\text{bias}(\hat{\theta}_m)=0$,我们称估计$\hat{\theta}$是无偏的。

\textbf{实例:均值的高斯分布估计器}\quad
\textbf{实例:均值的高斯分布估计}\quad
现在,考虑一组独立同分布的\gls{example:chap5}$\{x^{(1)}, …, x^{(m)}\}$服从高斯分布$p(x^{(i)}) = \mathcal{N}(x^{(i)}; \mu, \sigma^2)$,其中$i\in\{1,..., m\}$
回顾高斯概率密度函数如下:
\begin{equation}
Expand All @@ -799,7 +799,7 @@ \subsection{偏差}

% -- 122 --

\textbf{实例:高斯分布方差的估计器}\quad
\textbf{实例:高斯分布方差估计}\quad
本例中,我们比较高斯分布方差参数$\sigma^2$的两个不同估计。
我们探讨是否有一个是有偏的。

Expand Down Expand Up @@ -840,18 +840,18 @@ \subsection{偏差}
尽管无偏估计显然是可取的,但它并不总是“最好”的估计。
我们将会看到经常会使用具有其他重要性质的有偏估计。

\subsection{方差和标准差}
\subsection{方差和\gls{standard_error}}
\label{subsec:variance_and_standard_error}
我们可能要考虑的估计器另一个性质是数据样本函数的变化程度
正如我们可以计算估计的期望去决定它的偏差,我们也可以计算它的方差。
\gls{estimator:chap5}的\firstgls{variance}就是一个方差
我们可能要考虑的\gls{estimator:chap5}另一个性质是数据样本函数的变化程度
正如我们可以计算\gls{estimator:chap5}的期望去决定它的偏差,我们也可以计算它的方差。
\gls{estimator:chap5}的\firstgls{variance}就是一个\gls{variance}
\begin{equation}
\text{Var}(\hat{\theta})
\end{equation}
其中随机变量是训练集。
另外,方差的平方根被称为\firstgls{standard_error},记作$\text{SE}(\hat{\theta})$

估计器的方差或标准差提供给我们,当\gls{dataset}独立地从潜在的数据生成过程中重采样数据集时,如何期望估计的变化。
\gls{standard_error}的方差或\gls{standard_error}提供给我们,当\gls{dataset}独立地从潜在的数据生成过程中重采样数据集时,如何期望估计的变化。
正如我们希望估计的偏差比较小,我们也希望其方差较小。

当我们使用有限的样本计算任何统计量时,真实参数的估计都是不确定的,在这个意义下,从相同的分布得到其他样本时,它们的统计量会不一样。
Expand All @@ -863,8 +863,8 @@ \subsection{方差和标准差}
\end{equation}
其中$\sigma^2$\gls{example:chap5}$x^i$的真实方差。
\gls{standard_error}通常被记作$\sigma$
不幸的是,样本方差的平方根和方差无偏估计的平方根都不是标准差的无偏估计
这两种计算方法都倾向于低估真实的标准差,但仍用于实际中。
不幸的是,样本方差的平方根和方差无偏估计的平方根都不是\gls{standard_deviation}的无偏估计
这两种计算方法都倾向于低估真实的\gls{standard_deviation},但仍用于实际中。
方差无偏估计的平方根是不太低估的。
对于较大的$m$,这种近似非常合理。

Expand All @@ -873,7 +873,7 @@ \subsection{方差和标准差}
均值的\gls{standard_error}在机器学习实验中非常有用。
我们通常计算\gls{test_set}误差的样本均值来估计泛化误差。
\gls{test_set}中\gls{example:chap5}的数量决定了这个估计的精确度。
中心极限定理告诉我们均值会接近一个高斯分布,我们可以用标准差计算出真实期望落在选定区间的概率
中心极限定理告诉我们均值会接近一个高斯分布,我们可以用\gls{standard_error}计算出真实期望落在选定区间的概率
例如,以均值$\hat{\mu}_m$为中心的$95\%$置信区间是
\begin{equation}
( \hat{\mu}_m - 1.96\text{SE}(\hat{\mu}_m), \hat{\mu}_m + 1.96 \text{SE}(\hat{\mu}_m) )
Expand Down Expand Up @@ -1294,36 +1294,36 @@ \subsection{\gls{SVM}}
% -- 137 --

\gls{SVM}的一个重要创新是\firstgls{kernel_trick}。
核技巧观察到许多机器学习算法都可以写成\gls{example:chap5}间点积的形式
核技巧观察到许多机器学习算法都可以写成\gls{example:chap5}\gls{dot_product}的形式
例如,\gls{SVM}中的线性函数可以重写为
\begin{equation}
\Vw^\Tsp \Vx + b = b + \sum_{i=1}^m \alpha_i \Vx^\Tsp \Vx^{(i)}
\end{equation}
其中,$\Vx^{(i)}$是训练\gls{example:chap5},$\Valpha$是系数向量。
学习算法重写为这种形式允许我们将$\Vx$替换为\gls{feature}函数$\phi(\Vx)$的输出,点积替换为被称为\firstgls{kernel}的函数$k(\Vx, \Vx^{(i)}) = \phi(\Vx)\cdot \phi(\Vx^{(i)})$
$\cdot$操作表示类似于$\phi(\Vx)^\Tsp \phi(\Vx^{(i)})$的点积
对于某些\gls{feature}空间,我们可能不会书面地使用向量内积
在某些无穷维空间中,我们需要使用其他类型的内积,如基于积分而非总和的内积
这种类型内积的完整介绍超出了本书的范围
学习算法重写为这种形式允许我们将$\Vx$替换为\gls{feature}函数$\phi(\Vx)$的输出,\gls{dot_product}替换为被称为\firstgls{kernel}的函数$k(\Vx, \Vx^{(i)}) = \phi(\Vx)\cdot \phi(\Vx^{(i)})$
$\cdot$操作表示类似于$\phi(\Vx)^\Tsp \phi(\Vx^{(i)})$\gls{dot_product}
对于某些\gls{feature}空间,我们可能不会书面地使用向量\gls{inner_product}
在某些无穷维空间中,我们需要使用其他类型的\gls{inner_product},如基于积分而非总和的\gls{inner_product}
这种类型\gls{inner_product}的完整介绍超出了本书的范围

核估计替换点积之后,我们可以使用如下函数进行预测
核估计替换\gls{dot_product}之后,我们可以使用如下函数进行预测
\begin{equation}
f(\Vx) = b + \sum_i \alpha_i k(\Vx, \Vx^{(i)})
\end{equation}
这个函数关于$\Vx$是非线性的,关于$\phi(\Vx)$是线性的。
$\Valpha$$f(\Vx)$之间的关系也是线性的。
核函数完全等价于用$phi(\Vx)$预处理所有的输入,然后在新的转换空间学习线性模型。
核函数完全等价于用$\phi(\Vx)$预处理所有的输入,然后在新的转换空间学习线性模型。

核技巧十分强大有两个原因。
首先,它使我们能够使用保证有效收敛的凸优化技术来学习作为$\Vx$的函数的非线性模型。
这是可能的,因为我们可以认为$\phi$是固定的,仅优化$\alpha$,即优化算法可以将决策函数视为不同空间中的线性函数。
其二,核函数$k$的实现方法通常有比直接构建$\phi(\Vx)$再算点积高效很多
其二,核函数$k$的实现方法通常有比直接构建$\phi(\Vx)$再算\gls{dot_product}高效很多

在某些情况下,$\phi(Vx)$甚至可以使无限维的,对于普通的显式方法而言,这将是无限的计算代价。
在很多情况下,即使$\phi(\Vx)$是难算的,$k(\Vx,\Vx')$却会是一个关于$\Vx$非线性的,易算的函数。
举个无限维空间易解的核的例子,我们构建一个作用于非负整数$x$上的\gls{feature}映射$\phi(x)$
假设这个映射返回一个由开头$x$$1$,随后时无限个$0$的向量。
我们可以写一个核函数$k(x,x^{(i)}) = \min(x, x^{(i)})$完全等价于对应的无限维点积
我们可以写一个核函数$k(x,x^{(i)}) = \min(x, x^{(i)})$完全等价于对应的无限维\gls{dot_product}

% -- 138 --

Expand All @@ -1333,7 +1333,7 @@ \subsection{\gls{SVM}}
\end{equation}
其中$\mathcal{N}(x; \Vmu, \VSigma)$是标准正态密度。
这个核也被称为\firstall{RBF}核,因为其值沿$\Vv$中从$\Vu$向外辐射的方向减小。
高斯核对应于无限维空间中的点积,但是该空间的推导没有整数上的$\min$核实例直观。
高斯核对应于无限维空间中的\gls{dot_product},但是该空间的推导没有整数上的$\min$核实例直观。

我们可以认为高斯核在执行一种\textbf{模板匹配}。
训练\gls{label}$y$相关的训练\gls{example:chap5}$\Vx$变成了类别$y$的模版。
Expand Down
1 change: 0 additions & 1 deletion dlbook_cn.tex
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@
\input{applied_math_and_machine_learning_basics.tex}
\input{deep_networks_modern_practices.tex}
\input{deep_learning_research.tex}

\appendix

\small{
Expand Down
13 changes: 11 additions & 2 deletions terminology.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1883,7 +1883,7 @@

\newglossaryentry{estimator:chap5}
{
name=估计,
name=估计量,
description={estimator},
sort={estimator},
}
Expand Down Expand Up @@ -1932,8 +1932,9 @@

\newglossaryentry{standard_error}
{
name=标准差,
name=标准误差,
description={standard error},
symbol={SE},
sort={standard error},
}

Expand Down Expand Up @@ -2467,6 +2468,7 @@
{
name=标准差,
description={standard deviation},
symbol={SD},
sort={standard deviation},
}

Expand Down Expand Up @@ -4880,6 +4882,13 @@
sort={dot product},
}

\newglossaryentry{inner_product}
{
name=内积,
description={inner_product},
sort={inner product}
}

\newglossaryentry{square}
{
name=方阵,
Expand Down

0 comments on commit 4241c87

Please sign in to comment.