Papers/Machine learning

Precision Recall AveragePrecision

tomato13 2018. 12. 17. 17:37

https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173


http://newsight.tistory.com/261


- TP: 모델이 1이라고 예측(P)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우에 실제 정답도 1임 


- TN: 모델이 0이라고 예측(N)했고, 그 예측이 맞았음(True, 정답을 맞춤) 즉, 이 경우엔 실제 정답이 0임 


- FP: 모델이 1이라고 예측(P)했고, 그 예측이 틀렸음(False, 정답을 틀림) 즉, 이 경우에 실제 정답은 0임 


- FN: 모델이 0이라고 예측(N)했고, 그 예측이 틀렸음(False, 정답을 틀림) 즉, 이 경우에 실제 정답은 1임 




- Precision = TP / TP+FP

     -> 모델이 1이라고 예측한 것들 중, 실제로 정답도 1인 것


    (1에 가까울수록 좋다. 모델이 정답이라고 추측 한 것이 과연 얼마나 믿을만한지를 측정함=신중한 판단)


    ex) 의사가 사망선고를 내렸는데, 그것이 진짜 사망선고 일지 확신하는데에는 Precision이 중요함. 




- Recall = TP / TP+FN

     -> 실제 정답이 1인 것들 중, 모델이 1이라고 예측한 것


    (1에 가까울수록 좋다. 모델이 정답을 얼마나 놓치지 않고 다 잡아오는가(Recall)를 측정함=놓치지 말것)

    ex) 의사가 암여부를 진단을 할 때에는, 절대로 진짜 암환자는 놓치지 않고 다 정밀검사에 보내야함.




- Accuracy = TP + TN / TP+TN+FP+FN

     -> 전체 경우들 중에서, 모델이 제대로 정답을 맞춘 비율


    (1에 가까울수록 좋다. 모델의 종합 성적)




- Average Precision: Precision-Recall curve에서 밑면적의 넓이를 계산한 것.

* 주의: AUC와 개념적으로 거의 동일하고, 다만 차이점은 x축과 y축이 조금 다를 뿐임.


마찬가지로 threshold를 바꿈에 따라 변하는 Precision과 Recall의 값을 그래프로 그리고, 이것의 밑넓이를 적분해서 구한것이다.


- Mean Average Precision: AP를 모든 class에 대해서 계산한다음, 그것을 전체 평균낸 것.




출처: http://newsight.tistory.com/261 [New Sight]