机器学习系列 6:正规方程

求一个函数的参数,例如下面这个方程,我们一般都会用梯度下降法去求。

机器学习系列 6:正规方程

还会不会有其他方法求参数呢?答案是有的,可以用正规方程(Normal Equation)去求参数。

那么问题来了,什么是正规方程呢?这个方程长什么样子,就让我们来见识一下。

机器学习系列 6:正规方程

其中 X 是一个矩阵,这个矩阵的每一行都是一组特征值,y 是数据集结果的向量。

举个例子,还是求房价,现在有 4 组训练集,如下表:

机器学习系列 6:正规方程

x_0 就代表常数项。在这个例子中,矩阵 X 为:

机器学习系列 6:正规方程

可以看出,矩阵 X 的每一行都代表一组数据集的特征值。向量 y 为:

机器学习系列 6:正规方程

这样通过正规方程就可以很容易地求出参数 θ(一定要注意,这里的参数 θ 是一个向量)。

既然求参数 θ 有两种方法,一个为梯度下降法,一个为正规方程,那么他俩之间一定会有优缺点,下表就是这两种方法的优缺点的对比:

机器学习系列 6:正规方程

当特征值 n 非常大时,正规方程工作效率低的原因是要求一个非常大的矩阵的逆矩阵。

提到逆矩阵,就会出现矩阵的不可逆性,如果我们遇到了矩阵不可逆该怎么办呢?

正规方程有两种情况会出现不可逆性,也就是这个矩阵无法得出。

机器学习系列 6:正规方程

第一种情况:出现了两个相似的特征,这个两个特征可以用一个线性关系进行表示。例如,米和英尺,这两个都是用来描述长度的单位,且他们之间可以进行相互转化,如果特征值同时出现他们两个,就会出现矩阵不可逆的情况。

解决方法:去掉任意一个即可。

第二种情况:特征值的数量特别多,但是数据集的数量特别少。

解决方法:增加数据集或减少特征值。

相关推荐