diff options
| author | Gertjan van den Burg <burg@ese.eur.nl> | 2016-09-30 20:22:18 +0200 |
|---|---|---|
| committer | Gertjan van den Burg <burg@ese.eur.nl> | 2016-09-30 20:22:18 +0200 |
| commit | 369fd7c981bc468e9002be6f4813e08664413a81 (patch) | |
| tree | 37312074e6dabb06b1375f298666a7fe63a78237 /include | |
| parent | remove unnecessary W and t matrices (diff) | |
| download | gensvm-369fd7c981bc468e9002be6f4813e08664413a81.tar.gz gensvm-369fd7c981bc468e9002be6f4813e08664413a81.zip | |
Remove category matrix from implementation
It's a remnant from the Matlab implementation, where it actually
makes sense to use. Here it becomes a significant memory burden
for large datasets, and doesn't provide any speedup
Diffstat (limited to 'include')
| -rw-r--r-- | include/gensvm_base.h | 3 | ||||
| -rw-r--r-- | include/gensvm_optimize.h | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/include/gensvm_base.h b/include/gensvm_base.h index ded0149..390a9b6 100644 --- a/include/gensvm_base.h +++ b/include/gensvm_base.h @@ -87,9 +87,6 @@ struct GenModel { ///< error matrix double *H; ///< Huber weighted error matrix - double *R; - ///< 0-1 auixiliary matrix, this matrix is n x K, with for row i a 0 on - ///< column y[i]-1, and 1 everywhere else. double *rho; ///< vector of instance weights double training_error; diff --git a/include/gensvm_optimize.h b/include/gensvm_optimize.h index bef9669..3fd9607 100644 --- a/include/gensvm_optimize.h +++ b/include/gensvm_optimize.h @@ -22,8 +22,10 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data); double gensvm_get_loss(struct GenModel *model, struct GenData *data, double *ZV); -double gensvm_calculate_omega(struct GenModel *model, long i); -bool gensvm_majorize_is_simple(struct GenModel *model, long i); +double gensvm_calculate_omega(struct GenModel *model, struct GenData *data, + long i); +bool gensvm_majorize_is_simple(struct GenModel *model, struct GenData *data, + long i); void gensvm_calculate_ab_non_simple(struct GenModel *model, long i, long j, double *a, double *b_aq); void gensvm_calculate_ab_simple(struct GenModel *model, long i, long j, @@ -34,8 +36,6 @@ double gensvm_get_Avalue_update_B(struct GenModel *model, long i, double *B); void gensvm_get_update(struct GenModel *model, struct GenData *data, double *B, double *ZAZ, double *ZAZV, double *ZAZVT); -void gensvm_category_matrix(struct GenModel *model, struct GenData *data); -void gensvm_simplex_diff(struct GenModel *model, struct GenData *dataset); void gensvm_calculate_errors(struct GenModel *model, struct GenData *data, double *ZV); void gensvm_calculate_huber(struct GenModel *model); |
