본문 바로가기
Lab & Research/Artificial intelligence

머신러닝 알고리즘 - Naive Bayes

by jaeaemin 2023. 12. 29.

 

Naive Bayes

 

나이브 베이즈(Naive Bayes)는 베이즈 정리를 기반으로 하는 확률적 분류 알고리즘 중 하나입니다. 주로 텍스트 분류, 스팸 필터링, 감성 분석 등의 문제에 많이 사용됩니다. 이름에 "Naive(순진한)"라는 말이 붙은 이유는 모든 특성이 독립이라고 가정하기 때문입니다.

 

 

확률 (Probability)

확률은 어떤 사건이 발생할 가능성을 나타내는 수치입니다. 일반적으로 0부터 1까지의 값을 가지며, 0은 사건이 발생하지 않을 확률이고, 1은 사건이 반드시 발생할 확률을 의미합니다. 확률은 주어진 상황에서 특정 사건이 일어날 가능성을 수학적으로 표현하는 데 사용됩니다.

 

조건부확률 (Conditional Probability)

 

조건부확률은 어떤 사건이 특정 조건 아래에서 일어날 확률을 나타냅니다. 조건부확률은 P(B|A)로 표기되며, 이는 사건 A가 발생한 상황에서 사건 B가 일어날 확률을 의미합니다. 조건부확률은 다음과 같이 정의됩니다:

 

P(B∣A)= P(A) / P(A∩B)

여기서, P(A∩B)는 사건 A와 B가 동시에 일어날 확률이며, P(A)는 사건 A가 일어날 확률입니다.

 

 

독립 (Independence)

두 사건 A와 B가 독립이라는 것은 하나의 사건이 다른 사건에 전혀 영향을 미치지 않는다는 것을 의미합니다. 수학적으로는 다음과 같이 표현됩니다,

 

P(A∩B) = P(A)⋅P(B)

 

만약 두 사건이 독립이라면, 하나의 사건이 발생하더라도 다른 사건의 확률에는 영향을 미치지 않습니다.

 

 

조건부 독립 (Conditional Independence)

두 사건 A와 B가 조건부 독립이라는 것은 특정 조건 아래에서만 두 사건이 독립임을 의미합니다. 조건부 독립은 다음과 같이 표현됩니다.

 

P(A∩B∣C) = P(A∣C)⋅P(B∣C)

 

즉, 주어진 조건 C 아래에서 A와 B가 독립이라면, C가 주어진 상황에서 A와 B의 결합 확률은 C가 주어지기 전의 A와 B의 확률의 곱과 같다는 것을 의미합니다.

 

 

 

 

베이즈 정리 (Bayes' Theorem)

베이즈 정리는 조건부 확률을 계산하는데 사용되는 확률 이론의 중요한 정리 중 하나입니다. 

이 정리는 사건들 사이의 관계를 나타내며, 주어진 조건에서 사건이 발생할 확률을 계산하는 데 유용합니다.

 

베이즈 정리의 수식 

베이즈 정리

 

 

베이즈 정리 예시

가위바위보 게임에서 가위와 바위만 낼 경우의 승리 확률

 

X Y
가위 Win
가위 Win
바위 Lose
가위 Lose
바위 Win
가위 ?

 

 

 

Y 입장에서의 확률

 

x 입장에서의 확률

 

 

 

먼저 각 조건부 확률을 계산 합니다.

 

결과가 승리이고, 가위를 낸 확률

 

결과가 승리이고, 바위를 낸 확률

 

결과가 패배이고, 가위를 낸 확률

 

결과가 패배이고, 가위를 낸 확률

 

 

 

이 때, 주어진 문제 상황은 가위를 낸 상황이므로, X = Scissors일 떄, Y를 예측해야 합니다.

이를 조건부 확률로 나타내면 다음과 같습니다.

 

X가 가위를 낸 경우 이길 확률

 

 

 

 

 

X가 가위를 낸 경우 질 확률

 

 

 

이 때, X가 가위일 경우 이길 확률이 2/3 이고, 질 확률이 3/5 이기 때문에 결과적으로 가위를 낸 경우 이길 확률이 높다고 예측할 수 있습니다.

 

 

 

베이즈 정리의 단점 

가장 큰 단점 :  변수가 늘어남에 따라서 계산량이 기하 급수적으로 증가함.

 

  • 사전 확률의 주관성: 베이즈 정리는 사전 확률을 필요로 합니다. 이 사전 확률은 주관적인 판단이나 경험에 의존하며, 다양한 사람들이 서로 다른 사전 확률을 가질 수 있습니다. 따라서 주관적인 성격이 강할 수 있습니다. 
  • 정보의 부족: 베이즈 정리는 정보가 충분한 경우에 더 효과적입니다. 정보가 부족한 경우 또는 관련성이 없는 정보가 주어진 경우 결과가 왜곡될 수 있습니다. 
  • 계산의 복잡성: 베이즈 정리를 직접 적용하는 것은 때로 계산적으로 복잡할 수 있습니다. 특히, 사후 확률을 계산하는데 필요한 적분이나 합계 연산이 어려울 수 있습니다. 
  • 독립 가정의 한계: 베이즈 정리는 사건들이 서로 독립이라는 가정을 기반으로 합니다. 하지만 실제 상황에서는 사건들이 독립이 아닌 경우가 많습니다. 독립이 아닌 사건들 간의 상호작용이 무시되면서 예측이나 추론이 부정확해질 수 있습니다.

 

 

 

 

 

 

 

Naive Bayes

  • 종속 변수 Y가 주어졌을 때, 입력 변수 X는 모두 조건부 독립이라 가정한다.
  • 예측 변수들의 정확한 조건부 확률은 각 조건부 확률의 곱으로 충분히 잘 추정 할 수 있다고 가정한다.

 

X1 X2 X3 Y
1 1 0 1
0 1 0 1
1 1 1 0
0 0 1 1
0 0 1 0
1 0 1 0
1 0 0 1
0 0 1 ( ? )

 

 

이 때 ?의 결과를 구하기 위해서는 조건부 확률을 계산해야 한다.

 

 

[1] Y가 1일 확률 

 

 

 

 

 

 

 

 

[2] Y가 0일 확률 

 

 

 

 

 

 

 

 

 

  • P(Y=1 | X1=0, X2=0, X3=1) = 0.036
  • P(Y=0 | X1=0, X2=0, X3=1) = 0.095 

이므로, 다음의 상황에서는 Y의 값이 0일 확률이 더 높다고 예측할 수 있다.

 

 

 

Navice Bayes의 장단점

 

장점: 

  • 간단하고 빠르다: 모델이 간단하고 계산이 빠르기 때문에 대용량 데이터에 효과적입니다. 
  • 적은 데이터로도 효과적: 상대적으로 적은 데이터로도 효과적으로 동작합니다. 
  • 큰 특징 공간 처리 가능: 다수의 특징이 있는 데이터셋에서도 잘 작동하며, 특징 간의 상호작용에 대한 걱정이 적습니다.
  •  범주형 데이터 처리 가능: 범주형 데이터에 자주 사용되며, 텍스트 분류와 같은 작업에 유용합니다. 
  • 이해하기 쉽다: 간단한 확률 기반 모델로, 이해하고 설명하기 쉽습니다. 

 

단점: 

  • 나이브 가정의 한계: 특징 간의 상호작용을 무시하므로, 실제로는 독립이 아닌 경우 모델이 부정확할 수 있습니다. ( 조건부 독립이라는 가정 자체가 비현실적일 수 있음 ) 
  • 순진한(단순한) 특징 가정: 각 특징이 동등하게 영향을 미친다고 가정하는데, 실제로는 그렇지 않은 경우가 많습니다. 
  • 데이터 불균형에 민감: 클래스 간 데이터가 불균형하게 분포되어 있는 경우, 성능이 낮아질 수 있습니다. 또한 회귀한 확률 나올 경우 처리가 힘듭니다.
  • 텍스트 데이터 순서나 문맥 처리의 어려움: 단어의 순서나 문맥을 고려하지 않기 때문에, 성능이 떨어질 수 있습니다.
  • 연속적인 특징 처리의 어려움: 연속형 데이터에는 적합하지 않을 수 있으며, 분포 가정이 맞지 않으면 부정확할 수 있습니다.

 

 


 

나이브 베이즈의 0 확률 문제 해결 방안 : 라플라스 스무딩

 

 

나이브 베이즈 분류기와 같이 확률을 계산하는 과정에서 발생할 수 있는 0 확률 문제를 해결하기 위한 방법 중 하나로

라플라스 스무딩은 각 클래스에서 각 특징의 발생 확률을 계산할 때, 해당 특징이 한 번도 발생하지 않아 0이 되는 경우를 방지하기 위해 사용됩니다.

 

목적 

  • 0 확률 방지: 특정 클래스에서 특정 특징이 한 번도 나타나지 않는 경우에 대해 확률을 0이 아닌 작은 값으로 만들어줌으로써 0 확률 문제를 방지합니다.
  • 모델의 안정성: 라플라스 스무딩을 적용하면 모든 가능한 특징에 대해 확률을 얻을 수 있기 때문에 모델의 안정성을 향상시킵니다.

 

반응형