AI数据准备方案

本文探讨了机器学习中数据量的界定,提出了10倍规则法,即训练样本数量应为模型参数数量的10倍以确保良好性能。通过实验分析,展示了该规则在逻辑回归模型中的应用。此外,文章介绍了数据获取策略,包括58同城、领英等渠道,用于人岗匹配场景的数据收集。
摘要由CSDN通过智能技术生成

导入

通过《AI硬件部署方案》及《AI硬件部署方案阿里云服务器篇》你已经获得了符合机器学习的硬件环境,但是机器学习离不开学习资料,学习资料就是我们准备给机器的数据。数据从何而来,我们的数据应该准备什么,准备多少,这是本方案讨论的问题。

一、数据量的界定

1.实验

这里是生成一系列关于逻辑回归问题和研究基于数量渐变的训练样本在模型上训练效果的代码。通过调用谷歌的开源工具箱Tensorflow执行代码。代码的运行过程中不需要应用到任何软件和硬件,并且能够在电脑上运行整个实验。随着代码的运行,会得到下面的学习曲线图。 

图中,x轴表示训练样本数量与模型参数数量的比值。y轴是模型的f-score值。图中不同颜色的曲线对应于带有不同参数数量的训练模型。例如,红色曲线表示一个具有128个参数的模型随着训练样本数量128 X 1,128 X 2 等等这样变化时,f-score值的变化情况。

 

得到的第一个观察结果即是:f-score值不随着参数尺度的变化而变化。更大的模型需要更多的训练样本,但是若训练样本数量与模型参数数量的比值是给定的,你会获得相同的模型性能。第二个观察结果即是:当训练样本数量与模型参数数量之比为10:1时,f-score值在0.85上下浮动,我们可以称此时的训练模型是一个具有良好性能的模型。通过以上的观察结果可以得出一个10倍规则法——即是要训练出一个性能良好的模型,所需训练样本数量应是模型参数数量的10倍。

 

因而,借由10倍规则法,将估量训练样本数量的问题转换为只要知道模型中参数数量就可以训练出一个性能良好的模型问题。基于这一点这引发了一些争论: 

对于线性模型 ,例如逻辑回归模型。基于每个特征,模型都分配了相应的参数,从而使得参数的数量和输入的特征数量相等,然而这里可能存在一些问题:你的特征可能是稀疏的,所以,计数的特征数量并不是直接的

也就是说,假如训练能够起到作用的特征是少数的,而不起作用的特征占大多数。依照上述线性规则,若模型对于每个特征分配相应的参数,也就是说对于无用的特征也分配了相应的参数,再根据10倍规则法,获取是模型参数数量10倍的训练样本集,此时的训练样本数量对于最佳的训练模型来说可能是远远不够的,所以,此时用10倍规则法得到的训练样本集未必能够真实地得出好的训练模型。因此实际数据准备的过程中,尽量避免给对于训练结果没有影响的特征分配参数

 

2.结论

在神经网络这样非线性模型中,要想获得一个性能良好的训练模型,所需训练数据最少为模型参数的10倍,实际上所需的训练数据应该比这个还多

 尽管会存在以上的争论,但是我的10倍规则法在大多数问题中都起到了作用。然而,带着对10倍规则法的疑问,你可以在开源工具箱Tensorflow中插入你自己的模型以及对训练样本的数量和模型的训练效果之间的关系作出一个假设,并通过模拟实验来研究模型的训练效果,如果你在运行过程中有了其它见解,欢迎随时分享。

 

3.额外补充

(1)关于F-score值的介绍

先说一下什么是准确率与召回率(Precision&Recall)

准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。

 

精度是检索出相关文档数与检索出文档总数的比率,衡量的是检索系统的查准率;

召回率是指检索出的相关文档数和文库中所有的相关文档数的比率,衡量的是检索系统的查全率。

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来来。

正确率、召回率和F值是在众多训练模型中选出目标的重要指标。

1. 正确率=提取出的正确信息条数/提取出的信息条数

2. 召回率=提取出的正确信息条数/样本中的信息条数

两者取值在0和1之间,越接近数值1,查准率或查全率就越高。

3. F值=正确率*召回率*2/(正确率+召回率)

 即F值即是正确率与召回率的平均值,且F值越好,说明模型的性能越好。

 

(2)关于google开源工具箱Tensorflow

TensorFlow 是一个端到端平台,无论您是专家还是初学者,它都可以让您轻松地构建和部署机器学习模型。

轻松地构建模型

TensorFlow 提供多个抽象级别,因此您可以根据自己的需求选择合适的级别。您可以使用高阶 Keras API 构建和训练模型,该 API 让您能够轻松地开始使用 TensorFlow 和机器学习。

如果您需要更高的灵活性,则可以借助即刻执行环境进行快速迭代和直观的调试。对于大型机器学习训练任务,您可以使用 Distribution Strategy API 在不同的硬件配置上进行分布式训练,而无需更改模型定义。

强大的研究实验

TensorFlow 还支持强大的附加库和模型生态系统以供您开展实验,包括 Ragged Tensors、TensorFlow Probability、Tensor2Tensor 和 BERT。使用很少的时间就可搭建属于自己的模型。诸如:RNN  LSTM  GRU。

兼容移动领域

现在是移动时代,我们需要可在手机上使用的应用, Tensorflow训练的 AI 模型可以很容易被压缩和传输到手机端,对用户的手机内存十分友好,使之能够在手机上运行,高功耗、高能耗的实时 AI 处理在移动端成为可能。

二、数据的获取(人岗匹配)

说明:本方案只以人岗匹配数据获取进行举例讨论

1.58同城

可以通过爬虫获取58的简历,58同城不需要登录就可以看到简历内容,只有登录才能看到姓名,电话。姓名电话并不影响人岗匹配的训练结果,即你叫什么,电话是什么并不影响简历本身的匹配度。因此不需要获取姓名电弧,爬58同城也不需要登录

如图所示,可以爬取的信息有:职位亮点,工作经验,项目经验,教育经验,自我评价

实施过程:

最多展示100页,每页35条,共可以爬取3500条数据。

爬虫地址为:

用户登录-58同城

通过改变pn100,即pn1,pn2,。。。,pn100就可以改变分页,爬取新页数据。

2.人人网

人人网多为老旧数据,数据分布不具有广泛性,通过人人的数据训练得出的结果也不具备泛化特性,而且,现在人人已经登录不上了,故而淘汰本方法。

3.领英

网址:Login | InCareer

需要登录后并填写职位标签,即你想关注哪些领域的职位,领英会为你推荐相关领域的人。

这些相关领域的人就是我们要爬取的简历。

如图,我填写了基本所有的领域。在领英更多推荐区域,每天推荐8条,可以累计,滚动条滚动时加载更多数据。当更改职位标签时,推荐内容被更新。

4.我们自己的简历库

说明:爬虫获得的数据,按照我们简历库简历展示项目进行拆分存储,手机号,姓名自动创建。比如教育经历要拆分成学校名称,学校类型(985/211/普通高校) 存储,保证我们的数据结构统一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eq0284

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值