正规方程是通过求解下面的方程来找出使得代价函数最小的参数的:
假设我们的训练集特征矩阵为X(包含了 )并且我们的训练集结果为向量 y,则利用正规方程解出向量:
**********
例:
正规方程推导过程
参考:https://blog.csdn.net/chenlin41204050/article/details/78220280
多变量线性回归代价函数为:
正规方程是通过求解下面的方程来找出使得代价函数最小的参数:
设有m个训练实例,每个实例有n个特征,则训练实例集为:
其中表示第i个实例第j个特征。
特征参数为:
输出变量为:
故代价函数为:
进行求导,等价于如下的形式:
求导公式:
- 其中第一项:
- 第二项:
该矩阵求导为分母布局下的标量/向量形式:
故有,
- 第三项:
该矩阵求导为分母布局下的标量/向量形式:
故有:
- 第四项:
其中为标量,可看成一个常数。
该矩阵求导为分母布局下的标量/向量形式:
故有:
综上,正规方程为:
最终可得特征参数的表示:
梯度下降与正规方程的比较:
梯度下降 | 正规方程 |
需要选择学习率 | 不需要 |
需要多次迭代 | 一次运算得出 |
当特征数量n大时也能较好适用 | 需要计算如果特征数量n较大则运算代价大,因为矩阵逆的计算时间复杂度为 ,通常来说当n小于10000 时还是可以接受的 |
适用于各种类型的模型 | 只适用于线性模型,不适合逻辑回归模型等其他模型 |
总结:
只要特征变量的数目并不大,标准方程是一个很好的计算参数的替代方法。具体地说,只要特征变量数量小于一万,通常使用标准方程法,而不使用梯度下降法。