From df9c3ca0b62f1a20071bee3a55d24d673c5d11e0 Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Fri, 30 Jan 2015 16:22:52 +0100 Subject: first working version of new kernel GenSVM --- src/gensvm_train.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/gensvm_train.c') diff --git a/src/gensvm_train.c b/src/gensvm_train.c index 09f2560..c264ffa 100644 --- a/src/gensvm_train.c +++ b/src/gensvm_train.c @@ -94,10 +94,10 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data) it++; } if (L > Lbar) - fprintf(stderr, "GenSVM warning: Negative step occurred in " + fprintf(stderr, "[WARNING]: Negative step occurred in " "majorization.\n"); if (it >= MAX_ITER) - fprintf(stderr, "GenSVM warning: maximum number of iterations " + fprintf(stderr, "[WARNING]: maximum number of iterations " "reached.\n"); note("Optimization finished, iter = %li, loss = %15.16f, " @@ -166,12 +166,10 @@ double gensvm_get_loss(struct GenModel *model, struct GenData *data, loss /= ((double) n); value = 0; - for (i=0; iV, K-1, i, j), 2.0); + value += pow(matrix_get(model->V, K-1, i, j), 2.0); } - value += data->J[i] * rowvalue; } loss += model->lambda * value; @@ -445,7 +443,7 @@ void gensvm_get_update(struct GenModel *model, struct GenData *data, double *B, i = 0; for (j=0; jlambda * data->J[j+1]; + ZAZ[i] += model->lambda; } // For the LAPACK call we need to switch to Column- -- cgit v1.2.3