00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Copyright (C) 2012 Sergey Lisitsyn 00008 */ 00009 00010 #ifndef MULTITASKL12LOGISTICREGRESSION_H_ 00011 #define MULTITASKL12LOGISTICREGRESSION_H_ 00012 00013 #include <shogun/transfer/multitask/MultitaskLogisticRegression.h> 00014 00015 namespace shogun 00016 { 00022 class CMultitaskL12LogisticRegression : public CMultitaskLogisticRegression 00023 { 00024 00025 public: 00026 MACHINE_PROBLEM_TYPE(PT_BINARY) 00027 00028 00029 CMultitaskL12LogisticRegression(); 00030 00039 CMultitaskL12LogisticRegression( 00040 float64_t rho1, float64_t rho2, CDotFeatures* training_data, 00041 CBinaryLabels* training_labels, CTaskGroup* task_group); 00042 00044 virtual ~CMultitaskL12LogisticRegression(); 00045 00049 void set_rho1(float64_t rho1); 00050 00054 float64_t get_rho1() const; 00055 00059 void set_rho2(float64_t rho2); 00060 00064 float64_t get_rho2() const; 00065 00070 virtual const char* get_name() const 00071 { 00072 return "MultitaskL12LogisticRegression"; 00073 } 00074 00075 private: 00076 00078 void init(); 00079 00080 protected: 00081 00086 virtual bool train_machine(CFeatures* data=NULL); 00087 00092 virtual bool train_locked_implementation(SGVector<index_t>* tasks); 00093 00094 protected: 00095 00097 float64_t m_rho1; 00098 00100 float64_t m_rho2; 00101 00102 }; 00103 } 00104 #endif