阅读数:422
已有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等。
猜你喜欢
荣耀手表 GS 3i怎么开机
电脑键盘没反应是怎么回事
荣耀x40GT怎么用两个微信号
黑鲨5 RS在哪开启节能模式
东风风光580口碑怎么样 东风风光580值得入手吗(操控精准/内饰科技感十足)
哪吒n01质量好不好 哪吒N01质量怎么样值得买吗
nvidia pcss是什么意思
自动挡p r n d分别是什么
苹果手机复制粘贴不了怎么回事
vivo X90 Pro+玩原神怎么样
手机两个录音怎么合并
年审过期几天有事吗
最新学习
蓝莓树是什么样的
关于读书日积月累的诗有哪些
多媒体数据之所以能被压缩是因为数据本身存在冗余
荣耀Magic5 Pro配件有哪些
大众车和丰田车谁耐用 大众和丰田谁的技术强一点
大众途锐是什么变速箱 途锐的变速箱怎么样(换挡平顺连贯)
24度可以开空调吗
富贵子怎么养
学信网是自己注册还是学校注册
国五的车现在还能上牌吗
iPhone 14 plus怎么关闭hdr
传祺e9轮胎型号规格是多少 尺寸为225/60 r18(胎宽225mm)