机器学习day5矩阵和多变量梯度下降

提示:参考原文地址:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

提示:以下是本篇文章正文内容,下面案例可供参考

一、矩阵基本介绍

本科和考研课程都有学习过

二、多元梯度下降

与单变量线性回归类似,在多变量线性回归中,我们也构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:J(θ_0,θ_1…θ_n )=1/2m ∑_(i=1)^m▒(h_θ (x^((i) ) )-y^((i) ) )^2 ,
其中:h_θ (x)=θ^T X=θ_0+θ_1 x_1+θ_2 x_2+…+θ_n x_n ,
我们的目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系列参数。 多变量线性回归的批量梯度下降算法为:
在这里插入图片描述

即:

在这里插入图片描述

求导数后得到:
在这里插入图片描述

当n>=1时,
θ_0:=θ_0-a 1/m ∑_(i=1)^m▒〖(h_θ (x((i)))-y((i)))〗 x_0^((i))
θ_1:=θ_1-a 1/m ∑_(i=1)^m▒〖(h_θ (x((i)))-y((i)))〗 x_1^((i))
θ_2:=θ_2-a 1/m ∑_(i=1)^m▒〖(h_θ (x((i)))-y((i)))〗 x_2^((i))
我们开始随机选择一系列的参数值,计算所有的预测结果后,再给所有的参数一个新的值,如此循环直到收敛。

梯度下降法实践1-特征缩放

在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。

以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。
在这里插入图片描述

解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间。如图:
在这里插入图片描述

最简单的方法是令:x_n=(x_n-μ_n)/s_n ,其中 μ_n是平均值,s_n是标准差。

梯度下降法实践2-学习率

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
在这里插入图片描述
注:如果代价函数图像不是下降的而是上升的可能是学习率太大了,需要适当减小。
也有一些自动测试是否收敛的方法,例如将代价函数的变化值与某个阀值(例如0.001)进行比较,但通常看上面这样的图表更好。
梯度下降算法的每次迭代受到学习率的影响,如果学习率a过小,则达到收敛所需的迭代次数会非常高;如果学习率a过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值