返回

吴恩达机器学习week2.2-Normal Equation

人工智能

吴恩达机器学习 Week2.2:正规方程

在机器学习中,我们经常会遇到需要求解一个函数的最小值的问题。例如,在线性回归中,我们要找到一组参数,使得模型对给定数据拟合得最好。我们已经学习了梯度下降法,这是一种迭代算法,可以用来求解函数的最小值。梯度下降法通过不断地向函数的梯度方向移动,最终收敛到最小值。

然而,梯度下降法并不是求解函数最小值问题的唯一方法。还有一种方法叫做正规方程,它可以直接计算出函数的最小值。正规方程是一种解析方法,它不需要迭代,因此收敛速度很快。但是,正规方程对数据的分布和特征的相关性比较敏感,如果数据分布不均匀或特征之间存在相关性,则正规方程可能会产生不准确的结果。

正规方程的推导

为了推导正规方程,我们需要先引入一些符号。假设我们有一个包含 m 个样本的数据集,其中每个样本由 n 个特征和一个标签组成。我们将样本的特征表示为矩阵 X,标签表示为向量 y。我们希望找到一组参数 w,使得模型对数据拟合得最好。

我们使用最小二乘法来衡量模型的拟合优度。最小二乘法将模型的误差定义为拟合值与真实值之间的平方差之和。我们希望找到一组参数 w,使得模型的误差最小。

模型的误差函数可以表示为:

J(w) = \frac{1}{2m} \sum_{i=1}^m (y_i - w^Tx_i)^2

其中,y_i 是第 i 个样本的标签,x_i 是第 i 个样本的特征向量,w 是模型的参数。

为了找到使误差函数最小的参数 w,我们需要求解以下方程:

\frac{\partial J(w)}{\partial w} = 0

对误差函数求偏导,得到:

\frac{\partial J(w)}{\partial w} = -\frac{1}{m} \sum_{i=1}^m (y_i - w^Tx_i)x_i

令偏导数等于0,得到:

\sum_{i=1}^m (y_i - w^Tx_i)x_i = 0

整理上述方程,得到:

X^T X w = X^T y

这就是正规方程。我们可以通过求解正规方程来得到模型的参数 w

正规方程的求解

正规方程可以通过多种方法求解。一种常见的方法是使用矩阵的逆。我们可以将正规方程改写为:

w = (X^T X)^{-1} X^T y

其中,(X^T X)^{-1} 是矩阵 X^T X 的逆。

另一种求解正规方程的方法是使用奇异值分解(SVD)。SVD 将矩阵分解为三个矩阵的乘积:

X = U \Sigma V^T

其中,UV 是正交矩阵,\Sigma 是一个对角矩阵,其对角线上的元素是矩阵 X 的奇异值。

我们可以利用SVD来求解正规方程:

w = V \Sigma^{-1} U^T y

其中,\Sigma^{-1} 是矩阵 \Sigma 的逆。

正规方程的优缺点

正规方程是一种求解函数最小值问题的解析方法,它具有收敛速度快的优点。但是,正规方程对数据的分布和特征的相关性比较敏感,如果数据分布不均匀或特征之间存在相关性,则正规方程可能会产生不准确的结果。

梯度下降法是一种迭代算法,它可以求解各种函数的最小值问题。梯度下降法对数据的分布和特征的相关性不敏感,因此它在实践中经常被用来求解机器学习模型的参数。

总结

在本文中,我们介绍了正规方程和梯度下降法这两种求解函数最小值问题的方法。正规方程是一种解析方法,它可以直接计算出函数的最小值,但它对数据的分布和特征的相关性比较敏感。梯度下降法是一种迭代算法,它可以通过不断地向函数的梯度方向移动来找到最小值,它对数据的分布和特征的相关性不敏感,因此在实践中经常被用来求解机器学习模型的参数。