2017-10-14 112 views
3

对于没有理论最大值的特征进行规范化/标准化最好的方法是什么?机器学习 - 规范化没有理论最大值的特征

例如,股票价值一直在0-1000美元之间的趋势并不意味着它不能继续上涨,那么正确的方法是什么?

我曾考虑过培养一个更高的模型(例如2000),但它感觉不对,因为没有数据可用于1000-2000范围,我认为这会引入偏差

+0

我会考虑像[sigmoid函数](https://en.wikipedia.org/wiki/Sigmoid_function)或其他[激活函数](https://en.wikipedia.org/wiki/Activation_function) ,它将所有实数映射到有限区间。 –

+0

是否可以跳过0-1范围内的功能规范化并保持原样? – Stormsson

+0

如果我理解正确,不,我不会。基本S形函数将所有值映射到区间(0,1),其中0映射到0。5和1映射到〜0.73。如果你没有规范化0-1的值,那么除非它们被特别标记以表明它们没有被标准化,否则它们将有效地破坏你的标准化数据。 –

回答

1

TL; DR:使用z-分数,可能需要记录,也许采取逆逻辑,也许根本不归一化。

如果你想安全规范,使用单调映射,如:

要映射(0, inf)(-inf, inf),您可以使用y = log(x)

要映射(-inf, inf)(0, 1),您可以使用y = 1/(1 + exp(-x))(逆Logit模型)

要将(0, inf)转换为(0, 1),可以使用y = x/(1 + x)(log后的逆逻辑)

如果您不关心边界,请使用线性映射:y=(x - m)/s,其中m是您的特征的平均值,s是其标准差。这称为标准缩放,或者有时称为z-评分。

你应该问自己的问题:为什么正常化?。你打算如何处理你的数据?将它用作输入功能?或者将其用作预测目标?

对于输入功能,离开它不是标准化是OK,除非你对模型的系数(如脊或套索),如果所有的系数都在相同的比例(即,在这之后的效果最好做正规化标准缩放)。

对于目标功能,将其非标准化有时也可以。

添加剂模型(如线性回归或梯度增强)有时效果更好对称分布。股票价值的分布(以及一般的货币价值)通常偏向右侧,因此取日志使得它们更加方便。最后,如果你用一个具有S形激活函数的神经网络预测你的特征,它是本质上有界。在这种情况下,你可能希望目标也是有界的。为达到这个目的,你可以使用x/(1 + x)作为目标:如果x总是正值,那么这个值将始终在0和1之间,就像神经网络的输出一样。

相关问题