2016-04-01 4 views
0

ich zufällig erstes Gewicht für LVQ wie dies mit java.util.Random:Bester Zufallszahlengenerator für das Lernen Vektorquantisierung (LVQ) erstes Gewicht

//random generator 
private double RandomNumberGenerator(){ 
    java.util.Random rnd = new java.util.Random(); 
    return rnd.nextDouble(); 
} 

//random data for weight 
private void InitializeWeigths(){ 
    weights = new double[numberofcluster][inputdimension]; 
    for(int i=0;i<numberofcluster;i++){ 
     for(int j=0;j<inputdimension;j++){ 
      weights[i][j] = RandomNumberGenerator(); 
     } 
    } 
} 

Das Problem ist, das Ergebnis ist nicht gut genug, und es hängt von der Zufallszahl für die Genauigkeit ab, können Sie mir die beste zufällige Doppelnummer Generatormethode oder Algorithmus für diesen Fall vorschlagen?

Antwort

0

Normalerweise initialisieren Sie Ihre Punkte in LVQ als Stichproben aus dem Dataset. Wenn Sie sie vollständig zufällig initialisieren, müssen Sie Ihre Initialisierung an den Bereich der Daten anpassen und funktionieren im Allgemeinen nicht ordnungsgemäß, es sei denn, Ihre Daten sind wie ein Hyper-Cube geformt.