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);
}
} 个人开发的JAVA代码呀,感谢共享分享啊 楼主,好东西,最近要学这个东西~ 好东西大家分享 It is so good,thank you very much!
页:
[1]