Skip to content

huibinshen/softALIGNF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#ALIGNF+ (softALIGNF)

This is a python implementation of soft ALIGNF, where the solution of ALIGNF is upper bounded. The detail can be refered to the following publication.

Huibin Shen, Sandor Szedmak, Céline Brouard and Juho Rousu: Soft Kernel Target Alignment for Two-stage Multiple Kernel Learning. In proceedings of Discovery Science 2016, Bari, Italy.

Dependencies:

Instructions:

The package contains two set of experiments: handle each label independently using SVM and predict multiple labels at the same time with OVKR (Operator valued kernel regression).

The package contains several small datasets (no more than 2000 examples) used in the above publication. The original large image annotation datasets are taken from the paper and multi-class bioinformatics datasets are taken from the [paper](Multiclass multiple kernel learning).

alignfSLACK.py is the soft ALGINF implementation where an upperbound should be provided by users.

Handle label indpendently using SVM (svm_code folder)

  • run_mkl.py. Apply different mkl methods (ALIGNF+, UNIMKL, ALIGNF, TSMKL) to a set of datasets. The learned kernel weights are saved in svm_result folder.

  • run_svm.py. Combine the kernel with the learned weights and use svm to predict labels independently. The prediction are saved in svm_result folder.

  • run_mkl_noise.py. Add noise on the labels before testing MKL methods. The learned kernel weights are saved in svm_result folder.

  • run_svm_noise.py. Using the learned kernel weights which is based from noisy labels to combine the kernels and testing svm performance on the uncorrupted labels. The prediction are saved in ovkr_result folder.

Handle labels jointly using OVKR (ovkr_code folder)

  • run_mkl.py. Apply different mkl methods (ALIGNF+, ALIGNF) to a set of multilabel datasets. The learned kernel weights are saved in ovkr_result folder.

  • run_ovkr.py. Combine the kernel with the learned weights and use ovkr to predict labels jointly. The prediction are saved in ovkr_result folder.

  • run_mkl_noise.py. Add noise on the labels before testing MKL methods. The learned kernel weights are saved in ovkr_result folder.

  • run_ovkr_noise.py. Using the learned kernel weights which is based from noisy labels to combine the kernels and testing ovkr performance on the uncorrupted labels. The prediction are saved in ovkr_result folder.

Releases

No releases published

Packages

No packages published