MAP-Mean Average Precision 平均精度均值

在分类任务中,不知道是不是多标签分类,看完本文就知道了。

【MAP常用于检测识别,是先(检测)分割,然后(分类)识别,是连续的过程】

除了常见的评价指标外,还有一个能装逼的指标,因为知道的人少了一些。

这是来自github搜索到的版本,感觉很高大上啊。

MAP-Mean Average Precision 平均精度均值_第1张图片

每一个类别的AP,最后得到MAP,太好看了。

当前py file的绝对路径为

os.path.abspath(__file__)

切换工作文件夹到path

os.chdir(path)

当前工作路径

os.getcwd()

由于MAP是由PR值求得的,因此必然有PR值,公式为:来源于网络,没有仔细考究

mAP=\int_{0}^{1}P(R)dR

 

1-先计算一版PR值曲线,随着P值单调递减;

2-通过数值积分计算曲线下的面积,就是AP;

这个MAP在目标检测中用的多,如果没有做过Object Detection可能没有接触过。

MAP-Mean Average Precision 平均精度均值_第2张图片

glob.glob的用法比查找该文件夹下的内容方便。

glob.glob(Dir + '/*.txt')

mlists=os.listdir(Dir)
mlists=[os.path.join(Dir,m) for m in mlists]
>>> [0]*12
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

这个版本给出的有点繁琐,没必要读写文件,直接举个例子不就好了,让别人自己整输入输出的数据,真是。

这里面不得不提的一些名词:

miss rates未命中率,这个与召回中的hit rates 是对应的,mr = (1 - precision)

fppi——false positives per image每个图的假阳性率

log-average miss rate——0.01到1之间对数均分成9个数

先求每个类的AP,再进行mean即可。但是我发现似乎不能从图像里抠出来,因为有用到图像的hw(IoU等)这就尴尬了。如果不是行人检测或者图像领域的MAP怎么求啊??also see the issue in Object Detection.

推倒重来,前面的基本上对推荐中的评价指标没有任何帮助,只能用于目标检测中。

在Youtube2016的推荐中,训练的模型是预测下一个要点击的item,那么ground truth自然就只有一个,如果召回50个(因为maxlen最大为50,自然是召回的越多,命中率越高,这是不是有点作弊啊),50个其中有命中的,知道该命中的index即可

那么该用户的AP为AP=1/(index+1)

所有用户(个数num)则直接平均即是最后的MAP

MAP=\frac{1}{num}\sum AP

如果按照这种观点及Youtube的召回策略的话,那么想要获得paper中12%的最佳,每个用户的命中要排在前10,这是很难的啊

MAP-Mean Average Precision 平均精度均值_第3张图片

难道我忽略了关键词holdout ??

计算出来了,最后是MAP 0.02738781194642735

你不相信我也不信,这也太低了吧。想达到每个预测都在前10 是不可能的。

加了embedding维度,增加了神经元units后,果然MAP明显提高了。

MAP 0.04145623609805117

如果用paper中的2048——1024——512——256效果估计会更好点,这都是4层了,目前是三层的。再说了只用了观看记录,也没搜索特征,没有Example age 特征(再说我也不知道怎么设置这个特征,有点懵逼)

但MAP没多大提高了。。。

MAP 0.04185865920044647(召回100个)

MAP 0.041563724899291395(召回50个)
我觉得这个指标与paper已经很接近了,如果这个指标没有理解错误的话。

item的特征是很稀疏的,user的看起来还好,因为item就是只有item之间的关联特征。

加了一层1024,最后到128,效果反而没多大差别,实话说,反而低了MAP

MAP 0.041369691113114775
又调了下参数,三层512-256-128

MAP似乎不变了吧:MAP 0.041820710448671826

 

这些参数/指标没人会回到你的问题,群里也没人告诉你,都是自己搞,人生艰难啊!那就多看点内容吧,防止理解偏或错了。

其他待续吧。。。

 

For Video Recommendation in Deep learning QQ Group 277356808

For Speech, Image, Video in deep learning QQ Group 868373192

I'm here waiting for you

 

 

你可能感兴趣的:(imagednn,Recommendation)