Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 标准化机器学习输入_Machine Learning_Tensorflow - Fatal编程技术网

Machine learning 标准化机器学习输入

Machine learning 标准化机器学习输入,machine-learning,tensorflow,Machine Learning,Tensorflow,我有一组具有5000ish特征的输入,其值从0.005到9000000不等。每个要素都有相似的值(值为10ish的要素也不会有0.1ish的值) 我试图将线性回归应用于此数据集,但是,输入值的广泛范围正在抑制有效的梯度下降 处理这种差异的最佳方法是什么?如果规范化是最好的,请详细说明实现此规范化的最佳方法 谢谢 只需将其作为预处理步骤执行即可。您可以按以下方式执行此操作: 1) 计算训练集中每个特征的平均值并存储。小心,不要弄乱特征平均值和样本平均值,这样您将得到一个大小为[特征数量(5000i

我有一组具有5000ish特征的输入,其值从0.005到9000000不等。每个要素都有相似的值(值为10ish的要素也不会有0.1ish的值)

我试图将线性回归应用于此数据集,但是,输入值的广泛范围正在抑制有效的梯度下降

处理这种差异的最佳方法是什么?如果规范化是最好的,请详细说明实现此规范化的最佳方法


谢谢

只需将其作为预处理步骤执行即可。您可以按以下方式执行此操作:

1) 计算训练集中每个特征的平均值并存储。小心,不要弄乱特征平均值和样本平均值,这样您将得到一个大小为[特征数量(5000ish)]的向量

2) 计算训练集中每个特征的标准并存储。[number_of_feature]的大小

3) 将每个培训和测试条目更新为:

更新=(原始向量-平均向量)/标准向量

就这样

代码如下所示:

# train_data shape [train_length,5000] 
# test_data        [test_length, 5000]
mean = np.mean(train_data,1)
std = np.std(train_data,1)

normalized_train_data = (train_data - mean)/ std
normalized_test_data = (test_data - mean)/ std