본문 바로가기

데이터 다루기/머신러닝 이론

[머신러닝] Odds (오즈) 란?

728x90
반응형

[참조] StatQuest

 

안녕하세요. 이번 포스팅에서는 머신러닝 알고리즘에서 자주 쓰이는 Odds (오즈) 가 무엇인지에 대해서 배워볼게요.

A라는 사람이 8번의 경기를 치뤘다고 해보겠습니다.

그리고 A는 5번을 이기고 3번을 졌습니다.

경기를 승리하는 것에 대한 Odds는 A가 지는 것에 비해서 얼마나 이기는 가에 대한 값으로 5/3으로 쉽게 계산이 됩니다.

하지만, 알아두셔야 점이 바로 Odds 는 확률을 나타내는 것이 아니라는 것입니다.

위의 Case에서 A가 게임에서 이길 확률 p=5/8 입니다.

이 때, Odds는 p에 의해서 계산 되기도 합니다.

Odds 는 (A가 게임에서 이길 확률 / A가 게임에서 질 확률) = p/(1-p)로 계산될 수 있습니다.

즉, 이를 다시 말하자면 Odds를 알면 A가 게임에서 이길 확률을 역으로 계산할 수 있다는 것입니다.

바로 이 이유가 Odds를 사용하는 이유입니다.

하지만 대부분 Odds가 아닌 Log(Odds)인 logit 을 사용합니다.

그 이유는 바로 Odds의 단점에 있습니다.

아래의 그림을 보겠습니다.

 

만약 A가 1번 이기고 6번 질 경우, A의 승리에 대한 Odds는 0.17 입니다.

반대로 A가 6번 이기고 1번 질 경우, A의 승리에 대한 Odds는 6 입니다.

즉, 이기는 횟수가 지는 횟수보다 적을 경우, 0~1 사이의 값을 가지지만, 반대의 경우 1~무한대까지 값을 가집니다.

즉, 대칭이 아니라는 것이죠.

이러한 문제를 해결 할 수 있는것이 Log 변환하는 것입니다.

아래의 그림을 봅시다.

이 처럼 같은 Case에 대해서 0을 기준으로 대칭성을 만족하는 것을 볼 수 있습니다.

로그 Odds를 알면 확률 p는 다음과 같이 역계산 될 수 있습니다.

참 쉽죠??

반응형