我目前正在开发一个神经网络,它的输入应该有 N 个参数。每个参数可以有 M 个不同的值(离散值),假设为 {A,B,C,…,M}。它也有一定数量的离散输出。
在这种情况下,我该如何创建输入呢?我应该使用 N×M 个输入(值为 0 或 1),还是应该考虑其他方法?
回答:
你可以选择使用 NxM
个布尔输入,或者使用 N
个输入,其中每个输入是一个从 0
到 1
的浮点数。在后一种情况下,浮点数的值将是:{A/M, B/M, C/M, ... 1}
。例如,如果你有4个输入,每个输入的离散值为:{1,2,3,4}
,那么你可以将这些值转换为 {0.25 , 0.50 , 0.75 , 1.00}
。
实际上,有很多方法可以编码你的输入,但我发现当输入值位于 [0,1]
区间时,效果更好(因为有些机器学习函数期望如此)。