机器学习-正规方程

吴恩达机器学习笔记系列

一、什么是正规方程

梯度下降法计算参数最优解,过程是对代价函数的每个参数求偏导,通过迭代算法一步步更新,直到收敛到全局最小值,从而得到最优参数。

正规方程是一次性求得最优解。

思想:对于一个简单函数,对参数求导,将其值置为0,就得到参数的值。像下面这样:
机器学习-正规方程

现实例子有很多参数,我们要对这些参数都求偏导数,得到各个参数的最优解,也就是全局最优解。但是困难在于,这样做非常浪费时间。

二、正规方程的使用

举例如下:

机器学习-正规方程

这里4个样本,以及4个特征变量x1,x2,x3,x4,观测结果是y,在列代价函数的时候,需要加上一个末尾参数x0,如下:
机器学习-正规方程

再将特征参数保存在X矩阵中,对观测结果做同样的操作并保存在向量y中,如图:
机器学习-正规方程

然后我们通过下面这个公式得出参数θ最优解。

机器学习-正规方程

关于这个式子推到:
机器学习-正规方程

对于一个训练样本的所有特征参数可以用x(i)向量来表示(注意x0(i)要加上) ,而设计矩阵就可以表示为X,是所有样本向量的转置,y是观测结果的向量,这样表示之后可以用上面那个公式直接计算Θ的最优解。

三、不可逆情况

注意到正规方程有一个机器学习-正规方程求逆矩阵的过程,当矩阵不可逆,一般有两种原因:

多余特征(线性相关)
太多特征(例如:m≤n),解决办法:删除一些特征,或正则化
其实,本质原因还是线性知识:

首先,这是两个必要条件,

根据性质:r(ATA) = r(A),ATA可逆性可转化为A的可逆性。

第一种:实际上是线性相关的列向量,矩阵的秩 < 矩阵的维度,不可逆;

第二种:

m < n时,也就是维度小于向量个数,在这里也就是样本数小于特征数,线性相关
m = n时,当|A| = 0时不可逆,|A| != 0时可逆

四、正规方程与梯度下降法的比较

梯度下降法:

缺点:

需要选择学习率α
需要多次迭代
优点:

当特征参数大的时候,梯度下降也能很好工作

正规方程:

缺点:

需要计算,机器学习-正规方程计算量大约是矩阵维度的三次方,复杂度高。
特征参数大的时候,计算缓慢
优点:

不需要学习率α
不需要多次迭代

总结:取决于特征向量的个数,数量小于10000时,选择正规方程;大于10000,考虑梯度下降或其他算法。