正规方程

 

一、什么是正规方程

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

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

思想:对于一个简单函数,对参数求导,将其值置为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,考虑梯度下降或其他算法。

 

 

来自:https://blog.csdn.net/sd9110110/article/details/53558821

posted @ 2019-03-03 16:49  做梦当财神  阅读(1809)  评论(0编辑  收藏  举报