gpt4 book ai didi

machine-learning - Scikit-learn - 具有自定义成本和梯度函数的随机梯度下降

转载 作者:行者123 更新时间:2023-11-30 08:36:37 24 4
gpt4 key购买 nike

我正在实现矩阵分解来预测评论者对电影的评分。数据集取自 MovieLen (http://grouplens.org/datasets/movielens/)。这是一个经过充分研究的推荐问题,因此我只是为了我的学习目的而实现这种矩阵分解方法。

我将成本函数建模为训练数据集中的预测评分与实际评分之间的均方根误差。我使用 scipy.optimize.minimize 函数(我使用共轭梯度下降)来分解电影评分矩阵,但即使对于仅包含 100K 项的数据集,此优化工具也太慢。我计划针对包含 2000 万个项目的数据集扩展我的算法。

我一直在寻找基于 Python 的随机梯度下降解决方案,但我在 scikit-learn 上发现的随机梯度下降不允许我使用自定义成本和梯度函数。

我可以实现我自己的随机梯度下降,但我正在与你们核实是否已经存在可以执行此操作的工具。

基本上,我想知道是否有类似的 API:

optimize.minimize(my_cost_function,
my_input_param,
jac=my_gradient_function,
...)

谢谢!联合国

最佳答案

这实现起来非常简单(至少是普通方法),我认为没有一个“框架”围绕它。这只是

my_input_param += alpha * my_gradient_function

也许你想看看 theano,它会为你做区分。不过,根据您想要做什么,这可能有点矫枉过正。

关于machine-learning - Scikit-learn - 具有自定义成本和梯度函数的随机梯度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com