神经网络语言分类实战:从理论到实践
1. 神经网络各层神经元数量
神经网络是优秀的聚合器,但在扩展方面表现不佳。神经元是前一层神经元的加权和,其扩展能力不如聚合能力。例如,一个有 2 个神经元的隐藏层连接到有 30 个神经元的输出层,每个输出神经元只有 2 个输入,这样的熵和数据量不足以构建一个拟合良好的模型。
基于此,有以下关于隐藏层神经元数量的启发式规则:
- 隐藏层神经元数量应介于输入层和输出层神经元数量之间。
- 隐藏层神经元数量应为输入层大小的三分之二加上输出层的大小。
- 隐藏层神经元数量应小于输入层大小的两倍。
但这些规则只是起点,实际数量还需通过试错来确定,因为隐藏层神经元数量会影响模型的交叉验证效果和收敛情况。
2. 误差容忍度和最大迭代次数
误差容忍度决定了训练停止的时机。我们无法得到完美的解决方案,只能趋近于一个解。如果追求高性能算法,误差率可能需设得很低,如 0.01%,但这通常会使训练时间变长。
许多人初始会将误差容忍度设为 1%,并通过交叉验证进一步调整。在神经网络中,误差容忍度以均方误差衡量,它定义了网络训练的停止点。
神经网络按迭代次数进行训练,这个次数在训练算法开始前就需设定。若算法需要 10000 次迭代才能得到解,可能存在过拟合风险,导致网络过于敏感。初始训练可设置为 1000 次迭代,这样既能模拟一定复杂度,又不会过度训练。
最大迭代次数和最大误差共同定义了收敛点,它们是训练算法停止并输出神经网络的信号。
3. 利用神经网络进行语言分类
语言中的字符与语言本身直接相
超级会员免费看
订阅专栏 解锁全文
1359

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



