Neural network 是否需要为skflow.TENSORFLOWDNNCLASSIER缩放数据?

Neural network 是否需要为skflow.TENSORFLOWDNNCLASSIER缩放数据?,neural-network,tensorflow,skflow,Neural Network,Tensorflow,Skflow,我的同事和这个交叉验证的问题说,你应该将数据转换为神经网络的零均值和单位方差。然而,我的性能在缩放时比没有缩放时稍差 我尝试使用: scaler=preprocessing.StandardScaler().fit(X_列) X_列=缩放器变换(X_列) X_测试=缩放变换(X_测试) 步数=5000 def exp_衰减(全局步骤): 返回tf.train.index_衰减( 学习率=0.1,全局步骤=全局步骤, 衰减步数=步数,衰减率=0.01) 随机。种子(42)#以相同的方式采样数据 分

我的同事和这个交叉验证的问题说,你应该将数据转换为神经网络的零均值和单位方差。然而,我的性能在缩放时比没有缩放时稍差

我尝试使用:

scaler=preprocessing.StandardScaler().fit(X_列)
X_列=缩放器变换(X_列)
X_测试=缩放变换(X_测试)
步数=5000
def exp_衰减(全局步骤):
返回tf.train.index_衰减(
学习率=0.1,全局步骤=全局步骤,
衰减步数=步数,衰减率=0.01)
随机。种子(42)#以相同的方式采样数据
分类器=skflow.TENSORFLOWDNNCLASSIER(
隐藏单位=[150150150],
n_类=2,
批次大小=128,
步骤=步骤,
学习率=经验衰减)
分类器。配合(X_系列,y_系列)
y_pred=分类器。预测(X_测试)

我做错了什么,或者缩放不是必需的吗?

通常,对于没有正则化和线性模型的模型,缩放的好处最大。例如,没有正则化的简单均方误差损失(如
TensorFlowLinearRegressor
)在未缩放的数据上无法很好地工作


在您的例子中,您使用的是运行softmax正则化的分类器,并且您使用的是DNN,因此不需要缩放。如果这是一件有用的事情,DNNs本身可以对重缩放进行建模(通过第一层特征上的偏差和权重)。

通常,对于没有正则化和线性模型的模型,缩放的好处最大。例如,没有正则化的简单均方误差损失(如
TensorFlowLinearRegressor
)在未缩放的数据上无法很好地工作

在您的例子中,您使用的是运行softmax正则化的分类器,并且您使用的是DNN,因此不需要缩放。如果这是一件有用的事情,DNNs themselve可以模拟重缩放(通过第一层中特征的偏差和权重)