Class DoubleMatrix
- All Implemented Interfaces:
MLMatrix
MLMatrix zur Verwendung in
NeuralNetworks.
Diese Klasse stellt die interne Implementierung der Matrixoperationen dar,
die zur Berechnung der Gewichte in einem NeuronLayer notwendig sind.
Die Klasse ist nur minimal optimiert und sollte nur für kleine Netze verwendet werden. Für größere Netze sollte auf eine der optionalen Bibliotheken wie Colt zurückgegriffen werden.
-
Constructor Summary
ConstructorsConstructorDescriptionDoubleMatrix(double[][] coefficients) DoubleMatrix(int rows, int cols) DoubleMatrix(DoubleMatrix other) Initialisiert diese Matrix als Kopie der angegebenen Matrix. -
Method Summary
Modifier and TypeMethodDescriptionErzeugt eine neue MatrixCmit dem Ergebnis der komponentenweisen Matrix-AdditionSetzt diese Matrix auf das Ergebnis der komponentenweisen Matrix-AdditionErzeugt eine neue Matrix, deren Werte gleich den Werten dieser Matrix nach der Anwendung der angegebenen Funktion sind.Endet die gegebene Funktion auf jeden Wert der Matrix an.colSums()Berechnet eine neue Matrix mit nur einer Zeile, die die Spaltensummen dieser Matrix enthalten.intcolumns()Die Anzahl der Spalten der Matrix.Erzeugt eine neue Matrix mit denselben Dimensionen und Koeffizienten wie diese Matrix.doubleget(int row, int col) Gibt den Wert an der angegebenen Stelle der Matrix zurück.Setzt alle Werte der Matrix auf 1.Setzt jeden Wert in der Matrix auf eine Zufallszahl zwischen -1 und 1.initializeRandom(double lower, double upper) Setzt jeden Wert in der Matrix auf eine Zufallszahl innerhalb der angegebenen Grenzen.Setzt alle Werte der Matrix auf 0.multiplyAddBias(MLMatrix B, MLMatrix C) Erzeugt eine neue MatrixCmit dem Ergebnis der MatrixoperationErzeugt eine neue MatrixCmit dem Ergebnis der Matrixoperationintrows()Die Anzahl der Zeilen der Matrix.scaleInPlace(double scalar) Multipliziert jeden Wert dieser Matrix mit dem angegebenen Skalar.Multipliziert jeden Wert dieser Matrix mit dem entsprechenden Wert in der MatrixS.set(int row, int col, double value) Setzt den Wert an der angegebenen Stelle der Matrix.Erzeugt eine neue MatrixCmit dem Ergebnis der komponentenweisen Matrix-SubtraktiontoString()transposedMultiplyAndScale(MLMatrix B, double scalar) Erzeugt eine neue MatrixCmit dem Ergebnis der Matrixoperation
-
Constructor Details
-
DoubleMatrix
public DoubleMatrix(int rows, int cols) -
DoubleMatrix
public DoubleMatrix(double[][] coefficients) -
DoubleMatrix
Initialisiert diese Matrix als Kopie der angegebenen Matrix.- Parameters:
other- Die zu kopierende Matrix.
-
-
Method Details
-
columns
public int columns()Description copied from interface:MLMatrixDie Anzahl der Spalten der Matrix. -
rows
public int rows()Description copied from interface:MLMatrixDie Anzahl der Zeilen der Matrix. -
get
public double get(int row, int col) Description copied from interface:MLMatrixGibt den Wert an der angegebenen Stelle der Matrix zurück. -
set
Description copied from interface:MLMatrixSetzt den Wert an der angegebenen Stelle der Matrix. -
initializeRandom
Description copied from interface:MLMatrixSetzt jeden Wert in der Matrix auf eine Zufallszahl zwischen -1 und 1.Nach Möglichkeit sollte der
Zufallsgenerator der Zeichenmaschineverwendet werden.- Specified by:
initializeRandomin interfaceMLMatrix- Returns:
- Diese Matrix selbst (method chaining).
-
initializeRandom
Description copied from interface:MLMatrixSetzt jeden Wert in der Matrix auf eine Zufallszahl innerhalb der angegebenen Grenzen.Nach Möglichkeit sollte der
Zufallsgenerator der Zeichenmaschineverwendet werden.- Specified by:
initializeRandomin interfaceMLMatrix- Parameters:
lower- Untere Grenze der Zufallszahlen.upper- Obere Grenze der Zufallszahlen.- Returns:
- Diese Matrix selbst (method chaining).
-
initializeOne
Description copied from interface:MLMatrixSetzt alle Werte der Matrix auf 1.- Specified by:
initializeOnein interfaceMLMatrix- Returns:
- Diese Matrix selbst (method chaining).
-
initializeZero
Description copied from interface:MLMatrixSetzt alle Werte der Matrix auf 0.- Specified by:
initializeZeroin interfaceMLMatrix- Returns:
- Diese Matrix selbst (method chaining).
-
duplicate
Description copied from interface:MLMatrixErzeugt eine neue Matrix mit denselben Dimensionen und Koeffizienten wie diese Matrix. -
multiplyTransposed
Description copied from interface:MLMatrixErzeugt eine neue MatrixCmit dem Ergebnis der MatrixoperationC = this . t(B)
wobeithisdieses Matrixobjekt ist,t(B)die Transposition der MatrixBist und.für die Matrixmultiplikation steht.Wenn diese Matrix die Dimension r x c hat, dann muss die Matrix
Bdie Dimension m x c haben und das Ergebnis ist eine r x m Matrix.- Specified by:
multiplyTransposedin interfaceMLMatrix- Parameters:
B- Eine m xcolumns()Matrix.- Returns:
- Eine
rows()x m Matrix.
-
multiplyAddBias
Description copied from interface:MLMatrixErzeugt eine neue MatrixCmit dem Ergebnis der MatrixoperationC = this . B + V'
wobeithisdieses Matrixobjekt ist und.für die Matrixmultiplikation steht.V'ist die MatrixVrows()-mal untereinander wiederholt.Wenn diese Matrix die Dimension r x c hat, dann muss die Matrix
Bdie Dimension c x m haben undVeine 1 x m Matrix sein. Die MatrixV'hat also die Dimension r x m, ebenso wie das Ergebnis der Operation.- Specified by:
multiplyAddBiasin interfaceMLMatrix- Parameters:
B- Einecolumns()x m Matrix mit der Multipliziert wird.C- Eine 1 xB.columns()Matrix mit den Bias-Werten.- Returns:
- Eine
rows()x m Matrix.
-
transposedMultiplyAndScale
Description copied from interface:MLMatrixErzeugt eine neue MatrixCmit dem Ergebnis der MatrixoperationC = t(this) . B * scalar
wobeithisdieses Matrixobjekt ist,t(this)die Transposition dieser Matrix ist und.für die Matrixmultiplikation steht.*bezeichnet die Skalarmultiplikation, bei der jeder Wert der Matrix mitscalarmultipliziert wird.Wenn diese Matrix die Dimension r x c hat, dann muss die Matrix
Bdie Dimension r x m haben und das Ergebnis ist eine c x m Matrix.- Specified by:
transposedMultiplyAndScalein interfaceMLMatrix- Parameters:
B- Eine m xcolumns()Matrix.- Returns:
- Eine
rows()x m Matrix.
-
add
Description copied from interface:MLMatrixErzeugt eine neue MatrixCmit dem Ergebnis der komponentenweisen Matrix-AdditionC = this + B
wobeithisdieses Matrixobjekt ist. Für ein ElementC_ijinCgiltC_ij = A_ij + B_ij
Die Matrix
Bmuss dieselbe Dimension wie diese Matrix haben. -
addInPlace
Description copied from interface:MLMatrixSetzt diese Matrix auf das Ergebnis der komponentenweisen Matrix-AdditionA' = A + B
wobeiAdieses Matrixobjekt ist undA'diese Matrix nach der Operation. Für ein ElementA'_ijinA'giltA'_ij = A_ij + B_ij
Die Matrix
Bmuss dieselbe Dimension wie diese Matrix haben.- Specified by:
addInPlacein interfaceMLMatrix- Parameters:
B- Einerows()xcolumns()Matrix.- Returns:
- Eine
rows()xcolumns()Matrix.
-
sub
Description copied from interface:MLMatrixErzeugt eine neue MatrixCmit dem Ergebnis der komponentenweisen Matrix-SubtraktionC = A - B
wobeiAdieses Matrixobjekt ist. Für ein ElementC_ijinCgiltC_ij = A_ij - B_ij
Die Matrix
Bmuss dieselbe Dimension wie diese Matrix haben. -
colSums
Description copied from interface:MLMatrixBerechnet eine neue Matrix mit nur einer Zeile, die die Spaltensummen dieser Matrix enthalten. -
scaleInPlace
Description copied from interface:MLMatrixMultipliziert jeden Wert dieser Matrix mit dem angegebenen Skalar.Ist
Adieses Matrixobjekt undA'diese Matrix nach der Operation, dann gilt für ein ElementA'_ijinA'A'_ij = A_ij * scalar
- Specified by:
scaleInPlacein interfaceMLMatrix- Parameters:
scalar- Ein Skalar.- Returns:
- Diese Matrix selbst (method chaining)
-
scaleInPlace
Description copied from interface:MLMatrixMultipliziert jeden Wert dieser Matrix mit dem entsprechenden Wert in der MatrixS.Ist
Adieses Matrixobjekt undA'diese Matrix nach der Operation, dann gilt für ein ElementA'_ijinA'A'_ij = A_ij * S_ij
- Specified by:
scaleInPlacein interfaceMLMatrix- Parameters:
S- Einerows()xcolumns()Matrix.- Returns:
- Diese Matrix selbst (method chaining)
-
apply
Description copied from interface:MLMatrixErzeugt eine neue Matrix, deren Werte gleich den Werten dieser Matrix nach der Anwendung der angegebenen Funktion sind. -
applyInPlace
Description copied from interface:MLMatrixEndet die gegebene Funktion auf jeden Wert der Matrix an.- Specified by:
applyInPlacein interfaceMLMatrix- Parameters:
op- Eine Operation(double) -> double.- Returns:
- Diese Matrix selbst (method chaining)
-
toString
-