6 #ifndef DISMEC_REG_SQ_HINGE_H
7 #define DISMEC_REG_SQ_HINGE_H
33 Eigen::Ref<DenseRealVector> target);
38 Eigen::Ref<DenseRealVector> pre);
40 template<
typename OtherDerived>
44 assert(xTw.size() ==
labels.size());
45 for(Eigen::Index i = 0; i <
labels.size(); ++i) {
48 real_t factor = cost.coeff(i);
63 template<
class T,
class U>
An Eigen vector with versioning information, to implement simple caching of results.
A unique identifier for a HashVector.
const BinaryLabelVector & labels() const
Implementation helper for linear classifier derived classes.
void gradient(const HashVector &location, Eigen::Ref< DenseRealVector > target)
Evaluate the gradient at location.
static real_t value_from_xTw(const DenseRealVector &cost, const BinaryLabelVector &labels, const Eigen::DenseBase< OtherDerived > &xTw)
std::vector< real_t > m_MVVal
void gradient_imp(const HashVector &location, Eigen::Ref< DenseRealVector > target)
void margin_error(const HashVector &w)
void hessian_times_direction_imp(const HashVector &location, const DenseRealVector &direction, Eigen::Ref< DenseRealVector > target)
void gradient_and_pre_conditioner_tpl(const HashVector &location, T &&gradient, U &&pre)
SparseFeatures features_t
void diag_preconditioner_imp(const HashVector &location, Eigen::Ref< DenseRealVector > target)
void gradient_and_pre_conditioner_imp(const HashVector &location, Eigen::Ref< DenseRealVector > gradient, Eigen::Ref< DenseRealVector > pre)
Regularized_SquaredHingeSVC(std::shared_ptr< const GenericFeatureMatrix > X, std::unique_ptr< Objective > regularizer)
void gradient_at_zero_imp(Eigen::Ref< DenseRealVector > target)
const features_t & features() const
std::vector< int > m_MVPos
void invalidate_labels() override
types::DenseVector< std::int8_t > BinaryLabelVector
Dense vector for storing binary labels.
types::DenseVector< real_t > DenseRealVector
Any dense, real values vector.
types::SparseRowMajor< real_t > SparseFeatures
Sparse Feature Matrix in Row Major format.
float real_t
The default type for floating point values.