25 #define SMOOTHHINGELOSS 2
26 #define SQUAREDHINGELOSS 3
28 #define LOGLOSSMARGIN 11
31 #define LOSS HINGELOSS
57 return log(1+exp(-z));
59 return -z + log(1+exp(z));
60 #elif LOSS == LOGLOSSMARGIN
62 return log(1+exp(1-z));
64 return 1-z + log(1+exp(z-1));
65 #elif LOSS == SMOOTHHINGELOSS
69 return 0.5 * (1-z) * (1-z);
71 #elif LOSS == SQUAREDHINGELOSS
73 return 0.5 * (1 - z) * (1 - z);
75 #elif LOSS == HINGELOSS
80 # error "Undefined loss"
91 return 1 / (exp(z) + 1);
94 #elif LOSS == LOGLOSSMARGIN
96 return 1 / (exp(z-1) + 1);
99 #elif LOSS == SMOOTHHINGELOSS
105 #elif LOSS == SQUAREDHINGELOSS
virtual ~CLoss()
Destructor - frees logtable.
CLoss()
Constructor - initializes log-table.
all of classes and functions are contained in the shogun namespace
Class which collects generic mathematical functions.
static float64_t dloss(float64_t z)
static float64_t loss(float64_t z)