版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhq9695/article/details/82806771
目录
学习完吴恩达老师机器学习课程的多变量线性回归,简单的做个笔记。文中部分描述属于个人消化后的理解,仅供参考。
0. 前言
在线性回归中,通常采用梯度下降,不断迭代来降低代价函数 ,求解最佳的参数 。
但大量的迭代,遍历数据集,消耗的时间较大,可通过正规方程,直接求解 。
1. 正规方程(Normal Equation)
首先给出一个例子如下,对于 的数据,在其最前面增加一个 ,为全1。:
x0 | x1 | x2 | x3 | y |
---|---|---|---|---|
1 | ||||
1 | ||||
1 |
设 ,,则 ,可直接求的 向量,包含所有参数。
一般地,我们可以令 ,对于每一个样本 ,则 ,可通过正规方程求解:
采用正规方程求解 时,可不进行特征缩放。
2. 不可逆矩阵的情况
我们知道,在正规方程求解的过程中,需要对 进行矩阵求逆,但若此时矩阵不可逆(可逆矩阵定义为 ,其中为单位矩阵),我们需要对特征进行处理。
- 删除冗余的特征,如其中两个变量间存在线性关系
- 对于太多的特征 ,删除部分特征,或采用正则化(regularization)。
3. 与梯度下降的比较
梯度下降(Gradient Descent) | 正规方程(Normal Equation) |
---|---|
需要选择学习率 |
不需要选择学习率 |
需要多次迭代求解 | 不需要多次迭代求解 |
当特征维度 较大时,效果较好 | 当特征维度 较大时,时间复杂度较高计算较慢 |
注:矩阵逆运算的时间复杂度通常为 ,所以当 较大时,建议使用梯度下降。