我有一个问题,我认为它可以是通用的,但在我的情况下,它适用于R.
为了记录在案,我同时使用了h20和神经网络包。
由于您可能知道,通常,它建议规模输入的神经网络,以使神经网络本身更好地工作与特定使用的激活函数。
在R中,有几种方法,我确实使用scale () / min / max。
让我们假设我有一个700×10的矩阵作为输入,这样缩放就会产生两个向量,一个是缩放,另一个是中心。
现在问题开始了,当我想要扩大输出的时候。公式是vOutput * vScaled (全向量)+ vCenter (全向量)。
问题:应该使用所有向量(缩放和中心)来进行缩放吗?还是有一个更复杂的公式或边界,我找不到?
发布于 2017-11-06 12:35:18
#sample data
df <- data.frame(col1 = c(1:5), col2 = c(11:15), target=c(1,0,0,0,1))
#normalize sample data using scale() - except the 'target' column
df_scaled <- scale(df[,-ncol(df)])
df_scaled
#revert back to original data from scaled version
df_original <- as.data.frame(t(apply(df_scaled, 1,
function(x) (x * attr(df_scaled, 'scaled:scale') + attr(df_scaled, 'scaled:center')))))
df_originalhttps://stackoverflow.com/questions/47136840
复制相似问题