Header logo is

ccSVM: correcting Support Vector Machines for confounding factors in biological data classification




Motivation: Classifying biological data into different groups is a central task of bioinformatics: for instance, to predict the function of a gene or protein, the disease state of a patient or the phenotype of an individual based on its genotype. Support Vector Machines are a wide spread approach for classifying biological data, due to their high accuracy, their ability to deal with structured data such as strings, and the ease to integrate various types of data. However, it is unclear how to correct for confounding factors such as population structure, age or gender or experimental conditions in Support Vector Machine classification. Results: In this article, we present a Support Vector Machine classifier that can correct the prediction for observed confounding factors. This is achieved by minimizing the statistical dependence between the classifier and the confounding factors. We prove that this formulation can be transformed into a standard Support Vector Machine with rescaled input data. In our experiments, our confounder correcting SVM (ccSVM) improves tumor diagnosis based on samples from different labs, tuberculosis diagnosis in patients of varying age, ethnicity and gender, and phenotype prediction in the presence of population structure and outperforms state-of-the-art methods in terms of prediction accuracy.

Author(s): Li, L. and Rakitsch, B. and Borgwardt, K.
Journal: Bioinformatics
Volume: 27
Number (issue): 13: ISMB/ECCB 2011
Pages: i342-i348
Year: 2011
Month: July
Day: 0

Department(s): Empirical Inference
Bibtex Type: Article (article)

Digital: 0
DOI: 10.1093/bioinformatics/btr204

Links: Web


  title = {ccSVM: correcting Support Vector Machines for confounding factors in biological data classification},
  author = {Li, L. and Rakitsch, B. and Borgwardt, K.},
  journal = {Bioinformatics},
  volume = {27},
  number = {13: ISMB/ECCB 2011},
  pages = {i342-i348},
  month = jul,
  year = {2011},
  month_numeric = {7}