Interface SGDVector
- All Superinterfaces:
Iterable<VectorTuple>,Serializable,Tensor
- All Known Implementing Classes:
DenseVector,ShrinkingVector,SparseVector
Interface for 1 dimensional
Tensors.
Vectors have immutable sizes and immutable indices (so SparseVector can't grow).
-
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int index, double value) Addsvalueto the element atindex.Addsotherto this vector, producing a newSGDVector.copy()Returns a deep copy of this vector.default doublecosineDistance(SGDVector other) Calculates the cosine distance of two vectors.default doublecosineSimilarity(SGDVector other) Calculates the cosine similarity of two vectors.doubleCalculates the dot product between this vector andother.doubleeuclideanDistance(SGDVector other) The l2 or euclidean distance between this vector and the other vector.doubleget(int index) Gets an element from this vector.intReturns the index of the maximum value.doublel1Distance(SGDVector other) The l1 or Manhattan distance between this vector and the other vector.default doublel2Distance(SGDVector other) Synonym for euclideanDistance.doublemaxValue()Returns the maximum value.doubleminValue()Returns the minimum value.voidnormalize(VectorNormalizer normalizer) Normalizes the vector using the supplied vector normalizer.intReturns the number of non-zero elements (on construction, an element could be set to zero and it would still remain active).doubleoneNorm()Calculates the Manhattan norm for this vector.Generates the matrix representing the outer product between the two vectors.doublereduce(double initial, DoubleUnaryOperator transform, DoubleBinaryOperator reduction) Reduces the vector, applying the transformation to every value (including the implicit zeros) and reducing the output by applying the supplied reduction operator (where the right argument is the current reduction value, and the left argument is the transformed value).scale(double coefficient) Generates a new vector with each element scaled bycoefficient.voidset(int index, double value) Sets theindexto thevalue.intsize()Returns the dimensionality of this vector.Subtractsotherfrom this vector, producing a newSGDVector.doublesum()Calculates the sum of this vector.double[]toArray()Returns an array containing all the values in the vector (including any implicit zeros).doubletwoNorm()Calculates the euclidean norm for this vector.default doublevariance()Calculates the variance of this vector.doublevariance(double mean) Calculates the variance of this vector based on the supplied mean.Methods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface org.tribuo.math.la.Tensor
foreachInPlace, getShape, hadamardProductInPlace, hadamardProductInPlace, intersectAndAddInPlace, intersectAndAddInPlace, reshape, scalarAddInPlace, scaleInPlace
-
Method Details
-
copy
-
size
int size()Returns the dimensionality of this vector.- Returns:
- The dimensionality of the vector.
-
numActiveElements
int numActiveElements()Returns the number of non-zero elements (on construction, an element could be set to zero and it would still remain active).- Returns:
- The number of non-zero elements.
-
scale
-
add
void add(int index, double value) Addsvalueto the element atindex.- Parameters:
index- The index to update.value- The value to add.
-
add
Addsotherto this vector, producing a newSGDVector. Adding Dense to Dense/Sparse produces aDenseVector, adding Sparse to Sparse produces aSparseVector.- Parameters:
other- The vector to add.- Returns:
- A new
SGDVectorwhere each element value = this.get(i) + other.get(i).
-
subtract
Subtractsotherfrom this vector, producing a newSGDVector. Subtracting Dense from Dense/Sparse produces aDenseVector, subtracting Sparse from Sparse produces aSparseVector.- Parameters:
other- The vector to subtract.- Returns:
- A new
SGDVectorwhere each element value = this.get(i) - other.get(i).
-
dot
Calculates the dot product between this vector andother.- Parameters:
other- The other vector.- Returns:
- The dot product.
-
outer
-
sum
double sum()Calculates the sum of this vector.- Returns:
- The sum.
-
twoNorm
-
oneNorm
double oneNorm()Calculates the Manhattan norm for this vector.- Returns:
- The Manhattan norm.
-
get
double get(int index) Gets an element from this vector.- Parameters:
index- The index of the element.- Returns:
- The value at that index.
-
set
void set(int index, double value) Sets theindexto thevalue.- Parameters:
index- The index to set.value- The value to set it to.
-
indexOfMax
int indexOfMax()Returns the index of the maximum value. Requires probing the array.- Returns:
- The index of the maximum value.
-
maxValue
double maxValue()Returns the maximum value. Requires probing the array.- Returns:
- The maximum value.
-
minValue
double minValue()Returns the minimum value. Requires probing the array.- Returns:
- The minimum value.
-
normalize
Normalizes the vector using the supplied vector normalizer.- Parameters:
normalizer- The kind of normalization to apply.
-
reduce
Reduces the vector, applying the transformation to every value (including the implicit zeros) and reducing the output by applying the supplied reduction operator (where the right argument is the current reduction value, and the left argument is the transformed value). The reduction operation is seeded with the initial value.- Parameters:
initial- The initial value for the reduction.transform- The transformation operator.reduction- The reduction operator.- Returns:
- The reduction of this vector.
-
l2Distance
Synonym for euclideanDistance.- Parameters:
other- The other vector.- Returns:
- The l2 norm of the difference between the two vectors.
-
euclideanDistance
The l2 or euclidean distance between this vector and the other vector.- Parameters:
other- The other vector.- Returns:
- The euclidean distance between them.
-
l1Distance
The l1 or Manhattan distance between this vector and the other vector.- Parameters:
other- The other vector.- Returns:
- The l1 distance.
-
cosineDistance
Calculates the cosine distance of two vectors. 1 - cos(x,y)- Parameters:
other- The other vector.- Returns:
- 1 - cosine similarity (this,other)
-
cosineSimilarity
Calculates the cosine similarity of two vectors. cos(x,y) = dot(x,y) / (norm(x) * norm(y))- Parameters:
other- The other vector.- Returns:
- cosine similarity (this,other)
-
variance
default double variance()Calculates the variance of this vector.- Returns:
- The variance of the vector.
-
variance
double variance(double mean) Calculates the variance of this vector based on the supplied mean.- Parameters:
mean- The mean of the vector.- Returns:
- The variance of the vector.
-
toArray
double[] toArray()Returns an array containing all the values in the vector (including any implicit zeros).- Returns:
- An array copy.
-