Project details for KeLP

Logo KeLP 1.2.0

by kelpadmin - July 9, 2015, 13:59:11 CET [ Project Homepage BibTeX Download ]

view ( today), download ( today ), 0 subscriptions


Many applications in information and computer technology domains deal with structured data. For example, in Natural Language Processing (NLP), sentences are typically represented as syntactic parse trees or in Biology, chemical compounds can be represented as undirected graphs. In contrast, most Machine Learning (ML) methods and toolkits represent data as feature vectors, whose definition and computation is typically costly, especially in case of structured data. For example, the number of times a substructure appears in a structure can be an important feature. However, the number of substructures in a tree grows exponentially with the size of its nodes leading to an exponential number of structural features, which cannot thus be fully exploited in practice. A solution to the above-mentioned problem is given by Kernel Methods applied with kernel machines, e.g., SVMs or online learning models. The Kernel-based Learning Platform is a Java framework that aims to facilitate kernel-based learning, in particular on structural data. It contains the implementation of several kernel machines as well as kernel functions, enabling an easy and agile definition of new methods over generic data representations, e.g., vectorial data or discrete structures, such as trees and strings. The framework has been designed to decouple kernel functions and learning algorithms thanks to the definition of specific interfaces. Once a new kernel function is implemented, it can be immediately used in all available kernel-machines, which include different online and batch algorithms for Classification, Regression and Clustering. The library is highly interoperable: data objects, kernel functions and algorithms are serializable in XML and JSON, enabling the agile definition of kernel-based learning systems. Additionally, such engineering choice allows for defining kernel and algorithm combinations by simply changing parameters in the XML and JSON files (without the need of writing new code).

Some available kernels:

  • Tree Kernels: SubTreeKernel, SubSetTreeKernel, PartialTreeKernel, SmoothedPartialTreeKernel, CompositionallySmoothedPartialTreeKernel

  • Graph Kernels: ShortestPathKernel. Weisfeiler-Lehman Subtree Kernel for Graphs

  • SequenceKernel

  • PreferenceKernel

  • StandardKernel: LinearKernel, PolynomialKernel, RBFKernel, NormalizationKernel, LinearKernelCombination, KernelMultiplication

Some available algorithms:

  • BatchLearning: OneClassSVM, C-SVM, nu-SVM, LinearSVM, LinearSVMRegression, epsilon-regression

  • OnlineLearning: Perceptron, PassiveAggressive, BudgetedPassiveAggressive, Stoptron, RandomizedPerceptronOnBudget

  • Clustering: KernelizedKMean

Changes to previous version:

Two brand new subprojects have been added:

  • graph-representation: it contains DirectedGraphRepresentation for representing direct unweighted graphs

  • graph-kernel: it contains some state-of-the-art graph kernels, like the shortest path kernel and the Weisfeiler-Lehman Subtree Kernel for Graphs

Furthermore the following components are added:

  • StandardizerManipulator: for standardize the features of the feature vectors in a dataset

  • KernelMultiplication: a new kernel for combining other kernels applying the multiplication operator

  • ExperimentUtils: a class providing useful methods for performing experiments, like a n-fold cross validation

  • LibsvmDatasetReader: for reading files in LibSVM or LibLinear or SvmLight format

Moreover several demo examples are added in kelp-examples as well as some unit test in kelp-full.

Check out this new version from our repositories. API Javadoc is already available. Your suggestions will be very precious for us, so download and try KeLP 1.2.0!

BibTeX Entry: Download
Supported Operating Systems: Platform Independent
Data Formats: Libsvm, Json, Multiple Representations Format
Tags: Svm, Classification, Clustering, Regression, Kernels, Online Learning, Kernel Methods, Graph Kernels, Structured Data, Linear Models, Tree Kernels
Archive: download here


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.