본문 바로가기

머신러닝

Naive Bayes (순진한 베이즈)에 대한 이해

반응형

>

>>

>>>


Naive Bayes는 번역하면 '순진한 베이즈'이다.

명칭만큼이나 간단한 방법이다. 

수학적 배경지식없이 이것을 이해하기 위해서, 간단한 예를 들어보자.


노래가사만 보고 '트와이스' 노래인지, '윤도현' 노래인지 맞출 수 있을까?


혹시, 이들을 모르는 사람들이 있다면, '트와이스'는 요즘 유명한 걸그룹이고,

'윤도현'은 예전부터 꾸준히 유명한 남자가수다.



예를 들어, 다음 가사 3문장이 주어졌다면, 누구 노래일까?

1) Love is timing

2) Love is coming coming
3) You're my heart shaker shaker


트와이스 달콤사랑 테마를 아는 사람이라면 '트와이스'라고 단박에 알아차렸을 것이다.


다음 가사라면 어떨까?

1) 나는 아주 작은 애벌레 살이 터져 허물벗어 
2) 나는 상처 많은 번데기 추운 겨울이 다가와 
3) 이젠 나의 꿈을 찾아 날아 날개를 활짝 펴고 


터프가이 윤도현 이미지를 아는 사람은 '윤도현' 임을 알았을 것이다.


그렇다면, 

'Naive Bayes' 방식으로 동작하는 '뇌'를 가진 사람이 정답을 맞추는 과정은 다음과 같다.


아래 3문장이 주어졌을 때, '트와이스'인지, '윤도현'인지 맞춰보자.

1) Love is timing

2) Love is coming coming
3) You're my heart shaker shaker


1)번 문장에 대해서, '트와이스 노래라고 생각하는가'라는 질문을 던지고,

1점 (전혀 아니다)부터 5점 (매우 그렇다) 점수를 매기게 한다.


트와이스에 대해 알고 있는 사람이면, 4점 정도 주었을 것이다.


'윤도현 노래라고 생각하는가'라는 질문을 던졌을 때는,

아마도 2점 정도 주었을 것이다.


 

 '트와이스'노래라고 생각하는가

 '윤도현'노래라고 생각하는가?

 Love is timing

 4

 

 

 

 

 

 


2번 문장을 보면,  걸그룹 특유의 동어반복 'coming coming'이 나오니까

'트와이스' 5점, 윤도현도 가끔 같은 소리 지르니까 3점



 

 '트와이스'노래라고 생각하는가

 '윤도현'노래라고 생각하는가?

 Love is timing

 4

 Love is coming coming

 

 

 



마지막 3번 문장도 비슷한 식으로 하면



 

 '트와이스'노래라고 생각하는가

 '윤도현'노래라고 생각하는가?

 Love is timing

 4

 Love is coming coming

 You're my heart shaker shaker



이제 점수를 모두 '곱'해 보면

트와이스 점수는 100점,

윤도현 점수는 18점

왜 '더하지'않고 '곱'하는가 하고 의문이 생기지만, 일단 패스. 


결론적으로 가사의 주인공은 점수가 더 높은 '트와이스'로 결정!

이것이 Naive Bayes 가 동작하는 방식이다.


다만, 애매한 것은 노래가사에 대해 '몇 점을 줄지 어떻게 알지?'이다.

점수를 엉망으로 준다면, 정답을 맞출 수 없을 것이다.

예를 들어, 점수를 위의 예와 정반대로 주면 엉뚱하게 '윤도현' 정답이 나올테니 말이다.


점수를 제대로 주기 위해서는 '학습(learning), 훈련(training)'이 필요하다. 

쉽게 설명하자면 '트와이스' 노래를 많이많이 들어보면서 자주 나오는 단어나, 문장패턴을 필기해 가면서 익히는 것이다. 

'윤도현' 노래도 그렇게 하고.


그래서, 가사가 주어지면, 예전에 학습한 것을 참고해서 적절한 점수를 부여하면 된다. 


Naive Bayes 방법 자체는 간단한데, '점수'를 주는 방법을 잘 배우는 것이 핵심이다. 이러한 학습하는 방법에 대해서는 다음 기회에...







반응형