Loading [MathJax]/jax/output/HTML-CSS/jax.js

2014年9月23日 星期二

[機器學習] Paper digest(1) On Multilabel Classification and Ranking with Bandit Feedback

這篇是在Journal of machine learning research上看到的
先附上原文位址

這篇文章提出一個機器學習方法在資訊不充足的情況下做出決策

所謂資訊不足指的是,我們所收集到的資料是未經排序的,但是我們要給的決策建議是卻是排序的。舉例而言,收集到的資料只有某些人的某些特質和他們各自看了哪些電影(partial feedback),卻不知道這些人對這些電影的喜好程度,我們要如何給出一個排序過的推薦清單?


Loss function for partial information

這篇文章的作者發展的loss function:

la,c(Yt,^Yt)=a|Yt^Yt|+(1a)i^YtYtc(ji,|^Yt|)

其中Yt是收集到的資料,^Yt是建議的決策,因此Yt是沒有排序的,而^Yt是有排序的

|Yt,^Yt|是指有多少Yt裡的element沒有出現在^Yt裡面,概念上有點像是Hamming loss function;而i^YtYtc(ji,|^Yt|)則是考量了排序,^Yt中,沒有出現在Yt的元素要是排得越前面,計分就越重

舉例來說,如果

Yt={1,3,8}

^Yt=(4,3,6)



|Yt,^Yt|=2 (Yt中的1, 3不屬於^Yt)

i^YtYtc(ji,|^Yt|)=3/3+1/3  (46的權重分別為3/31/3)


Multilabel classification

利用線性模型

Pt(y1,t,y2,t,...yk,t)=Pt(y1,t,y2,t,...yk,t|xt)

Pt(yi,t=1)=g(uTi)g(uTi)+g(uTi)

最佳化上述的loss function找最好的決策,上述的loss function也可以寫成

aKi=1yi,t+(1a)i^Yt(c(ji,|^Yt|)(a1a+c(ji,|^Yt|))yi,t)

由於Ki=1yi,t^Yt基本上是無關的,所以在計算中只要最佳化

E[la,c(Yt,^Yt)]=(1a)i^Yt(c(ji,|^Yt|)(a1a+c(ji,|^Yt|))pi,t)

就可以了


Others

作者也提出了另一個loss function:

lprank,t(Y,f)=i,jˆYt:yi<yj({fi(xt)<fj(xt)}+12{fi(xt)=fj(xt)})+St|YtˆYt|

f是ranking function而{...}是indicator function,St則是ˆYt的長度

作為評估排序表現的依據