アットウィキロゴ

nnp88

package bs;
 
 
public class pro {
 
    double[] beta=new double[11];
    double alpha;
    int datanumber;
    int number;
 
 double[] y=new double[500];
 double[][] x=new double[500][4];
 
 
 
 
  double[][] e=new double[101][3];
   double[] e1=new double[101];
  double[] e2=new double[101];
 
   double[] delta_alpha=new double[3];
   double[][] delta_beta=new double[3][3];
   double sig_alpha;
    double[] sig_beta=new double[3];
 
  public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
        datanumber=100;
 
        number=2;
 
 
        int s;
 
        for(s=1;s<datanumber+1;s++){
        x[s][1]=2+Math.random();
        x[s][2]=-6+Math.random();
        y[s]=1;   
        }
 
        for(s=51;s<datanumber+1;s++){
        x[s][1]=-3+Math.random();
        x[s][2]=4+Math.random();
        y[s]=-1;   
        }
 
 
        for(s=1;s<datanumber+1;s++){
        int h=0;
        e[s][1]=-1;
        if(y[s]>0)h=h+1;    
        if(Math.random()>0.3)h=h+1;
        if(h==2)e[s][1]=1;
        }
 
        for(s=1;s<datanumber+1;s++){
        int h=0;
        e[s][2]=1;
        if(y[s]<0)h=h+1;    
        if(Math.random()>0.3)h=h+1;
        if(h==2)e[s][2]=-1;
        }
 
        int tr;
        for(tr=1;tr<2;tr++){
 
 
        for(s=1;s<datanumber+1;s++){
        e1[s]=e[s][1];    
        e2[s]=e[s][2];
        }
 
 
   nn sub=new nn();
        sub.x=x;
        sub.y=e1;
        sub.number=number;
        sub.datanumber=datanumber;
        sub.makedata();
       alpha=sub.alpha;
        beta=sub.beta;
 
 delta_alpha[1]=alpha;
 delta_beta[1][1]=beta[1];
 delta_beta[1][2]=beta[2]; 
 
        nn sub2=new nn();
        sub2.x=x;
        sub2.y=e2;
        sub2.number=number;
        sub2.datanumber=datanumber;
        sub2.makedata();
       alpha=sub2.alpha;
        beta=sub2.beta;
 
 delta_alpha[2]=alpha;
 delta_beta[2][1]=beta[1];
 delta_beta[2][2]=beta[2]; 
 
        nn sub3=new nn();
        sub3.x=e;
        sub3.y=y;
        sub3.number=number;
        sub3.datanumber=datanumber;
        sub3.makedata();
        alpha=sub3.alpha;
        beta=sub3.beta;
 
 sig_alpha=alpha;
 sig_beta[1]=beta[1];
 sig_beta[1]=beta[2]; 
 
 ;
 
 for(s=1;s<datanumber+1;s++){
 
 double r=delta_alpha[1]+delta_beta[1][1]*x[s][1]+delta_beta[1][2]*x[s][2];   
 e[s][1]=1;
 if(r<0)e[s][1]=-1;
 r=delta_alpha[2]+delta_beta[2][1]*x[s][1]+delta_beta[2][2]*x[s][2];  
 e[s][2]=1;
 if(r<0)e[s][2]=-1;
 }
 
 for(s=1;s<datanumber+1;s++){
 double r=sig_alpha+sig_beta[1]*e[s][1]+sig_beta[2]*e[s][2];   
 int z=-1;
 if(r>0)z=1;
 System.out.println(z+","+y[s]);
 
 }
 
 
 
        }
 
}
 
}
 
 
package bs;
 
 
 
public class nn {
 
    double[] beta=new double[11];
    double alpha;
    int datanumber;
    int number;
 double[] y=new double[500];
 double[] ys=new double[500];
 double[][] x=new double[500][4];
 
  double[] betas=new double[11];
 
  double[] d_beta=new double[11];
  double d_alpha;
 
  double[] vec_beta=new double[11];
  double vec_alpha;
 
  double[] e=new double[101];
 
 
    void makedata(){
 
 
 
        faststep sub2=new faststep();
        sub2.x=x;
        sub2.datanumber=datanumber;
        sub2.number=number;
        sub2.y=y;
        sub2.makedata();
        alpha=sub2.alpha;
 beta=sub2.beta;
 
 
 
 
 
   optimal sub=new optimal();
        sub.x=x;
        sub.y=y;
        sub.alpha=alpha;
        sub.beta=beta;
        sub.number=number;
        sub.datanumber=datanumber;
        sub.makedata();
       alpha=sub.alpha;
        beta=sub.beta;
 
 
 
 
 
 
    }
 
 
 
 
 
 
}
 
最終更新:2016年12月08日 18:37