File vector_statistic_decomposable_dense.hpp¶
-
namespace boosting
-
class DenseDecomposableStatisticVector : public ClearableViewDecorator<DenseVectorDecorator<AllocatedVector<Tuple<float64>>>>¶
- #include <vector_statistic_decomposable_dense.hpp>
An one-dimensional vector that stores aggregated gradients and Hessians that have been calculated using a decomposable loss function in a C-contiguous array. For each element in the vector a single gradient and Hessian is stored.
Public Functions
-
DenseDecomposableStatisticVector(uint32 numElements, bool init = false)¶
- Parameters:
numElements – The number of gradients and Hessians in the vector
init – True, if all gradients and Hessians in the vector should be initialized with zero, false otherwise
-
DenseDecomposableStatisticVector(const DenseDecomposableStatisticVector &other)¶
- Parameters:
other – A reference to an object of type
DenseDecomposableStatisticVectorto be copied
-
void add(const DenseDecomposableStatisticVector &vector)¶
Adds all gradients and Hessians in another vector to this vector.
- Parameters:
vector – A reference to an object of type
DenseDecomposableStatisticVectorthat stores the gradients and Hessians to be added to this vector
-
void add(const CContiguousView<Tuple<float64>> &view, uint32 row)¶
Adds all gradients and Hessians in a single row of a
CContiguousViewto this vector.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
-
void add(const CContiguousView<Tuple<float64>> &view, uint32 row, float64 weight)¶
Adds all gradients and Hessians in a single row of a
CContiguousViewto this vector. The gradients and Hessians to be added are multiplied by a specific weight.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
weight – The weight, the gradients and Hessians should be multiplied by
-
void remove(const CContiguousView<Tuple<float64>> &view, uint32 row)¶
Removes all gradients and Hessians in a single row of a
CContiguousViewfrom this vector.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be removed from this vectorrow – The index of the row to be removed from this vector
-
void remove(const CContiguousView<Tuple<float64>> &view, uint32 row, float64 weight)¶
Removes all gradients and Hessians in a single row of a
CContiguousViewfrom this vector. The gradients and Hessians to be removed are multiplied by a specific weight.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be removed from this vectorrow – The index of the row to be removed from this vector
weight – The weight, the gradients and Hessians should be multiplied by
-
void addToSubset(const CContiguousView<Tuple<float64>> &view, uint32 row, const CompleteIndexVector &indices)¶
Adds certain gradients and Hessians in a single row of a
CContiguousView, whose positions are given as aCompleteIndexVector, to this vector.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
indices – A reference to a CompleteIndexVector that provides access to the indices
-
void addToSubset(const CContiguousView<Tuple<float64>> &view, uint32 row, const PartialIndexVector &indices)¶
Adds certain gradients and Hessians in single row of a
CContiguousView, whose positions are given as aPartialIndexVector, to this vector.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
indices – A reference to a PartialIndexVector that provides access to the indices
-
void addToSubset(const CContiguousView<Tuple<float64>> &view, uint32 row, const CompleteIndexVector &indices, float64 weight)¶
Adds certain gradients and Hessians in a single row of a
CContiguousView, whose positions are given as aCompleteIndexVector, to this vector. The gradients and Hessians to be added are multiplied by a specific weight.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
indices – A reference to a CompleteIndexVector that provides access to the indices
weight – The weight, the gradients and Hessians should be multiplied by
-
void addToSubset(const CContiguousView<Tuple<float64>> &view, uint32 row, const PartialIndexVector &indices, float64 weight)¶
Adds certain gradients and Hessians in single row of a
CContiguousView, whose positions are given as aPartialIndexVector, to this vector. The gradients and Hessians to be added are multiplied by a specific weight.- Parameters:
view – A reference to an object of type
CContiguousViewthat stores the gradients and Hessians to be added to this vectorrow – The index of the row to be added to this vector
indices – A reference to a PartialIndexVector that provides access to the indices
weight – The weight, the gradients and Hessians should be multiplied by
-
void difference(const DenseDecomposableStatisticVector &first, const CompleteIndexVector &firstIndices, const DenseDecomposableStatisticVector &second)¶
Sets the gradients and Hessians in this vector to the difference
first - secondbetween the gradients and Hessians in two other vectors, considering only the gradients and Hessians in the first vector that correspond to the positions provided by aCompleteIndexVector.- Parameters:
first – A reference to an object of type
DenseDecomposableStatisticVectorthat stores the gradients and Hessians in the first vectorfirstIndices – A reference to an object of type
CompleteIndexVectorthat provides access to the indicessecond – A reference to an object of type
DenseDecomposableStatisticVectorthat stores the gradients and Hessians in the second vector
-
void difference(const DenseDecomposableStatisticVector &first, const PartialIndexVector &firstIndices, const DenseDecomposableStatisticVector &second)¶
Sets the gradients and Hessians in this vector to the difference
first - secondbetween the gradients and Hessians in two other vectors, considering only the gradients and Hessians in the first vector that correspond to the positions provided by aPartialIndexVector.- Parameters:
first – A reference to an object of type
DenseDecomposableStatisticVectorthat stores the gradients and Hessians in the first vectorfirstIndices – A reference to an object of type
PartialIndexVectorthat provides access to the indicessecond – A reference to an object of type
DenseDecomposableStatisticVectorthat stores the gradients and Hessians in the second vector
-
DenseDecomposableStatisticVector(uint32 numElements, bool init = false)¶
-
class DenseDecomposableStatisticVector : public ClearableViewDecorator<DenseVectorDecorator<AllocatedVector<Tuple<float64>>>>¶