【Coursera Machine Learning】适用多个特征量的梯度下降
引入
首先我们假设一个有多个特征量的情况:
我们的目标函数应该会变成下面的样子:
define
那么:
p.s.:表示的转置向量
多特征量梯度下降
假设:
并约定
参数:。可以想象成一个n+1维的向量
代价函数:
梯度下降公式:
重复:
且可以分别推导出的梯度下降公式
而当特征量有多个,时,梯度下降公式变为如下:
最终用于实现的梯度下降公式!
梯度下降的实用技巧
特征缩放
有时候画出等高线图如果过于狭长可能会导致运行到函数收敛的时间太长,这时比如选择将一些参数除以一定倍率可以将等高线图的形状变得均匀(变圆)
执行特征缩放时,一般会将特征的取值约束到之间。差距稍微大一点点比如在之间也是可以接受的。往小了说,在之间也可以,但是太小也不行。
归一化(Mean normalization)
可以在特征缩放的时候在分子里再减去一个的平均数,比如
:特征的平均值
:特征值的范围,即最大值-最小值
Debugging
How to make sure gradient descent is working correctly
画出 -迭代次数 的图像,正确工作的梯度下降法中 会随着迭代次数的增加持续减小。一般也通过这种方式来判断梯度下降算法是否已经收敛。
此外也有一些算法可以自动反馈梯度下降算法是否收敛。比如设置当的下降小于时就认为已经收敛。但通常来说要选择一个合适的阈值是相当困难的。
选择Learning rate
有时候如果你发现画出的图像曲线是向上的或者类似双曲线等,或者其它梯度下降算法没有正确收敛的情况,可以尝试将Learning rate设置为更小的值。
分类:
机器学习&深度学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY