已有1条回答
管理员
属于机器学习常见流程的是数据获取、特征提取、模型训练和验证、线下测试、线上测试。
1、数据获取:首先从线上拉取用户真实数据,用现有模型过一遍这些数据得到一些有用的信息作为标注人员的一个参考,加快标注速度;标注完成后,数据入库并解决冲突,冲突即是同一个query,两次标注结果不一致,解决冲突的办法一般是人工check,得到一个更准确的标注;
2、特征抽取:NLP任务一般需要抽取数据的特征,如ngram、词典特征、词向量特征、上游模块的输出等。一般离线和在线均需要特征抽取,所以离在线的这部分代码是共用的,避免在线特征抽取和离线不一致。抽取特征时有个小技巧是把能想到的特征均抽取出来,并保存成文本文件,避免重复的执行特征抽取的步骤,在实验的时候用mask的方式去屏蔽掉那些对模型没用的特征,因为针对神经网络这样的模型,值为0的特征一般不影响最终结果(如tanh/ReLU等,但sigmoid激活层可能会影响)。这样抽取出来的特征的格式一般还不能满足机器学习框架的要求,通过脚本转化成机器学习框架要求的格式即可。
3、模型训练和验证:常用的模型训练和验证步骤是:首先以一个简易的算法开始,快速的进行实现,并在交叉验证集上进行验证;然后画出它的学习曲线,通过学习曲线确定是否更多的数据或者更多的特征会对模型的优化有帮助。接着人为地检测交叉验证集中被错误的进行分类的或者预测的样本的共同特征,从实际入手对模型进行调整,不断调整并验证在交叉验证集上的误差,寻找最优的结果,优化模型。
4、线下测试:指在模型验证有提升后,在测试集上测试模型的性能指标。线下测试可以将模型集成在应用程序里测试,也可以单独测试模型。线下测试的指标一般跟具体的业务需求相关,包括:准确率(accuracy)、精确率(precesion)、召回率(recall)、F1值等。
5、线上测试:是模型上线后的测试,是跟业务紧密相关的一个指标。在实际工作中,一般先将版本上线至一个复制小流量环境,打到这个环境的流量同时也打到线上环境,然后同时取出线上环境的结果和复制小流量环境的结果,抽出两者的diff,人工做gsb(goodbadsame),即针对有diff的case,人工标注小流量好(good),还是线上好(bad),或者两者打平(same),如果good多于bad,说明gsb通过,可以上线供用户体验。这种方法与A/Btesting类似。模型上到线上后,可以通过用户行为反馈模型的好坏,如用户点击、pv等。
猜你喜欢
打桩常见的问题有哪些
72伏20安充满要几度电
撒贝宁跟马云是哪个节目
内存拓展是干嘛用的
iPhone 13 Pro截屏教程
蟹爪兰不开花是什么原因
qq4g在线和wifi在线有什么区别
洗衣机不能甩干是什么原因
一加ace2怎么关静音
五加仑桶可以装多少升水
异地提档需要几天
iPhone 14 Pro怎么设置通话不断网
最新学习
航天飞机的作用主要有什么
一加Ace2原神定制版连不上wifi怎么办
系统映像恢复什么意思
商鞅死嬴驷后悔吗
轩逸显示油耗高原因
无氟变频空调是什么意思
传祺m6发动机怎么样 传祺m6是几缸发动机(直列四缸)
一根网线连接两台电脑
a2图框尺寸
荣耀Magic5 至臻版怎么连接蓝牙耳机
华为P60如何查看流量使用情况
小米13怎么删除短信