히비스서커스의 블로그

[기계학습 2강] Rule Based Machine Learning 본문

Theory/Machine Learning

[기계학습 2강] Rule Based Machine Learning

HibisCircus 2021. 3. 31. 19:59
728x90

 내용들은 (KAIST Open Online Course)의 인공지능 및 기계학습 개론 1 Chap. 2강 내용을 기반으로 재구성하였음을 먼저 밝힙니다.

 

 

Perfect World :: 머신러닝 모델이 잘 수행되기 위해 가정하는 완벽한 상황


 

1.  관측의 에러가 없으며 일관적이지 않은 관측도 없다.

2.  예측지 못한 효과가 없다.

3.  결과를 예측하는 변수들만으로 결과를 완벽하게 설명할 수 있다.

 

 

 

Function Approximation :: Perfect World 가정 하에 Target Function을 Hypothesis하는 것


Instance (X) : 하나의 관측값 

  • Feature : Label을 예측하기 위한 변수 
  • Label : 실제 결과

 

Training Dataset (D) : Instance의 관측값들을 모은 것

 

Hypothesis (H) : Target Function로 가정하는 함수 (여러 개가 존재)

 

Target Function (C) : 우리가 알지 못하는 실제 함수 (하나만 존재)

 

 

 

예시 :: 날씨 상황에 따라 딸이 밖에 나가서 노는지의 여부


Instance (X) : 가로 한줄을 의미하며 여기서는 4개가 존재

  • Feature : Sky, Temp, Humid, Wind, Water, Forecst에 해당하는 값
  • Label : EnjoySpt에 해당하는 값

 

Training Dataset (D) : 4줄 전체를 의미

 

 

<참고>

  • Feature와 Label에 해당하는 값은 2개의 경우의 수 중에 하나의 값만을 가진다.
  • 아래 Hypothesis (H)에서 $\phi$는 어느 값을 갖더라도 나가지 않는 경우이며, ?는 어느 값을 가지더라도 나가는 경우이다.

 

 

Find-S Algorithm :: 가장 Specific한 경우에서 Training Dataset을 통해 학습하는 알고리즘


Instance (X)

  • $x_{1}$: <Sunny, Warm, Normal, Strong, Warm, Same>
  • $x_{2}$ <Sunny, Warm, Normal, Light, Warm, Same>
  • $x_{4}$ <Sunny, Warm, Normal, Strong, Warm, Change>

 

Hypothesis (P)

  • $h_{0}$ = <$\phi$, $\phi$, $\phi$, $\phi$, $\phi$, $\phi$> :: 가장 Specific한 경우이다.
  • $h_{1}$ = <Sunny, Warm, Normal, Strong, Warm, Same> :: $x_{1}$과 동일해졌다.
  • $h_{1, 2, 3}$ = <Sunny, Warm, Normal, ?, Warm, Same> :: $x_{2, 3}$을 학습하며 wind가 Strong에서 ?로 general해졌다.
  • $h_{1, 2, 3, 4}$ = <Sunny, Warm, Normal, ?, Warm, ?>  $x_{4}$를 학습하며 Forcst가 Same에서 ? 로 general해졌다.

 

Instance (X)와 Hypothesis (H)는 맵핑관계이다.

여기서 Hypothesis (H)는 Specific 할수록(더 적은 Instance를 포함할수록) 위쪽에 존재하며 General 할수록(더 많은 Instance를 포함할수록) 아래쪽에 위치한다.

 

 

Find-S Algorithm

  • Trainging Dataset (T) 안에 있는 Instance (X) 하나하나에 대해 반복할 것인데
  • 만약 (X)가 positive (딸이 밖에서 나가 노는 것을 알게 된다면)
  • (X)가 가지는 모든 Feature에 대해서 가지고 있는 Feature값과 같으면 아무것도 하지않고
  • 그렇지 않다면 그 값도 포함시킨다. (새로운 feature에 대해서도 나가서 논다는 것을 학습시키는 것 - general하게 만든다.)

 

 

Version Space :: 특정 H를 찾는 것이 아닌 범위를 만족시키는 H를 나타내는 것


Specific Boundary (S) : Training Dataset (T)안의 모든 Instance (X)에 대해 가장 Specific한 경우를 기준으로 한다.

General Boundary (G) : Training Dataset (T)안의 모든 Instance (X)에 대해 가장 General한 경우를 기준으로 한다.

 

 

 

Candidate Elimination Algorithm :: Specific Boundary (S) 와 General Boundary (G)의 범위를 좁혀나가는 알고리즘


 

1. (S)의 범위를 가장 Specific한 경우로 (G)의 범위를 가장 General한 경우로 초기화 해준다.

2. (D)에 있는 모든 (X)에 대해서 

  • 만약 (X)가 Positive하다면 (딸이 밖에 나가노는 것을 본다면) (S)를 가장 generalize하게 해준다.
  • 만약 (X)가 Negative하다면 (딸이 밖에 나가지 않는 것을 본다면) (G)를 가장 Specialize하게 해준다.

 

1. Version Space보다 general한 경우에는 Negative하다고 판단할 수 있다. (밖에 나가 놀지 않는다고 판단할 수 있다.)

2. Version Space보다 Specific한 경우에는 Positive하다고 판단할 수 있다. (밖에 나가서 논다고 판단할 수 있다.)

3. 하지만, Version Space에 속하는 경우에는 결정을 내리지 못한다. (충분한 관측이 이루어지지 않았기 때문으로 한계점)

 

 

 

-히비스서커스-

728x90