机器学习——多变量回归
模型
普通表示
为特征个数。
令:
向量表示
, ,
多元梯度下降法
时(实际上也是单变量线性回归):
时:
特征缩放
对于多个特征值,如果这些特征值的数量级差别很大,在不做任何处理的情况下,利用梯度下降法最小化损失函数的过程将收敛很慢,比如下面的情况,对于特征和:
它的收敛过程将非常缓慢。
那么我们如果解决这个问题呢?我们的目的是使每个特征值都尽量保持在同一数量级范围内,因此,可以对每个特征值进行如下操作:
参数解释:
:所有样本中特征的平均值
:所有样本中特征的极差(max-min)
正规方程(Normal)法
梯度下降法中,为了最小化损失函数,每一次的迭代过程都要遍历样本中的各个数据。然而,利用正规方程,我们可以一步到位。
下面看一个例子:
1 | 2104 | 5 | 1 | 45 | 460 |
1 | 1416 | 3 | 2 | 40 | 232 |
1 | 1534 | 3 | 2 | 30 | 315 |
1 | 852 | 2 | 1 | 36 | 178 |
在这个例子中,一共有4个特征,则:
利用矩阵的相关运算可求得:
对于一组含有m个样本,n个特征的数据:
利用表示第i个样本的第j个特征值。
则:
的不可逆情况
- 特征值中出现了多余的数据(比如,为常数)
- 过多的特征(样本的数量远小于特征的数量)
梯度下降法和正规方程法比较
梯度下降法
- 需要我们手动选择学习率
- 需要很多次的迭代,而且每次迭代都要遍历所有数据
- 但是当特征特征数量比较大时(上百万或上千万),梯度下降法要比正规方程法效果好
正规方程法
- 不需要选择学习率
- 不需要进行多次迭代
- 需要计算矩阵的乘积和矩阵的逆(),这个过程的复杂度大约为,当比较大时,所需的开销也会很大
因此,当比较小时,通常选择正规方程法,当比较大时,通常选择梯度下降法。
总结
通过上面的学习我们可以发现,单变量的回归是当时的多变量回归。