최상의 답변
저는 문헌에서 SVM 순위 지정의 여러 가능한 응용 프로그램을 발견했습니다.
* 순서 회귀 분석 * AUC 최적화 * 클래스 불균형 * 문제의 순위를 매기는 학습
처음에는 순서 회귀를 위해 제안되었습니다. AUC 최적화는 그저 특별한 경우입니다 (2 개의 클래스). AUC는 클래스 불균형 문제에 대한 합리적인 성능 메트릭이므로 클래스 불균형은 AUC 최적화와 관련이 있습니다. 랭킹 SVM은 정보 검색의 맥락에서 학습 2 등급 문제에 대해서도 제안되었습니다. AUC는 순위 메트릭으로도 볼 수 있지만 NDCG 및 평균 평균 정밀도와 같은 표준 순위 성능 메트릭과 다르기 때문에 IMHO에 적합하지 않습니다. 후자는 가장 무겁습니다. 즉, AUC는 순위의 모든 순위를 동등하게 취급하는 반면 순위의 첫 번째 예 (종종 순위 10과 20 미만의 예는 전혀 중요하지 않음)에 중점을 둡니다.
그렇습니다. 위의 모든 문제에 대해 순위 SVM을 사용했으며 IMHO는 유용하게 입증 된 적이 없습니다. 내 경험상, 예제 가중치는 일반적으로 클래스 불균형에 대해 더 잘 작동하며 관련성 점수 (+ 비선형 모델)에서 단순 회귀 순위를 지정하는 방법을 배우면 대부분의 L2R 벤치 마크에서 더 나은 성능을 제공합니다. 일반 svm과 svm 랭킹 간의 AUC 성능 차이는 무시할 수있는 IMHO입니다.
내가 본 랭킹 SVM의 가장 흥미로운 응용 프로그램은 Thorsten Joachims와 그의 그룹이 웹 검색 엔진 사용자의 암시 적 피드백을 사용한 것입니다. (즉, 사용자가 1 번이 아닌 2 번 위치를 먼저 클릭) 순위 SVM에 입력되는 “예제 쌍”(doc\_2-doc\_1)을 생성합니다.이 형식의 훈련 신호는 순위 SVM과 같은 쌍별 접근 방식에서만 작동합니다.
답변
약어
- AUC = 곡선 아래 영역
- AUROC = 수신기 작동 특성 곡선 아래 영역 .
AUC는 AUROC를 의미하는 데 대부분 사용되며, Marc Claesen이 AUC가 지적했듯이 이는 나쁜 습관입니다. 모호한 (어떤 곡선도 가능) AUROC는 그렇지 않습니다.
해석 ng AUROC
AUROC에는 몇 가지 동등한 해석 이 있습니다.
- 균일하게 추첨 된 임의의 긍정은 균일하게 그려진 임의의 부정보다 먼저 순위가 매겨집니다.
- 균등하게 추첨 된 임의의 부정보다 먼저 순위가 매겨진 긍정의 예상 비율
- 순위가 다음과 같은 경우 예상되는 참 양성 비율 균일하게 추첨 된 임의의 음수 직전에 분할됩니다.
- 균등하게 추첨 된 임의의 양수 다음에 순위가 매겨진 음의 예상 비율입니다.
- 순위가 균일하게 추첨 된 직후에 분할되는 경우 예상되는 거짓 양성 비율 무작위로 긍정으로 그려집니다.
AUROC 계산
로지스틱 회귀와 같은 확률 적 이진 분류 기가 있습니다. ROC 곡선 (= 수신기 작동 특성 곡선)을 제시하기 전에 혼란 행렬 의 개념을 이해해야합니다. 이진 예측을 할 때 4 가지 유형의 오류가있을 수 있습니다.
- 클래스가 실제로 0이되어야하는 동안 0을 예측합니다.이를 True Negative , 즉 클래스가 음수 (0)라고 정확하게 예측합니다. 예를 들어 바이러스 백신은 무해한 파일을 바이러스로 감지하지 못했습니다.
- 우리는 클래스가 실제로 1이어야하는 동안 0을 예측합니다. 이것을 False Negative , 즉 클래스가 음수 (0)라고 잘못 예측합니다. 예를 들어 바이러스 백신이 바이러스를 감지하지 못했습니다.
- 클래스가 실제로 0이어야하지만 1을 예측합니다.이를 False Positive <라고합니다. / span>, 즉 클래스가 긍정 (1)이라고 잘못 예측합니다. 예를 들어 바이러스 백신은 무해한 파일을 바이러스로 간주했습니다.
- 클래스를 가져야하는 동안 1은 실제로 1이 될 것으로 예상합니다.이 파일을 라고합니다. 참 양성 , 즉 클래스가 양성 (1)임을 정확하게 예측합니다. 예를 들어, 바이러스 백신이 바이러스를 정당하게 감지했습니다.
혼동 매트릭스를 얻기 위해 모델에 의해 만들어진 모든 예측을 검토하고 4 가지 유형의 오류 각각에 대해 몇 번을 계산합니다. 발생 :
이 혼동 행렬의 예에서 분류 된 50 개의 데이터 포인트 중 45 개가 올바르게 분류되고 5는 잘못 분류되었습니다.
두 개의 서로 다른 모델을 비교하기 위해 여러 모델보다 단일 메트릭을 사용하는 것이 더 편리한 경우가 많으므로 혼동 행렬에서 두 메트릭을 계산하여 나중에 하나로 결합합니다.
- 참 양성률 ( TPR ), 일명. 민감도, 적중률 및 TPTP + FN으로 정의되는 재현율 . 직관적으로이 측정 항목은 모든 긍정적 인 데이터 요소와 관련하여 긍정적 인 것으로 올바르게 간주되는 긍정적 인 데이터 요소의 비율에 해당합니다. 즉, TPR이 높을수록 놓칠 긍정적 인 데이터 포인트가 적습니다.
- 오 양성률 ( FPR ), 일명. FPFP + TN으로 정의되는 낙진 . 직관적으로이 메트릭은 모든 부정적인 데이터 요소와 관련하여 실수로 긍정적으로 간주되는 부정적인 데이터 요소의 비율에 해당합니다. 즉, FPR이 높을수록 분류하지 못한 부정적인 데이터 포인트가 많아집니다.
FPR과 TPR을 하나의 단일 측정 항목으로 결합하기 위해 먼저 두 가지 이전 측정 항목을 여러 다른 측정 항목으로 계산합니다. 로지스틱 회귀에 대한 임계 값 (예 : 0.00; 0.01,0.02,…, 1.00)을 한 다음 가로 좌표에 FPR 값과 세로 좌표에 TPR 값을 사용하여 단일 그래프에 플로팅합니다. 결과 곡선을 ROC 곡선이라고하며 우리가 고려하는 지표는 AUROC라고하는이 곡선의 AUC입니다.
다음 그림은 AUROC를 그래픽으로 보여줍니다.
이 그림에서 파란색 영역은 수신기 작동 특성 (AUROC)의 곡선 아래 영역에 해당합니다. 대각선의 점선은 무작위 예측 변수의 ROC 곡선을 나타냅니다. AUROC는 0.5입니다. 랜덤 예측기는 일반적으로 모델이 유용한 지 여부를 확인하기위한 기준으로 사용됩니다.
직접 경험을 얻고 싶다면 :
- Python : 교차 검증을 통한 수신기 작동 특성 (ROC)
- MATLAB : 수신기 작동 특성 (ROC) 곡선 또는 분류기 출력에 대한 기타 성능 곡선