Variability of the Neuroimaging Results Across OS, and How to Avoid It

Total Page:16

File Type:pdf, Size:1020Kb

Variability of the Neuroimaging Results Across OS, and How to Avoid It Center for Open Neuroscience cogito ergo sum C Variability of the Neuroimaging results across OS, and how to avoid it Yaroslav O. Halchenko Dartmouth College, Hanover, NH, USA May 2018 http://datalad.org http://www.pymvpa.org Houston, we’ve got a problem... Houston, we’ve got a problem... Houston, we’ve got a problem... Gronenschild et al. (2012) Houston, we’ve got a problem... Glatard et al. (2015) How neuroimaging study should be implemented to make it verifiably re-executable? Simple re-executable neuroimaging publication Ghosh et al. (2017) Simple re-executable neuroimaging publication Goal Investigate and document procedures to generate a verifiable re-executable publication: obtain the same result using the same software on the same data make it easy to check if results hold when computational environment changes Approach make entire analysis fully scripted and full computing environment unambiguously specified complement classical publication with all necessary code, data and documentation for anyone to (re)run the analysis (on same or different data/environment) Simple re-executable: Data input dataset created by querying NITRC Image Repository (NITRC-IR; nitrc.org/ir) for MRI images subjects age = 10–15 years magnet field strength = 3 24 subjects from 1000 Functional Connectomes project (Biswal et al., 2010) age=13.5 +/- 1.4 years; 16 males, 8 females; 8 right handed, 1 left and 15 unknown data provided into analysis as a simple list of URLs Simple re-executable: Analysis software FSL fsl.fmrib.ox.ac.uk/fsl/fslwiki brain segmentation and parcellation nipype nipy.org/nipype Python framework to ”glue” all tools together into a workflow NeuroDebian neuro.debian.net turnkey software platform for neuroscience NITRC-CE nitrc.org/ce NeuroDebian-based computing environment “in the cloud” Simple re-executable: Nipype workflow github.com/ReproNim/simple workflow/blob/master/run demo workflow.py Simple re-executable: GitHub repository/publication Analysis (full or partial) could be executed on custom/personal computing environment (e.g., OS X desktop) some pre-deployed environment such as NITRC-CE pre-generated Docker environment to obtain “reference result” custom (Docker image) environment, which you can generate by specifying some past date CircleCI - when any changes pushed to GitHub (buzzword: “Continuous Integration”) Simple re-executable: GitHub repository/publication Analysis (full or partial) could be executed on custom/personal computing environment (e.g., OS X desktop) some pre-deployed environment such as NITRC-CE pre-generated Docker environment to obtain “reference result” custom (Docker image) environment, which you can generate by specifying some past date CircleCI - when any changes pushed to GitHub (buzzword: “Continuous Integration”) How results of running on OS X differ from a reference run (on NeuroDebian GNU/Linux)? Result: Reference vs OS X How using the same software and data could provide different results? The “same” code but different behavior different arithmetic precision across platforms different compiler flags could trigger different optimizations and floating point arithmetic behavior even the very initial step of data conversion (from DICOM to NIfTI) could be affected! different implementations of core (e.g., LAPACK and BLAS) libraries Environment (variables) matter the choice of which tool is actually executed (PATH) the choice of libraries being used (LD LIBRARY PATH) actual behavior of the tool: see e.g. AFNI’s README.environment for a list of > 300 environment variables which could alter behavior of AFNI Visit www.reproducibleimaging.org/module-reproducible-basics/01-shell-basics/ for more information Beware: No software is written by God Unknown artist/origin, borrowed from http://blogs.quovantis.com/god-programmer/ Beware: All software has bugs! Unknown artist/origin, borrowed from http://blogs.quovantis.com/god-programmer/ Beware: Even data can have bugs! Unknown artist/origin, borrowed from http://blogs.quovantis.com/god-programmer/ “most recent” version does not mean “more correct” Bugs: bad news for “exact” reproducibility e.g. some lead to random (often 0s but not always) data being used as starting point some bugs do get fixed e.g. some lead to random (often 0s but not always) data being used as starting point Bugs: good news for science, but ... some bugs do get fixed “most recent” version does not mean “more correct” Lessons learned or How to make any analysis re-executable and results reproducible? How to improve reproducibility Establish efficient code and data management to retain full history of changes Test (unit-, regression-) your analysis and assumptions (Re)use public datasets Collect information about your computation environment Create your own virtualized/conteinerized computational environments from exact/unambiguous specification Automate your analysis as much as possible How to improve reproducibility Establish efficient code and data management to retain full history of changes Test (unit-, regression-) your analysis and assumptions (Re)use public datasetsSounds Utopian? CollectNeuroimaging information about community your computation is blessed environment with great Createinitiatives your own and virtualized/conteinerized tools to make it actually computational possible environments from exact/unambiguous specification Automate your analysis as much as possible How to improve reproducibility Establish efficient code and data management to retain full history of changes BIDS, ReproIn, DataLad (git, git-annex), ... Test (unit-, regression-) your analysis and assumptions PyTest, MOxUnit, CTest, Travis-CI, CircleCI, ... (Re)use public datasets NITRC-IR, OpenfMRI/OpenNeuro, INDI, datasets.datalad.org, ... Collect information about your computation environment ReproZip, NICEMAN, ... Create your own virtualized/conteinerized computational environments from exact/unambiguous specification NeuroDebian, NITRC-CE, NeuroDocker, ... Automate your analysis as much as possible nipype, ... BIDS Brain Imaging Data Structure bids-apps.neuroimaging.io BIDS: A directory/files structure for neuroimaging BIDS Benefits: BIDS is both machine- and human- friendly could be automatically verified using bids-validator turnkey use of pre-crafted BIDS-apps such as fmriprep, mriqc, etc github.com/INCF/bids-validator bids-apps.neuroimaging.io ReproIn Reproducible Input reproin.repronim.org ReproIn: Pile of DICOMs ! BIDS ReproIn heuristic is part of github.com/nipy/heudiconv ReproIn ReproIn ReproIn: Benefits Minimal single time investment of adhering to sequence naming convention to convert existing studies look into Heudiconv to create a custom conversion heuristic All datasets within center organized into a hierarchy reflecting hierarchy at the scanner console Sidecar .json files in BIDS contain “useful” DICOM fields (no more of “lost slice order”) DICOM files are retained under sourcedata/ (easy to re-convert if needed) All data (optionally) are maintained under distributed version control system (DataLad) to facilitate incremental updates collaboration orchestration of data flow across computing infrastructure DataLad Distribution and management platform for all digital artifacts datalad.org DataLad: data discovery, access, version control, ... DataLad: 10,000 ft overview uses git and git-annex for managing all (e.g., code and data) digital artifacts of science allows to manage data spread across wide range of local or cloud resources provides access to over 11TB of neuroimaging data from various data providers authentication crawling of websites with data resources getting data from archives publishing new or derived data assists with recording provenance of the analyses makes meta-data useful to normal humans can be used to store images of computation environments NeuroDebian Turnkey platform for neuroscince neuro.debian.net NeuroDebian: Turnkey platform for neuroscience apt-get install python-nipype heudiconv datalad n fsl afni singularity-container neuro.debian.net What is ? Windows Build-time tests Compatibility Mac OS X Maintainer tests QA/Testing other Interoperability testing Virtual machine Reproducable research Portability Teaching Publications Mentoring Mailing lists Proxy bugreports IRC (#neurodebian on OFTC) Online Portability patches Maintenance identi.ca/twitter (neurodebian) Packaging Library/compiler transitions Communication NeuroDebian Insider Blog Legal checks [email protected] Modularisation Conference booth Personal Talks Stalking i386 Debian amd64 Debian Science Software Blends i386 Debian Med Ubuntu amd64 BTS Data QA Usage statistics i386 Repository Debian amd64 Snapshoting armel DE Archive mips(el) GR kfreebsd-i386/amd64 US-CA Mirrors ... US-NH US-TN Derivatives Neurodocker Creator of containerized environments for neuroimaging github.com/kaczmarj/neurodocker NeuroDocker NICEMAN Neuroimaging Computation Environments Manager niceman.repronim.org NICEMAN: Collect sufficient information about computing environment to document (include alongside the publication) compare or validate re-instantiate (exactly) Discover information about Debian-based distributions Conda virtualenv, pip Version control systems (git, svn) WiP: containers (Docker, Singularity) Unify interface to work with different resources local host remote hosts (ssh) Docker Singularity Cloud (Amazon) niceman.repronim.org Reproducibility is in reach! Free and Open Source Software, Data sharing, Good code and data management practices are helping to make it happen Acknowledgments David Kennedy NSF-CRCNS (1429999) Satrajit Ghosh
Recommended publications
  • The Shogun Machine Learning Toolbox
    The Shogun Machine Learning Toolbox Heiko Strathmann, Gatsby Unit, UCL London Open Machine Learning Workshop, MSR, NY August 22, 2014 A bit about Shogun I Open-Source tools for ML problems I Started 1999 by SÖren Sonnenburg & GUNnar Rätsch, made public in 2004 I Currently 8 core-developers + 20 regular contributors I Purely open-source community driven I In Google Summer of Code since 2010 (29 projects!) Ohloh - Summary Ohloh - Code Supervised Learning Given: x y n , want: y ∗ x ∗ I f( i ; i )gi=1 j I Classication: y discrete I Support Vector Machine I Gaussian Processes I Logistic Regression I Decision Trees I Nearest Neighbours I Naive Bayes I Regression: y continuous I Gaussian Processes I Support Vector Regression I (Kernel) Ridge Regression I (Group) LASSO Unsupervised Learning Given: x n , want notion of p x I f i gi=1 ( ) I Clustering: I K-Means I (Gaussian) Mixture Models I Hierarchical clustering I Latent Models I (K) PCA I Latent Discriminant Analysis I Independent Component Analysis I Dimension reduction I (K) Locally Linear Embeddings I Many more... And many more I Multiple Kernel Learning I Structured Output I Metric Learning I Variational Inference I Kernel hypothesis testing I Deep Learning (whooo!) I ... I Bindings to: LibLinear, VowpalWabbit, etc.. http://www.shogun-toolbox.org/page/documentation/ notebook Some Large-Scale Applications I Splice Site prediction: 50m examples of 200m dimensions I Face recognition: 20k examples of 750k dimensions ML in Practice I Modular data represetation I Dense, Sparse, Strings, Streams, ... I Multiple types: 8-128 bit word size I Preprocessing tools I Evaluation I Cross-Validation I Accuracy, ROC, MSE, ..
    [Show full text]
  • Python Libraries, Development Frameworks and Algorithms for Machine Learning Applications
    Published by : International Journal of Engineering Research & Technology (IJERT) http://www.ijert.org ISSN: 2278-0181 Vol. 7 Issue 04, April-2018 Python Libraries, Development Frameworks and Algorithms for Machine Learning Applications Dr. V. Hanuman Kumar, Sr. Assoc. Prof., NHCE, Bangalore-560 103 Abstract- Nowadays Machine Learning (ML) used in all sorts numerical values and is of the form y=A0+A1*x, for input of fields like Healthcare, Retail, Travel, Finance, Social Media, value x and A0, A1 are the coefficients used in the etc., ML system is used to learn from input data to construct a representation with the data that we have. The classification suitable model by continuously estimating, optimizing and model helps to identify the sentiment of a particular post. tuning parameters of the model. To attain the stated, For instance a user review can be classified as positive or python programming language is one of the most flexible languages and it does contain special libraries for negative based on the words used in the comments. Emails ML applications namely SciPy, NumPy, etc., which great for can be classified as spam or not, based on these models. The linear algebra and getting to know kernel methods of machine clustering model helps when we are trying to find similar learning. The python programming language is great to use objects. For instance If you are interested in read articles when working with ML algorithms and has easy syntax about chess or basketball, etc.., this model will search for the relatively. When taking the deep-dive into ML, choosing a document with certain high priority words and suggest framework can be daunting.
    [Show full text]
  • Tapkee: an Efficient Dimension Reduction Library
    JournalofMachineLearningResearch14(2013)2355-2359 Submitted 2/12; Revised 5/13; Published 8/13 Tapkee: An Efficient Dimension Reduction Library Sergey Lisitsyn [email protected] Samara State Aerospace University 34 Moskovskoye shosse 443086 Samara, Russia Christian Widmer∗ [email protected] Computational Biology Center Memorial Sloan-Kettering Cancer Center 415 E 68th street New York City 10065 NY, USA Fernando J. Iglesias Garcia [email protected] KTH Royal Institute of Technology 79 Valhallavagen¨ 10044 Stockholm, Sweden Editor: Cheng Soon Ong Abstract We present Tapkee, a C++ template library that provides efficient implementations of more than 20 widely used dimensionality reduction techniques ranging from Locally Linear Embedding (Roweis and Saul, 2000) and Isomap (de Silva and Tenenbaum, 2002) to the recently introduced Barnes- Hut-SNE (van der Maaten, 2013). Our library was designed with a focus on performance and flexibility. For performance, we combine efficient multi-core algorithms, modern data structures and state-of-the-art low-level libraries. To achieve flexibility, we designed a clean interface for ap- plying methods to user data and provide a callback API that facilitates integration with the library. The library is freely available as open-source software and is distributed under the permissive BSD 3-clause license. We encourage the integration of Tapkee into other open-source toolboxes and libraries. For example, Tapkee has been integrated into the codebase of the Shogun toolbox (Son- nenburg et al., 2010), giving us access to a rich set of kernels, distance measures and bindings to common programming languages including Python, Octave, Matlab, R, Java, C#, Ruby, Perl and Lua.
    [Show full text]
  • ML Cheatsheet Documentation
    ML Cheatsheet Documentation Team Sep 02, 2021 Basics 1 Linear Regression 3 2 Gradient Descent 21 3 Logistic Regression 25 4 Glossary 39 5 Calculus 45 6 Linear Algebra 57 7 Probability 67 8 Statistics 69 9 Notation 71 10 Concepts 75 11 Forwardpropagation 81 12 Backpropagation 91 13 Activation Functions 97 14 Layers 105 15 Loss Functions 117 16 Optimizers 121 17 Regularization 127 18 Architectures 137 19 Classification Algorithms 151 20 Clustering Algorithms 157 i 21 Regression Algorithms 159 22 Reinforcement Learning 161 23 Datasets 165 24 Libraries 181 25 Papers 211 26 Other Content 217 27 Contribute 223 ii ML Cheatsheet Documentation Brief visual explanations of machine learning concepts with diagrams, code examples and links to resources for learning more. Warning: This document is under early stage development. If you find errors, please raise an issue or contribute a better definition! Basics 1 ML Cheatsheet Documentation 2 Basics CHAPTER 1 Linear Regression • Introduction • Simple regression – Making predictions – Cost function – Gradient descent – Training – Model evaluation – Summary • Multivariable regression – Growing complexity – Normalization – Making predictions – Initialize weights – Cost function – Gradient descent – Simplifying with matrices – Bias term – Model evaluation 3 ML Cheatsheet Documentation 1.1 Introduction Linear Regression is a supervised machine learning algorithm where the predicted output is continuous and has a constant slope. It’s used to predict values within a continuous range, (e.g. sales, price) rather than trying to classify them into categories (e.g. cat, dog). There are two main types: Simple regression Simple linear regression uses traditional slope-intercept form, where m and b are the variables our algorithm will try to “learn” to produce the most accurate predictions.
    [Show full text]
  • GNU/Linux AI & Alife HOWTO
    GNU/Linux AI & Alife HOWTO GNU/Linux AI & Alife HOWTO Table of Contents GNU/Linux AI & Alife HOWTO......................................................................................................................1 by John Eikenberry..................................................................................................................................1 1. Introduction..........................................................................................................................................1 2. Traditional Artificial Intelligence........................................................................................................1 3. Connectionism.....................................................................................................................................1 4. Evolutionary Computing......................................................................................................................1 5. Alife & Complex Systems...................................................................................................................1 6. Agents & Robotics...............................................................................................................................1 7. Programming languages.......................................................................................................................2 8. Missing & Dead...................................................................................................................................2 1. Introduction.........................................................................................................................................2
    [Show full text]
  • Arxiv:1702.01460V5 [Cs.LG] 10 Dec 2018 1
    Journal of Machine Learning Research 1 (2016) 1-15 Submitted 8/93;; Published 9/93 scikit-multilearn: A scikit-based Python environment for performing multi-label classification Piotr Szyma´nski [email protected],illimites.edu.plg Department of Computational Intelligence Wroc law University of Science and Technology Wroc law, Poland illimites foundation Wroc law, Poland Tomasz Kajdanowicz [email protected] Department of Computational Intelligence Wroc law University of Science and Technology Wroc law, Poland Editor: Leslie Pack Kaelbling Abstract scikit-multilearn is a Python library for performing multi-label classification. The library is compatible with the scikit/scipy ecosystem and uses sparse matrices for all internal op- erations. It provides native Python implementations of popular multi-label classification methods alongside a novel framework for label space partitioning and division. It includes modern algorithm adaptation methods, network-based label space division approaches, which extracts label dependency information and multi-label embedding classifiers. It pro- vides python wrapped access to the extensive multi-label method stack from Java libraries and makes it possible to extend deep learning single-label methods for multi-label tasks. The library allows multi-label stratification and data set management. The implementa- tion is more efficient in problem transformation than other established libraries, has good test coverage and follows PEP8. Source code and documentation can be downloaded from http://scikit.ml and also via pip. The library follows BSD licensing scheme. Keywords: Python, multi-label classification, label-space clustering, multi-label embed- ding, multi-label stratification arXiv:1702.01460v5 [cs.LG] 10 Dec 2018 1.
    [Show full text]
  • Machine Learning for Genomic Sequence Analysis
    Machine Learning for Genomic Sequence Analysis - Dissertation - vorgelegt von Dipl. Inform. S¨oren Sonnenburg aus Berlin Von der Fakult¨at IV - Elektrotechnik und Informatik der Technischen Universit¨at Berlin zur Erlangung des akademischen Grades Doktor der Naturwissenschaften — Dr. rer. nat. — genehmigte Dissertation Promotionsaussschuß Vorsitzender: Prof. Dr. Thomas Magedanz • Berichter: Dr. Gunnar R¨atsch • Berichter: Prof. Dr. Klaus-Robert Muller¨ • Tag der wissenschaftlichen Aussprache: 19. Dezember 2008 Berlin 2009 D83 Acknowledgements Above all, I would like to thank Dr. Gunnar R¨atsch and Prof. Dr. Klaus-Robert M¨uller for their guidance and inexhaustible support, without which writing this thesis would not have been possible. All of the work in this thesis has been done at the Fraunhofer Institute FIRST in Berlin and the Friedrich Miescher Laboratory in T¨ubingen. I very much enjoyed the inspiring atmosphere in the IDA group headed by K.-R. M¨uller and in G. R¨atsch’s group in the FML. Much of what we have achieved was only possible in a joint effort. As the various fruitful within-group collaborations expose — we are a team. I would like to thank Fabio De Bona, Lydia Bothe, Vojtech Franc, Sebastian Henschel, Motoaki Kawanabe, Cheng Soon Ong, Petra Philips, Konrad Rieck, Reiner Schulz, Gabriele Schweikert, Christin Sch¨afer, Christian Widmer and Alexander Zien for reading the draft, helpful discussions and moral support. I acknowledge the support from all members of the IDA group at TU Berlin and Fraunhofer FIRST and the members of the Machine Learning in Computational Biology group at the Friedrich Miescher Laboratory, especially for the tolerance of letting me run the large number of compute-jobs that were required to perform the experiments.
    [Show full text]
  • The SHOGUN Machine Learning Toolbox
    Introduction Machine Learning The SHOGUN Machine Learning Toolbox The SHOGUN Machine Learning Toolbox (and its python interface) S¨orenSonnenburg1;2, Gunnar R¨atsch2,Sebastian Henschel2,Christian Widmer2,Jonas Behr2,Alexander Zien2,Fabio de Bona2,Alexander Binder1,Christian Gehl1, and Vojtech Franc3 1 Berlin Institute of Technology, Germany 2 Friedrich Miescher Laboratory, Max Planck Society, Germany 3 Center for Machine Perception, Czech Republic fml Introduction Machine Learning The SHOGUN Machine Learning Toolbox Outline 1 Introduction 2 Machine Learning 3 The SHOGUN Machine Learning Toolbox Introduction Machine Learning The SHOGUN Machine Learning Toolbox About me Who Am I? About Me 1997-2002 studied Computer Science 2002-2009 doing ML & Bioinformatics research at Fraunhofer Institute FIRST and Max Planck Society since 2002 2008 PhD: Machine Learning for Genomic Sequence Analysis 2009- Researcher at Berlin Institute of Technology Open Source Involvement Debian Developer http://www.debian.org Machine Learning OSS http://mloss.org Machine Learning Data http://mldata.org Main author of SHOGUN - this talk More about me http://sonnenburgs.de/soeren Introduction Machine Learning The SHOGUN Machine Learning Toolbox Machine Learning - Learning from Data What is Machine Learning and what can it do for you? What is ML? AIM: Learning from empirical data! Applications speech and handwriting recognition search engines, natural language processing medical diagnosis, bioinformatics, chemoinformatics detecting credit card fraud computer vision, object
    [Show full text]
  • Learning Kernels -Tutorial Part IV: Software Solutions
    Learning Kernels -Tutorial Part IV: Software Solutions Corinna Cortes Mehryar Mohri Afshin Rostami Google Research Courant Institute & UC Berkeley [email protected] Google Research arostami@eecs. [email protected] berkeley.edu This Part Software Solutions Demo Corinna Cortes, Mehryar Mohri, Afshin Rostami - ICML 2011 Tutorial. page 2 Open-Source Software Provide easy-to-use and efficient implementations of useful learning kernel algorithms. Allows end-users to combine standard as well as specialized domain-specific kernels. Allow researchers to easily compare against established learning kernel algorithms. Allow developers to makes use of and extend existing algorithms. Corinna Cortes, Mehryar Mohri, Afshin Rostami - ICML 2011 Tutorial. page 3 Open-Source Software Libraries and single algorithms - a starting point: • SHOGUN http://www.shogun-toolbox.org • OpenKernel.org http://www.openkernel.org • DOGMA (online alg: UFO) http://dogma.sourceforge.net/index.html • MKL-SMO, HKL http://www.di.ens.fr/~fbach/index.htm#software • SMO q-norm, GMKL http://research.microsoft.com/ ̃manik/ • SimpleMKL http://asi.insa-rouen.fr/enseignants/~arakotom/code/mklindex.html • Mixed-Norm http://www.cse.iitb.ac.in/saketh/research.html • DC-program http://www.cs.ucl.ac.uk/staff/A.Argyriou/code/dc/ • LP-B, LP-β http://www.vision.ee.ethz.ch/~pgehler/ • MC-MKL http://http://www.fml.tuebingen.mpg.de/raetsch/ Corinna Cortes, Mehryar Mohri, Afshin Rostami - ICML 2011 Tutorial. page 4 SHOGUN www.shogun-toolbox.org S. Sonnenburg, G. Raetsch, S. Henschel Large scale kernel methods, focusing on SVM. MATLAB, R, Octave and Python interfaces. Choice of LibSVM, Liblinear, SVMLight for internal solver. Standard kernels (e.g.
    [Show full text]
  • The Shogun Machine Learning Toolbox
    The Shogun Machine Learning Toolbox [email protected] Europython 2014 July 24, 2014 Outline Overview Machine Learning Features Technical Features Community A bit about me I Heiko Strathmann - http://herrstrathmann.de/ I 2004-2008 - Jazz guitar I 2008-2013 - BSc in CS, MSc in ML I Phd in Neuroscience & Machine Learning, UCL I Kernels, Bayesian & MCMC, Bioinformatics, Open-Source I Involved in Shogun since 2010 A bit about Machine Learning I Science of patterns in information I For example for recognising I Frauds in aeroplane wings I Skin cancer I Abuse of bank accounts I ...or predicting I Treatment resistance of HIV I Brain activity I Products on Amazon/Spotify/Netix I Not limited to, but including I Statistics I Big Data & <place-buzzword> I Robot world domination A bit about Shogun I Open-Source tools for ML problems I Made public in 2004 I Currently 8 core-developers + 20 regular contributors I Originally academic background I In Google Summer of Code since 2010 (29 projects!) I Upcoming workshop: July 27, 28, c-base Ohloh - Summary Ohloh - Code Ohloh - Commits Outline Overview Machine Learning Features Technical Features Community Supervised Learning Given: x y n , want: y ∗ x ∗ I f( i ; i )gi=1 j I Classication: y discrete I Support Vector Machine I Gaussian Processes I Logistic Regression I Decision Trees I Nearest Neighbours I Naive Bayes I Regression: y continuous I Gaussian Processes I Support Vector Regression I (Kernel) Ridge Regression I (Group) LASSO Unsupervised Learning Given: x n , want notion of p x I f i gi=1 ( ) I Clustering: I K-Means I (Gaussian) Mixture Models I Hierarchical clustering I Latent Models I (K) PCA I Latent Discriminant Analysis I Independent Component Analysis I Dimension reduction I (K) Locally Linear Embeddings I Many more..
    [Show full text]
  • The SHOGUN Machine Learning Toolbox (And Its R Interface)
    Introduction Features Code Example Summary The SHOGUN Machine Learning Toolbox (and its R interface) S¨orenSonnenburg1;2, Gunnar R¨atsch2,Sebastian Henschel2, Christian Widmer2,Jonas Behr2,Alexander Zien2,Fabio De Bona2,Alexander Binder1,Christian Gehl1, and Vojtech Franc3 1 Berlin Institute of Technology, Germany 2 Friedrich Miescher Laboratory, Max Planck Society, Germany 3 Center for Machine Perception, Czech Republic fml Introduction Features Code Example Summary Outline 1 Introduction 2 Features 3 Code Example 4 Summary fml Introduction Features Code Example Summary Introduction What can you do with the SHOGUN Machine Learning Toolbox [6]? Types of problems: Clustering (no labels) Classification (binary labels) Regression (real valued labels) Structured Output Learning (structured labels) Main focus is on Support Vector Machines (SVMs) Also implements a number of other ML methods like Hidden Markov Models (HMMs) Linear Discriminant Analysis (LDA) Kernel Perceptrons fml Introduction Features Code Example Summary Support Vector Machine Given: Points xi 2 X (i = 1;:::; N) with labels yi 2 {−1; +1g Task: Find hyperplane that maximizes margin Decision function f (x) = w · x + b fml Introduction Features Code Example Summary SVM with Kernels SVM decision function in kernel feature space: N X f (x) = yi αi Φ(x) · Φ(xi ) + b (1) i=1 | {z } =k(x;xi ) Training: Find parameters α Corresponds to solving quadratic optimization problem (QP) fml Introduction Features Code Example Summary Large-Scale SVM Implementations Different SVM solvers employ
    [Show full text]
  • ML-Flex: a Flexible Toolbox for Performing Classification Analyses
    JournalofMachineLearningResearch13(2012)555-559 Submitted 6/11; Revised 2/12; Published 3/12 ML-Flex: A Flexible Toolbox for Performing Classification Analyses In Parallel Stephen R. Piccolo [email protected] Department of Pharmacology and Toxicology, School of Pharmacy University of Utah Salt Lake City, UT 84112, USA Lewis J. Frey [email protected] Huntsman Cancer Institute Department of Biomedical Informatics, School of Medicine University of Utah Salt Lake City, UT 84112, USA Editor: Geoff Holmes Abstract Motivated by a need to classify high-dimensional, heterogeneous data from the bioinformatics do- main, we developed ML-Flex, a machine-learning toolbox that enables users to perform two-class and multi-class classification analyses in a systematic yet flexible manner. ML-Flex was writ- ten in Java but is capable of interfacing with third-party packages written in other programming languages. It can handle multiple input-data formats and supports a variety of customizations. ML- Flex provides implementations of various validation strategies, which can be executed in parallel across multiple computing cores, processors, and nodes. Additionally, ML-Flex supports aggre- gating evidence across multiple algorithms and data sets via ensemble learning. This open-source software package is freely available from http://mlflex.sourceforge.net. Keywords: toolbox, classification, parallel, ensemble, reproducible research 1. Introduction The machine-learning community has developed a wide array of classification algorithms, but they are implemented in diverse programming languages, have heterogeneous interfaces, and require disparate file formats. Also, because input data come in assorted formats, custom transformations often must precede classification. To address these challenges, we developed ML-Flex, a general- purpose toolbox for performing two-class and multi-class classification analyses.
    [Show full text]