吴恩达学习笔记3(multiple gradient descent)

2023-03-01 17:12:27 星期三


使用梯度下降法处理多元线性回归

多元输入变量(multiple features)

image

假设函数

image

多元线性回归(multivariate linear regression)

将线性组合转换成矩阵乘法计算
image

问题描述

image

有n+1个特征量的gradient descent

image

特征缩放(feature scaling)

保证多个特征在相似范围内,这样梯度下降法能够更快的收敛
image
此时代价函数J的等值线图是椭圆形,梯度下降要来回波动,最终才收敛到最小值。

采用特征缩放

  • 除以最大值
    \(0\leq x_1\leq 1, 0\leq x_2\leq 1\)

image

此时代价函数J的等值线偏移会变得没那么严重,此时梯度下降法是一条直线,收敛速度更快

注:
采用特征缩放时,特征取值约束到-1到+1范围内,不必严格规定,大概范围就行。
image

  • 均值归一化
    \(x_i-\mu_i\)使特征值具有为0的平均值,然后除以最大值
    image
  • \(x_1\)可替代为

\[\frac{x_1-\mu_1}{s_1} \]

其中\(\mu_1\)是训练集中特征\(x_1\)的平均值, \(s_1\)是该特征值的范围,即最大值-最小值(或直接用标准差代替)

梯度下降算法技巧

  • 学习率(learning rate)
    image

    调试以及确保梯度下降算法正确工作的小技巧
    学习率如何选

image
横坐标: 梯度下降算法的迭代100次
纵坐标:梯度下降算法相应100次得到的\(\theta\)算出的\(J(\theta)\)的值
表示梯度下降的每步迭代后,代价函数的值,如果梯度下降算法正常工作,每一步迭代后的\(J(\theta)\)都应该下降。
代价函数不继续下降==>梯度下降算法差不多已经收敛

自动收敛测试
image

如果$$J(\theta)<\epsilon$$
此时判断函数\(J(\theta)\)收敛。\(\epsilon\)可以是\(10^{-3}\),但要找到合适的阈值\(\epsilon\)很难,因此通常通过图形来判断收敛。

不收敛情况
image

学习率较大
image

如果\(J(\theta)\)在上升,最常见的原因是在最小化函数时,如果学习率太大,梯度下降算法可能不断的跳过最小值,结果越来越差,就得到越来越大的\(J(\theta)\)值。
image
此时同样是\(\alpha\)太大。
学习率\(\alpha\)足够小,每次迭代之后代价函数\(J(\theta)\)都会下降。
学习率\(\alpha\)太小会导致梯度下降算法收敛的很慢。

总结
image

对于大数据样本,加速收敛就是刚开始选择大学习率,随着迭代选择小学习率。

posted @ 2023-02-21 15:50  YaBiii  阅读(60)  评论(0编辑  收藏  举报