The OpenKernel library is an open-source software library for creating, combining, learning and using kernels for machine learning applications.
The library supports the creation and use of kernels defined over dense and sparse real vectors as well as over sequences or distributions of sequences.
For dense and sparse features, the library provides implementation of the classical kernels: linear, polynomial, gaussian and sigmoid.
For sequences and distributions of sequences, the library implements the rational kernel framework of Cortes et al. (JMLR, 2004). The library provides the following sequence kernels:
- n -gram kernels,
- gappy n-gram kernels,
- mismatch kernels (Leslie et al., 2004),
as well as the ability to create arbitrary rational kernels by providing the weighted finite-state transducers defining them.
Kernels can be combined by taking their sum or their product, and can be composed with a polynomial, a gaussian or a sigmoid. They support on-demand evaluation and caching. In addition to its own binary format, the library uses the ascii format of LIBSVM/LIBLINEAR/SVMlight for representing features (and precomputed kernels for LIBSVM).
Finally, the OpenKernel library also includes several options for using training data to automatically combine multiple kernels. This is particularly useful when the single best kernel for the task is not known. The algorithms included learn:
- L1-regularized linear combinations (Lanckriet et al. JMLR 2004),
- L2-regularized linear combinations (Cortes et al. UAI 2009),
- L2-regularized quadratic combinations (Cortes et al. NIPS 2009),
as well as kernel correlation, or alignment (Cristianini et al. 2006), based combinations. Specialized efficient versions of these algorithms also exist for weighting features and sparseness can be used to further improve efficiency. The output kernels can be easily used in conjunction with LIBSVM, SVMlight and included kernel ridge regression implementations. Full reference documentation, tutorials and examples (with formatted datasets) are included.
The library is an open source project distributed under the Apache license (2.0). This work has been partially supported by Google Inc. The library uses the OpenFst library for representing and manipulating weighted finite-state transducers.
- Changes to previous version:
Initial Announcement on mloss.org.
No one has posted any comments yet. Perhaps you'd like to be the first?
Leave a comment
You must be logged in to post comments.