1、数据获取
如果能找到数据,找数据并融合数据。
找数据集办法:
1、Paperswithcode 网站(论文常见数据集)
2、Kaggle(科学家数据集)
3、Google 搜索引擎数据集 等等
融合数据:
找不到数据集时,去生成数据集:
1、使用GAN生成
2、数据增强,对图片进行Photoshop
3、对文本增强
总结:
1、找到合适的数据
2、没有那么多数据时,进行数据增强(GAN、3D)
2、网页数据抓取
某个网页比较感兴趣的数据,提取出来,最后变成一个table,变成一张表。
用什么样的工具:
1、使用headless浏览器,通过命令行把一个网站存下来;
2、通过大量的ip去抓取一个网站的数据
把网页变成原始的数据,然后可以进行机器学习模型的训练。
只是下载了html的文件,如果要爬下来网页中的图片的话,把图片的jpg文件中,把所有的url在html里面全部进行正则表达式的匹配,把图片的id找出来,然后用这个模板套进去,把所有图片的url弄下来,然后就可以爬下来了。
注意:不要去爬敏感信息的数据(法律问题);不要去爬有版权的信息。
总结:
1、网页抓取是当不提供数据API时大规模收集数据的强大方法;
2、使用公共云,成本低;
3、使用浏览器的检查工具以html形式查找信息;
4、要谨慎正确使用。
3、数据标注
半监督学习(SSL)
关注有少量标记数据和大量未标注数据的场景;
对数据分类作出假设,以使用未标注的数据;
1、连续性假设
2、分组假设
3、多方面假设
自学习算法(半监督学习算法的一种)
主动学习(和半监督学习类似,但有人为的干预),有不确信的采样。
active learning + self - training
弱监督学习:半自动的生成标号,通常这些标号比人标的差一些,但可以训练出还不错的模型。
总结:
获得标签的方法
1、自学习:迭代训练模型来标记未标记的数据
2、众包:利用全球标签手工标注数据
3、数据编程:分配噪声标签的启发式程序
或者考虑无监督/自监督学习