【发布时间】:2013-05-19 14:08:51
【问题描述】:
两周以来,我一直在通过工作台和 Java 代码修改 Encog 中的标准多层感知器和反向传播算法。我的下一份工作需要在输入模式中插入噪声,如本文所示:http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6033567 (MLP 神经网络训练中的 PCA 和高斯噪声提高了小数据集和不平衡数据集问题的泛化能力)
基本上,我需要(这是一个二元分类问题): 1 - 使用主成分分析 (PCA) 转换输入模式 2 - 使用反向传播训练 MLP,有一个技巧:在每个 epoch 的每个训练模式中插入不同的白噪声。
使用 Java 版本的 Encog 进行这种噪声注入的更直接的方法是什么?是否有任何可用的训练算法涉及人工噪声注入?
PS.:我引用的论文的完整算法是
1. 应用 PCA 去相关变量2.初始化系统架构
3.设置k、最大epoch数和最小误差
4. 开始训练 - While epoch counter 一种。随机绘制输入模式(向量 x)而不替换表示
湾。将噪声注入输入模式
1. 对于输入模式中的每个变量
一种。从高斯分布中画出 g。 g ~ N(0,1)
湾。计算 n = k * g
C。添加 ninto 输入模式 x
C。呈现输入模式
d。调整系统参数
e.如果已达到训练停止标准,则
1. 停止训练
F。否则
1. 递增纪元计数器
2. 转至 4.a
【问题讨论】:
标签: java neural-network backpropagation encog noise-generator