据的 “Introduction to与Java代理人Jeff希顿神经网络” 时,输入到Kohonen神经网络必须是-1和1之间的值。

是可能的,其中该范围事先已知归一化输入: 例如RGB(125,125,125),其中范围是知道的0和255之间的值: 点击 1.除以255:(255分之125)= 0.5 >>(0.5,0.5,0.5),点击 2.乘以2并减去之一:((0.5 * 2)-1)= 0 >>(0,0,0),点击

的问题是如何能够将归一化输入其中该范围是未知的像我们的身高或体重。

此外,一些其他文件提及的是,输入必须在0和1这是正确的方式之间被归一化,将值“-1和1”或“0和1”?

有帮助吗?

解决方案

可以始终使用一个挤压函数映射无限的时间间隔为一个有限的间隔。例如。可以使用的tanh。

您可能需要使用正切(X * 1)用手动选择的升不过,为了不把太多对象在同一地区。所以,如果你有一个很好的猜测,你数据的最大值是+/- 500,你可能想利用正切(X / 1000)的映射,其中x是你的对象的值甚至可能是有意义的减去你的从X平均值的猜测,得到的tanh((X - 平均值)/最大值)。

其他提示

据我了解Kohonen的SOM,它们特定标准化其实并不重要。

那么,它可能通过为学习算法的参数值的具体选择,但最重要的是,你的输入点的不同尺寸必须是同一量级的。

设想一下,每个数据点是不与三个RGB分量的像素但统计数据对于一个国家的载体,例如面积,人口,... 所有这些数字都是相同幅度的它是学习部的衔接很重要的。

因此,它并不真正的问题,如果你不知道确切的范围内,你只需要大约知道你的数据的特性振幅。

有关的重量和大小,我敢肯定,如果你通过200千克3米分别将它们划分您的所有数据点将落在] 0 1]区间。你甚至可以使用50千克1米的最重要的事情是,所有的坐标将是顺序1。

最后,可以考虑一上会自动给你一个方法来规范你的数据和地图的初始化的子空间中的数据运行一些线性分析工具,如POD。

希望这有助于。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top