Benutzer-Werkzeuge

Webseiten-Werkzeuge


ein_neuronales_netz_fuer_den_nxt_roboter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ein_neuronales_netz_fuer_den_nxt_roboter [2024/01/26 11:14] – [Quellcode] torsten.roehlein_neuronales_netz_fuer_den_nxt_roboter [2024/01/26 11:20] (aktuell) – [Quellcode] torsten.roehl
Zeile 244: Zeile 244:
    
  public static void train(int e) {  public static void train(int e) {
- for(int i=0; i +    for(int i=0; i 
- learn( data1[0], data1[1] ); +      learn( data1[0], data1[1] ); 
- learn( data2[0], data2[1] ); +      learn( data2[0], data2[1] ); 
- learn( data3[0], data3[1] ); +      learn( data3[0], data3[1] ); 
- learn( data4[0], data4[1] ); +      learn( data4[0], data4[1] ); 
- trainedEpochs++; +      trainedEpochs++; 
- }+      }
  }  }
    
Zeile 256: Zeile 256:
  public static void learn( int inp[], int out[] ) {  public static void learn( int inp[], int out[] ) {
  int i, j;  int i, j;
- double sum, out_j; + double sum, out_j; 
- +
    
  // Initialisieren der Input-Vekoren  // Initialisieren der Input-Vekoren
Zeile 267: Zeile 266:
    
  hidden[j] = 1 / ( 1 + Math.exp(-sum));  hidden[j] = 1 / ( 1 + Math.exp(-sum));
- } + 
- +
    
  // Berechnen der Output-Werte  // Berechnen der Output-Werte
Zeile 276: Zeile 274:
  output[j] = 1 / (1 + Math.exp(-sum));  output[j] = 1 / (1 + Math.exp(-sum));
  }  }
-  
-  
-  
    
    
Zeile 306: Zeile 301:
  // Anpassen der Gewichte w1  // Anpassen der Gewichte w1
  for(i=0; i  for(i=0; i
- } + 
- +
    
  public static void test(int inp[], int out[]) {  public static void test(int inp[], int out[]) {
Zeile 327: Zeile 321:
  // Berechnen der Output-Werte  // Berechnen der Output-Werte
  for(j=0; j  for(j=0; j
-  
  sum = 0;  sum = 0;
  for(i=0; i  for(i=0; i
-  
    
  output[j] = 1 / (1 + Math.exp(-sum));  output[j] = 1 / (1 + Math.exp(-sum));
Zeile 337: Zeile 329:
    
  // Übertragen des Outputs auf das Array out[]  // Übertragen des Outputs auf das Array out[]
- for(i=0; i= 0.5 ) +     for(i=0; i= 0.5 ) 
- out[i] = 1; +         out[i] = 1; 
- else +     else 
- out[i] = 0;+         out[i] = 0;
  }  }
          
Zeile 350: Zeile 342:
 </Code> </Code>
  
 +<WRAP center round info 60%>
 +FIXME Der Quellcode enthält noch Fehler 
 +</WRAP>
  
  
 +==== Quellen ==== 
 +  * Download des orginales Artikels erschienen in JavaWorld 2005 
 +          * [[https://www.informatics4kids.de/addons-i4k/doc/article/neural_network_lego.pdf|A neural network for Java Lego robots]]
  
ein_neuronales_netz_fuer_den_nxt_roboter.1706267669.txt.gz · Zuletzt geändert: 2024/01/26 11:14 von torsten.roehl