/usr/include/shogun/transfer/multitask/MultitaskLeastSquaresRegression.h is in libshogun-dev 3.2.0-7.3build4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | /*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Copyright (C) 2012 Sergey Lisitsyn
*/
#ifndef MULTITASKLSREGRESSION_H_
#define MULTITASKLSREGRESSION_H_
#include <shogun/lib/config.h>
#include <shogun/transfer/multitask/TaskRelation.h>
#include <shogun/transfer/multitask/MultitaskLinearMachine.h>
namespace shogun
{
/** @brief class Multitask Least Squares Regression, a
* machine to solve regression problems with a few tasks
* related via group or tree. Based on L1/Lq regression
* for groups and L1/L2 for trees.
*
* The underlying solver is based on the SLEP library.
*
*/
class CMultitaskLeastSquaresRegression : public CMultitaskLinearMachine
{
public:
/** problem type */
MACHINE_PROBLEM_TYPE(PT_REGRESSION)
/** default constructor */
CMultitaskLeastSquaresRegression();
/** constructor
*
* @param z regularization coefficient
* @param training_data training features
* @param training_labels training labels
* @param task_relation task relation
*/
CMultitaskLeastSquaresRegression(
float64_t z, CDotFeatures* training_data,
CRegressionLabels* training_labels, CTaskRelation* task_relation);
/** destructor */
virtual ~CMultitaskLeastSquaresRegression();
/** get name */
virtual const char* get_name() const
{
return "MultitaskLeastSquaresRegression";
}
/** get max iter */
int32_t get_max_iter() const;
/** get q */
float64_t get_q() const;
/** get regularization */
int32_t get_regularization() const;
/** get termination */
int32_t get_termination() const;
/** get tolerance */
float64_t get_tolerance() const;
/** get z */
float64_t get_z() const;
/** set max iter */
void set_max_iter(int32_t max_iter);
/** set q */
void set_q(float64_t q);
/** set regularization */
void set_regularization(int32_t regularization);
/** set termination */
void set_termination(int32_t termination);
/** set tolerance */
void set_tolerance(float64_t tolerance);
/** set z */
void set_z(float64_t z);
/** applies to one vector */
virtual float64_t apply_one(int32_t i);
protected:
/** train machine */
virtual bool train_machine(CFeatures* data=NULL);
/** train locked implementation */
virtual bool train_locked_implementation(SGVector<index_t>* tasks);
private:
/** register parameters */
void register_parameters();
/** initialize parameters */
void initialize_parameters();
protected:
/** regularization type */
int32_t m_regularization;
/** termination criteria */
int32_t m_termination;
/** max iteration */
int32_t m_max_iter;
/** tolerance */
float64_t m_tolerance;
/** q of L1/Lq */
float64_t m_q;
/** regularization coefficient */
float64_t m_z;
};
}
#endif
|