在机器学习和模式识别等领域中,一般需要将样本分成独立的三部分训练集(train set),验证集(validation set ) 和测试集(test set)。其中训练集用来估计模型,验证集用来确定网络结构或者控制模型复杂程度的参数,而测试集则检验最终选择最优的模型的性能如何。 来自:百度百科 OK,再用个通俗化的语言来简单解释一下这三个名词: 训练集:我拿N个用户作为样本案例,先来验证一下我这个算法跑不跑的通,能不能推荐出来对应的结果 验证集:我拿一些和之前不同的用户,开奖,他有更多更复杂的用户标签,我来试试在复杂情况下的我出来的结果是不是符合预期。 当这两个都算完了,攻城狮也都调教好了推荐算法中的不同标签和内容的比例了之后。就要用到测试集这个东西了。 测试集:我取一些从来没跑过推荐算法的用户作为样本,跑一遍算法,这些用户用某种方式抽取没有特定的规律,然后看输出的推荐集合是不是满足自己的要求。 尽管,研发可能根本用不到你去专门制造一些数据,(毕竟人家搞算法的,还有专业的测试去做整个算法的训练集和验证集的构成),但是如果你能参与到其中的一小部分,可能会对结果有一定的帮助。 例如,准备一些你觉得有这样的输入应当给出什么样的输出结果,比如我更喜欢日剧和美剧,我就希望推荐里更多的就是日剧和美剧,再加一点点动漫。 例如,具体推荐内容的比例(你期望的输出)可能会影响到用户留存(你希望通过算法解决的问题)的权重,还是要产品经理去确认。当然最后的算法的优化,还是要利用长时间的收集用户数据来完成。 四、验证效果 很多时候,一个算法的1.0版本总是差强人意的,尤其需要大量的数据去训练的这些最近很时髦很流行的(人工智能、机器学习、模式识别)算法。(这些算法有机会可能会单开一个文章去讲讲非技术出身产品经理如何理解这些看起来高端洋气上档次的算法,其实并没有想象中的那么复杂或者高端。) 当新算法上线之后,你需要一段时间去收集用户反馈的新数据。按照上面的这个例子,应当就是收集用户在tab页上面的平均留存时间超过30s的比例,单个推荐视频的停留时间超过5s的视频数量占所有观看视频数量的比例, 每次出现队列中用户观看的数量占本次推荐视频的比例等等这一系列数据,然后根据数据结果的优劣,再让研发重新调整对应的权重和参数,来达到最终的目的(增加留存blablabla)。 以上就是描述一下产品如何推动算法研发的一个小例子咯。当然我自己做的算法不是推荐算法(是排课啦,NP困难问题比推荐难大约一个量级),但是和算法工程师工作的流程基本上不会有改变,希望大家在碰到类似的工作的时候不要一脸懵逼,不知道如何下手。 作者:CresYan,3岁B端教育行业产品经理,大龄失业女青年,猫奴,欢迎勾搭~\(≧▽≦)/~ 本文由 @CresYan 原创发布于人人都是产品经理。未经许可,禁止转载。 (责任编辑:本港台直播) |