Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

CBR(사례 기반 추론)이란? 개념, 활용 분야, 작동 원리까지 완벽 정리

CBR(사례 기반 추론)의 개념

CBR은 Case-Based Reasoning(사례 기반 추론)의 약자로, 과거에 해결했던 유사한 문제의 사례를 활용하여 새로운 문제를 해결하는 인공지능 분류 기법입니다. CBR 분류기가 새로운 문제를 판별하기 위해서는 기존의 문제 해결 사례들을 담은 데이터베이스가 반드시 필요합니다.

최근접 이웃(nearest-neighbor) 분류기가 훈련 튜플을 유클리드 공간상의 점으로 저장하는 것과 달리, CBR은 문제 해결에 사용되는 튜플, 즉 '사례(case)'를 복잡한 기호적 표현 형태로 저장한다는 점에서 차별화됩니다.

CBR의 산업 활용 사례

CBR은 다양한 비즈니스 분야에서 폭넓게 활용되고 있습니다. 대표적인 예로 고객 서비스 헬프 데스크의 문제 해결 시스템을 들 수 있으며, 이 경우 각 사례는 제품 관련 진단 문제를 설명합니다. 또한 엔지니어링 분야에서는 기술 설계가, 법률 분야에서는 법원 판결문이 각각 사례로 활용됩니다.

의료 교육 분야의 적용

의료 교육 역시 CBR의 중요한 응용 분야입니다. 환자의 사례 이력과 치료 경과를 저장해 두었다가, 새로운 환자를 진단하고 치료 방침을 세울 때 참고 자료로 활용할 수 있습니다.

CBR의 작동 원리

새로운 사례가 주어지면 사례 기반 추론기는 먼저 동일한 훈련 사례가 존재하는지 확인합니다. 동일한 사례가 발견되면 해당 사례에 연결된 해결책을 그대로 반환합니다.

만약 일치하는 사례가 없다면, 추론기는 새로운 사례와 유사한 특징을 가진 훈련 사례들을 탐색합니다. 이러한 훈련 사례들은 새로운 사례의 '이웃(neighbor)'으로 간주됩니다.

사례들이 그래프 형태로 표현된 경우에는, 새로운 사례 내부의 부분 그래프와 유사한 부분 그래프를 검색하는 작업이 포함됩니다. 사례 기반 추론기는 이웃 훈련 사례들의 해결책을 조합하여 새로운 사례에 대한 해결책을 제시하려고 시도합니다. 만약 개별 해결책들 간에 충돌(비호환성)이 발생한다면, 다른 해결책을 찾기 위해 백트래킹(backtracking) 과정이 필요할 수 있습니다.

CBR의 주요 과제

사례 기반 추론기는 배경 지식과 문제 해결 방법을 활용하여 가능한 통합 해결책을 제안할 수 있습니다. 다만 CBR에는 몇 가지 도전 과제가 존재합니다. 첫째, 최적의 유사도 메트릭(예: 부분 그래프 매칭)을 찾는 것이며, 둘째, 여러 해결책을 적절히 결합하는 방법을 개발하는 것입니다.

그 외에도 훈련 사례를 색인(indexing)하기 위한 핵심 특징(feature)의 선정과 효율적인 색인 기법의 개발이 남은 과제입니다. 저장된 사례의 수가 방대해질수록 정확성과 효율성 사이의 상충(trade-off) 문제가 대두됩니다.

데이터 마이닝과의 연계: 두 가지 접근 방식

  • KDD 프로세스 최적화: 데이터 마이닝은 KDD(데이터베이스 지식 발견) 프로세스의 한 요소일 뿐이며, 여러 파일에 대한 접근, 데이터 정제, 결과 실행 등이 함께 수행됩니다. 데이터 마이닝 작업 자체도 시간이 오래 걸릴 수 있습니다. 검색 결과와 전체 KDD 프로세스에 관한 정보를 하나의 사례로 저장해 두면, 동일한 데이터를 반복적으로 마이닝하는 데 시간을 낭비하지 않아도 됩니다.

  • 배경 지식 활용: CBR은 데이터베이스에 담긴 특성에 대한 배경 지식을 지원하는 데 활용될 수 있습니다. 예를 들어, 분류기의 특징 가중치를 CBR 도구를 통해 학습할 수 있습니다. 베이지언 네트워크(Bayesian network)의 경우, CBR 도구가 '전문가 지식'을 활용하여 네트워크 구조를 구축하고(모델 생성), DM(데이터 마이닝) 알고리즘을 통해 파라미터를 학습할 수 있습니다.