数据输入与输出表示:连续编码及复杂问题处理
1. 连续编码方法
连续编码为实数和整数的编码提供了更强大、灵活的方式。以下是几种常见的连续编码形式:
1.1 简单模拟编码
- 原理 :这是最简单的连续值表示方案,节点的激活水平与输入值成正比。神经元模型通常使用激活范围为 [0,1] 或 [-1, +1]。对于任意给定的数字范围 [U, U],可以通过线性缩放来表示。若数字范围偏离零,可以使用简单变换:
[
\text{范围 (U, U) 内的值} = (U - u)[a_i] + U
]
其中 (a_i) 是节点的激活值。 - 优缺点 :该方案稳健且经济,但在大范围内缩放输入时可能会损失精度。例如,输入范围为 [0, 1000] 时,810 和 890 的表示差异可能会被神经元传递函数的精度掩盖。在多层感知器网络的输出阶段使用时,Sigmoid 传递函数的非线性影响更为明显,需避免节点进入饱和模式,否则会导致训练时间过长。为解决此问题,可以对 Sigmoid 函数进行修改使其不对称:
[
f(x) = \frac{2a}{1 + e^{-bx}} - a
]
建议的 (a) 和 (b) 值分别为 (a = 1.716) 和 (b = 0.66666)。 - 示例 :Gorman 和 Sejnowski 的神经声纳识别系统采用了这种编码技术。声纳信号的频谱包络由六十个模拟神经元节点在六十个点进行采样,每个节点记录包络中的一个值。但该方案缺乏
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



