• 大小: 1.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-16
  • 语言: Java
  • 标签:

资源简介

使用JAVA语言利用BP神经网络完成0-9的手写数字识别 对于智能科学入门挺不错的。 同时也实现了图形界面,纯当是java界面编写的入门

资源截图

代码片段和文件信息

package Netural_NetWork;

import java.io.File;
import java.util.Vector;
public class BP {
public boolean set_w(double[][][] mw){
w = mw;
return true;
}
public double[][][] get_w(){
return w;
}
public int get_rate(){
return rate+1;
}
public boolean set_rate(int num){
rate = num;
return true;
}
public double[][][] createw(){ //当没有初始值的时候,就自己随机生成
int ij;
w = new double[2][][];
w[0] = new double[innum+spenum][midnum];
for(i = 0; i< innum +spenum; i++){
for(j = 0; j< midnum;j++){
w[0][i][j] = (Math.random()*4.8 -2.4)/innum;
}
}
w[1] = new double[midnum][outnum];
for(i = 0; i< midnum;i++){
for(j = 0; j < 10;j++){
w[1][i][j] = (Math.random()*4.8 -2.4)/midnum;
}
}
return w;
}
public int[][] learn(int maxnum){
int ijk;
File file = new File(File_in_out.path); //文件处理
File[] filelist = file.listFiles();
File_in_out fio = new File_in_out(); //用来读文件
String name = null;
int mod ; //计算所有的值
Vector re = new Vector();
Readr res = null;
double temp = 0;
double[] O = new double[midnum];
double[] y = new double[outnum];
double[] midpart = new double[outnum]; 
double[] yr = new double[outnum];
double step = 1;
Boolean flag = false;
double E = 0;
double Eo = 200000;
double[] xnum = new double[spenum];
mod = 0;
for(i = 0; i< maxnum && i < filelist.length; i++){ //将数据读取
name = filelist[i].getPath();
if(!name.equals(File_in_out.basic)){
re.add(fio.read(name)); //添加内容
++mod;
}
}
for(rate = 1; rate <= maxnum && flag == false; ++rate){
res = re.get(rate % mod);
yr[res.y] = 1.0;
for(k = 0; k< spenum;k++)
xnum[k] = 0;
for(i = 0; i< (Picture_action.inf_num)/5; ++i){
for(k = 0; k < Picture_action.inf_num; k++){
xnum[i] = xnum[i] + res.x[Picture_action.inf_num*i*5 + k];
}
}
for(k = 0; k < Picture_action.inf_num; k++){
xnum[i] = xnum[i] + res.x[Picture_action.inf_num*(Picture_action.inf_num-1) + k];
}
for(k = 0; k< (Picture_action.inf_num)/5;++k){
for(i = 0; i < Picture_action.inf_num; ++i){
xnum[k+5] = xnum[k+5] + res.x[Picture_action.inf_num*i + k*5];
}
}
for(i = 0;  i< Picture_action.inf_num; i++){
xnum[k+5] = xnum[k+5] + res.x[Picture_action.inf_num*i + Picture_action.inf_num-1];
}
for(j = 0; j < midnum; j++){
temp = 0;
for(i = 0; i< innum ; i++){
temp = temp + w[0][i][j] * res.x[i];
}
for(i = 0;i< spenum;i++)
temp = temp +w[0][i+innum][j]* xnum[i];
O[j] = S(temp);
}
for(j = 0; j < outnum;j++){
temp = 0;
for(i = 0; i < midnum; i++){
temp = temp + w[1][i][j] * O[i];
}
y[j] = S(temp); 
}
double[][][] ch_w = new double[2][][];
ch_w[0] = new double[innum + spenum][midnum];
ch_w[1] = new double [midnum][outnum];
for(i = 0; i < outnum; i++){
midpart[i] = (1- y[i])*y[i]*(y[i] - yr[i]);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-29 21:15  UI_try\
     文件         426  2015-11-29 10:40  UI_try\.classpath
     文件         382  2015-11-09 08:51  UI_try\.project
     目录           0  2016-05-29 21:15  UI_try\.settings\
     文件         598  2015-11-09 08:51  UI_try\.settings\org.eclipse.jdt.core.prefs
     目录           0  2016-05-29 21:15  UI_try\bin\
     目录           0  2016-05-29 21:15  UI_try\bin\Netural_NetWork\
     文件        9252  2016-05-02 19:57  UI_try\bin\Netural_NetWork\BP.class
     文件        1039  2016-05-02 19:57  UI_try\bin\Netural_NetWork\BackStage.class
     文件        8317  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Check.class
     文件         319  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Edge.class
     文件        7267  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Element.class
     文件        5558  2016-05-02 19:57  UI_try\bin\Netural_NetWork\File_in_out.class
     文件        1284  2016-05-02 19:57  UI_try\bin\Netural_NetWork\JText$UpperCaseDocument.class
     文件         500  2016-05-02 19:57  UI_try\bin\Netural_NetWork\JText.class
     文件        1285  2016-05-02 19:57  UI_try\bin\Netural_NetWork\MyCanvas.class
     文件        2557  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Palette.class
     文件        7930  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Picture_action.class
     文件         398  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Readr.class
     文件        6588  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Sheet.class
     文件         761  2016-05-02 19:57  UI_try\bin\Netural_NetWork\StartProgram.class
     文件        3391  2016-05-02 19:57  UI_try\bin\Netural_NetWork\Study.class
     文件        1011  2016-05-02 19:57  UI_try\bin\Netural_NetWork\UI_show$1.class
     文件        4756  2016-05-02 19:57  UI_try\bin\Netural_NetWork\UI_show.class
     目录           0  2016-05-29 21:15  UI_try\bin\Picture\
     文件       41063  2015-11-12 21:33  UI_try\bin\Picture\NN1.png
     文件       77982  2015-11-14 16:56  UI_try\bin\Picture\sky.jpg
     文件       28204  2015-11-14 20:42  UI_try\bin\Picture\son.jpg
     目录           0  2016-05-29 21:15  UI_try\lib\
     文件      309293  2015-11-18 14:47  UI_try\lib\jcommon-1.0.16.jar
     文件     1425744  2015-11-18 15:11  UI_try\lib\jfreechart-1.0.13.jar
............此处省略14个文件信息

评论

共有 条评论

相关资源