小编Nat*_*ung的帖子

java中的神经网络实现

我试图用反向传播在Java中实现FFNN,并且不知道我做错了什么.当我在网络中只有一个神经元时,它工作,但我写了另一个类来处理更大的网络,没有任何收敛.这似乎是数学中的问题 - 或者更确切地说是我对数学的实现 - 但我已经多次检查它并且我找不到任何错误.这应该有效.
节点类:

package arr;

import util.ActivationFunction;
import util.Functions;

public class Node {
    public ActivationFunction f;
    public double output;
    public double error;

    private double sumInputs;
    private double sumErrors;
    public Node(){
        sumInputs = 0;
        sumErrors = 0;
        f = Functions.SIG;
        output = 0;
        error = 0;
    }
    public Node(ActivationFunction func){
        this();
        this.f = func;
    }

    public void addIW(double iw){
        sumInputs += iw;
    }
    public void addIW(double input, double weight){
        sumInputs += (input*weight);
    }
    public double calculateOut(){
        output = …
Run Code Online (Sandbox Code Playgroud)

java backpropagation neural-network feed-forward

5
推荐指数
1
解决办法
1310
查看次数