数据归一化方式总结
1.最小-最大归一化
x_normalized = (x - x_min) / (x_max - x_min)
分析:该归一化方式是线性变换,易受最小、最大值的影响产生两类badcase,一是取值较小的x区分度不足,二是对整体取值较大的X不公平。适合比较集中的数据。
2.sigmoid(z-score)
x_normalized = sigmoid((x - u) / σ)
其中,sigmoid(t) = 1 / (1 + exp(-t)),u为X的均值,σ为X的标准差
分析:该归一化方式由于sigmoid函数的引入成为非线性变化,综合考虑了X的均值和标准差,度量了距离平均值多少个标准差的“好坏”程度,但是易受平均值不稳定的影响。适合规避不同量级和量纲的影响。
3.对数归一化
x_nomalized = lg(x + 1) / lg(x_max + 1)
分析:该归一化方式是非线性的,可以规避方式1最大值过大的影响,适合大部分取值比最大值小很大数量级的数据。
4.累计分布归一化
x_normalized = count(X <= x) / N
其中,count(X <= x)为取值小于等于x的数据数目,N为数据总数目
分析:该归一化方式考虑了数据的取值分布。
5.等频分桶归一化
假设分成num_buckets个桶,数据数目为N,则每个桶包含N / num_buckets条数据,将X升序排序,按照排序之后的索引和每个桶包含的数据最小、最大索引“对号入座”,假设x_index落在第i个桶内,则其归一化取值为:
x_normalized = i / num_buckets
分析:该归一化方式是线性变换,粒度较粗,同一个桶内的数据无区分度,可以增强鲁棒性。
6.等区间分桶归一化
假设分成num_buckets个桶,则每个区间的宽度(width)为:(x_max - x_min) / num_buckets,并且各个分桶区间分别为[x_min, x_min + width), [x_min + width, x_min + 2 * width),..., [x_min + i * width, x_min + (i + 1) * width),...,[x_max - width, x_max],最后将x根据取值落桶对应区间,假设x落在第i个桶内,则其归一化取值为:
x_normalized = i / num_buckets
分析:该归一化方式是线性变换,易受最小、最大值影响,适合数据分布较为均匀的作用,同样粒度较粗,可以增强鲁棒性。

浙公网安备 33010602011771号