在我的项目中,我的一个目标是在航空发动机数据中找到异常值,并选择使用复制神经网络来实现,并阅读了关于它的以下报告(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.12.3366&rep=rep1&type=pdf),但我对步进函数(第4页,图3)和由此产生的预测值有一些理解上的问题。
复制神经网络的解释最好在上述报告中描述,但作为背景,我构建的复制神经网络的输出与输入数量相同,并具有以下三个隐藏层的激活函数:
隐藏层 1 = 双曲正切 sigmoid S1(θ) = tanh, 隐藏层 2 = 阶梯式,S2(θ) = 1/2 + 1/(2(k − 1)) {每个变量 j 的总和} tanh[a3(θ −j/N)] 隐藏层 3 = 双曲正切 sigmoid S1(θ) = tanh, 输出层 4 = 正常 sigmoid S3(θ) = 1/1+e^-θ 我已经实现了算法,它似乎正在训练(因为训练期间均方误差稳步下降)。唯一让我不理解的是,在应用具有阶梯式激活函数的中间层时,预测是如何进行的,因为它导致三个中间节点的激活变成特定的离散值(例如,我的最后三个中间节点的激活值分别是1.0、-1.0、2.0),这会导致这些值被向前传播,并且我每次得到非常相似或完全相同的预测结果。 报告第 3-4 页上的部分最好地描述了该算法,但我不知道该怎么做才能解决这个问题,而且时间也不多:( 任何帮助都将不胜感激。谢谢。
复制神经网络的解释最好在上述报告中描述,但作为背景,我构建的复制神经网络的输出与输入数量相同,并具有以下三个隐藏层的激活函数:
隐藏层 1 = 双曲正切 sigmoid S1(θ) = tanh, 隐藏层 2 = 阶梯式,S2(θ) = 1/2 + 1/(2(k − 1)) {每个变量 j 的总和} tanh[a3(θ −j/N)] 隐藏层 3 = 双曲正切 sigmoid S1(θ) = tanh, 输出层 4 = 正常 sigmoid S3(θ) = 1/1+e^-θ 我已经实现了算法,它似乎正在训练(因为训练期间均方误差稳步下降)。唯一让我不理解的是,在应用具有阶梯式激活函数的中间层时,预测是如何进行的,因为它导致三个中间节点的激活变成特定的离散值(例如,我的最后三个中间节点的激活值分别是1.0、-1.0、2.0),这会导致这些值被向前传播,并且我每次得到非常相似或完全相同的预测结果。 报告第 3-4 页上的部分最好地描述了该算法,但我不知道该怎么做才能解决这个问题,而且时间也不多:( 任何帮助都将不胜感激。谢谢。