machine-learning - Kohonen SOM map : Normalizing the input with unknown range

标签 machine-learning som self-organizing-maps

根据 Jeff Heaton 的《Introduction to Neural Networks with Java》,Kohonen 神经网络的输入必须是 -1 到 1 之间的值。

可以在事先已知范围的情况下对输入进行标准化: 例如 RGB (125, 125, 125),其范围为 0 到 255 之间的值:
1. 除以 255:(125/255) = 0.5 >> (0.5,0.5,0.5)
2. 乘二减一:((0.5*2)-1)=0 >> (0,0,0)

问题是,当范围未知(例如我们的高度或体重)时,我们如何标准化输入。

此外,其他一些论文提到输入必须标准化为 0 和 1 之间的值。“-1 和 1”还是“0 和 1”哪个是正确的方法?

最佳答案

您始终可以使用压缩函数将无限间隔映射到有限间隔。例如。您可以使用tanh.

您可能希望将 tanh(x * l) 与手动选择的 l 一起使用,以免在同一区域中放置太多对象。因此,如果您很好地猜测数据的最大值是 +/- 500,您可能需要使用 tanh(x/1000) 作为映射,其中 x 是对象的值,甚至减去您的值可能也是有意义的猜测 x 的平均值,得出 tanh((x - 平均值)/max)。

关于machine-learning - Kohonen SOM map : Normalizing the input with unknown range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2651579/

相关文章:

python - 如何使用keras实现LSTM中多元回归的输入?

python - 我们如何使用自组织 map 聚类为数据分配标签? (minisom 包) python

python - mvpa2 : restore SOM from Kohonen layer

java - 创建拼贴画的最佳方式(在 Java 中)

machine-learning - 如何计算卷积神经网络的参数个数?

java - 在 Eclipse 中遵循斯坦福 CoreNLP 教程时出现错误

machine-learning - 激活模式对于 SOM 有何意义?

tensorflow - SOM 神经元的聚类

machine-learning - 如何计算生成问题的系统的精确度和召回率?

r - 如何用rshiny显示som map