우수 답변
RankNet, LambdaRank 및 LambdaMART는 모두 순위 학습 알고리즘.
순위 학습이란 무엇입니까?
순위 학습 (LTR)은 감독 대상을 적용하는 기법입니다. 순위 문제 를 해결하기위한 머신 러닝 (ML). LTR과 기존지도 ML의 주요 차이점은 다음과 같습니다.
- 기존 ML은 한 번에 단일 인스턴스에서 예측 문제 (분류 또는 회귀)를 해결합니다. 예 : 이메일에서 스팸 감지를 수행하는 경우 해당 이메일과 관련된 모든 기능을 살펴보고 스팸 여부를 분류합니다. 기존 ML의 목표는 해당 인스턴스에 대한 클래스 (스팸 또는 스팸 없음) 또는 단일 숫자 점수를 제시하는 것입니다.
- LTR은 항목 목록에서 순위 문제를 해결합니다. LTR의 목표는 해당 항목의 최적 주문을 찾는 것입니다. 따라서 LTR은 “각 항목이 얻는 정확한 점수에 크게 신경 쓰지 않고 모든 항목 간의 상대적 순서에 더 신경을 씁니다.
LTR의 가장 일반적인 응용 프로그램은 검색 엔진입니다. 순위가 지정되지만 항목의 순위가 지정된 목록을 생성해야하는 모든 곳에서 유용합니다.
LTR 모델의 학습 데이터는 항목 목록과 각 항목에 대한 “실측 정보”점수로 구성됩니다. . 검색 엔진 순위의 경우 쿼리에 대한 결과 목록 및 쿼리와 관련된 각 결과에 대한 관련성 등급으로 변환됩니다. 이러한 관련성 등급을 생성하기 위해 주요 검색 엔진에서 사용하는 가장 일반적인 방법은 평가자에게 일련의 쿼리에 대한 결과를 평가하도록 요청하는 것입니다. 관심이 있으시면 여기에 인간 등급 시스템에 대해 자세히 적었습니다. Google은 검색 결과의 품질을 어떻게 측정합니까?에 대한 Nikhil Dandekar의 답변
순위 학습에 대한보다 기술적 설명 Microsoft Research의 백서 확인 : 순위 학습에 대한 간략한 소개
RankNet, LambdaRank 및 LambdaMART 입니까?
RankNet, LambdaRank 및 LambdaMART는 모두 Microsoft Research의 Chris Burges와 그의 동료가 개발 한 LTR 알고리즘입니다. RankNet이 처음으로 개발 된 알고리즘이었고 그 다음이 LambdaRank와 LambdaMART입니다.
세 가지 기술 모두에서 순위는 다음과 같습니다. 쌍별 분류 또는 회귀 문제로 변환됩니다. 즉, 한 번에 한 쌍의 항목을보고 해당 항목 쌍에 대한 최적의 순서를 제시하고 그런 다음 그것을 사용하여 모든 결과에 대한 최종 순위입니다.
다음은 각 알고리즘에 대한 몇 가지 개략적 인 세부 정보입니다.
RankNet http://research.microsoft.com/en-us/um/people/cburges/papers/ICML\_ranking.pdf
RankNet은 원래 다음을 사용하여 개발되었습니다. 신경망이지만 기본 모델은 다를 수 있으며 신경망에만 국한되지 않습니다. RankNet의 비용 함수는 순위에서 반전 수를 최소화하는 것을 목표로합니다. 여기서 반전은 결과 쌍 사이의 잘못된 순서를 의미합니다. 즉, 순위 목록에서 더 높은 평점 결과보다 낮은 평점 결과를 순위 화하는 경우입니다. RankNet은 Stochastic Gradient Descent를 사용하여 비용 함수를 최적화합니다.
LambdaRank http://research.microsoft.com/pubs/68133/lambdarank.pdf
Burgess et. al. RankNet 훈련 절차 중에 비용이 필요하지 않고 모델 점수와 관련하여 비용의 기울기 (\ lambda) 만 필요하다는 사실을 발견했습니다. 이러한 기울기를 순위 목록의 각 문서에 첨부 된 작은 화살표로 생각할 수 있습니다. , 문서를 이동할 방향을 나타냅니다.
더 나아가 그들은 각 문서 쌍을 교체하여 찾은 NDCG 는 좋은 결과를 얻었습니다. LambdaRank의 핵심 아이디어는 RankNet 학습에이 새로운 비용 함수를 사용하는 것입니다. 실험 데이터 세트에서이 원래 RankNet에 비해 속도와 정확성이 모두 향상되었습니다.
LambdaMART http://research.microsoft.com/pubs/102750/LambdaMART\_Final.pdf
LambdaMART는 LambdaRank와 MART (Multiple Additive Regression Trees)를 결합합니다. 예측 작업에 그라디언트 부스트 결정 트리를 사용합니다. mbdaMART는 순위 작업을 해결하기 위해 LambdaRank에서 파생 된 비용 함수를 사용하여 기울기 강화 의사 결정 트리를 사용합니다.실험적 데이터 세트에서 LambdaMART는 LambdaRank 및 원래 RankNet보다 더 나은 결과를 보여주었습니다.
관심이 있다면 Chris Burges는 RankNet에서 LambdaRank에서 LambdaMART 로의 발전을 자세히 설명하는 단일 문서를 제공합니다. RankNet에서 LambdaRank에서 LambdaMART로 : 개요
답변
순위를 배우는 것은 전체 주문 복원과 관련된 문제의 부류입니다. 여러 가지 방법으로 설명 할 수있는 부분 순서의 집합입니다.
- 모든 데이터 포인트에 대한 등급
- 포인트 쌍, 여기서 포인트를 지정합니다. 더 높은 순위
이것은 회귀 문제로 볼 수 있습니다-특징 벡터에 대한 점수를 예측하거나 분류 문제로, 둘 중 어느 지점이 더 높은 순위가 될지 예측해야합니다. . 이러한 접근 방식은 pointwise 및 pairwise라고하며 현재 가장 많이 연구되고 강력한 방법입니다.