프로그래밍[Univ]/인공지능

[인공지능] 확신도 이론

Cloud Travel 2012. 11. 7. 17:37

* 확신도 이론(Certainty factors theory : CF)

 - 수학적으로 맞지 않지만, 전문가가 생각하는 것처럼 추론을 한다.

 - MYCIN 의료 전문가 시스템에서 최초로 도입되었다.

 - 확신도는 전문가가 특정 사실에 대해서 신뢰하는 수치로 -1.0(확실한 거짓) ~ +1.0(확실한 참)까지의 값을 사용한다.

 - 전문가와의 상담을 통해서 전문가의 언어적 표현을 확신도로 변경하여서 구하는 것이다.

   (ex. 아마도 그러할 것이다 > 확신도 +0.6 // 거의 확실이 아닐 것이다 > 확신도 -0.8 // 잘 모르겠다 > 확신도 0)

 - 확신도는 기반 지식에 포함되여서 나오게 된다.

  > Rule) IF 증거 THEN 가설{cf value} // 증거가 발생했을때 가설이 일어날 확신도는 cf를 따른다.

 - 통계적 수치를 이용하여 확신도를 구하기도 하지만, 대부분의 경우에는 전문가의 말을 확신도로 변경해서 사용하는

   경우가 많다.

 - cf value는 사람의 견해로 확률과는 다른 존재이다. 따라서 P(A) + P(A^c) = 1과 같은 형식을 만족하지 않아도 된다.

   (ex. Rule) IF A is true then B is Z{0.3} and B is Y{0.4}.

   A가 사실일때 B가 Z또는 Y가 되는데 이 모든 cf값을 더해도 1이 안된다. 나머지 0.3은 자유로운 숫자이다.

 - 규칙에 할당된 확신도는 추론 사슬을 통해서 전파가 된다.

  > 규칙의 전건에 있는 증가거 불확실하거나 다른 추론에 의해서 나온 확신도 값일 경우 두 확신도의 곱으로 cf값을 구한다.

  ex. Rule) IF A is true{0.8} then B is Z{0.3} >> A가 0.8의 확신도로 참일 경우 B = Z는 0.8*.03 = 0.24의 값으로 참일 것이다.

                                                                                                  (A가 거의 확실히 참이라면, B가 Z인지 잘 모르겠다.)


* 확신도 이론의 확장

 - 위에서 본 추론 사슬과 같이 AND와 OR 또는 다른 증거의 같은 가설등에 의해서 확신도 이론은 확장되어 간다.

 - 증거가 AND로 이어지는 경우 : 가장작은 증거의 확신도 값을 사용한다.

  > Rule) IF A is true{0.5} and B is true{0.8} and C is true{0.3} then Z is true{0.9}.

  > 조건의 가장작은 값 0.3 * 0.9 = 0.27이 최종 확신도가 된다.

 - 증거가 OR로 이어지는 경우 : 가장 큰 증거의 확신도 값을 사용한다.

  > Rule) IF A is true{0.5} or B is true{0.8} or C is true{0.3} then Z is true{0.9}.

  > 조건의 가장 큰 값 0.8 * 0.9 = 0.72가 최종 확신도가 된다.

 - 두 개의 규칙이 같은 가설에 영향을 줄 경우 : 다음의 식을 따른다.

  i) cf1 > 0 , cf2 > 0 then  "cf1 + cf2 * ( 1 - cf1 )"

 ii) cf1 < 0 or cf2 < 0 then " {cf1 + cf2} / {1 - min(|cf1|, |cf2|)}"

iii) cf1 < 0 , cf2 < 0 then "cf1 + cf2 * ( 1 + cf1 )"

 

* 확신도 이론 VS 베이즈 추론

 - 확신도 이론이 베이즈 추론보다 실용적이다.

 - 확신도를 결합하는 방식은 휴리스틱 방법과 비슷하며, 이는 결합확률 기법과 다르다