16 using namespace shogun;
40 return feats_dim*num_classes;
49 get_computed_dot_feature_vector(feat_idx);
75 REQUIRE(m_num_classes > 0,
"The model needs to be trained before "
76 "using it for prediction\n");
87 for ( int32_t c = 0 ; c < m_num_classes ; ++c )
93 if ( score > max_score )
106 ret->
score = max_score;
132 REQUIRE(y1_idx >= 0 || y1_idx < m_labels->get_num_labels(),
133 "The label index must be inside [0, num_labels-1]\n");
144 return (y1 == y2) ? 0 : 1;
159 void CMulticlassModel::init()
161 SG_ADD(&m_num_classes,
"m_num_classes",
"The number of classes",
185 const uint32_t w_dim=
get_dim();
188 for (uint32_t i=0; i<w_dim; i++)
199 for(uint32_t i=from; i<to; ++i)
203 GT=(uint32_t)GT_rn->
value;
205 for (uint32_t c = 0; c < num_classes; ++c)
207 loss=(c == GT) ? 0.0 : 1.0;
208 Rtmp=loss+X->
dense_dot(i, W+c*feats_dim, feats_dim)
209 -X->
dense_dot(i, W+GT*feats_dim, feats_dim);