文章插图
属于机器学习常见流程的是数据获取、特征提取、模型训练和验证、线下测试、线上测试 。
1、数据获取:首先从线上拉取用户真实数据,用现有模型过一遍这些数据得到一些有用的信息作为标注人员的一个参考,加快标注速度;标注完成后,数据入库并解决冲突,冲突即是同一个query,两次标注结果不一致,解决冲突的办法一般是人工check,得到一个更准确的标注;
2、特征抽取:NLP任务一般需要抽取数据的特征,如ngram、词典特征、词向量特征、上游模块的输出等 。一般离线和在线均需要特征抽取,所以离在线的这部分代码是共用的,避免在线特征抽取和离线不一致 。抽取特征时有个小技巧是把能想到的特征均抽取出来,并保存成文本文件,避免重复的执行特征抽取的步骤,在实验的时候用mask的方式去屏蔽掉那些对模型没用的特征,因为针对神经网络这样的模型,值为0的特征一般不影响最终结果(如tanh/ReLU等,但sigmoid激活层可能会影响) 。这样抽取出来的特征的格式一般还不能满足机器学习框架的要求,通过脚本转化成机器学习框架要求的格式即可 。
3、模型训练和验证:常用的模型训练和验证步骤是:首先以一个简易的算法开始,快速的进行实现,并在交叉验证集上进行验证;然后画出它的学习曲线,通过学习曲线确定是否更多的数据或者更多的特征会对模型的优化有帮助 。接着人为地检测交叉验证集中被错误的进行分类的或者预测的样本的共同特征,从实际入手对模型进行调整,不断调整并验证在交叉验证集上的误差,寻找最优的结果,优化模型 。
4、线下测试:指在模型验证有提升后,在测试集上测试模型的性能指标 。线下测试可以将模型集成在应用程序里测试,也可以单独测试模型 。线下测试的指标一般跟具体的业务需求相关,包括:准确率(accuracy)、精确率(precesion)、召回率(recall)、F1值等 。
【属于机器学习常见流程的是】5、线上测试:是模型上线后的测试,是跟业务紧密相关的一个指标 。在实际工作中,一般先将版本上线至一个复制小流量环境,打到这个环境的流量同时也打到线上环境,然后同时取出线上环境的结果和复制小流量环境的结果,抽出两者的diff,人工做gsb(good bad same),即针对有diff的case,人工标注小流量好(good),还是线上好(bad),或者两者打平(same),如果good多于bad,说明gsb通过,可以上线供用户体验 。这种方法与A/B testing类似 。模型上到线上后,可以通过用户行为反馈模型的好坏,如用户点击、pv等 。
- 尚酷属于什么车
- 石油是不是再生资源
- 铁观音属于红茶还是绿茶
- 机顶盒遥控器学习方法是什么
- 石泉街道在哪里
- 上海外滩在哪个区
- 长安马自达是属于国产车吗?
- 联想属于国企还是私企
- 爱驰汽车属于哪个集团
- 雷蛇属于什么档次