bp神经网络实现(java代码)

bp神经网络实现(java代码)

ID:36992187

大小:87.50 KB

页数:8页

时间:2019-05-05

bp神经网络实现(java代码)_第1页
bp神经网络实现(java代码)_第2页
bp神经网络实现(java代码)_第3页
bp神经网络实现(java代码)_第4页
bp神经网络实现(java代码)_第5页
资源描述:

《bp神经网络实现(java代码)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、. BP神经网络实现(Java代码)神经网络的原理虽然理解起来不难,但是要是想实现它,还是需要做一些工作的,并且有很多细节性的东西需要注意。通过参阅各种相关资料,以及参考网络上已有的资源,自己写了一个含有一个隐含层,且只能有一个输出单元的简单的BP网络,经过测试,达到了预期的效果。需要说明的是,神经网络的每个输入都在[0,1]中,输出也在[0,1]中,在使用神经网络解决实际问题的时候,还需要对实际问题的输入输出进行归一化处理。另外,尽量不要使得神经网络的输入或输出接近于0或1,这样会影响拟合效果。我用正弦函数进行了一次测

2、试,效果如图所示:以下是相关的代码:1.神经网络代码[java] viewplaincopy1.package pkg1;  2.  3.import java.util.Scanner;  4.  5./* 6. *  7. */  8.public class TestNeuro {  ..1.  2.    private int INPUT_DIM=1;  3.    private int HIDDEN_DIM=20;  4.    private double LEARNING_RATE=0.05;  5. 

3、   double [][] input_hidden_weights=new double[INPUT_DIM][HIDDEN_DIM];  6.    double [] hidden_output_weights=new double[HIDDEN_DIM];  7.    double[] hidden_thresholds=new double[HIDDEN_DIM];  8.    double output_threshold;  9.      10.    public static void main

4、(String[]args){  11.        Scanner in=new Scanner(System.in);  12.        TestNeuro neuro=new TestNeuro(1,5);  13.        neuro.initialize();  14.        for(int i=0;i<10000;i++){  15.            double[] input=new double[1];  16.            input[0]=Math.random

5、();  17.            double expectedOutput=input[0]*input[0];  18.            //System.out.println("input : "+input[0]+"ttexpectedOutput : "+expectedOutput);  19.            //System.out.println("predict before training : "+neuro.predict(input));  20.           

6、 neuro.trainOnce(input, expectedOutput);  21.            //System.out.println("predict after training : "+neuro.predict(input));  22.            //in.next();  23.        }  24.        while(true){  25.            //neuro.printLinks();  26.            double[] inp

7、ut=new double[1];  27.            input[0]=in.nextDouble();  28.            double expectedOutput=in.nextDouble();  29.            System.out.println("predict before training : "+neuro.predict(input));  30.            neuro.trainOnce(input, expectedOutput);  31. 

8、           System.out.println("predict after training : "+neuro.predict(input));  32.              33.        }  34.    }  35.      36.    public TestNeuro(int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。