深度机器学习的数据集为什么一定要2万以上的样本?

2021-01-18 10:29发布

深度机器学习的数据集为什么一定要2万以上的样本?如果我现在有2千的样本,并且我的测试集是600,测试集上准确率已达到85%了,但是传统的机器学习分类才82%, 如果这样的话。难道我不能用深度机器学习模...

深度机器学习的数据集为什么一定要2万以上的样本?如果我现在有2千的样本,并且我的测试集是600,测试集上准确率已达到85%了,但是传统的机器学习分类才82%, 如果这样的话。难道我不能用深度机器学习模型吗?

3条回答

画个train and test error VS 训练数据量(training set size) 的learningcurve应该会更加直观了。

可以找个简单的数据集,比如说handwritten digits或者什么的,分别用神经网络和决策树或者knn做出这个learningcurve。

你会看到如果用一个决策树去解决这个问题,随着数据量增加,比如加到500,1000的样本,test error会不断降低,train error会不断增加。最后比如在数据量为2000的地方两个error就收敛了,在0.20的附近比如说。

但是如果你用神经网络去解决这个问题,你会看到当数据量很小的时候train error就是0.01了,然后数据量从0增到500或者1000,train error还是0.01,就像是一条直线一样。直到数据量增加到几万的时候,才看到train error有略微明显的增加(比如到了0.02)。 所以数据量从0到5w,train error只从0.01增加到0.02。而test error虽然在降低,但是一直都比较大,所以overfitting一直存在。

但是我们有个信念是,如同楼上其他人说的,只要数据量足够大,那么test和train会沿着收敛的方向不断前进,而当数据量足够大,两个曲线收敛的那一刻达到的时候,不仅两个曲线收敛了,同时我们的train和test error都是比较低的,远低于上面的knn或者其他简单点的模型。 如果是DL深层的神经网络,可能要几百万才能够达到收敛,那么这个时候的test error肯定也是非常低的


所以过拟合,欠拟合,是衡量模型拟合能力与数据量之间相对关系的东西。

如果拟合能力很强,数据量相比拟合能力太少了,就是过拟合。 (在图线上,过拟合就是两个曲线之间有gap,两个曲线没有达到收敛状态,还在向收敛的方向趋近)

如果拟合能力很弱,数据量大大超过拟合能力大大足够了,就是欠拟合。(在图线上,欠拟合就是两个曲线收敛了,但是这个收敛对应的error值太高了。 那么怎么判断这个值太高了呢?这个是人视情况来决定的。)

所以从图线的角度来说,对等划分应该有三种状态:

1) 如果两个图线未收敛状态:这就叫过拟合。。

2) 如果两图线收敛了,但是收敛处的error值过高,不符合预期,就叫欠拟合。

3) 如果两图线收敛了,而且收敛处的error值比较低,符合预期,那么就叫成功了。这正是我们想要的。

另外,其实具体情况,还是要根据问题本身的复杂程度,模型的复杂程度,数据量,这三者一起来看的。


ann
3楼 · 2021-01-20 09:48





为了更好的帮助大家从事安全领域机器学习和深度学习(AI+安全)相关的研究,这篇文章将分享安全相关的数据集供大家下载和实验,包括恶意URL、流量分析、域名检测、恶意软件、图像分类、垃圾邮件等,也欢迎大家留言推荐数据集供我补充。

这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢。同时,最近作者开了一个公众号“娜璋AI安全之家”,欢迎大家关注,作者将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。

网络安全自学篇




文章目录

KDDCUP99HTTPDATASETCSIC2010honeypot.jsonMasqueradingUserDataADFAIDSDatasets域名相关Webshell登录日志恶意URL综合安全数据TheMalwareCaptureFacilityProject恶意软件数据库APT攻击数据集图像分类数据集-1000MNIST-手写数字垃圾邮件数据集自然灾害数据集




作者百度网盘分享地址:

链接:https://pan.baidu.com/s/18cGVK6-vzWB-zd9CKaOmnw,提取码:0wikGithub:https://github.com/eastmountyxz/Datasets-Security



KDDCUP99

KDDCUP99dataset是KDD竞赛在1999年举行时采用的数据集。1998年美国国防部高级规划署(DARPA)在MIT林肯实验室进行了一项入侵检测评估项目收集而来的数据,其竞争任务是建立一个网络入侵检测器,这是一种能够区分称为入侵或攻击的“不良”连接和“良好”的正常连接的预测模型。该数据集包含一组要审核的标准数据,其中包括在军事网络环境中模拟的多种入侵。

内容类型:网络流量,主机行为是否特征化:是适用范围:主机入侵检测,异常流量监控下载地址:http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html数据示例:



数据文件包括:

kddcup.names功能列表。

kddcup.data.gz完整数据集(18M;743M未压缩)

kddcup.data_10_percent.gz10%的数据集(2.1M;75M未压缩)

kddcup.newtestdata_10_percent_unlabeled.gz(1.4M;45M未压缩)

kddcup.testdata.unlabeled.gz(11.2M;430M未压缩)

kddcup.testdata.unlabeled_10_percent.gz(1.4M;45M未压缩)

corrected.gz正确标签的测试数据

training_attack_types入侵类型列表

typo-correction.txt关于数据集中的简要说明



推荐文章:基于机器学习的入侵检测和攻击识别——以KDDCUP99数据集为例



HTTPDATASETCSIC2010

HTTPDATASETCSIC2010包含已经标注过的针对Web服务的请求。该数据集由西班牙最高科研理事会CSIC在论文ApplicationoftheGenericFeatureSelectionMeasureinDetectionofWebAttacks中作为附件给出的,是一个电子商务网站的访问日志,包含36000个正常请求和25000多个攻击请求。异常请求样本中包含SQL注入、文件遍历、CRLF注入、XSS、SSI等攻击样本。其中,下载地址已经为我们分类好了训练用的正常数据,测试用的正常数据,测试用的异常数据。

内容类型:网络流量是否特征化:否使用范围:WAF类产品,异常流量监控下载地址:http://www.isi.csic.es/dataset/https://github.com/zambery/Machine-Learning-on-CSIC-2010数据示例:



推荐文章:

机器学习实战之CSIC2010网络攻击数据-Ackerzy崔艳鹏,刘咪,胡建伟.基于CNN的恶意Web请求检测技术[J].计算机科学,2020,47(2):281-286.



honeypot.json

honeypot是由多种类型的蜜罐采集回来的数据,主要是WEB请求,约99万条数据。由于没有分类和规整,需要自己数据清洗,也可以用作校验模型的数据。

内容类型:网络流量是否特征化:否使用范围:WAF类产品,异常流量监控下载地址:http://www.secrepo.com/honeypot/honeypot.json.zip数据示例:




MasqueradingUserData

MasqueradingUserData是MatthiasSchonlau教授通过正常数据构造出来用于训练和检测MasqueradingUser攻击的数据集。内部攻击者分为两种,一种是内鬼[Traitor],一种是窃取了身份凭证的正常用户的伪装者[MasqueradingUser]。由于是构造出来的数据,缺乏实际攻击的真实性,在一定程度上,训练出来的模型会存在一定的过拟。

内容类型:主机行为是否特征化:否使用范围:入侵检测类用户异常行为识别下载地址:http://www.schonlau.net/intrusion.html数据示例:




ADFAIDSDatasets

ADFAIDSDatasets是澳大利亚国防大学发布的一套关于HIDS的数据集。分为linux(ADFA-LD)和window(ADFA-WD)。

内容类型:主机行为是否特征化:是使用范围:入侵检测下载地址:https://www.unsw.adfa.edu.au/unsw-canberra-cyber/cybersecurity/ADFA-IDS-Datasets/–TheADFALinuxDataset(ADFA-LD)–TheADFAWindowsDataset(ADFA-WD)–StealthAttacksAddendum(ADFA-WD:SAA)数据示例:




域名相关

DGA正常域名和可疑域名检测,主要用于DGA的检测。这里直接用AlexaTop100W作为正常域名,用其他的开放的DGA数据作为黑样本。

内容类型:文本样本是否特征化:否使用范围:入侵检测异常流量WAF下载地址AlexaTop100W:http://s3.amazonaws.com/alexa-static/top-1m.csv.zip360DGA:http://data.netlab.360.com/dga/zeusDGA:http://www.secrepo.com/misc/zeus_dga_domains.txt.zip数据示例:




Webshell

Webshell数据集是github有一个比较多样本的收集,涵盖了很多的语言。

内容类型:文本样本是否特征化:否使用范围:入侵检测异常流量WAF下载地址:–https://github.com/tennc/webshell–https://github.com/ysrc/webshell-sample数据示例:





登录日志

auth.log主要是都是登录失败的日志适合用作判断是爆破登录还是正常的输错密码

内容类型:主机行为是否特征化:否使用范围:入侵检测异常流量WAF下载地址:http://www.secrepo.com/auth.log/auth.log.gz数据示例:




恶意URL

malicious-URLs在Github上面一个使用机器学习去检测恶意URL的项目,里面有一个训练集,有做标记是正常的URL还是恶意的URL内容类型:文本样本是否特征化:否使用范围:入侵检测异常流量WAF下载地址&检测方法:https://github.com/faizann24/Using-machine-learning-to-detect-malicious-URLshttps://github.com/exp-db/AI-Driven-WAFhttps://github.com/Echo-Ws/UrlDetect数据示例:


推荐作者文章:基于机器学习的恶意请求识别及安全领域中的机器学习



综合安全数据

在github上有一个叫Security-Data-Analysis的项目,里面有4个实验室,每个实验室的数据都不一样,包含http、连接记录、域名、host等等。

内容类型:网络流量是否特征化:否使用范围:异常流量下载地址:https://github.com/sooshie/Security-Data-Analysis数据示例:




TheMalwareCaptureFacilityProject

MCFP是捷克理工大学用于捕抓恶意软件的而抓去的网络流量,里面的数据非常多,有他们自己分析出来的恶意流量,也有所有的流量,包括网络文件、日志、DNS请求等。

内容类型:网络流量是否特征化:否使用范围:异常流量WAF下载地址:https://mcfp.weebly.com/mcfp-dataset.html数据示例:



恶意软件数据库

MalwareDB包含了恶意软件列表hash检测结果,所属域名等数据。

内容类型:文本样本使用范围:特征库入侵检测下载地址:http://malwaredb.malekal.com/https://bbs.kafan.cn/thread-2156285-1-1.html数据示例:





APT攻击数据集

非常棒的两个数据集,APT样本HASH值和APT报告。

https://github.com/RedDrip7/APT_Digital_Weaponhttps://github.com/kbandla/APTnotes

下载推荐:

https://virusshare.com/https://virusshare.com/https://app.any.run/




图像分类数据集-1000

Sort_1000pics数据集包含了1000张图片,总共分为10大类,分别是人(第0类)、沙滩(第1类)、建筑(第2类)、大卡车(第3类)、恐龙(第4类)、大象(第5类)、花朵(第6类)、马(第7类)、山峰(第8类)和食品(第9类),每类100张。

内容类型:图像样本使用范围:图像分类、恶意家族分类推荐理由:个人感觉这是图像分类实验的基础,恶意样本转换灰度图进行恶意家族分类实验也都可以基于此实验拓展下载地址:https://github.com/eastmountyxz/ImageProcessing-Python数据示例:


通常会将所有各类图像按照对应的类标划分至“0”至“9”命名的文件夹中,如图所示,每个文件夹中均包含了100张图像,对应同一类别。


比如,文件夹名称为“6”中包含了100张花的图像,如下图所示。


推荐作者文章:图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例



MNIST-手写数字

MNIST数据集是手写体识别数据集,也是入门级的计算机视觉数据集。MNIST图片数据集包含了大量的数字手写体图片,如下图所示,我们可以尝试用它进行分类实验。该数据集共包含三部分:

训练数据集:55,000个样本,mnist.train测试数据集:10,000个样本,mnist.test验证数据集:5,000个样本,mnist.validation


MNIST数据集中的一个样本数据包含两部分内容:手写体图片和对应的label。这里我们用xs和ys分别代表图片和对应的label,训练数据集和测试数据集都有xs和ys,使用mnist.train.images和mnist.train.labels表示训练数据集中图片数据和对应的label数据。如下图所示,它表示由28x28的像素点矩阵组成的一张图片,这里的数字784(28x28)如果放在我们的神经网络中,它就是x输入的大小,其对应的矩阵如下图所示,类标label为1。


内容类型:图像样本使用范围:图像分类、恶意家族分类推荐理由:个人感觉这是图像分类实验的基础,恶意样本转换灰度图进行恶意家族分类实验也都可以基于此实验拓展下载地址:fromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.read_data_sets(‘MNIST_data’,one_hot=True)推荐作者文章:TensorFlow实现分类学习及MNIST手写体识别案例Keras搭建分类神经网络及MNIST数字图像案例分析



垃圾邮件数据集

SpamBase数据集入门级垃圾邮件分类训练集,其包含57个属性和4601个实例,该数据集主要用于垃圾邮件的识别分类,其中垃圾邮件的资源均来自于邮件管理员和提交垃圾邮件的个人,其可被用于构建垃圾邮件过滤器。该数据集由惠普实验室于1999年7月发布,主要发布人有MarkHopkins、ErikReeber、GeorgeForman和JaapSuermondt。另一个垃圾邮件数据集是Enron。

内容类型:垃圾邮件使用范围:邮件分类、垃圾邮件识别分类下载地址:https://hyper.ai/datasets/4949数据示例:




自然灾害数据集

xBD数据集是迄今为止第一个建筑破坏评估数据集,是带注释的高分辨率卫星图像的规模最大、质量最高的公共数据集之一。该数据集包含22068张图像,均是1024x1024的高分辨率卫星遥感图像,标记有19种不同的事件,包括地震、洪水、野火、火山爆发和车祸等。这些图像包括了灾前、灾后图像,图像可用于构建定位和损伤评估这两项任务。

发布机构:麻省理工学院内容类型:图像样本数据大小:31.2GB使用范围:图像分类、自然灾害识别推荐理由:个人感觉该数据集对于对抗样本、AI和安全结合的案例有帮助下载地址:https://hyper.ai/datasets/13272相关论文:《BuildingDisasterDamageAssessmentinSatelliteImagerywithMulti-TemporalFusion》(《具有多时相融合的卫星影像中的建筑物灾害破坏评估》)



总结

学习安全或深度学习数据集是第一步,可能很多同学会受到数据集的困扰,真心希望这些数据集对您有所帮助,也欢迎大家继续补充新的数据集。作者后续会整理这些年抓取的文本数据以开源,供大家进行文本挖掘或NLP研究。

同时感觉自己要学习的知识好多,也有好多大神卧虎藏龙,开源分享。作为初学者,我和他们有很大差距,但不论之前是什么方向,是什么工作,是什么学历,我都会朝着这个目标去努力!有差距不可怕,我们需要的是去缩小差距,去战斗,况且这个学习的历程真的很美,AI和安全真的有意思,共勉~

最后,真诚地感谢您关注“娜璋之家”公众号和博客,也希望我的文章能陪伴你成长,希望在技术路上不断前行。文章如果对你有帮助、有感悟,就是对我最好的回报,且看且珍惜!再次感谢您的关注,也请帮忙宣传下“娜璋之家”,哈哈~初来乍到,还请多多指教。


(By:Eastmount2020-09-07夜于武汉https://blog.csdn.net/Eastmount)


参考资料:[1]https://xz.aliyun.com/t/1879[2]https://blog.csdn.net/u011311291/article/details/79045675[3]https://hyper.ai/datasets/4949


靓猴一枚
4楼 · 2022-04-24 10:25

深度学习的本质就是模拟人的学习机制

深度学习概念由Hinton于2006年提出,但本质就是人工神经网络,而人工神经网络就是一种对人脑的模仿,通过模拟人脑的生物神经网络,来模仿人的学习能力。

因此,深度学习就是通过模仿人类,来使得机器也具备学习能力。

而这种模拟,除了设置大量的神经网络节点(即模仿神经元),还要通过算法来设计这个神经网络的模型,当然,还有最重要的一点,就是一定要通过样本数据训练,来使得机器具备某种能力,比如,通过人脸库,让机器具备人脸识别的能力。

而这种样本数据的训练,跟人类读书读的越多,就越能写出更好的文章,是一样的。


相关问题推荐

  • 回答 20

    选对培训机构比较重要,还有就是选择的时候看一下自己适合哪种风格的讲课方式,这个也很重要。因为现在5G时代来临,人工智能绝对是一个发展的大趋势,如果你自己空余时间又比较多的话,其实可以报一个辅导班,学习学习一些基本的东西,毕竟多学点总是没有坏处...

  • 回答 3

    深度学习是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。...

  • 回答 3

    AI深度学习课程是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术,主要应用于图像识别、语音识别、自然语言处理等领域。学完可以从事深度学习工程师、机器学习工程师、人工智能工程师、高级算法工程师、高级算法工...

  • 回答 16

    算法,数据相关的适合做人工智能

  • 回答 28

    人工智能取代的行业,一定有如下几个特征:1、大量重复型。2、逻辑性比较强。3、数据库依赖型。像司机,咨询,教育,医生,会计,律师助理,工程师,码农等,都是容易被取代的行业。当然,这都是强人工智能以后会发生的事,现在还是弱人工智能的时代,想进入...

  • 回答 9

    如果你是自己学着玩,提升自己的话,高中毕业都可以。如果是冲着AI算法岗或者科研一席之地,至少211硕士。具体可以亲身体验一下今年算法岗秋招。

  • 回答 9

    可以,未来的人工智能发展深度学习必然是现在大型机器生产科研必备的,证书的话某个培训好像有这个中科院的证书,具体你去百度吧

  • 回答 8

    我觉得就是人工智能的课程,现在家具都是智能家居了。这一块发展一定很好

  • 回答 3

    对于sgd算法而言,batch size太大太小都不好,太小的话训练不稳定,计算效率低;太大的话收敛速度慢,需要仔细调节一下。以2的倍数调节,例如32,64,128等

  • 回答 1

    在terminal中输入$wolf@wolf:~/Downloads/gitclonehttps://github.com/Tencent/ncnn cd切换到NCNN目录***这步很重要,这时候需要修改ncnn的root目录下的CMakeLists.txt文件,需要将倒数几行的add_subdirectory(examples),取消注释,这样就是默认编译example...

  • 回答 5

    人工智能的话其实到现在来说已经慢慢趋于成熟,学的话首先是一线城市,学出来好就业,还有就是薪资也高

  • 回答 2

    共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。     一幅图象的灰度共生矩阵能反映出图象灰度关于...

没有解决我的问题,去提问