Bag of Heuristics
Bag of Heuristics(휴리스틱 모음)는 컴퓨터 과학 및 인공지능 분야에서, 단일하고 엄밀한 수학적 알고리즘에 의존하는 대신 다수의 독립적인 경험 법칙(Rules of thumb)과 단순 조건부 규칙들을 한데 묶어 취합하는 방식으로 문제를 해결하는 시스템 아키텍처를 지칭한다.
이 접근 방식의 핵심은 개별적으로는 완벽한 정답을 보장하지 못하는 불완전한 규칙(휴리스틱)들을 무작위 형태의 ‘가방(Bag)‘에 담아두고, 특정 데이터나 상황이 입력되면 각 규칙의 부합 여부에 따라 가중치 점수를 합산하여 최종 결론을 돌출하는 데 있다.
이러한 아키텍처는 과거 초기 안티바이러스 프로그램의 악성코드 탐지, 스팸 메일 필터링(예: 본문에 특정 단어 포함, 발신자 주소 패턴 이상, HTML 태그 중복 적용 시 각각 감점 부과), 고전적 체스 게임 인공지능의 판세 평가 함수(Evaluation function) 구축 등에 광범위하게 사용되었다.
문제 해결을 위해 전통적으로 활용되던 Bag of Heuristics 시스템과 현대 소프트웨어 공학에서 주류로 자리 잡은 순수 데이터 기반 기계 학습(Machine Learning) 방법론의 차이는 다음과 같다.
| 특징 | Bag of Heuristics (휴리스틱 모음) | Pure Machine Learning (순수 기계 학습 모델) |
|---|---|---|
| 의사 결정 로직 산출 | 도메인 전문가가 인간의 직관과 경험을 바탕으로 수백~수천 개의 규칙을 직접 하드코딩하여 취합함 | 통계적 알고리즘이 방대한 훈련 데이터를 분석하여 변수 간의 관계와 가중치를 스스로 추론함 |
| 시스템 예측 및 평가 | 다수의 규칙이 병렬적으로 체크된 후, 사전에 정의된 벌점 및 가점의 단순 스코어링(Scoring) 연산을 거침 | 모델 내부의 행렬 연산 연쇄 및 활성화 함수 등을 통과하여 최종적인 확률값이나 벡터를 도출함 |
| 해석 가능성(Interpretability) | 매우 높음 (특정 결과값이 도출된 원인을 개별 트리거된 규칙으로 즉시 역추적 가능함) | 낮음 (특히 딥러닝 등의 복잡한 신경망 구조에서는 내부 연산 과정을 추적하기 힘든 블랙박스 현상이 발생함) |
| 유지보수 및 확장성 | 새로운 우회 패턴이나 예외 상황이 발생할 경우 인간이 개입하여 규칙을 추가해야 하므로 시스템 충돌 위험이 상승함 | 새로운 패턴의 데이터를 추가하여 가중치를 재훈련(Retraining)시킴으로써 환경 변화에 유연하게 대응함 |
출처 (Sources):
- Pearl, J. (1984), “Heuristics: Intelligent Search Strategies for Computer Problem Solving”, Addison-Wesley.
- Apache Software Foundation, “Apache SpamAssassin: Tests Performed” (A classic empirical architecture relying on a bag of heuristics for spam scoring). Available at: https://spamassassin.apache.org/tests_3_3_x.html