我知道vw可以处理非常原始的数据(例如原始文本)但是例如,在将数据提供给vw之前应该考虑缩放数字特征吗? 请考虑以下行:
1 |n age: 80.0 height: 180.0 |c male london |d the:1 cat:2 went:3 out:4
假设典型年龄范围从1到100且高度(以厘米为单位)可能在140到220之间,那么转换/缩放age
和height
会更好吗,因此它们共享一个共同的范围?我认为许多算法可能需要对输入数据进行这种预处理,例如线性回归。
答案 0 :(得分:2)
vw
SGD与vanilla naive SGD相比具有高度增强,因此不需要预先缩放。
如果您的实例很少(小数据集),预缩放可能会有所帮助。
vw
通过记住每个要素的范围来对比例进行自动标准化,因此很少需要预缩放才能获得良好的效果。
默认情况下应用规模,稀有度和重要性的标准化。相关的vw
选项为:
--normalized
--adaptive
--invariant
如果其中任何一个出现在命令行中,则不应用其他任何一个。默认情况下,这三个都已应用。
另请参阅: this stackoverflow answer
在vw
中解释增强型SGD算法的论文是:
Online Importance Weight Aware Updates - Nikos Karampatziakis & John Langford