Class ShrinkingMatrix
java.lang.Object
org.tribuo.math.la.DenseMatrix
org.tribuo.math.optimisers.util.ShrinkingMatrix
- All Implemented Interfaces:
Serializable
,Iterable<MatrixTuple>
,Matrix
,Tensor
,ShrinkingTensor
A subclass of
DenseMatrix
which shrinks the value every time a new value is added.
Be careful when modifying this or DenseMatrix
.
- See Also:
-
Field Summary
Fields inherited from class org.tribuo.math.la.DenseMatrix
dim1, dim2, values
Fields inherited from interface org.tribuo.math.optimisers.util.ShrinkingTensor
tolerance
-
Constructor Summary
ConstructorsConstructorDescriptionShrinkingMatrix
(DenseMatrix v, double baseRate, boolean scaleShrinking) ShrinkingMatrix
(DenseMatrix v, double baseRate, double lambda) -
Method Summary
Modifier and TypeMethodDescriptiondouble
get
(int i, int j) Gets an element from thisMatrix
.void
intersectAndAddInPlace
(Tensor other, DoubleUnaryOperator f) Updates thisTensor
by adding all the values from the intersection withother
.iterator()
leftMultiply
(SGDVector input) Multiplies this Matrix by aSGDVector
returning a vector of the appropriate size.void
scaleInPlace
(double value) Scales each element of thisTensor
bycoefficient
.double
twoNorm()
Calculates the euclidean norm for this vector.Methods inherited from class org.tribuo.math.la.DenseMatrix
add, addAcrossDim1, addAcrossDim2, broadcastIntersectAndAddInPlace, columnSum, columnSum, copy, createDenseMatrix, equals, foreachInPlace, gatherAcrossDim1, gatherAcrossDim2, getColumn, getDimension1Size, getDimension2Size, getRow, getShape, hadamardProductInPlace, hashCode, matrixMultiply, matrixMultiply, normalizeRows, numActiveElements, reshape, rightMultiply, rowScaleInPlace, rowSum, rowSum, set, toString, transpose
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.tribuo.math.la.Tensor
hadamardProductInPlace, intersectAndAddInPlace, scalarAddInPlace
-
Constructor Details
-
ShrinkingMatrix
-
ShrinkingMatrix
-
-
Method Details
-
convertToDense
- Specified by:
convertToDense
in interfaceShrinkingTensor
-
leftMultiply
Description copied from interface:Matrix
Multiplies this Matrix by aSGDVector
returning a vector of the appropriate size.The input must have dimension equal to
Matrix.getDimension2Size()
.- Specified by:
leftMultiply
in interfaceMatrix
- Overrides:
leftMultiply
in classDenseMatrix
- Parameters:
input
- The input vector.- Returns:
- A new
SGDVector
of sizeMatrix.getDimension1Size()
.
-
intersectAndAddInPlace
Description copied from interface:Tensor
Updates thisTensor
by adding all the values from the intersection withother
.The function
f
is applied to all values fromother
before the addition.Each value is updated as value += f(otherValue).
- Specified by:
intersectAndAddInPlace
in interfaceTensor
- Overrides:
intersectAndAddInPlace
in classDenseMatrix
- Parameters:
other
- The otherTensor
.f
- A function to apply.
-
get
public double get(int i, int j) Description copied from interface:Matrix
Gets an element from thisMatrix
.- Specified by:
get
in interfaceMatrix
- Overrides:
get
in classDenseMatrix
- Parameters:
i
- The index for the first dimension.j
- The index for the second dimension.- Returns:
- The value at matrix[i][j].
-
scaleInPlace
public void scaleInPlace(double value) Description copied from interface:Tensor
Scales each element of thisTensor
bycoefficient
.- Specified by:
scaleInPlace
in interfaceTensor
- Parameters:
value
- The coefficient of scaling.
-
twoNorm
public double twoNorm()Description copied from interface:Tensor
Calculates the euclidean norm for this vector.- Specified by:
twoNorm
in interfaceTensor
- Overrides:
twoNorm
in classDenseMatrix
- Returns:
- The euclidean norm.
-
iterator
- Specified by:
iterator
in interfaceIterable<MatrixTuple>
- Overrides:
iterator
in classDenseMatrix
-