정 의 학습의 일반적 정의 기계학습(Machine Learning)의 정의 주어진 환경 내에서 반복되는 경험으로 인해서 발생되는 어떤 주체의 행동 변화 기계학습(Machine Learning)의 정의 A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. A class of tasks T Experience E Performance measure P 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
특성 경험에 의한 지식의 증가 (일반화, generalization) 경험 (Examples) 학습 입력 출력 입력 출력 입력 기존의 AI 프로그램 입력 출력 내장된 지식 입력 기계학습 프로그램 (학습 전) 출력 내장된 지식 경험 (Examples) 학습 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것 기계학습 프로그램 (학습 후) 입력 개선된 출력 내장된 지식 + 자동 습득된 지식 “Model”
귀납적 방법(induction)에 비중을 둠 새로운 상황의 문제 해결 경험하지 않은 예제에 대해서도 답을 할 수 있음 분류(classification), 예측(prediction), … 적응성(adaptation) 실세계의 불확실성(uncertainty)과 가변성을 프로그램에 반영 학습 예제(데이터) 자체의 내용이 변화하는 경우에도 적응 가능 귀납적 방법(induction)에 비중을 둠 인간의 학습과 대비 교사에 의한 지식의 전수(비 귀납적)는 인간의 학습 범주에 포함됨 프로그래머에 의한 지식의 입력도 기계 학습인가? 연역적 방법(deduction)에 의한 추론이나 기존 지식의 재정리도 기계 학습인가? 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
기계 학습 시스템 모델 Simon의 단순 모델 네 가지 구성요소의 내용에 따라 학습 시스템 분류 → 주위환경, 지식베이스, 실행 요소들이 학습문제의 본질을 결정 → 학습 요소가 수행해야 할 특정 기능 결정 지식베이스의 ‘초기’ 지식 분량이 많을수록, 학습 요소(학습자)의 추론(일반화) 분량이 감소 교사의 지도 부담 증가 학습 요소 (Learning Element) 실행 요소 (Performance Element) 주위 환경 (Environment) 지식베이스
학습의 분류 암기 학습(Rote Learning): 지식의 직접적 부여 학습자 측면에서 추론이나 지식의 변형이 불필요 학습이 외부 객체에 의해 미리 프로그램 됨 주어진 사실, 데이터에 대한 기억만 저장 → 입력에 대한 추론 없음 충고(설명)에 의한 학습(Learning by Advice-taking) 교사, 교과서 같은 지식 원천으로부터 지식 습득 교사는 학습자의 지식을 증대하기 위해 지식을 잘 조직해야 함 → 부담 전문가 시스템의 구축과정과 동일 유추에 의한 학습(Learning by Analogy) 이미 존재하는 지식을 변형하거나 증식하여 새로운 사실, 기술 습득 예) 자동차 운전 기술을 이용, 트럭 운전이 가능(운전 기술의 변형 필요) 충고에 의한 학습보다 많은 추론 요구: 유사성에 대한 검색, 새로운 상황에 적용
예를 통한 학습(Learning from Examples) 어떤 개념 묘사를 위해 긍정 예(positive example): 개념을 잘 설명하는 예 부정 예(negative example, counterexample): 개념을 부정하는 예 부정적인 예들의 성질을 배제하면서 긍정적인 예들의 성질을 묘사 주어진 ‘개념(concept)’에 대한 일반적인 개념 묘사 추론 충고, 유추에 의한 학습보다 추론 양이 많다 (교사는 예제만 제공) 귀납적 학습의 특수한(?) 경우 예가 주어지는 방법 교사가 예를 제공: 교사(supervised) 학습 예) 인종 판별 학습자가 예를 생성 예) 게임 환경이 예를 제공(관찰에 의한 학습) : 비교사(unsupervised) 학습 예제를 무작위(random)로 생성 → 통제 없는 관찰(observation)에 의존 예) 새로 발견된 별들의 분류(군집화), 격자 상의 청소 로봇(환경 변화)
개념 학습 (Concept Learning) 개념의 예 “새”, “자동차”, “시험에 합격하기 위해 더 공부해야 하는 상황” 개념(Concept) 매우 큰 집합에 대하여 정의된 객체(object) 혹은 사건(event)의 부분 집합(subset) 혹은, 이 큰 집합에 대하여 정의된 부울(boolean-valued) 함수 “새”라는 개념은 “동물”이라는 큰 집합의 부분 집합 Learning Inducing general functions from specific training examples 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
개념 학습 목표 개념(Target concept) 일반적인 범주(category)에 대한 양성/음성 학습 예제들로부터, 그 범주의 정의를 획득하는 것 Inferring a boolean-valued function from training examples of its input and output 목표 개념(Target concept) 학습하려고 하는 대상 범주 예) EnjoySport “days on which Aldo enjoys water sport” 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
학습 예제(Training Examples) 가설(Hypothesis) 6개의 속성(attribute) Sky, AirTemp, Humidity, Wind, Water, Forecast의 값들을 표현하는 제약(constraint)들로 구성된 벡터 각 속성은 값으로 “?”, 특정 값 (예: Warm), 혹은 “0”을 가짐 <?, Cold, High, ?, ?, ?>는 “Aldo는 춥고 습도가 높은 날에만 스포츠를 즐긴다”는 가설을 표현 학습 예제(Training Examples) Instance Sky AirTemp Humidity Wind Water Forecast EnjoySport A Sunny Warm Normal Strong Warm Same No B Sunny Warm High Strong Warm Same Yes C Rainy Cold High Strong Warm Change No D Sunny Warm High Strong Cool Change Yes 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
학습의 내용 주어지는 것 사례들 X: 개념이 정의되는 항목(item)들의 집합 가설들 H: 속성들에 대한 제약의 결합(conjunction) 목표 개념(target concept) c: c : X → {0, 1} 학습 예제 (양성/음성): <x,c(x)> 학습 집합(training set) D: 사용 가능한 학습 예제들 결정할 것 X에 속하는 모든 x에 대해 h(x) = c(x)인 H에 속하는 가설 h 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
귀납 학습 가설(Inductive Learning Hypothesis) 학습 작업(learning task)은 ‘전체’ 사례 집합 X에 대하여 c와 동일한 h를 결정하는 것 그러나, c에 대해 알려진 유일한 정보는 D에서의 값들 뿐임 귀납 학습 알고리즘은, 단지(at best), h가 D에 대하여 c를 만족시킨다는 것을 보장한다 이는 D에서 관찰된 데이터를 가장 잘 만족시키는 h가 미지의(unseen) 사례들에 대해서도 최선의 가설임을 가정(assumption)으로 한다 귀납 학습 가설 충분히 방대한 양의 학습 예제에 대하여 좋은 성능을 보이는 가설은 목표 함수(target function)를 근사(approximate)할 수 있고, 미지의 예제들에 대해서도 좋은 성능을 얻을 수 있다 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
탐색(search)으로서의 개념 학습 탐색 학습 예제를 가장 잘 만족시키는 가설을 찾는다 가설 공간에서의 효율적인 탐색이 필요 EnjoySport에서의 탐색 공간 3*2*2*2*2*2 = 96개의 서로 다른 사례(예: Sky={Sunny, Cloudy, Rainy}) 5*4*4*4*4*4 = 5120개의 구문적으로 서로 다른(syntactically distinct) 가설들 (0과 ?를 추가로 고려) 1+4*3*3*3*3*3 = 973개의 의미적으로 (semantically) 서로 다른 가설들 (하나 이상의 0을 포함하는 모든 가설은 공집합(empty)이므로, 각 속성 중 0은 한 개뿐인 것으로 계산) 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
General-to-specific ordering of hypotheses: x satisfies h ⇔ h(x)=1 More_general_than_or_equal_to relation (Strictly) more_general_than relation <Sunny,?,?,?,?,?> >g <Sunny,?,?,Strong,?,?>. 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
버전 공간(Version Space) 개념 공간 내에서 학습 예제에 맞는(consistent) 모든 가설들의 집합 버전 공간(VS) Consistent(h,D) ⇔ (∀<x,c(x)> D) h(x) = c(x) VSH,D ⇔ {h H | Consistent(h,D)} General boundary G Specific boundary S Version Space redefined with S and G 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
버전 공간의 예 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
후보-제거 (Candidate Elimination) 알고리즘 Initialize G to the set of maximally general hypotheses in H Initialize S to the set of maximally specific hypotheses in H For each training example d, do If d is a positive example Remove from G any hypothesis inconsistent with d For each hypothesis s in S that is not consistent with d Remove s from S Add to S all minimal generalizations h of s such that h is consistent with d, and some member of G is more general than h Remove from S any hypothesis that is more general than another hypothesis in S 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
If d is a negative example Remove from S any hypothesis inconsistent with d For each hypothesis g in G that is not consistent with d Remove g from G Add to G all minimal specializations h of g such that h is consistent with d, and some member of S is more specific than h Remove from G any hypothesis that is less general than another hypothesis in G 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
처음 2개의 예제가 주어지면 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
3번째 예제 후 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
4번째 예제 후 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것
학습된 개념 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것