随机梯度下降设计矩阵对于R来说太大了

时间:2016-08-01 20:37:26

标签: r machine-learning gradient-descent

我试图实现电影评级的基线预测模型(类似于NetFlix奖的各种基线模型),参数通过随机梯度下降来学习。但是,由于两个解释变量都是分类(用户和电影),因此设计矩阵非常大,无法容纳在我的RAM中。

我认为sgd软件包会自动找到解决这个问题的方法(因为它是为大量数据而设计的),但似乎并非如此。

有没有人知道解决这个问题的方法?也许是一种将设计矩阵构建为稀疏矩阵的方法。

干杯,

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Matrix::sparseMatrix创建一个三元组,以更有效的方式描述矩阵。 您还可以尝试在Amazon EC2上导出问题,并使用更多RAM或配置群集来创建映射的缩减作业。 查看 xgboost软件包 https://github.com/dmlc/xgboost及其文档,了解如何处理内存问题。

这也是一个更实用的教程:https://cran.r-project.org/web/packages/xgboost/vignettes/discoverYourData.html