美文网首页
ByteCup学习笔记

ByteCup学习笔记

作者: 拼搏向上001 | 来源:发表于2019-04-02 19:01 被阅读0次

    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的排序质量的权重是不一样的。
    累计增益CG:CG_{p}=\sum\limits_{i=1}^{p}rel_i

    折损累计增益DCG:DCG_{p}=\sum\limits_{i=1}^{p}\frac{rel_i}{log_2{(i+1)}}
    折损累计增益DCG(增加相关度影响比重):DCG_{p}=\sum\limits_{i=1}^{p}\frac{2^{rel_i}-1}{log_2{(i+1)}}

    归一化折损累计增益NDCG:NDCG_{p}=\frac{DCG_p}{IDCG_p}, IDCG_p=\sum\limits_{i=1}^{|REL|}\frac{2^{rel_i}-1}{log_2{(i+1)}}

    CG只考虑到了相关性的关联程度,没有考虑到位置的因素,它是一个搜素结果相关性分数的总和。【CG_p表示位置p上的CGrel_i表示i这个位置上的相关度,相关性值为二进制时,即rel_i\{0,1\},也可以是实数的形式。】假设搜索“篮球”结果,最理想的结果是:B1、B2、 B3。而出现的结果是 B3、B1、B2的话,CG的值是没有变化的,因此需要下面的DCG

    DCG(Discounted 的CG)考虑了排序位置,在每一个CG的结果上除以一个折损值,让排名越靠前的结果/越能影响最后的结果。排序越往后,价值越低。到第i个位置的时候,它的价值是 \frac{1}{log_2 (i+1)},那么第i个结果产生的效益就是\frac{rel_i}{log_2 (i+1)}DCG是一个累加的值,没法针对两个不同的搜索结果进行比较,因此需要归一化处理,即有了NDCG

    NDCG(Normalized 的DCG)考虑了搜索结果因检索词不同,返回的数量不一致。【|REL|表示 结果按照相关性从大到小的顺序排序,取前p个结果组成的集合,即按照最优的方式对结果进行排序。】

    CG.png
    DCG.png
    NDCG.png NDCG@k_avg_user.png

    相关文章

      网友评论

          本文标题:ByteCup学习笔记

          本文链接:https://www.haomeiwen.com/subject/mjigbqtx.html