linwhitehat/ET-BERT

模型效果差的问题

Closed this issue · 19 comments

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我是做恶意分类也发现了这个问题,以USTC-TFC2016为例,换其他的恶意流量数据集效果也很差

我是做恶意分类也发现了这个问题,以USTC-TFC2016为例,换其他的恶意流量数据集效果也很差

你是按作者源码划分的测试集,还是拿另外一批数据作为测试集?

拿另外一批数据作为测试,想测试下模型的泛化能力

拿另外一批数据作为测试,想测试下模型的泛化能力

针对这种情况,你们有尝试针对性的优化吗

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

拿另外一批数据作为测试,想测试下模型的泛化能力

这种场景不在已开源的模型解决范围中,我们也在开展新的工作,其中一部分是解决你提及的这个问题。欢迎交流。

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这个的意思是说由于split的一部分数据,比如同一个流split后的packet由于有相似性,既作为了训练集又做为了测试集嘛,那flow的split该如何思考呢,我总感觉模型测试的结果有点虚高

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这个的意思是说由于split的一部分数据,比如同一个流split后的packet由于有相似性,既作为了训练集又做为了测试集嘛,那flow的split该如何思考呢,我总感觉模型测试的结果有点虚高

同一原始pcap切分的flow也有相似性吧;你说的测试结果虚高是指哪个测试结果,论文里面的吗?

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这个的意思是说由于split的一部分数据,比如同一个流split后的packet由于有相似性,既作为了训练集又做为了测试集嘛,那flow的split该如何思考呢,我总感觉模型测试的结果有点虚高

同一原始pcap切分的flow也有相似性吧;你说的测试结果虚高是指哪个测试结果,论文里面的吗?

对,主要是以USTC-TFC2016这个数据集为例,可能有点片面,因为一直在想结果很好,为什么换个数据集就不行了,一个就是佬说的,可能有相似性质的样本同时出现在了训练集和测试集中(例如同一个flow划分后的packet)

然后同一个原始的pcap,仅仅只是一段时间流量的集合,划分flow根据5元组(还有会话的时间限制),相当于pcap是很多次交谈,各种人都在说话,划分flow后只是一次有效的交谈对话,相似性应该不大了(我后续测一下看看,毕竟数据结果才是一切),不过flow划分packet感觉相似性还是有的

然后同一个原始的pcap,仅仅只是一段时间流量的集合,划分flow根据5元组(还有会话的时间限制),相当于pcap是很多次交谈,各种人都在说话,划分flow后只是一次有效的交谈对话,相似性应该不大了(我后续测一下看看,毕竟数据结果才是一切),不过flow划分packet感觉相似性还是有的

嗯,packet相似性比较大,根据我们这边测的结果,泛化性会更差,至于flow的相似性,感觉和pcap捕获设备有关,毕竟同一个pcap基本是在同一个捕获设备捕获的。我们在vpn数据集验证了flow的问题

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这两种数据划分方式,我们采用的是针对样本层级进行抽样,你指出的这种划分测试集的方式是随机选择的pcap文件并未出现在训练集中的吗?

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这个的意思是说由于split的一部分数据,比如同一个流split后的packet由于有相似性,既作为了训练集又做为了测试集嘛,那flow的split该如何思考呢,我总感觉模型测试的结果有点虚高

这种采样模式应该都是目前公认的,我们在flow和packet级别都进行了测试。packet如果是因为同一条来源流而产生简单的相似性,那应该很难对相同服务下其他流的packet进行识别准确,而且通过我们在可视化样本中也可以看出并非通过简易的相似性来达到高识别率。

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这两种数据划分方式,我们采用的是针对样本层级进行抽样,你指出的这种划分测试集的方式是随机选择的pcap文件并未出现在训练集中的吗?

是的,测试集的pcap文件并未出现在训练集中

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这个的意思是说由于split的一部分数据,比如同一个流split后的packet由于有相似性,既作为了训练集又做为了测试集嘛,那flow的split该如何思考呢,我总感觉模型测试的结果有点虚高

这种采样模式应该都是目前公认的,我们在flow和packet级别都进行了测试。packet如果是因为同一条来源流而产生简单的相似性,那应该很难对相同服务下其他流的packet进行识别准确,而且通过我们在可视化样本中也可以看出并非通过简易的相似性来达到高识别率。

这个可视化样本的结果方便分享一下吗?

大佬,你好,我们拿自己训练的模型,跑另一个相同分布的测试数据,效果很差,模型很容易过拟合,你们发现了吗

我们在拿来测试的公开数据集目前还没有遇到过拟合的问题,可以细说一下你的数据情况吗?

不是数据的问题,是如何划分训练集验证集测试集的问题,你代码的方法随机选择split完的flow或者packet作为测试集,我是随机选择没有split之前的原始的pcap文件作为测试集,这种情况你们尝试过吗?

这种我们没试过

你们可以尝试一下,这样才能验证模型的泛化性能吧?大家交流一下测试结果

这两种数据划分方式,我们采用的是针对样本层级进行抽样,你指出的这种划分测试集的方式是随机选择的pcap文件并未出现在训练集中的吗?

是的,测试集的pcap文件并未出现在训练集中

这种情况下需要考虑测试pcap的样本分布是否与训练样本存在较大的偏差,我们接下来会关注你提到的这个问题。可视化结果在论文附录可以查看。