hashing trick
我有一个 2M 实例数据集,其中包含数百万个使用=创建的非常稀疏的虚拟变量hash(orig_feature_name + orig_feature_value)=1
。请注意,数据在行(每个实例只有有限的 <100 个特征=1)和列(大多数特征仅与极少数 <1% 的实例相关)上都是稀疏的
我发现在这样的稀疏场景follow-the-regularized-leader FTRL proximal gradient descent
中非常流行:
论文,参考实现。
但我不确定为什么我不应该更喜欢batch
梯度下降算法?尽管 FTRL 具有所有优点,但它仍然是一种一次只能online-learning
查看一个实例的算法。
那么使用 FTRL 与众所周知的稀疏最小二乘算法(例如LSQR
(论文,参考实现))有哪些优缺点呢?
我的直觉是,如果可以使用每次迭代的所有数据,我们应该这样做,但我不确定......