Giter Site home page Giter Site logo

mom's Introduction

MoM (Minimization of Majorization)

Description

The main concept of this problem is presented in detail on [1]. Concisely, in this paper is presented a new method for the analysis of fMRI data sets, that is capable to incorporate a priori available information, via an efficient optimization framework.

In the brain, a number of different functions/processes take place simultaneously; thus, the obtained data consists of a mixture of various activation signals referred to as sources. The aim of fMRI data analysis is to unmix those sources in order to reveal both their activation patterns as well as the corresponding activated brain areas, associated with each one of the sources.

From a mathematical point of view, the source unmixing task can be described as a problem of factorization of the data matrix, XD·S where D ∈ ℝT×K is a matrix, whose columns represent the activation patterns or time courses, associated with each one of the sources, ℝK×N is the matrix whose rows model the brain areas, activated by the corresponding sources, and K is the number of sources, whose value is set by the user. The rows of the matrix S are usually referred to as spatial maps.

Recently, a new method, called Supervised Dictionary Learning (SDL), was presented, leading to enhanced results. The starting point in the formulation of the SDL, lies in the splitting of the main dictionary in two parts: D = [Δ,DF] ∈ ℝT×K where the first part, Δ∈ ℝT×M, is constrained to contain the imposed task-related time courses and is considered fixed. In contrast, the second part, DF ∈ ℝK×N, is the variable one to be estimated via DL optimizing arguments.This approach provides a more relaxed way of incorporating the a-priori adopted forms of the time courses.

In the paper [1], a new Dictionary Learning method is proposed to compute a good estimation of D and S, based on Supervised Dictionary Learning (SDL). The main idea is to consider that the atoms of the constrained part are not necessarily equal to the a-priori selected ones; instead, a looser constraint is employed, embedded in the optimization process. Thus, the strong equality demand is relaxed by a looser similarity distance-measuring norm constraint.The starting point is, again, to split the dictionary: D = [DC,DF] ∈ ℝT×K. In contrast to the SDL approach, however, the constrained part, DC ∈ ℝT×M, is not considered fixed any more; instead, it can vary in line with the constrained optimization cost. The simplified optimization task, adopted here is: (Ď,Š)=argminD,SX-DSF2

As part of our thesis, we manage to accelarate this algorithm using GPU and parallel computing.

Code

The code proposed from this paper is available here, written in matlab. You can see the pseudocode in the image below.

pseudocode

The goal is to rewrite the code using the GPU in order to improve the performance of the given code. We wrote two version of this code: one written in CUDA and another written in Matlab using GPU arrays.

Specs

specs

References

[1] https://www.researchgate.net/publication/309008892_Assisted_Dictionary_Learning_for_fMRI_Data_Analysis
[2] https://github.com/MorCTI/Attom-Assisted-DL
[3] http://www.mat.unimi.it/users/sansotte/cuda/CUDA_by_Example.pdf

mom's People

Contributors

patschris avatar

Watchers

James Cloos 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.