当前位置:   article > 正文

机器学习之多变量线性回归(吴恩达机器学习)

机器学习之多变量线性回归(吴恩达机器学习)

1.多变量线性回归

在第一周的房价和房屋面积的例子中,由于变量只有一个—面积,所以这类机器学习问题称为单变量线性回归,很明显,当变量数量>1时,即为多变量线性回归

2.多维特征

在这里插入图片描述

3.多变量梯度下降

多变量线性回归的损失函数/代价函数和之前的单变量线性回归类似,用到的还是平均损失函数,只是变量维度多了

在这里插入图片描述

其中:

在这里插入图片描述

我们的目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系列参数。
多变量线性回归的批量梯度下降算法为:

在这里插入图片描述

即:Repeat {
在这里插入图片描述

}

求导后得到:Repeat {

在这里插入图片描述

 for (j = 0,1,2...n)<br>
  • 1

}

特征维度>1时(n>1)有:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开始随机选择一系列参数值,计算所有预测结果,再给所有参数一个新的值,如此循环直到收敛,即损失函数局部最小值。代码示例:

def computeCost(X, y, theta):
    inner = np.power(((X * theta.T) - y), 2)
    return np.sum(inner) / (2* len(X))
  • 1
  • 2
  • 3

4.特征缩放

还是以房子为例,多变量线性回归模型中,房价不仅取决于房屋面积这个特征,还取决于房屋数量这个特征。
这两个特征的范围分别为:
面积:0~2000平方英尺
房屋数量:0~5

以这两个特征绘制的等高线图如下:

在这里插入图片描述

从图中可以看出,图像比较扁,如果,梯度下降算法需要经过非常多次的迭代才能收敛,这时就需要通过一种手段来将这些特征的尺度都缩小到合适的范围,譬如-1~1之间,这种方式就叫做特征缩放
对x1特征,只需除以2000,对x2特征,除以5。即可使得特征值范围属于0~1

在这里插入图片描述

5.学习率

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
如下图所示:

在这里插入图片描述

横轴为迭代次数、纵轴为损失函数值—loss,可以看见, 通常在训练刚开始,单位迭代次数下,loss下降的最快,随着迭代次数增加、loss下降的越来越慢,直至近乎停止,趋于收敛。

有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如 0.001)
进行比较,但通常看上面这样的图表更好。
梯度下降算法的每次迭代受到学习率的影响,如果学习率

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/44015
推荐阅读
相关标签