{"id":801,"date":"2017-03-13T17:53:42","date_gmt":"2017-03-13T17:53:42","guid":{"rendered":"http:\/\/www.kelp-ml.org\/?page_id=801"},"modified":"2017-03-14T22:03:52","modified_gmt":"2017-03-14T22:03:52","slug":"metalearningalgorithm","status":"publish","type":"page","link":"http:\/\/www.kelp-ml.org\/?page_id=801","title":{"rendered":"Meta-learning Algorithms"},"content":{"rendered":"<p>Learning approaches that rely on another algorithm performing some <em>enrichment<\/em>, <em>variation<\/em>, or <em>generalization<\/em>.<\/p>\n<hr \/>\n<h3>OneVsAllLearning<\/h3>\n<p><strong>Java class<\/strong>:\u00a0<a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/OneVsAllLearning.html\" target=\"_blank\">OneVsAllLearning<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-core\/blob\/a9ba6b368eb9071c9bbf4deae2ae8f620c6b20c5\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/OneVsAllLearning.java\" target=\"_blank\">OneVsAllLearning.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>: kelp-core<\/p>\n<p><strong>JSON type<\/strong>:\u00a0oneVsAll<\/p>\n<p><strong>Description<\/strong>: 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.<\/p>\n<div class=\"page\" title=\"Page 50\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><strong>Parameters<\/strong>:<\/p>\n<div class=\"page\" title=\"Page 50\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ul>\n<li><em>baseAlgorithm<\/em>: The base learning algorithm which is intended to be a binary learner<\/li>\n<li><em>labels<\/em>: The list of targeted classes<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr \/>\n<h3>OneVsOneLearning<\/h3>\n<p><strong>Java class<\/strong>:\u00a0<a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/OneVsOneLearning.html\" target=\"_blank\">OneVsOneLearning<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-core\/blob\/a9ba6b368eb9071c9bbf4deae2ae8f620c6b20c5\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/OneVsOneLearning.java\" target=\"_blank\">OneVsOneLearning.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>: kelp-core<\/p>\n<p><strong>JSON type<\/strong>:\u00a0oneVsOne<\/p>\n<p><strong>Description<\/strong>: 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 <img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/www.kelp-ml.org\/wp-content\/ql-cache\/quicklatex.com-c66e2fb17e61cf2e9f4adab91e56c0fd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#78;&#40;&#78;&#45;&#49;&#41;&#47;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"94\" style=\"vertical-align: -5px;\"\/> 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)<\/p>\n<p><strong>Parameters<\/strong>:<\/p>\n<div class=\"page\" title=\"Page 51\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ul>\n<li><em>baseAlgorithm<\/em>: the base learning algorithm which is intended to be a binary learner<\/li>\n<li><em>labels<\/em>: the list of targeted classes<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<hr \/>\n<h3>MultiLabelClassificationLearning<\/h3>\n<p><strong>Java class<\/strong>:\u00a0<a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/MultiLabelClassificationLearning.html\" target=\"_blank\">MultiLabelClassificationLearning<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-core\/blob\/a9ba6b368eb9071c9bbf4deae2ae8f620c6b20c5\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/classification\/multiclassification\/MultiLabelClassificationLearning.java\" target=\"_blank\">MultiLabelClassificationLearning.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>: kelp-core<\/p>\n<p><strong>JSON type<\/strong>:\u00a0multiLabel<\/p>\n<p><strong>Description<\/strong>: it is a meta algorithm that operates applying a multi label learning strategy over the base\u00a0learning algorithm which is intended to be a binary learner. A multi label classification task\u00a0is a multiclass problem in which each instance can belongs to zero, one or multiple classes.\u00a0The multi label strategy will learn N different classifiers, where N is the number\u00a0of classes involved in the dataset.\u00a0In this strategy each classifier is learned by considering in turn the examples of a single\u00a0class as positives, while all the other examples are considered as negative.<\/p>\n<p><strong>Parameters<\/strong>:<\/p>\n<ul>\n<li><em>labels<\/em>:\u00a0the list of targeted classes<\/li>\n<li><em>baseAlgorithm<\/em>:\u00a0the base learning algorithm which is intended to be a binary learner<\/li>\n<\/ul>\n<hr \/>\n<h3>MultiEpochLearning<\/h3>\n<p><strong>Java class<\/strong>:\u00a0<a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/MultiEpochLearning.html\" target=\"_blank\">MultiEpochLearning<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-additional-algorithms\/blob\/ec316d2616aa9746c6c6f992654123fbcbdde05f\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/MultiEpochLearning.java\" target=\"_blank\">MultiEpochLearning.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>: kelp-additional-algorithms<\/p>\n<p><strong>JSON type<\/strong>:\u00a0multiEpoch<\/p>\n<p><strong>Description<\/strong>: it is a meta learning algorithms for online learning methods. It performs multiple iterations (or epochs) on the training data.<\/p>\n<p><strong>Parameters<\/strong>:<\/p>\n<div class=\"page\" title=\"Page 51\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ul>\n<li><em>baseAlgorithm<\/em>: The base online learning algorithm which is intended to apply for multiple iterations<\/li>\n<li><em>epochs<\/em>: The number of iterations<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<hr \/>\n<h3>Stoptron<\/h3>\n<p><strong>Java class<\/strong>: <a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/budgetedAlgorithm\/Stoptron.html\" target=\"_blank\">Stoptron<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-additional-algorithms\/blob\/ec316d2616aa9746c6c6f992654123fbcbdde05f\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/budgetedAlgorithm\/Stoptron.java\" target=\"_blank\">Stoptron.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>:\u00a0kelp-additional-algorithms<\/p>\n<p><strong>JSON type<\/strong>: stoptron<\/p>\n<p><strong>Description<\/strong>: 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.<\/p>\n<p><strong>Parameters<\/strong>:<\/p>\n<div class=\"page\" title=\"Page 52\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ul>\n<li><em>label<\/em>: The label to be learned<\/li>\n<li><em>baseAlgorithm<\/em>: The base online learning algorithm which is intended to\u00a0apply in this budgeted approach<\/li>\n<li><em>budget<\/em>: The maximum number of support vectors allowed in the budget<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<hr \/>\n<h3>RandomizedBudgetPerceptron<\/h3>\n<p><strong>Java class<\/strong>:\u00a0<a href=\"http:\/\/www.kelp-ml.org\/kelp-javadoc\/current-version\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/budgetedAlgorithm\/RandomizedBudgetPerceptron.html\" target=\"_blank\">RandomizedBudgetPerceptron<\/a><\/p>\n<p><strong>Source code<\/strong>:\u00a0<a href=\"https:\/\/github.com\/SAG-KeLP\/kelp-additional-algorithms\/blob\/ec316d2616aa9746c6c6f992654123fbcbdde05f\/src\/main\/java\/it\/uniroma2\/sag\/kelp\/learningalgorithm\/budgetedAlgorithm\/RandomizedBudgetPerceptron.java\" target=\"_blank\">RandomizedBudgetPerceptron.java<\/a><\/p>\n<p><strong>Maven Project<\/strong>:\u00a0kelp-additional-algorithms<\/p>\n<p><strong>JSON type<\/strong>:\u00a0randomizedPerceptron<\/p>\n<p><strong>Description<\/strong>: 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.<\/p>\n<p><strong>Parameters<\/strong>:<\/p>\n<div class=\"page\" title=\"Page 52\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<ul>\n<li><em>label<\/em>: The label to be learned<\/li>\n<li><em>baseAlgorithm<\/em>: The base online learning algorithm which is intended to\u00a0apply in this budgeted approach<\/li>\n<li><em>budget<\/em>: The maximum number of support vectors allowed in the budget<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Learning approaches that rely on another algorithm performing some enrichment, variation, or generalization. OneVsAllLearning Java class:\u00a0OneVsAllLearning Source code:\u00a0OneVsAllLearning.java Maven Project: kelp-core JSON type:\u00a0oneVsAll 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 <a href=\"http:\/\/www.kelp-ml.org\/?page_id=801\" rel=\"nofollow\"><span class=\"sr-only\">Read more about Meta-learning Algorithms<\/span>[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/pages\/801"}],"collection":[{"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=801"}],"version-history":[{"count":13,"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/pages\/801\/revisions"}],"predecessor-version":[{"id":882,"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=\/wp\/v2\/pages\/801\/revisions\/882"}],"wp:attachment":[{"href":"http:\/\/www.kelp-ml.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}