Kernelising the Proportional Odds Model through Kernel Learning techniques

María Pérez-Ortiz, Pedro Antonio Gutiérrez, Manuel Cruz-Ramírez, Javier Sánchez-Monedero and César Hervás-Martínez

Department of Computer Science and Numerical Analysis, University of Córdoba, Rabanales Campus, C2 building, 14004 - Córdoba, Spain.

e-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

This page provides supplementary material for the paper entitled Kernelising the Proportional Odds Model through Kernel Learning techniques published in Neurocomputing.

Abstract of the paper

The classification of patterns into naturally ordered labels is referred to as ordinal regression, which is a very common setting for real world applications. One of the most widely used ordinal regression algorithms is the Proportional Odds Model (POM), despite the linearity of the resultant decision boundaries. This paper explores through different proposals the notions of kernel trick and empirical feature space to reformulate the POM method and obtain nonlinear decision boundaries. Moreover, a new technique for aligning the kernel matrix taking into account the ordinal problem information is proposed, as well as a regularised gradient ascent methodology which is used to select the optimal dimensionality for the empirical feature space.
The capability of the different developed methodologies is evaluated by the use of a non-linearly separable toy dataset and an extensive set of experiments over 28 ordinal datasets. The results indicate that the tested methodologies are competitive with respect to other state-of-the-art algorithms, and they significantly improve the original POM algorithm.

All the source code can be downloaded here:

Save File

The zip file includes a README explaining the different files. The package is mainly composed of the following files:

  • toy_example.m: code for configuring and running the algorithm using a single partition of a toy ordinal nonlinear dataset (the dataset files are toy-train.mat and toy-test.mat).
  • run_kPOM.m: code for training and testing the algorithm given different configurations.
  • train_kPOM.m: train the kPOM algorithm (in the EFS or input space).
  • test_kPOM.m: test the model obtained from the training process.