乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

5.10 构建机器学习算法

书籍名:《深度学习》    作者:伊恩.古德费洛



几乎所有的深度学习算法都可以被描述为一个相当简单的配方:特定的数据集、代价函数、优化过程和模型。

例如,线性回归算法由以下部分组成:X和y构成的数据集,代价函数

模型是,在大多数情况下,优化算法可以定义为求解代价函数梯度为零的正规方程。

意识到可以替换独立于其他组件的大多数组件,因此我们能得到很多不同的算法。

通常代价函数至少含有一项使学习过程进行统计估计的成分。最常见的代价函数是负对数似然,最小化代价函数导致的最大似然估计。

代价函数也可能含有附加项,如正则化项。例如,我们可以将权重衰减加到线性回归的代价函数中

该优化仍然有闭解。

如果我们将该模型变成非线性的,那么大多数代价函数不再能通过闭解优化。这就要求我们选择一个迭代数值优化过程,如梯度下降等。

组合模型、代价和优化算法来构建学习算法的配方同时适用于监督学习和无监督学习。线性回归示例说明了如何适用于监督学习的。无监督学习时,我们需要定义一个只包含X的数据集、一个合适的无监督代价和一个模型。例如,通过指定如下损失函数可以得到PCA的第一个主向量

模型定义为重构函数,并且w有范数为1的限制。

在某些情况下,由于计算原因,我们不能实际计算代价函数。在这种情况下,只要有近似其梯度的方法,那么我们仍然可以使用迭代数值优化近似最小化目标。

尽管有时候不明显,但大多数学习算法都用到了上述配方。如果一个机器学习算法看上去特别独特或是手动设计的,那么通常需要使用特殊的优化方法进行求解。有些模型,如决策树或k-均值,需要特殊的优化,因为它们的代价函数有平坦的区域,使其不适合通过基于梯度的优化去最小化。在认识到大部分机器学习算法可以使用上述配方描述之后,我们可以将不同算法视为出于相同原因解决相关问题的一类方法,而不是一长串各个不同的算法。