drimwai的博客

增强学习 --- 经典增强学习算法learn++的讲解

## 前言:这个post,博主会分享关于增量学习(incremental learning)的入门知识。为了便于理解,我着重根据增量学习最为被接受的一篇文章提出的方法(learn++)进行实例和代码结合的讲解。

 

## 参考链接:

### https://www.jiqizhixin.com/graph/technologies/09134d6a-96cc-409b-86ef-18af25abf095

### Polikar R, Upda L, Upda S S, et al. Learn++: An incremental learning algorithm for supervised neural networks

 

## 定义:增量学习是一种持续学习方式。在其中,输入数据不断地被用于扩展现有的知识模型,即进一步对模型进行训练,它代表了一种动态的学习技术。

 

## 原则:(此处我会给出原本和对应解释)

### 1. It should be able to learn additional information from new data. 增强学习的分类器或学习算法(接下来统称分类器)可以从新的数据集里面学习,并获得对应的模式识别能力。

### 2. It should not require access to the original data, used to train the existing classifier. 在新的学习中,不需要对原来学习过的数据进行访问,即不需要全盘的重训练。

### 3. It should preserve previously acquired knowledge (that is, it should not suffer from catastrophic forgetting). :在新的学习中,不会对原来已学习的内容产生遗忘。

### 4. It should be able to accommodate new classes that may be introduced with new data. :新的增强学习分类器能够学习新的数据类。

 

## 应用:(此处博主列举了一些例子,欢迎补充)

### 1. 在数据集非常大,计算机内存无法负荷时,可以使用增强学习进行分次的学习。

### 2. 能够为终生学习提供一个方案。

### 3. 在原数据无法访问,但原分类器又非常重要且有效时。增强学习可以对其进行完善。

 

## 算法讲解:

 1581948362188393.png

WX20200217-223541@2x.png

## 示意图:

1581948395190002.png


## 缺点:

### 测试时间长。多个分类器结合,算法复杂度高。

### 不同的分类器负责不同的数据集时,不相干的分类器结果可能会互相干扰,导致分类准确率受影响。

1581948399181327.png

 

## 代码:

这里,楼主根据learn++的原文和github找到的一份代码,结合了一份matlab的增强学习代码。有需要的小伙伴可以在下面下载哦。

** 使用方法:导入工具箱(ConceptDriftData),运行test内代码即可。

drimwai的博客
drimwai的博客
使用条款和私隐条款。版权所有,保留一切权利。
Copyright by drimwai Liang (2018-2020). All Right Reserved.