神经网络的连续特征预处理GaussRank(简单翻译)

我们(原作者)提出了一种新颖的特征转换方法,类似于标准化。 该方法来自Michael Jahrer,他最近赢得了另一场比赛,并随后分享了他使用的方法。

对于神经网络,Jahrer提出了一种非标准方法,该方法显然比标准化或标准化效果更好。 他称之为RankGauss:

    基于梯度的模型(如神经网络)的输入规范化非常重要。 对于lightgbm / xgb无关紧要。 我在过去发现的最棒的作品是“RankGauss”。 它基于等级转换。 第一步是为-1到1的排序特征指定一个空间,然后应用误差函数ErfInv的倒数来像高斯那样对它们进行整形,然后减去平均值。 二进制功能没有与这个trafo(例如,一个热门的)联系在一起。 这通常比标准的mean / std scaler或min / max好得多。

    为了实现它,首先我们计算给定列(argsort)中每个值的等级。 然后我们将等级归一化到-1到1.然后我们应用神秘的erfinv函数。 这样做的目的是使变换后的行列高斯分布。

import numpy as np
import matplotlib.pyplot as plt

from scipy.special import erfinv

# simulating normalized ranks from -0.99 to 0.99
x = np.arange( -0.99, 1, 0.01 )

y = erfinv( x )
plt.hist( y )

减去平均值并不是真的必要,因为它非常接近零。

In [33]: y.mean()
Out[33]: 1.7495775905650709e-15

实践

要了解它如何工作,我们在kin8nm数据集上测试了该方法。 数据集中的特征共有八个,或多或少均匀分布。 这是训练集中前两个的直方图:

相反,目标变量:


我们为GaussRank实现了fit_predict()方法,因为它比编写单独的fit()和predict()方法容易得多。 使用它从培训和测试集合中获取特征的方式,然后共同适应/转换。 没关系,因为我们没有使用任何标签。

转换后前两个特征的直方图:


对于神经网络,我们使用Keras并使用Hyperband进行超参数搜索,以获得两个版本的数据集:有和没有GaussRank。

我们用原始版本获得的最好成绩是8.14%RMSE,这与我们之前使用PyBrain所取得的成绩相近。 对于转换后的版本,它是10.86%。 因此,我们得出结论,GaussRank不适用于这个数据集。

为了比较,我们还用随机投影转换了数据,保持相同的维度。 请注意,此方法整体转换X矩阵,而不是GaussRank的逐列方案。


这个版本产生了更不显着的13.27%RMSE。 这并不奇怪,因为无监督随机投影一般不会导致更好的监督学习表示。

实验代码在这https://github.com/zygmuntz/gaussrank

文章来自http://fastml.com/preparing-continuous-features-for-neural-networks-with-rankgauss/

翻译基本来自google翻译,写的目的就是提醒自己有这种方法,相当于记个笔记~


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录列表: 2dplanes.arff abalone.arff ailerons.arff Amazon_initial_50_30_10000.arff anneal.arff anneal.ORIG.arff arrhythmia.arff audiology.arff australian.arff auto93.arff autoHorse.arff autoMpg.arff autoPrice.arff autos.arff auto_price.arff balance-scale.arff bank.arff bank32nh.arff bank8FM.arff baskball.arff bodyfat.arff bolts.arff breast-cancer.arff breast-w.arff breastTumor.arff bridges_version1.arff bridges_version2.arff cal_housing.arff car.arff cholesterol.arff cleveland.arff cloud.arff cmc.arff colic.arff colic.ORIG.arff contact-lenses.arff cpu.arff cpu.with.vendor.arff cpu_act.arff cpu_small.arff credit-a.arff credit-g.arff cylinder-bands.arff delta_ailerons.arff delta_elevators.arff dermatology.arff detroit.arff diabetes.arff diabetes_numeric.arff echoMonths.arff ecoli.arff elevators.arff elusage.arff eucalyptus.arff eye_movements.arff fishcatch.arff flags.arff fried.arff fruitfly.arff gascons.arff glass.arff grub-damage.arff heart-c.arff heart-h.arff heart-statlog.arff hepatitis.arff house_16H.arff house_8L.arff housing.arff hungarian.arff hypothyroid.arff ionosphere.arff iris.2D.arff iris.arff kdd_coil_test-1.arff kdd_coil_test-2.arff kdd_coil_test-3.arff kdd_coil_test-4.arff kdd_coil_test-5.arff kdd_coil_test-6.arff kdd_coil_test-7.arff kdd_coil_train-1.arff kdd_coil_train-3.arff kdd_coil_train-4.arff kdd_coil_train-5.arff kdd_coil_train-6.arff kdd_coil_train-7.arff kdd_el_nino-small.arff kdd_internet_usage.arff kdd_ipums_la_97-small.arff kdd_ipums_la_98-small.arff kdd_ipums_la_99-small.arff kdd_JapaneseVowels_test.arff kdd_JapaneseVowels_train.arff kdd_synthetic_control.arff kdd_SyskillWebert-Bands.arff kdd_SyskillWebert-BioMedical.arff kdd_SyskillWebert-Goats.arff kdd_SyskillWebert-Sheep.arff kdd_UNIX_user_data.arff kin8nm.arff kr-vs-kp.arff labor.arff landsat_test.arff landsat_train.arff letter.arff liver-disorders.arff longley.arff lowbwt.arff lung-cancer.arff lymph.arff machine_cpu.arff mbagrade.arff meta.arff mfeat-factors.arff mfeat-fourier.arff mfeat-karhunen.arff mfeat-morphological.arff mfeat-pixel.arff mfeat-zernike.arff molecular-biology_promoters.arff monks-problems-1_test.arff monks-problems-1_train.arff monks-problems-2_test.arff monks-problems-2_train.arff monks-problems-3_test.arff monks-problems-3_train.arff mushroom.arff mv.arff nursery.arff optdigits.arff page-blocks.arff pasture.arff pbc.arff pendigits.arff pharynx.arff pol.arff pollution.arff postoperative-patient-data.arff primary-tumor.arff puma32H.arff puma8NH.arff pwLinear.arff pyrim.arff quake.arff ReutersCorn-test.arff ReutersCorn-train.arff ReutersGrain-test.arff ReutersGrain-train.arff schlvote.arff segment-challenge.arff segment-test.arff segment.arff sensory.arff servo.arff sick.arff sleep.arff solar-flare_1.arff solar-flare_2.arff sonar.arff soybean.arff spambase.arff spectf_test.arff spectf_train.arff spectrometer.arff spect_test.arff spect_train.arff splice.arff sponge.arff squash-stored.arff squash-unstored.arff stock.arff strike.arff supermarket.arff triazines.arff unbalanced.arff vehicle.arff veteran.arff vineyard.arff vote.arff vowel.arff water-treatment.arff waveform-5000.arff weather.nominal.arff weather.numeric.arff white-clover.arff wine.arff wisconsin.arff zoo.arff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值