Learning approaches that rely on another algorithm performing some enrichment, variation, or generalization.
OneVsAllLearning
Java class: OneVsAllLearning
Source code: OneVsAllLearning.java
Maven Project: kelp-core
JSON type: oneVsAll
Description: it is a meta algorithm that operates applying a One-Vs-All strategy over the base learning algorithm which is intended to be a binary learner. The One-Vs-All strategy will learn N different classifiers, where N is the number of classes involved in the dataset. In this strategy each classifier is learned by considering in turn the examples of a single class as positives, while all the other examples are considered as negative.
Parameters:
- baseAlgorithm: The base learning algorithm which is intended to be a binary learner
- labels: The list of targeted classes
OneVsOneLearning
Java class: OneVsOneLearning
Source code: OneVsOneLearning.java
Maven Project: kelp-core
JSON type: oneVsOne
Description: it is a meta algorithm that operates by applying a One-Vs-One strategy over the base learning algorithm which is intended to be a binary learner. This meta-algorithms will learn classifiers, by comparing each class with all the others separately. The resulting classifier applies a voting strategy to perform the final decision. (N is the number of classes in the dataset)
Parameters:
- baseAlgorithm: the base learning algorithm which is intended to be a binary learner
- labels: the list of targeted classes
MultiLabelClassificationLearning
Java class: MultiLabelClassificationLearning
Source code: MultiLabelClassificationLearning.java
Maven Project: kelp-core
JSON type: multiLabel
Description: it is a meta algorithm that operates applying a multi label learning strategy over the base learning algorithm which is intended to be a binary learner. A multi label classification task is a multiclass problem in which each instance can belongs to zero, one or multiple classes. The multi label strategy will learn N different classifiers, where N is the number of classes involved in the dataset. In this strategy each classifier is learned by considering in turn the examples of a single class as positives, while all the other examples are considered as negative.
Parameters:
- labels: the list of targeted classes
- baseAlgorithm: the base learning algorithm which is intended to be a binary learner
MultiEpochLearning
Java class: MultiEpochLearning
Source code: MultiEpochLearning.java
Maven Project: kelp-additional-algorithms
JSON type: multiEpoch
Description: it is a meta learning algorithms for online learning methods. It performs multiple iterations (or epochs) on the training data.
Parameters:
- baseAlgorithm: The base online learning algorithm which is intended to apply for multiple iterations
- epochs: The number of iterations
Stoptron
Java class: Stoptron
Source code: Stoptron.java
Maven Project: kelp-additional-algorithms
JSON type: stoptron
Description: it is a variation of the Stoptron proposed in [Orabona et al.(2008)]. Until the budget is not reached the online learning updating policy is the one of the baseAlgorithm that this meta-algorithm is exploiting. When the budget is full, the learning process ends.
Parameters:
- label: The label to be learned
- baseAlgorithm: The base online learning algorithm which is intended to apply in this budgeted approach
- budget: The maximum number of support vectors allowed in the budget
RandomizedBudgetPerceptron
Java class: RandomizedBudgetPerceptron
Source code: RandomizedBudgetPerceptron.java
Maven Project: kelp-additional-algorithms
JSON type: randomizedPerceptron
Description: a variant of the Randomized Budget Perceptron proposed in [Cavallanti et al.(2007)]. Until the budget is not reached the online learning updating policy is the one of the baseAlgorithm that this meta-algorithm is exploiting. When the budget is full, a random support vector is deleted and the perceptron updating policy is adopted.
Parameters:
- label: The label to be learned
- baseAlgorithm: The base online learning algorithm which is intended to apply in this budgeted approach
- budget: The maximum number of support vectors allowed in the budget