您好想问一下,是不是针对不同的算法写的梯度下降法是不一样的,大概就是说不同的学习模型有着不同的函数类型,在写梯度下降法对其优化时也是针对其改部分代码
来源:6-6 随机梯度下降法
百香果女孩
2023-11-09
写回答
1回答
-
liuyubobobo
2023-11-09
不是的。当我们具体选用了一种梯度下降法的时候,说的是一个算法。针对不同的函数,这个梯度下降算法法的超参数可能不同。具体就是课程介绍的,针对不同的函数,可能学习率不同,可能其实位置不同,可能需要多次运行,选最好的结果,需要尝试的运行次数不同,等等。但是,我们不需要修改这个梯度下降法的代码,之粗腰选择不同的参数即可。
但是,梯度下降法有很多种。比如这个课程就介绍了三种:批量梯度下降法,随机梯度下降法,和小批量梯度下降法。实际上梯度下降法还有更多复杂的变种。针对不同的函数,你可以选择不同的梯度下降法。但是一旦选定了某个梯度下降法,这个算法的过程是固定的,你要做的是测试不同的超参数,看对于你的函数,哪种超参数得到的结果更好。
当然也要看算法的实现。比如你可以写一个加法运算程序,是 print(3 + 4),然后如果想要计算 3 + 5,就修改程序。但这个修改是可以避免的。你完全可以让用户输入计算加法的两个数字,然后得到结果。加法的逻辑是不变的。
继续加油!:)
032023-11-09
相似问题