본문 바로가기

SweetPotato1024

사례기반 추론 case based reasoning 책)전문가시스템

반응형

출처) 전문가시스템 원리와 개발 / 이재규 1996

제3장 추론

3.4 여러 가지 추론방식 

 

 

3.4.1 메타 지식에 의한 추론

 메타 지식은 지식에 관한 지식으로, 추론을 할 때 어느 규칙을 먼저 추론할 것인지 탐색의 순서를 결정하는데 사용.

상황에 따라 지식베이스의 특정한 부분을 추론의 대상에서 제외 가능.

어떠한 추론 방법을 택할 것인지도 결정할 수 있다. 그리고 메타 지식은 지식끼리 상충되어 서로 다른 결론을 내려야 할 경우 그것을 어떻게 조정할지를 결정하는데 사용될 수 있다. 

 

3.4.2 사례기반 추론 case based reasoning

 법관이 지난 사건에 대한 판례를 통해 당면한 사건에 대해 판단을 내리듯이, 인간은 과거의 사례나 경험에 비추어 현재의 문제를 인식하고 유형화하여 해결책을 내놓을 수 있다. 이를 위해서는 현재의 당면문제가 과거에 나타났던 사례나 경험과 일치하는지 여부를 살피고 일치하면 과거의 해결책에 비추어 답을 낸다. 만약 정확히 일치하지 않더라도 과거의 사례나 경험은 현재의 문제에 부분적인 해결책을 제시할 수 있다. 

사례기반 추론은 이러한 인간의 지적 활동을 모델화한 것으로, 과거문제로부터 얻은 상황 경험이나 지식을 사례 데이터베이스로 구축하여 어떠한 상황이나 문제가 발생하면 기존의 사례 데이터베이스에서 가장 똑같거나 또는 가장 유사한 사례를 선택하여 그 사례가 제시하는 해결책으로 현 문제에 대한 답을 제시한다. 

 

 (이는 규칙베이스 전문가시스템에서의 정방향 추론과 같이, 주어진 지식베이스 공간에서 추론하는 것과는 다르다. 규칙베이스 전문가시스템의 추론방식은 사용자로부터 문제에 대한 세부사항이나 혹은 질문과 대답을 통해 입력을 받아 이를 토대로 규칙베이스에서의 관련된 규칙간의 연쇄(Chaining)를 통해 해답에 도달한다. (문제입력->규칙1->규칙2->규칙3->규칙4->해답)

이러한 추론의 문제점은 만약 똑같은 문제가 다시 주어져도 규칙베이스 전문가시스템으느 똑같으느 양의 작업(추론)을 하여 같은 결론에 도달할 것이다. 즉, 한번 제시된 해답을 도출한 연쇄를 저장하여 재활용하지는 않는 것이다. 그리고 규칙베이스에서 제공하는 지식의 적용 영역을 벗어나는 문제에 대해서는 전혀 도움을 줄 수가 없다. 다시 지식을 보충하여야만 해결 가능하게 된다. 

마지막으로, 규칙베이스의 문제점은 규칙베이스 시스템에서는 그 지식을 마련하고 또 유지하는데 많은 시간과 노력이 든다는 것이다. 이는 전문가로부터 지식을 추출하는 작업은 매우 노동집약적인 일이며, 규칙과 규칙은 서로 긴밀히 연결되어 있어서 새로운 규칙을 입력한다는 것으느 매우 힘든 디버깅 작업과 같기 때문이다.)

 

 사례기반 추론은 이와는 다른 접근법을 가진다. 과거의 사례를 바탕으로 문제를 해결하기 때문에 비록 문제가 복잡하더라도 이미 해결된 사례를 통해 해를 빨리 도출할 수 있다. 그러므로 지식이 잘 파악되지 않은 대상영역에 있어서도 사례로서 추론을 가능하게 한다. 그리고 정확히 일치되는 사례를 발견 할 수 없다면 가장 유사한 사례를 변현하여 새로운 문제를 해결하도록 할 수 있으며 이렇게 해결된 사례는 다시 새로운 사례로서 저장되게 된다. 사례기반 추론에서의 추론과정 : 새로운 문제->사례베이스로부터 현 문제와 유사한 사례 도출->현 문제를 위해 사례의 변형->해의 도출과 검증->새로운 사례의 저장

 

사례기반 추론에서 고려되어야 할 사항

(1) 사례의 표현

사례를 어떻게 표현할 것이지를 결정하는 것이 중요하다. 사례는 간단히 표현하면 특정 결과에 해당하는 특성(Feature)들의 리스트가 될 수 있다. 예를 들어, 어떤 환자에 대한 진단과 그 환자의 과거 병상기록 등과 같으느 것이다. 복잡한 사례표현의 경우로 내연기관의 설계 사례와 같은 것을 들 수 있다.

(2) 사례의 인덱싱(Indexing)

가장 유사한 사례를 신속히 도출하는 것이 사례기반 추론시스템의 주요 성능지표가 된다. 이러한 사례의 유사성을 결정하는 가장 간단한 방법으로는 먼저 각 특성간의 비교를 통해 가장 일치되는 특성이 많은 사례를 고르는 것이다. 예를 들어, 현재의 상황 특성 중 여섯 개가 일치되는 사례가 네 개 일치되는 사례보다 선호되는 것이다. 그러나 상황에 따라 어떤 특성의 비중이 다른 여러 특성보다 오히려 커지는 경우 단순히 일치되는 개수만으로는 판단하기 어렵게 된다. 

 다른 인덱싱 방법으로 ID3과 같은 귀납Inductive 알고리즘을 이용하여 사례를 트리형태로 분류할 수도 있다. 각 사례의 결과를 가장 잘 변별할 수 있는 특성을 기준으로 계층적으로 사례를 분류해 놓으면 사례의 탐색속도가 우수하고 자동적이며 객관적으로 사례의 인덱싱이 가능하다. 그러나 이러한 방법을 사용하기 위해서는 충분한 양의 사례가 확보되어야만 정확하게 변별력있는 특성을 찾아낼 수 있다. 

 또한 사례를 인덱싱하는 또하나의 방법은 지식을 이용하는 것인데 이러한 지식에 의해 어떠한 특성이 가장 유사한 사례를 도출하는데 중요한지를 결정하는 것이다. 만약 왜 이 사례가 유사하다고 도출되었는지에 대해 설명할 수 있는 지식이 존재하고 표현될 수 있다면 이는 매우 유용한 방법이 될 수 있다. 

(3) 사례의 변형(Adaptation)

 만약 주어진 문제에 대한 적절한 사례가 없다면 사례를 변형하여 주어진 문제상황의 요구에 일치되게 하여야 한다. 이러한 변형의 방법은 모든 문제마다 달라질 수 있으므로 일률적인 틀을 적용할 수는 없다. 보통 변형을 위한 모델이나 지식형태로써 사례의 변형방향을 결정하고 있다. 이러한 변형모델 또는 규칙(지식)을 이용해 도출된 사례를 현재 주어진 문제의 조건들을 충족시키는 사례로 변형하게 된다. 사례의 자동변형은 사례기반 추론의 핵심연구주제로서 부각되고 있다. 

(4) 학습과 일반화

 사례가 축적되면서 사례의 일반적 요소를 추출해 대상문제의 중요특성을 포함하는 전형적인 사례로 저장함으로써 사례기반 추론 시스템이 해결할 수 있는 문제의 대상영역을 보다 넓힐 수 있다. 

 

3.4.3 비단조추론 nonmonotonic reasoning

 일반적으로 논리에서 사실이 주어지면 그에 따라 새로운 정리가 도출되고 또 이 도출된 정리로 인해 또 다른 정리 또는 사실이 나타난다. modus ponens나 삼단논법 등은 계속적으로 사실이나 공리를 증가시킨다. 따라서 이렇게 진위가 밝혀진 사실이나 새로운 정리의 수가 계속적으로 늘어나는 연역추론 과정을 단조(monotonic)하다라고 한다. 반면에 한번 밝혀진 사실이 취소된다든지 또는 다른 사실과 상충되어 어느 하나가 거짓으로 판명된다든지 또는 시간이 지남에 따라 어떤 사실이 더 이상 효력이 없다든지 하여 판명된 공리의 수가 항상 늘어나지만은 않고 오히려 줄어들 수도 있는데, 이러한 연역추론시스템을 비단조(nonmonotonic)하다라고 하고 이러한 추론을 비단조추론이라 한다. 

 예를 들어 항공기식별시스템에 나타난 여러 가지 증거로 봐서 현재 우리 나라 상공으로 다가오는 항공기는 보통 민간여객기로 판명되었으나 그 후 여러 가지 추가적인 증거들로 인해 그것은 민간여객기가 아니라 적의 전폭기로 판명되는 경우 단조추론만 가능한 경우에는 이를 다룰 수 없으나 비단조추론의 경우에는 이와같이 이미 추론된 사실을 다시 번복하는 것을 가능케 한다. 이것은 한번 결론난 것을 부정해 본다거나 "What If"분석을 통해 특정 사실이 참이 아니라면 어떠한 결론을 다시 내릴 수 있는가 등을 알아볼 때 유용하다.

 그러나 이러한 비단조성(nonmonotonicity) 을 부여하기 위해선 추론된 결론이나 규칙마다 그것을 정당화하는 근거가 됐던 다른 사실이나 규칙과의 의존관계를 파악하고 있어야 한다. 따라서 어떠한 사실이 무위로 되었을 때 그것으로 인해 정당화되었던 관련사실들이 함께 무위로 되어야 한다. 이렇게 사실과 사실들을 정당화하는 근거를 토대로 사실들의 진위를 관리하는 것을 진위유지(Truth Maintenance)라고 한다.

 또한 어떤 사실에 대한 정당성이 확실히 밝혀진것에 근거를 둔 것이 아니라 어떤 가정(Assumption)에 근거해 이루어질 수도 있다. 이런 경우 해당 가정이 더 이상 신빙성이 없는 것으로 밝혀지면 그것에 기초를 두고 추론되었던 결론들도 함께 수정되어야 한다. 또한 이러한 비단조 추론은 어떤 사실에 대해 확실한 근거가 아직 없는 경우 달리 대안이 없으면 특정 사실을 임시적으로 인정하는 경우에도 필요하다. 이러한 것을 특별히 기본값추론(Default Reasonong) 이라 한다. 예를 들어, Tweety라는 새가 있을 때 달리 Tweety에 대한 정보가 없으면 이 새는 날 수 있다고 보는 것이다. 그러나 나중에 알고 보니 Tweety가 펭귄으로 밝혀졌다면 Tweety는 날 수 있다는 것은 틀린 사실이 되는 것이다. 이렇게 또렷이 반박할 다른 증거가 없는 경우 임시로 어떤 결론을 내리는 것이다. 이는 지식이 모든 상황에 다 정확한 해답을 줄 수 없는 경우가 있기 때문이다. 이는 정보의 부재 등으로 일어난다. 이러한 경우 인간이 상식에 의해 추론하듯 기본값추론을 적용할 수 있다.

 [IF X 가 새 THEN X 는 날 수 있다] 라는 기본적 지식으로서 기본값추론을 할 수 있다. 또 다른 예를 보자. 어떤 집에 화재경보가 울렸다. 이러한 경우 그 집에 불이 났기 때문이라고도 할 수 있지만 지진이 일어나서일 수도 있고 아이들이 장난을 친 것일 수도 있는 것이다. 그러나 달리 특별한 증거나 정보가 없는 한 "IF 화재경보가 울리면 THEN 화재가 났다"라는 규칙을 작동하여 임시적으로 그 집에 화재가 난 것으로 결론지을 수 있다. 그러나 이러한 기본값추론은 나중에 보다 정확한 증거가 수집되는 대로 부정될 여지가 얼마든지 있는 것이다. 이렇게 기본값추론도 한번 추론된 결과가 나중에 번복될 수 있다는 점에서 비단조추론에 포함된다. 

 

반응형

'SweetPotato1024' 카테고리의 다른 글

Computer Concept  (0) 2020.12.02
베터리 상태 확인  (0) 2020.05.03
Topic-Model system  (0) 2018.08.08