您好想问一下,是不是针对不同的算法写的梯度下降法是不一样的,大概就是说不同的学习模型有着不同的函数类型,在写梯度下降法对其优化时也是针对其改部分代码

来源:6-6 随机梯度下降法

百香果女孩

2023-11-09

写回答

1回答

liuyubobobo

2023-11-09

不是的。当我们具体选用了一种梯度下降法的时候,说的是一个算法。针对不同的函数,这个梯度下降算法法的超参数可能不同。具体就是课程介绍的,针对不同的函数,可能学习率不同,可能其实位置不同,可能需要多次运行,选最好的结果,需要尝试的运行次数不同,等等。但是,我们不需要修改这个梯度下降法的代码,之粗腰选择不同的参数即可。


但是,梯度下降法有很多种。比如这个课程就介绍了三种:批量梯度下降法,随机梯度下降法,和小批量梯度下降法。实际上梯度下降法还有更多复杂的变种。针对不同的函数,你可以选择不同的梯度下降法。但是一旦选定了某个梯度下降法,这个算法的过程是固定的,你要做的是测试不同的超参数,看对于你的函数,哪种超参数得到的结果更好。


当然也要看算法的实现。比如你可以写一个加法运算程序,是 print(3 + 4),然后如果想要计算 3 + 5,就修改程序。但这个修改是可以避免的。你完全可以让用户输入计算加法的两个数字,然后得到结果。加法的逻辑是不变的。


继续加油!:)

0
3
百香果女孩
回复
liuyubobobo
谢谢老师!
2023-11-09
共3条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程