一、数据集介绍
数据集下载:https://github.com/camaramm/tennessee-eastman-profBraatz
介绍:http://depts.washington.edu/control/LARRY/TE/download.html
二、论文中的方法提炼
《Industrial Data-Driven Monitoring Based on Incremental Learning Applied to the Detection of Novel Faults》202009一区LDA
《Fault diagnosis of TE process based on incremental learning》202007—b会—知识蒸馏
关于TE过程的github数据集处理方法链接
直接在github上搜索关键词:Tennessee Eastman process
XGBoost/XGBoost.ipynb at master · prudhvinathreddymalla/XGBoost · GitHub
https://github.com/hsaafan/TEPImport
https://github.com/search?l=Python&q=Tennessee+Eastman+process&type=Repositories
1.尝试将代码复制在pycharm中跑出来。
2.问题1:报错。Matplotlib中%matplotlib inline_庆志的小徒弟-CSDN博客_%matplotlib inline
三、增量学习一般的训练测试大致过程:这里只讨论类增量
手写数字数据集举例。0-9的手写数字图片。
将0-9以每两个类别为一批,共有5批(0,1)(2,3)(4,5)(6,7)(8,9)
1.一开始只训练第一批(0,1)的训练集,然后再丢入数字0和1的测试集,记录下此时对数字0和1的识别精度a1,b1;并且设置一个memory存储区,选择部分(0,1)手写数字图片的部分训练集样本,防止遗忘。注意这里是“一边训练,一边存储”
2.在训练过(0,1)的基础上,往模型中继续丢入(2,3)的训练集。训练完后,再将(0,1),(2,3)的测试集丢进网络进行识别,并记录下0-3的识别精度。分别为:a2,b2,c1,d1.
3.继续添加剩余数字的训练集重复该项操作。
在正常训练情况下,最先训练的样本是会被遗忘的。因此需要设置一个存储区,对先前的训练样本进行部分(最原始的random)保留。这样的操作通常称为重播算法。我们会发现即便有个存储区还是会出现a2<a1,b2<b1,还是会产生遗忘。但是相比正常训练下的平均精度还是有所提升的。
平均精度:以训练到(2,3)为例,即L1=(a1+b1+a2+b2+c1+d1)/6
什么是正常训练情况呢:
1.一开始只训练第一批(0,1)的训练集,然后再丢入数字0和1的测试集,记录下此时对数字0和1的识别精度A1,B1;此时不设置memory存储区
2.在训练过(0,1)的基础上,直接往模型中继续丢入(2,3)的训练集。训练完后,再将(0,1),(2,3)的测试集丢进网络进行识别,并记录下0-3的识别精度。分别为:A2,B2,C1,D1.
平均精度:以训练到(2,3)为例,即L2=(A1+B1+A2+B2+C1+D1)/6
我们会发现L1>L2,即我们的算法识别精度较高,则说明我们的算法拥有一定的对抗遗忘的能力。