Giter Club home page Giter Club logo

unsupervised_multiple_kernel_learning's Introduction

Unsupervised Multiple Kernel Learning

This is an implementation of unsupervised multiple kernel learning (U-MKL) for dimensionality reduction, which builds upon a supervised MKL technique by Lin et al (10.1109/TPAMI.2010.183).

By a combination of feature-based kernels, it allows optimally fusing heterogeneous information and weighting the contribution of each input to the final result.

U-MKL handles heterogeneous descriptors and reduces their complexity into a simplified, low-dimensional representation, which highlights the main characteristics of the input data.

Further information can be found in Sanchez-Martinez et al. (https://doi.org/10.1016/j.media.2016.06.007)

Citation

Published reports of research using this code (or a modified version) may cite the following article that describes the multiple kernel learning for dimensionality reduction approach:

  • Y. Lin, T. Liu, and C. Fuh. Multiple kernel learning for dimensionality reduction. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33:1147–1160, 2011.

The present MATLAB implementation is the one detailed in:

  • S. Sanchez-Martinez, N. Duchateau, T. Erdei, A.G. Fraser, B.H. Bijnens, and G. Piella. Characterization of myocardial motion patterns by unsupervised multiple kernel learning. Medical Image Analysis, 35:70-82, 2017.

Database

Synthetic left ventricular myocardial velocities that emulate the span of cardiac abnormalities that may be observed in a HFPEF population, ranging from completely normal subjects (Group 1) to subjects with a severely impaired cardiac function (Group 5). Four features of the velocity traces, extracted from physiological knowledge about impaired cardiac function, have been modified to create the synthetic curves, namely:

  1. Diminished systolic peak velocity
  2. Delay of the systolic peak velocity
  3. Appearance of a post-systolic event
  4. Fusion during diastole of the negative peaks corresponding to the left ventricular suction and the atrial contraction.

IMAGE ALT TEXT

Twenty subjects have been created for each group, making a total of 100 subjects. The velocity curves are split in 4 segments, as depicted in the figure above. Each of these segments will be a feature to be used as input to the MKL algorithm.

Segment number Number of samples per segment
#1 500
#2 500
#3 250
#4 2000

Code

Clean version of the unsupervised Multiple Kernel Learning for dimensionality reduction code. A few remarks: 

Requirements

It is necessary to install the CVX toolbox to be able to run the algorithm. See the details in the CVX web.

Execution

The C scripts (computeENERGY.c, computeSWA.c and computeSWB.c) need to be compiled in Matlab. To do so just write in the Matlab command line: 

mex computeENERGY
mex computeSWA
mex computeSWB

If any problem occurs during compilation, try:

 mex -setup

to change the configuration.

After this is done, run “Launch_MKL.m” function

Output

IMAGE ALT TEXT

Demo

IMAGE ALT TEXT

License

Unsupervised Multiple Kernel Learning is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Unsupervised Multiple Kernel Learning is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with Unsupervised Multiple Kernel Learning. If not, see http://www.gnu.org/licenses/.

unsupervised_multiple_kernel_learning's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.