2016 Byte Cup国际机器学习竞赛
利用给定的头条问答数据(包括专家标签、问题数据以及问题分发数据等),进行针对问题的专家挖掘。给定若干问题,预测哪些专家更有可能回答这些问题。具体的,针对每个问题和一位候选专家,计算该专家回答问题的概率。实际运营中,系统会优先向回答概率高的候选专家发送这个问题的回答邀请,直到收到的回答数量达到指定阈值。按照预测概率把候选专家排序,并分别评估排序结果的NDCG@5,NDCG@10最后评分公式为 NDCG@5 * 0.5 + NDCG@10 * 0.5。(NDCG这个评测指标关注的重点在于排序,对于同一个问题,专家回答可能性的排序越准,得分越高。)
初赛数据: http://lab.toutiao.com/wp-content/uploads/2016/09/bytecup2016data.zip
最终测试数据(无标签): http://lab.toutiao.com/wp-content/uploads/2016/11/test_nolabel.txt
NDCG的目标:希望得到的排序列表,质量越高越好。并且,如果将更相关的排到更前面,那么计算得到的NDCG是会越高的。
AUC和NDCG的区别:
(1) AUC的含义:把正样本排在负样本前的概率。AUC关注的是全局的排序,只要正样本排在负样本之前,就可以得分。并没有加权。
(2) NDCG也是关注排序,但是NDCG关注的是,加权排序。比如我们希望top10的排序准确度,要比bottom10的排序准确度重要。对于这种加权排序,NDCG会更加合适。
因此,AUC和NDCG的区别是,加权与否。AUC的评估中,top-10的排序质量和bottom-10的排序质量是一样重要的。但是,在NDCG中,是需要加权的,top-10的排序质量和bottom-10的排序质量的权重是不一样的。
只考虑到了相关性的关联程度,没有考虑到位置的因素,它是一个搜素结果相关性分数的总和。【表示位置上的。表示这个位置上的相关度,相关性值为二进制时,即在,也可以是实数的形式。】假设搜索“篮球”结果,最理想的结果是:B1、B2、 B3。而出现的结果是 B3、B1、B2的话,CG的值是没有变化的,因此需要下面的。
(Discounted 的)考虑了排序位置,在每一个的结果上除以一个折损值,让排名越靠前的结果/越能影响最后的结果。排序越往后,价值越低。到第个位置的时候,它的价值是 ,那么第个结果产生的效益就是。是一个累加的值,没法针对两个不同的搜索结果进行比较,因此需要归一化处理,即有了。
(Normalized 的)考虑了搜索结果因检索词不同,返回的数量不一致。【表示 结果按照相关性从大到小的顺序排序,取前p个结果组成的集合,即按照最优的方式对结果进行排序。】
CG.pngDCG.png
NDCG.png NDCG@k_avg_user.png
网友评论