📚 Knowledge Engineering · Machine Learning Principles · Symbolic Induction
홈 aistudy 메인

자동학습 (Machine Learning) : 원리와 제반 기법

📖 원전 출처 : 전문가 시스템 원리와 개발 : 이재규, 최형림, 김현수, 서민수, 주석진, 지원철 공저, 법영사, 1996, Page 370~404
인간의 고유한 학습 능력을 모방하여 시스템이 스스로 지식을 확장하고 성능을 향상시키게 만드는 자동학습(Machine Learning)의 이론적 틀과 분류 체계, 그리고 자문청취(Advice)·사례학습(Version Space, Winston 구조설명, ID3)·유추(Analogy)·발견(Discovery : AM, BACON)으로 이어지는 대표적 고전 머신러닝 패러다임 총정리
📖

1. 서 론

전문가시스템에서 사용되는 지식은 지식획득에서 살펴본 바와 같이 대부분의 경우 전문가나 지식공학자들에 의해 수작업으로 만들어지고 입력도 됩니다. 이러한 과정에는 매우 많은 노력과 시간이 소요되어서, 지식의 유지보수까지를 고려할 때 지식의 정확성과 현재성을 유지하기가 매우 어려울 수 있습니다. 이러한 상황에서 지식입력이나 생성이 자동화된다면 많은 도움이 될 것입니다.

💡 지식획득 병목 해소와 자동학습의 최종 목표 :

지식입력의 오류와 능률을 제고하는 동기에서 자동학습이란 주제에 대한 연구가 진행되어 왔습니다. 아울러 궁극적으로 시스템이 인간의 고유한 기능인 학습능력을 모방하여 스스로 지식을 확장시켜 나가게 하는 것이 인공지능 시스템의 최종목표라고 할 때 자동학습에 대한 연구는 인공지능에 있어 중요한 주제라 아니할 수 없습니다. 본 장에서는 자동학습의 의미와 구조, 그리고 형태별 분류에 대해 알아보며 대표적인 자동학습방법론을 살펴보겠습니다.

🧠

2. 자동학습의 의미

인간은 학습할 수 있기 때문에 자신의 지식을 계속적으로 확장시켜 나갈 수 있습니다. 이러한 지적능력은 인간을 다른 생물과 구별시키는 아주 중요한 요소들 중의 하나입니다. 자동학습 (Machine Learning) 은 궁극적으로 인간의 이러한 학습능력을 구현하고자 하는 시도입니다. 인간에 의해 수행되는 학습과정의 형태는 다음과 같이 다양합니다 :

따라서 어떻게 이러한 학습과정을 모델링할 것인가 하는 것이 자동학습분야의 주요 주제가 됩니다. 이러한 다양한 학습형태 그리고 그것을 구현하는 모델링의 다양성 때문에 자동학습분야는 자연히 광범위하고, 또한 테크닉 위주라고 느껴질 만큼 새로운 기술의 개발에 따라 그 내용이 달라지는 유동적인 속성을 지닌 분야입니다.

🎯 자동학습의 조작적 정의와 '성과의 향상' 4대 측정 기준 :

컴퓨터시스템에서 기존의 프로그램을 재수정하지 않고도 시간이 흐를수록 주어진 과제수행에 점점 성과를 올릴 때 이를 보고 학습이 이루어졌다고 말할 수 있습니다. 즉, 자동학습을 간단하게 "자동적 성과의 향상" 으로 정의 내릴 수 있습니다. 실제로 다음과 같은 것들을 성과의 발생이라 볼 수 있습니다 :

  • ① 더 정확히 문제의 해를 구할 경우
  • ② 더 넓은 범위의 문제를 다루게 되는 경우
  • ③ 보다 효율적으로 문제의 해를 구할 경우
  • ④ 보다 간단한 지식의 입력으로도 같은 문제를 해결하는 경우

따라서 성과란 문제를 보다 많이, 정확히, 빠르게 해결하고 문제를 풀기 위한 지식의 양을 보다 적게 하는 것을 의미합니다.

⚙️

3. 자동학습의 틀 (Framework of Machine Learning)

자동학습의 틀 다이어그램
그림 1. 자동학습의 기본 틀 (수행자, 지식, 학습자, 평가자 간 상호작용)

그림 1 은 자동학습의 틀을 묘사하고 있습니다. 자동학습의 핵심 4대 구성 요소로는 다음과 같습니다 :

📌 기술언어(Description Language)와 훈련집합(Training Set) :

이외에도 자동학습에서 고려할 핵심 사항은 '기술언어' 와 '훈련집합' 입니다 :

  • 기술언어 (Description Language) : 시스템의 지식을 어떻게 표현하는가에 대한 기호법(Notation)과 표현형식을 말합니다. 표현능력(Expressive Power), 인간의 이해가능성, 학습기능 수행의 효율성을 고려하여 고안되어야 합니다.
  • 훈련집합 (Training Set) : 시스템이 지식을 평가하거나 새로 구축할 때 사용되는 예제(Example)들로, 주어진 상황과 그에 대한 정답(레이블)의 조합으로 구성됩니다.

따라서 시스템 설계 시 ① 기술언어 채택, ② 수행결과 평가 기준, ③ 수행자의 지식 이용 방식, ④ 학습 알고리즘 고안을 종합적으로 고려해야 합니다.

🗂️

4. 자동학습의 분류

자동학습의 형태는 인간의 학습방법이 다양하듯 여러 차원에서 분류될 수 있습니다 :

1) 학습전략에 따른 분류 (학습기의 추론량 기준)

이 분류는 학습에 필요한 학습기(Learner)의 역할과 추론의 정도에 따라 구분됩니다 :

(1) 주입학습 (Rote Learning) 과 지식의 직접입력 : 학습기가 필요 없고 학습을 위한 추론도 없습니다. 프로그래머가 시스템이 이해할 수 있는 형태로 직접 코딩하여 입력합니다.

(2) 교육에 의한 학습 (Learning from Instruction / Being Told) : 훈련자나 교재로부터 입력받은 지식을 시스템 내부 표현으로 변형하여 저장합니다. 지식의 조직화는 훈련자의 몫입니다.

(3) 유추에 의한 학습 (Learning by Analogy) : 과거 유사한 상황에 적용되었던 지식을 찾아내어 새로운 문제에 맞게 변형·적용하는 방법입니다 (예: 승용차 운전 지식을 바탕으로 소형 트럭 운전하기).

(4) 사례에 의한 학습 (Learning from Examples) : 귀납적 학습(Inductive Learning)의 대표적 형태로, 긍정사례(Positive Example)와 반례(Counter Example)로부터 일반 개념을 도출합니다 :
• 예만 주어지는 경우 : 최소한으로 일반화된 개념을 탐색
• 예와 반례가 모두 주어지는 경우 : 예는 일반화를 촉진하고 반례는 과도한 일반화를 방지
• 일회성(One-trial) vs 점진적(Incremental) 학습 : 한 번에 모든 데이터를 처리하는 방식과 샘플이 들어올 때마다 지식을 수정해 나가는 방식

(5) 관찰과 발견에 의한 학습 (Learning from Observation and Discovery) : 외부 가르침 없이 환경의 현상을 관찰하고 적극적 실험을 실시하여 가설을 검증함으로써 새로운 법칙과 분류 기준을 스스로 발견합니다.

2) 생성된 지식의 표현 방법에 의한 분류

3) 응용영역에 의한 분류

전문가시스템, 게임, 패턴인식, 수학, 화학, 지질학, 로봇공학, 음성인식, 자연어처리, 의학진단, 문제해결(Problem Solving) 등 전 방위 영역에 걸쳐 적용됩니다.

4) 신경회로망·Decision-Theoretic vs 개념위주 학습방법 (2대 패러다임)

  • 신경회로망 및 Decision-Theoretic 학습 : 입력과 출력 간의 관계를 수치 계수, 파라미터, 판별함수로 모델링하는 방식으로 주로 음성/패턴인식에 사용되며 블랙박스(Black-box)적 특성을 가집니다.
  • 개념위주의 기호학습 (Symbolic / Concept Learning) : 사람이 이해할 수 있는 규칙, 프레임, 논리, 네트워크 등의 기호로 개념을 형성하고 관계를 학습하는 설명 가능한(White-box) 방법입니다.
🗣️

5. 자문청취에 의한 학습 (Learning by Taking Advice)

외부 전문가로부터 지도나 자문을 받아 이를 내부 시스템의 효과적인 실행 지식으로 전환하는 학습방법입니다. Hayes-Roth, Klahr, Mostow [80, 81] 는 자문청취 학습의 5단계 프레임워크를 정립하였습니다 :

1. 자문요청 (Request) : 현재 지식으로 해결하기 부족하거나 결함이 있는 부분에 대해 전문가에게 자문을 요청합니다.

2. 자문해석 (Interpret) : 전문가의 자연어 자문을 정보 손실 없이 시스템 내부 표현 구조로 변환합니다.

3. 조작화 (Operationalization) : 추상적이고 일반적인 자문(예: "위험을 피하라")을 시스템이 구체적 상황에서 직접 실행할 수 있는 유용한 규칙 형태로 변환하는 가장 핵심적인 단계입니다.

4. 통합 (Integrate) : 새로운 지식을 기존 지식베이스와 중복·상충되지 않도록 조건 구체화 및 메타 지식을 활용하여 통합합니다.

5. 평가 (Evaluate) : 생성된 지식을 실제 적용하여 적절히 작동하는지 성과를 검증하고 미비점을 보완합니다.

🃏 Mostow 의 FOO 프로그램 (Game of Hearts 조작화) :

Mostow(1981)의 FOO (First Operational Operationalizer) 는 카드 게임 Hearts 에서 "포인트를 얻지 마라" 라는 매우 추상적인 지침을 다음과 같이 실행 가능한 구체적 규칙으로 성공적으로 조작화하였습니다 :

FOO Rule Representation
(avoid (take-points me) (trick))
↓ [조작화 탐색 과정 변환]
(achieve (⇒ [and (in-suit-led (card-of me))
                   [possible (trick-has-points)]]
            [low (card-of me)]))

즉, "포인트를 얻을 가능성이 있는 카드 무늬라면 낮은 카드를 내라" 와 같이 컴퓨터가 게임 중 판단할 수 있는 실제 실행 조건으로 치환하는 데 성공하였습니다.

🎯

6. 사례에 의한 학습 (Learning by Instance / Examples)

1) 사례에 의한 학습 개요 및 2공간 모델 (Simon & Lea)

한정된 관측 사례로부터 일반적인 개념을 유도하는 귀납적 학습(Inductive Learning)의 핵심 기법입니다. Simon 과 Lea(1974)는 이를 **사례공간(Instance Space)**과 **규칙공간(Rule Space)** 사이의 상호작용으로 모델링하였습니다 :

사례에 의한 학습의 2공간 모델
그림 2. 사례공간과 규칙공간 간의 2공간 탐색 모델

사례공간에서 사례를 해석하여 규칙공간의 가설을 형성하고, 형성된 규칙의 타당성을 검증하기 위해 사례공간에서 추가 사례를 선택하여 검증하는 반복 과정을 거칩니다. 포커 플러쉬(Flush) 학습에서 볼 수 있듯, 주요 일반화 연산자로는 **상수를 변수로 치환**하거나 **불필요한 조건(교집합 결합 술어)을 제거**하는 방식이 사용됩니다.

2) 버전공간 (Version Space - Mitchell) 과 대안제거 알고리즘

Tom Mitchell [77, 79] 은 사례로부터 개념을 학습하는 정형화된 틀로 **버전공간(Version Space)**을 고안하였습니다. 규칙공간의 가설들은 일반화된 정도(Generality)에 따라 부분 순서(Partial Order)를 형성합니다 :

규칙공간의 도해
그림 3. 규칙공간의 일반화 순서 도해
규칙공간에서 G와 S 집합
그림 4. G(최대 일반 가설)와 S(최대 특수 가설) 경계 부분공간
📋 대안제거 학습알고리즘 (Candidate-elimination Algorithm) 4단계 :

• 단계 1 : 초기 버전공간 H 설정 (G = Null 일반 진술, S = 최초의 긍정사례와 동일한 특수 진술)

• 단계 2 : 새로운 사례 입력 시 :
  - 긍정사례인 경우 : G에서 이 사례를 포함하지 못하는 가설을 제거하고, S를 이 사례를 포함할 수 있는 **최소한으로 일반화**
  - 반대사례인 경우 : S에서 이 사례를 포함하는 가설을 제거하고, G를 이 사례를 배제할 수 있는 **최소한으로 구체화**

• 단계 3 : G = S 로 수렴할 때까지 단계 2를 반복

• 단계 4 : 최종적으로 유일하게 남은 단일 목표 개념을 출력

3) Winston 의 사례로부터의 구조설명 (Structural Description) 학습

Patrick Winston(1970)은 블록 월드에서 "아치(Arch)" 개념을 의미망(Semantic Network)으로 학습하는 선구적인 모델을 제안하였습니다 :

아치에 관한 의미망
그림 5. 아치(Arch)의 선 그림과 그에 대응하는 의미망 구조

새로운 사례가 들어올 때마다 기존 의미망과 비교하여 긍정사례는 링크/노드를 일반화하고, 반대사례는 필수 제약조건을 추가합니다. 특히 거의 긍정사례와 같으나 단 하나의 결정적 차이만 가진 **근접 반례 (Nearmiss)** 를 제공함으로써 "두 기둥이 서로 붙어 있지 말 것(MUST-NOT-ABUT)" 과 같은 결정적 필요조건을 정확히 학습합니다 :

아치에 대한 반대사례
그림 6. 기둥이 붙어 있는 근접 반례 (Nearmiss)
아치에 대한 긍정사례
그림 7. 삼각형 지붕을 가진 아치의 긍정사례

4) ID3 (Iterative Dichotomiser 3 : Ross Quinlan)

Hunt의 CLS(Concept Learning System)에 기반하여 Ross Quinlan이 개발한 알고리즘으로, 범주형 데이터로부터 엔트로피(Entropy)와 정보 이득(Information Gain)을 활용해 최적의 의사결정트리를 자동으로 유도합니다 :

특성 눈에 의한 분할
그림 8. 특성 '눈'에 의한 1차 분할
특성 눈과 두발에 의한 분할
그림 9. 특성 '두발' 추가로 완성된 트리

생성된 트리는 즉시 사람이 읽을 수 있는 IF-THEN 규칙으로 1:1 변환됩니다 :

Extracted IF-THEN Rules
IF 눈 = 작은 눈 THEN -
IF 눈 = 보통 눈 THEN +
IF 눈 = 큰 눈 AND 두발 = 길다 THEN +
IF 눈 = 큰 눈 AND 두발 = 짧다 THEN -

속성의 변별력을 정량화하기 위해 샤논의 정보이론 측정치를 사용합니다 :

P+ 값에 따른 M(C) 변화
그림 10. 클래스 비율 P⁺ 에 따른 정보값 M(C) 곡선 (0.5에서 최대 1 bit)
특성 키에 의한 분할
그림 11. 특성 '키' 테스트 시 정보이득 0.003 bit (낮은 변별력)
📐 ID3 핵심 수학 공식 (원전 수식 보존) :

• 집합 C 의 정보값 M(C) (샤논 엔트로피) :
식 2: M(C) Pi log2 Pi (식 2)

• 특성 Aj 분할 후 가중 정보값 B(C, Aj) :
식 3: B(C, Aj) Wi × M(Si) (식 3)
(여기서 가중치 Wi = |Si| / |C| = 하위사례 수 / 전체 사례 수)

• 연속형 수치 속성 구간 분할 최소화 기준 :
식 4: 연속형 수치 구간 분할 Wi × M(Si) (식 4)

⚠️ ID3 의 고전적 단점과 극복 :
  • 불확실성 반영 불가 : 결정적 규칙만 생성하므로 노이즈나 일기예보 같은 확률적 영역에 적용 시 거대한 Bush Tree 가 생성되어 과적합 발생
  • 데이터 민감성 : 훈련 데이터가 조금만 바뀌어도 트리 상단 분기 구조가 완전히 변형됨
  • 연속형 변수 처리 한계 : 구간 분할(k 경계값) 기법을 쓰지만 정보 손실 및 계산량 증가

그럼에도 불구하고 대출불이행 예측, 기업도산 예측(이건창, 1993), 주식시장 예측 등 실무 경영과학 영역에서 통계적 다변량 판별분석(MDA)보다 우수한 분류력과 뛰어난 설명력을 입증하였습니다.

🔄

7. 유추에 의한 학습 (Learning by Analogy)

유추에 의한 추론 (Analogical Reasoning) 은 과거의 문제해결 (Problem Solving) 경험을 토대로 그와 유사한 새로운 문제를 해결하는 데 매우 효과적으로 사용될 수 있습니다.

💡 유추에 의한 문제해결 과정 메커니즘 :

새로운 문제에 봉착했을 때 현재 문제와 가장 유사한 과거의 상황을 회상하여, 그 과거 문제를 풀었던 방법과 해를 현재 상황에 맞게 변형(Mapping & Adaptation)한 후 현재 문제를 해결합니다. 이러한 성공적인 문제해결 과정 자체가 새로운 지식으로 축적되는 것이 바로 유추에 의한 학습입니다.

비절차적 개념 분류 중심의 사례학습과 달리, 유추학습은 절차적 문제해결(Problem Solving) 기술 습득에 탁월한 잠재력을 지니고 있습니다.

🔬

8. 발견에 의한 학습 (Learning by Discovery)

외부 교사의 안내 없이 오직 관찰과 실험을 통해 데이터 속에 숨겨진 규칙성과 자연 법칙을 스스로 발견해 내는 귀납적 기계학습 분야입니다 :

1) 분류법 형성과 개념적 집단화 (Taxonomy Formation & Conceptual Clustering)

주어진 복잡한 관측 객체들을 유의미한 계층적 범주로 구조화하는 작업입니다 :

분류법 형성 문제 예시
그림 13. 핵과 꼬리를 가진 세포들의 분류법 형성 문제
세포들의 계층적 분류 구조
그림 14. 핵의 개수와 꼬리 조합에 따라 도출된 분류 계층
🔍 Fisher 의 RUMMAGE 알고리즘과 ID3 의 본질적 차이 :

Fisher(1985)의 **RUMMAGE** 는 객체를 속성-값 쌍으로 기술하고 가장 간단하면서도 집단 간 유사성을 최소화하는 최적 개념기술을 선택하여 탑다운으로 트리를 분기합니다. ID3 가 사전에 사람이 부여한 클래스 레이블이 존재하는 지도학습(Supervised)인 반면, RUMMAGE 는 클래스 자체를 데이터로부터 스스로 창출하는 비지도 개념적 군집화(Unsupervised Conceptual Clustering)라는 점에서 결정적인 차이가 있습니다.

2) 규칙의 발견 (AM 과 BACON.4)

• Douglas Lenat 의 AM (Automated Mathematician, 1983) : 수 이론(Number Theory) 영역에서 집합 소속, 합집합 등의 수백 개 기본 개념과 흥미도(Interestingness) 평가 휴리스틱을 바탕으로 스스로 탐색을 진행하여 정수, 덧셈, 곱셈, 소수(Prime Number) 개념을 유도하고, "모든 정수는 소수의 곱으로 유일하게 소인수분해된다" 및 "골드바흐의 추측" 등을 독자적으로 재발견하였습니다.

• Langley, Simon 등의 BACON.4 (1983) : 물리·화학 데이터를 관측하여 정량적 법칙을 스스로 유도하는 시스템입니다. 하나의 독립변수를 변화시키며 종속변수의 비율(X/Y)이나 곱(XY)이 상수를 이루는지를 탐색하여 이상기체 상태방정식(PV/T = 상수), 케플러의 제3법칙 등을 스스로 재발견하는 놀라운 성과를 거두었습니다.

🎥

추천 학습 영상 : 기계학습(Machine Learning)의 원리와 핵심 분류

📺 Machine Learning Fundamentals · StatQuest & MIT AI OpenCourseWare

💡 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 결정 트리 및 기계학습의 기본 개념을 알기 쉽게 설명하는 영상입니다.

📚

9. 관련 지식 및 상호 참조 아카이브