CSubGradientSVM Class Reference

Inheritance diagram for CSubGradientSVM:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 CSubGradientSVM ()
 CSubGradientSVM (float64_t C, CSparseFeatures< float64_t > *traindat, CLabels *trainlab)
virtual ~CSubGradientSVM ()
virtual EClassifierType get_classifier_type ()
virtual bool train ()
void set_C (float64_t c1, float64_t c2)
float64_t get_C1 ()
float64_t get_C2 ()
void set_bias_enabled (bool enable_bias)
bool get_bias_enabled ()
void set_epsilon (float64_t eps)
float64_t get_epsilon ()
void set_qpsize (int32_t q)
int32_t get_qpsize ()
void set_qpsize_max (int32_t q)
int32_t get_qpsize_max ()

Protected Member Functions

int32_t find_active (int32_t num_feat, int32_t num_vec, int32_t &num_active, int32_t &num_bound)
void update_active (int32_t num_feat, int32_t num_vec)
float64_t compute_objective (int32_t num_feat, int32_t num_vec)
 compute svm objective
float64_t compute_min_subgradient (int32_t num_feat, int32_t num_vec, int32_t num_active, int32_t num_bound)
float64_t line_search (int32_t num_feat, int32_t num_vec)
 performs a line search to determine step size
void compute_projection (int32_t num_feat, int32_t num_vec)
 compute projection
void update_projection (float64_t alpha, int32_t num_vec)
 only computes updates on the projection
void init (int32_t num_vec, int32_t num_feat)
 alloc helper arrays
void cleanup ()
 de-alloc helper arrays

Protected Attributes

float64_t C1
float64_t C2
float64_t epsilon
float64_t work_epsilon
float64_t autoselected_epsilon
int32_t qpsize
int32_t qpsize_max
int32_t qpsize_limit
bool use_bias
int32_t last_it_noimprovement
int32_t num_it_noimprovement
uint8_t * active
uint8_t * old_active
int32_t * idx_active
int32_t * idx_bound
int32_t delta_active
int32_t delta_bound
float64_tproj
float64_ttmp_proj
int32_t * tmp_proj_idx
float64_tsum_CXy_active
float64_tv
float64_told_v
float64_t sum_Cy_active
float64_tgrad_w
float64_t grad_b
float64_tgrad_proj
float64_thinge_point
int32_t * hinge_idx
float64_tbeta
float64_told_beta
float64_tZv
float64_told_Zv
float64_tZ
float64_told_Z


Detailed Description

class SubGradientSVM

Definition at line 21 of file SubGradientSVM.h.


Constructor & Destructor Documentation

CSubGradientSVM::CSubGradientSVM (  ) 

default constructor

Definition at line 27 of file SubGradientSVM.cpp.

CSubGradientSVM::CSubGradientSVM ( float64_t  C,
CSparseFeatures< float64_t > *  traindat,
CLabels trainlab 
)

constructor

Parameters:
C constant C
traindat training features
trainlab labels for training features

Definition at line 33 of file SubGradientSVM.cpp.

CSubGradientSVM::~CSubGradientSVM (  )  [virtual]

Definition at line 43 of file SubGradientSVM.cpp.


Member Function Documentation

void CSubGradientSVM::cleanup (  )  [protected]

de-alloc helper arrays

Definition at line 498 of file SubGradientSVM.cpp.

float64_t CSubGradientSVM::compute_min_subgradient ( int32_t  num_feat,
int32_t  num_vec,
int32_t  num_active,
int32_t  num_bound 
) [protected]

compute minimum norm subgradient return norm of minimum norm subgradient

Definition at line 289 of file SubGradientSVM.cpp.

float64_t CSubGradientSVM::compute_objective ( int32_t  num_feat,
int32_t  num_vec 
) [protected]

compute svm objective

Definition at line 397 of file SubGradientSVM.cpp.

void CSubGradientSVM::compute_projection ( int32_t  num_feat,
int32_t  num_vec 
) [protected]

compute projection

Definition at line 410 of file SubGradientSVM.cpp.

int32_t CSubGradientSVM::find_active ( int32_t  num_feat,
int32_t  num_vec,
int32_t &  num_active,
int32_t &  num_bound 
) [protected]

returns number of changed constraints for precision work_epsilon and fills active array

Definition at line 80 of file SubGradientSVM.cpp.

bool CSubGradientSVM::get_bias_enabled (  ) 

check if bias is enabled

Returns:
if bias is enabled

Definition at line 79 of file SubGradientSVM.h.

float64_t CSubGradientSVM::get_C1 (  ) 

get C1

Returns:
C1

Definition at line 61 of file SubGradientSVM.h.

float64_t CSubGradientSVM::get_C2 (  ) 

get C2

Returns:
C2

Definition at line 67 of file SubGradientSVM.h.

virtual EClassifierType CSubGradientSVM::get_classifier_type (  )  [virtual]

get classifier type

Returns:
classifier type SUBGRADIENTSVM

Reimplemented from CClassifier.

Definition at line 42 of file SubGradientSVM.h.

float64_t CSubGradientSVM::get_epsilon (  ) 

get epsilon

Returns:
epsilon

Definition at line 91 of file SubGradientSVM.h.

int32_t CSubGradientSVM::get_qpsize (  ) 

get qpsize

Returns:
qpsize

Definition at line 103 of file SubGradientSVM.h.

int32_t CSubGradientSVM::get_qpsize_max (  ) 

get qpsize_max

Returns:
qpsize_max

Definition at line 115 of file SubGradientSVM.h.

void CSubGradientSVM::init ( int32_t  num_vec,
int32_t  num_feat 
) [protected]

alloc helper arrays

Definition at line 421 of file SubGradientSVM.cpp.

float64_t CSubGradientSVM::line_search ( int32_t  num_feat,
int32_t  num_vec 
) [protected]

performs a line search to determine step size

Definition at line 223 of file SubGradientSVM.cpp.

void CSubGradientSVM::set_bias_enabled ( bool  enable_bias  ) 

set if bias shall be enabled

Parameters:
enable_bias if bias shall be enabled

Definition at line 73 of file SubGradientSVM.h.

void CSubGradientSVM::set_C ( float64_t  c1,
float64_t  c2 
)

set C

Parameters:
c1 new C1
c2 new C2

Definition at line 55 of file SubGradientSVM.h.

void CSubGradientSVM::set_epsilon ( float64_t  eps  ) 

set epsilon

Parameters:
eps new epsilon

Definition at line 85 of file SubGradientSVM.h.

void CSubGradientSVM::set_qpsize ( int32_t  q  ) 

set qpsize

Parameters:
q new qpsize

Definition at line 97 of file SubGradientSVM.h.

void CSubGradientSVM::set_qpsize_max ( int32_t  q  ) 

set qpsize_max

Parameters:
q new qpsize_max

Definition at line 109 of file SubGradientSVM.h.

bool CSubGradientSVM::train (  )  [virtual]

train SVM

Returns:
if training was successful

Reimplemented from CClassifier.

Definition at line 535 of file SubGradientSVM.cpp.

void CSubGradientSVM::update_active ( int32_t  num_feat,
int32_t  num_vec 
) [protected]

swaps the active / old_active and computes idx_active, idx_bound and sum_CXy_active arrays and the sum_Cy_active variable

Definition at line 202 of file SubGradientSVM.cpp.

void CSubGradientSVM::update_projection ( float64_t  alpha,
int32_t  num_vec 
) [protected]

only computes updates on the projection

Definition at line 416 of file SubGradientSVM.cpp.


Member Data Documentation

uint8_t* CSubGradientSVM::active [protected]

0=not active, 1=active, 2=on boundary

Definition at line 179 of file SubGradientSVM.h.

autoselected epsilon

Definition at line 162 of file SubGradientSVM.h.

beta

Definition at line 221 of file SubGradientSVM.h.

C1

Definition at line 154 of file SubGradientSVM.h.

C2

Definition at line 156 of file SubGradientSVM.h.

int32_t CSubGradientSVM::delta_active [protected]

delta active

Definition at line 187 of file SubGradientSVM.h.

int32_t CSubGradientSVM::delta_bound [protected]

delta bound

Definition at line 189 of file SubGradientSVM.h.

epsilon

Definition at line 158 of file SubGradientSVM.h.

grad b

Definition at line 211 of file SubGradientSVM.h.

grad proj

Definition at line 213 of file SubGradientSVM.h.

grad w

Definition at line 209 of file SubGradientSVM.h.

int32_t* CSubGradientSVM::hinge_idx [protected]

hinge index

Definition at line 217 of file SubGradientSVM.h.

hinge point

Definition at line 215 of file SubGradientSVM.h.

int32_t* CSubGradientSVM::idx_active [protected]

idx active

Definition at line 183 of file SubGradientSVM.h.

int32_t* CSubGradientSVM::idx_bound [protected]

idx bound

Definition at line 185 of file SubGradientSVM.h.

last iteration no improvement

Definition at line 173 of file SubGradientSVM.h.

number of iterations no improvement

Definition at line 175 of file SubGradientSVM.h.

uint8_t* CSubGradientSVM::old_active [protected]

old active

Definition at line 181 of file SubGradientSVM.h.

old beta

Definition at line 223 of file SubGradientSVM.h.

old v

Definition at line 203 of file SubGradientSVM.h.

old Z

Definition at line 231 of file SubGradientSVM.h.

old Zv

Definition at line 227 of file SubGradientSVM.h.

proj

Definition at line 191 of file SubGradientSVM.h.

int32_t CSubGradientSVM::qpsize [protected]

qpsize

Definition at line 164 of file SubGradientSVM.h.

int32_t CSubGradientSVM::qpsize_limit [protected]

limit of qpsize

Definition at line 168 of file SubGradientSVM.h.

int32_t CSubGradientSVM::qpsize_max [protected]

maximum qpsize

Definition at line 166 of file SubGradientSVM.h.

sum CXy active

Definition at line 199 of file SubGradientSVM.h.

sum Cy active

Definition at line 205 of file SubGradientSVM.h.

tmp proj

Definition at line 193 of file SubGradientSVM.h.

int32_t* CSubGradientSVM::tmp_proj_idx [protected]

tmp proj index

Definition at line 195 of file SubGradientSVM.h.

bool CSubGradientSVM::use_bias [protected]

shall bias be used

Definition at line 170 of file SubGradientSVM.h.

v

Definition at line 201 of file SubGradientSVM.h.

work epsilon

Definition at line 160 of file SubGradientSVM.h.

Z

Definition at line 229 of file SubGradientSVM.h.

Zv

Definition at line 225 of file SubGradientSVM.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation