第二个太阳 发表于 2014-4-12 14:13

BP神经网络学习机器演示

采用文件保存数据,基于BP神经网络,可以自行调节隐含层的节点数以调节识别准确率
注意:由于是个人开发测试识别率并不高,很多地方的匹配识别算法等都是最简单的那种,需要的人可以自己优化,识别和学习是需要先点“其他”按钮进行格式化面板才能继续操作



package ghost.writer.logic;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class BPFactory {
        /**
         * BP神经网络元
         */
        private static BP bp;
       
        /**
         * 初始化一个全新的bp神经网络
         * @param inputSize
         * @param hiddenSize
         * @param outputSize
         */
        public static void initialization(int inputSize,int hiddenSize,int outputSize) {
                bp=new BP(inputSize, hiddenSize, outputSize);
        }
       
        /**
         * 从文件数据中读取bp神经网络
         * @param file
         * @throws IOException
         * @throws ClassNotFoundException
         */
        public static void initialization(File file) throws IOException, ClassNotFoundException {
                FileInputStream fi = new FileInputStream(file);
                ObjectInputStream si = new ObjectInputStream(fi);
                bp = (BP) si.readObject();
                si.close();
        }
       
        /**
         * 将目前的神经网络储存在指定文件
         * @param file
         * @throws IOException
         */
        public static void save(File file) throws IOException {
                FileOutputStream fo = new FileOutputStream(file);
                ObjectOutputStream so = new ObjectOutputStream(fo);
                so.writeObject(bp);
                so.close();
        }
       
        /**
         * 训练BP神经网络
         * @param trainData
         * @param target
         */
        public static void train(double[] trainData, double[] target) {
                bp.train(trainData, target);
        }
       
        /**
         * 要求bp神经网络返回预测值
         * @param inData
         * @return
         */
        public static double[] test(double[] inData) {
                return bp.test(inData);
        }
}

慢跑20 发表于 2014-4-23 16:33

个人开发的JAVA代码呀,感谢共享分享啊

liusichao999 发表于 2014-4-24 12:49

楼主,好东西,最近要学这个东西~

狼之魂汪洋 发表于 2014-8-6 14:47

好东西大家分享

LYJA 发表于 2016-9-4 13:05

It is so good,thank you very much!
页: [1]
查看完整版本: BP神经网络学习机器演示