본문 바로가기

머신러닝 읽어주는 남자

Learning to rank

반응형

기본의 머신 러닝 방식: 한 번에 하나씩만 처리가능.(ex. 스팸필터: 하나의 메일에 대해서 스팸여부 확률을 구함)

learning to Rank 중에 pointwise 방식도 리그레션 또는 classification방법을 사용함

보통 square loss 혹은 cross entropy를 줄이는 식으로 학습함

라벨이 구체적인 doc이 됨



Learning to Rank: 구체적은 스코어보다는 리스트의 order만을 생각함.


이들의 공통점은 랭킹을 pairwise classification 또는 regression 문제로 변형하여 해결하였다.



pairwise: query 1개와 , document 2개를 비교하여 2개의 document의 순서를 정한다.

순서가 바뀐걸 최소화하는 것으로 학습을 한다.

대표적은 방법으로는 Ranknet이 있다.


query: q

docs: d1, d2


q, d1의 feature : x1

q, d2의 feature : x2


f(x1) = s1

f(x2) = s2


d1이 d2보다 더 유사할 경우



e^(w*d1)

----------------------           =  1

e^(w*d1) + e^(w*d2)



e^(w*d2)

----------------------           =  0

e^(w*d1) + e^(w*d2)


이를 전체 문서로 확장도 가능하다 


e^(w*d2)

----------------------           =  0

e^(w*d1) +....+ e^(w*dn)




Ranknet -> LambdaRank ->LambdaMART

반응형