File vector_statistic_decomposable_dense.hpp¶
-
namespace boosting
-
template<typename StatisticType>
class DenseDecomposableStatisticVector : public ClearableViewDecorator<DenseVectorDecorator<AllocatedVector<Statistic<StatisticType>>>>¶ - #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.
- Template Parameters:
StatisticType – The type of the gradient and Hessians
Public Types
-
using statistic_type = StatisticType¶
The type of the gradients and Hessians.
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<StatisticType> &other)¶
- Parameters:
other – A reference to an object of type
DenseDecomposableStatisticVectorto be copied
-
void add(const DenseDecomposableStatisticVector<StatisticType> &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<Statistic<StatisticType>> &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<Statistic<StatisticType>> &view, uint32 row, StatisticType 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<Statistic<StatisticType>> &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<Statistic<StatisticType>> &view, uint32 row, StatisticType 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<Statistic<StatisticType>> &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
CompleteIndexVectorthat provides access to the indices
-
void addToSubset(const CContiguousView<Statistic<StatisticType>> &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
PartialIndexVectorthat provides access to the indices
-
void addToSubset(const CContiguousView<Statistic<StatisticType>> &view, uint32 row, const CompleteIndexVector &indices, StatisticType 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
CompleteIndexVectorthat provides access to the indicesweight – The weight, the gradients and Hessians should be multiplied by
-
void addToSubset(const CContiguousView<Statistic<StatisticType>> &view, uint32 row, const PartialIndexVector &indices, StatisticType 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
PartialIndexVectorthat provides access to the indicesweight – The weight, the gradients and Hessians should be multiplied by
-
void difference(const DenseDecomposableStatisticVector<StatisticType> &first, const CompleteIndexVector &firstIndices, const DenseDecomposableStatisticVector<StatisticType> &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<StatisticType> &first, const PartialIndexVector &firstIndices, const DenseDecomposableStatisticVector<StatisticType> &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
-
template<typename StatisticType>