Ch.7 기계학습(Machine Learning)

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

컴퓨터와 인터넷.
Deep Learning.
Deep Learning.
블룸의 교육목표분류학 (Bloom’s Taxonomy)
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
사회자와 참여자의 역할과 책임 토론 사회자의 주된 역할 객관적인 입장에서 토론이 원만히 이루어지도록 공정하게 토론을 진행
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Entity Relationship Diagram
정 의 학습의 일반적 정의 기계학습(Machine Learning)의 정의
제 9 장 구조체와 공용체.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
WJ543 인공지능 2003년도 제 2학기.
Learning Classifier using DNA Bagging
Windows Server 장. 사고를 대비한 데이터 백업.
Multi Intelligence Theory
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
분석적 사고 (Analytical Thinking)
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
컴퓨터과학 전공탐색 배상원.
1. 현대 생활과 응용 윤리의 필요성 2. 윤리 문제의 탐구와 실천 3. 윤리 문제에 대한 다양한 접근
11장. 1차원 배열.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Opencv 이민권.
제1장 통계학이란 무엇인가 제2장 자료와 수집 제3장 자료 분석 방법
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바 5.0 프로그래밍.
프로그래밍 개요
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
메모리 관리 & 동적 할당.
제 10 장 의사결정이란 의사결정은 선택이다.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
‘Chess’를 읽고 컴퓨터공학부 배상수.
Multi Intelligence Theory
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
USN(Ubiquitous Sensor Network)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
데이터 베이스 DB2 관계형 데이터 모델 권준영.
논문작성을 위한 연구모형 설정 양동훈.
학습목표 PBL 문제를 만들고, WBL방식의 학습을 실시한다.
Problem-Based Learning
알고리즘 알고리즘이란 무엇인가?.
김정숙 (고려대학교 2014년) 국어국문학과 한국어학 석사 1기 이 드미뜨리
3장, 마케팅조사의 일번적 절차 마케팅 조사원론.
「 All children have strengths 」
개 념 개요 지능을 가진 객체의 특징 컴퓨터에게 지능 부여 학습의 일반적 정의 새로운 환경에 적응
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Flow Diagram IV While.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 Programming Systems Lab.
의미론적 관점 * TV에서 ‘푸른 빛이 아닌 청자빛’이란 표현을 들었을 경우
Numerical Analysis Programming using NRs
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
DNA Implementation of Version Space Learning
1. 강의 소개 컴퓨팅적 사고와 문제해결.
 6장. SQL 쿼리.
개 념 개요 지능을 가진 객체의 특징 컴퓨터에게 지능 부여 학습의 일반적 정의 새로운 환경에 적응
7 생성자 함수.
6 객체.
이 은 Tyler 교육과정 개발 모형 이 은
Presentation transcript:

Ch.7 기계학습(Machine Learning)

Contents 학습이란 무엇인가? 암기학습 지도에 의한 학습 유추에 의한 학습 예제로부터의 학습 학습된 지식의 표현 방법 응용분야

학습이란 무엇인가?(1) 개요 지능을 가진 객체의 특징 새로운 것을 배우고 새로운 환경에 적응 새로운 문제를 풀 수 있는 능력 컴퓨터에게 지능 부여 지능을 가진 컴퓨터 프로그램이 가능한가? (많은 학자들이 부정적) 컴퓨터 성능을 점차적으로 개선하는 방향으로 주어진 입력을 해석하도록 하는 방법 제공 학습의 일반적 정의 주어진 환경 내에서 반복되는 경험에 의해 발생되는 어떤 주체의 행동 변화 문제 풀이 : 광역적인 의미에서 보면 모든 인공지능 프로그램들이 문제풀이 시스템이라고 할 수 있다 계획 - 일반적으로 계획이라고 하는 것은 행동을 취하기 전에 행동들의 순서를 결정하는 것

기계 학습 정의 ? Data Computer Output Program Data Computer Program Output Traditional Programming Machine Learning Computer Data Output Program Computer Data Program Output

학습이란 무엇인가?(2) 기계학습(Machine Learning)의 정의 학습 프로그램과 일반 프로그램과 구별하여 특징지우는 방법 필요 그렇게 만족할 만한 정의가 내려지지 못하고 있음 정의가 어려운 이유 1) 새로운 지식의 습득 컴퓨터의 데이터 습득은 용이 ↔ 사람은 어려움 데이터의 습득은 진정한 학습 프로그램이 아님 2) 문제 풀이 지식 표현과 추론 → 일반적인 작업을 처리하는 프로그램과 유사 → 굳이 정의하자면, 새로운 지식을 습득하면서(1) 새로운 상황의 문제를 풀 수 있는(2) 프로그램.

학습이란 무엇인가?(3) 스스로 학습할 수 있고 성능을 향상시킬 수 있는 컴퓨터를 만드는 것이 컴퓨터 학자들의 꿈 학습에 대해 연구하는 이유 1) learning process 자체를 알기 위해서 2) computer에게 학습할 수 있는 능력 부여 인간의 학습과정 1) 새로운 선언적 지식의 습득 2) 반복과 훈련에 의한 인지적, 신체적 기술의 습득 3) 새로운 지식을 재조직하여 일반적이고 효과적인 지식으로 만듬 4) 실험과 관찰을 통한 새로운 사실이나 이론의 발견

학습이란 무엇인가?(4) machine learning 컴퓨터 시스템이 재 program 없이 시간이 흐를수록 주어진 과제수행에 점차 성과를 올릴 때 학습이 이루어졌다고 함. 예제, 데이터 최초의 지식 개선된 수행능력 최초의 지식 feedback 지식의 확대

학습이란 무엇인가?(5) 기계학습의 요소 주위환경(Environment) 학습 요소(Learning Element) 지식베이스(Knowledge Base) 실행 요소(Performance Element)

학습이란 무엇인가?(6) Simon의 기계학습 모델 원: 선언적 정보, 사각형: 절차, 화살표: 자료의 흐름 주위환경: 학습요소에 특정 정보 제공 학습 요소: 입수된 정보로 지식베이스 개선 실행 요소: 지식베이스의 지식 이용, 특정의 작업 수행 네가지 구성요소의 구현 방식에 따라 학습 시스템 분류 → 주위환경, 지식베이스, 실행 요소들이 학습문제의 본질을 결정 → 학습 요소가 수행해야 할 특정 기능 결정 학습 요소 (Learning Element) 실행 요소 (Performance Element) 주위 환경 (Environment) 지식베이스

학습이란 무엇인가?(7) Examples

학습이란 무엇인가?(8) Some Questions When does this person play tennis? Today is Sunny, temp is Mild, humidity is High and wind is Strong. Will this person play tennis?

학습이란 무엇인가?(9) Some Questions Find the boundary between red and black

학습이란 무엇인가?(10) Some Questions Yes or no?

학습이란 무엇인가?(11) Some Questions Grouping Cluster the points into 4 groups

학습이란 무엇인가?(12) 학습의 분류 암기 학습(Rote Learning): 지식의 직접적 부여 학습자 측면에서 추론이나 지식의 변형이 불필요 학습이 외부 객체에 의해 미리 프로그램 됨 주어진 사실, 데이터에 대한 기억만 저장 → 입력에 대한 추론 없음 지도에 의한 학습(Learning by Advice-taking) 교사, 교과서 같은 지식 원천으로부터 지식 습득 교사는 학습자의 지식을 증대하기 위해 지식을 잘 조직해야 함 → 부담 전문가시스템의 구축과정과 동일 유추에 의한 학습(Learning by Analogy) 이미 존재하는 지식을 변형하거나 증식하여 새로운 사실, 기술 습득 예) 자동차 운전 기술을 이용, 트럭 운전이 가능(운전 기술의 변형 필요) 지도에 의한 학습보다 많은 추론 요구: 유사성에 대한 검색, 새로운 상황에 적용

학습이란 무엇인가?(13) 예를 통한 학습(Learning from Examples) 어떤 개념 묘사를 위해 긍정 예(positive example): 개념을 잘 설명하는 예 부정 예(negative example, counterexample): 개념을 부정하는 예 부정적인 예들의 성질을 배제하면서 긍정적인 예들의 성질을 묘사 → 주어진 개념에 대한 일반적인 개념 묘사 추론 → 지도, 유추에 의한 학습보다 추론 양이 많다.(교사는 예제만 제공) 귀납적 학습의 특수한 경우

암기학습 암기학습, 주입학습(rote learning) - 기억하는 것, 기초적인 학습과정 - 기억하는 것, 기초적인 학습과정 - programmer가 직접 시스템이 이해할 수 있는 형태로 코딩, 지식을 지식베이스에 단순히 복사 - 입력되는 정보로부터 추론을 수행하지 않고 직접적으로 주어진 사실 이나 자료를 재활용하여 학습 수행 - 모든 학습 program이 획득한 지식을 저장했다가 나중에 필요할 때 저장된 지식을 사용하는 것이 필수적이므로, 모든 학습 program의 기본이 됨 - 암기학습에서 필요한 능력 1) 조직적인 정보 저장(organized storage of information) 2) 일반화(generalization)

지도에 의한 학습(1) 지도에 의한 학습, 교육에 의한 학습 (Learning from instruction, Learning by being told) 자문청취에 의한 학습(Learning by taking advice) - 학습기 (learner)는 훈련자(teacher) 또는 다른 지식의 원천으로부터 입력 받은 지식을 시스템이 이해할 수 있는 표현 형태로 변환하여 저장 - 지식베이스에 지식을 종합 시키기 전에 조작에 편리한 형태로 변환 시켜야 하므로 더 많은 추론 소요 - 외부로부터 자문을 받아 효과적인 지식으로 전환하는 학습방법

지도에 의한 학습(2) 학습 단계 전문가시스템 구축 과정 1) 요구 단계: 전문가에게 자문 요청 → 전문지식 습득 학습 단계 전문가시스템 구축 과정 1) 요구 단계: 전문가에게 자문 요청 → 전문지식 습득 2) 해석 단계: 내부 표현으로 변환 3) 연산자화 단계: 연산자로 변환 추상적이고 일반적인 자문의 내용 → 구체적인 상황에 대처할 수 있도록 유용한 형태로 변화시킴 4) 합병 단계: 지식베이스로 합병 → 지식베이스 형성 5) 평가 단계: 실행 요소에 의한 결과 평가 → 추론 결과 평가 지식베이스 유지(maintenance): 지능형 편집기, 추적기능, 설명기능 지식 표현 요구 단계 - 첫 번째 단계는 프로그램이 전문가에게 충고를 요구하는 단계이다. 요구는 전 문가에게 약간의 일반적인 충고를 구하는 것과 같은 단순한 것일 수도 있고, 지식베이스 내 의 결점들을 확인하여 이를 개선할 수 있도록 하는 것과 같은 정교한 것일 수도 있다 해석 단계 - 충고 습득의 두 번째 단계는 충고를 받아들여 이를 내부적 표현으로 변환하는 것이다. McCarthy는 어떤 프로그램이 충고를 받아들이기 위해서는 그 프로그램이 인식론 적으로 적절한 표현방식을 가져야 한다고 지적했다 연산자화 단계 - 충고가 받아들여지고 내부 표현으로 해석되더라도 그것이 실행 요소에 의해서 바로 수행될 수 있는 것은 아니다. 세 번째 단계인 연산자화 단계는 충고가 주어지 는 수준과 실행 요소가 이것을 적용하는 수준과의 차이를 줄여주는 방법을 제공한다. 예를 들어, Mostow의 FOO 프로그램[Mosto81]은 하트(heart)란 카드 게임을 어떻게 진행하 는가에 대한 충고를 받아들일 수 있다. 영어로 된 충고‘Avoid taking points’는 FOO의 인 간 사용자에 의해서 해석되고, 이것은 람다(lambda) 산술 문장인 (AVOID(TAKE-POINT ME) (CURRENT TRICK)) 형태로 프로그램에게 주어지게 된다. 이 충고가 모호하지 않는 내부 표 현으로 해석되었다 하더라도, FOO가 점수를 취하는 것을 피할 절차나 방법을 가지고 있지 않기 때문에 여전히 연산자화되지는 않았다. 그러므로 이 충고는‘Play a low card ’를 의미 하는 [ACHIEVE (LOW (CARD-OF ME))]의 형태로 변형되어야 한다

지도에 의한 학습(3) < 합병단계 > 모순 : 조건이 같지만 결론이 다른 규칙이 두 개 이상 생기는 경우 중복 : 조건은 틀리지만 결론이 같은 규칙 ex) 모순 IF a1 a2  a3 THEN A  규칙의 결론부 수정, 모순 제거 IF a1 a2  a3 THEN B  메타규칙(순서조절규칙) 사용, 결론부 작동 순서 조정 중복 IF a1 a2  a3 THEN A  규칙의 조건부 세분화 IF a1 a2 THEN A | 메타규칙 첨가 IF a1 b1 THEN A | IF b2  b3 THEN A 

유추에 의한 학습(1) 유추에 의한 학습(Learning by analogy) - 인간의 추론과 학습과정에는 유추가 중요한 역할 주어진 문제를 해결하기 위하여, 과거에 해결된 문제들 중 현재 문제와 유사성이 있는 것을 찾아 현재 문제에 적용시킬 수 있도록 변형시키는 방법에 의한 학습

유추에 의한 학습(2) 유추에 의한 학습방법 새로운 문제가 성공적으로 해결되었을 경우 새로운 문제 해결 유사성정도에 따른 매칭 과거 해결하였던 문제 도출(Derivation) 새로운 문제의 해결 방법 과거 문제의 해결 방법 전환과정 새로운 문제가 성공적으로 해결되었을 경우 새로운 문제 해결 방법이 하나의 지식으로 생성됨

예제로부터의 학습(1) 예제로부터의 학습(Learning from examples) 귀납적 학습 (inductive learning), 개념학습(concept learning) 교사나 외부환경으로부터 주어지는 사실들로부터 귀납적 추론을 진행하여 일반적 개념을 습득하는 귀납적 학습 주어지는 것들 관찰적인 사실들 일시적인 귀납적 사실들 배경지식 찾아야 하는 것들 귀납적인 규칙 및 가설들(포괄적)

예제로부터의 학습(2) 훈련 예(training instance)의 성질 훈련 예의 품질 : 모호성이 없어야 한다. 훈련 예의 오류 분류되지 않은 훈련 예 훈련 예가 주어지는 순서 훈련 예들이 탐색되는 방법 점진 학습을 수행하는 프로그램 능동적인 예제 선택을 수행하는 프로그램 탐색되는 방법 여러 가지 대안 중에서 가장 가능성 높은 것을 선택 부가적인 훈련 예를 검사함으로써 가설 확신 기대에 따른 추출 : 가설들과 모순되는 훈련 예들을 선택

예제로부터의 학습(3) 가장 흔하게 사용되는 학습전략 특정한 개념에 대한 예(positive example)와 반례(counter- example) (또는 부정적 예(negative example)가 주어질 때 학습기는 예와 반례를 구분할 수 있는 일반 개념 도출(induce) 1) positive example 만 주는 경우 주어진 개념을 기술하되 최소한으로 일반화된(generalized) 개념 찾아냄 2) positive와 negative example 모두 주어지는 경우 positive example은 발견되는 개념의 일반화를 촉진하고 negative example은 과도한 일반화 방지(특수화(specialization))

예제로부터의 학습(4) 일괄 학습(batch learning) vs 점진 학습(incremental learning) 일괄 학습: 개념 형성에 필요한 모든 예제들을 한번(one-trial)에 모두 제공, 모든 예와 반례를 한번에 처리하여 지식을 생성 점진 학습: 이용 가능한 자료들을 이용, 하나 이상의 개념 가설 형성 → 점차적으로 추가적으로 주어지는 예제들을 이용, 가설 개선. 현재 주어진 예와 반례로부터 지식을 생성하고 계속 새로운 예와 반례가 생길 때마다 점진적으로 현재의 지식을 수정 하는 방향으로 진행되는 학습 방법 인간의 개념 학습 방법과 유사 여러 개의 개념습득에 유용

예제로부터의 학습(5) 예가 주어지는 방법 교사가 예를 제공: 목표 개념 형성에 유익한 예를 선별 제공 학습자가 예를 생성: 경쟁하는 개념들을 식별하는 정보에 기초하여 스스로 예를 생성 교사의 긍정, 부정에 대한 지도 필요 외부환경에서 예 제공: 예제 생성과정 무작위 → 통제 없는 관찰에 의존

예제로부터의 학습(6) 학습자의 예제 이용 형태 긍정적인 예제만 이용 습득해야 할 개념에 대한 좋은 예제 제공 과도하게 일반화되는 것은 막을 정보 제공이 불가능 → 최소의 일반화 고려, 추론되는 개념에 제약을 가하는 영역지식에 의존 긍정적, 부정적 예제들을 모두 사용 긍정적인 예제들의 개념을 일반화 시킴 부정적인 예제들은 과도한 일반화를 막는다. 예를 통한 학습의 가장 근본적인 형태

예제로부터의 학습(7) 일반화(generalization)와 특수화(specialization) 일반화 : 긍정적으로 관측된 사실에 대한 포괄적 부류 또는 상위 부류 를 구하고 그것을 묘사하거나 그에 대한 규칙을 공식화 하는 과정 특수화 : 일반화 과정에 의하여 너무 추상적으로 일반화되어 부정적 사례도 포함할 경우 그러한 예를 배제할 수 있도록 구체화 하는 과정 (ex) 긍정적 사례 : {아반테, 소나타, 그랜져} 부정적 사례 : {프라이드, 스포티지, SM7}  ‘현대자동차’ 라는 개념 긍정적 사례 : { 마티즈, 프라이드, 아토즈 } 부정적 사례 : { 그랜져, 에쿠스 }  ‘소형차’ 라는 개념

예제로부터의 학습(8):Decision tree Node: properties(attributes) Edge: different values Leaf: answer Learning Building a decision tree that can classify all examples <small, red, ball>  Y <small, blue, ball>  N <large, red, ball>  Y <large, red, cube>  N

예제로부터의 학습(9):Decision tree 훈련 예(training set) ( Hair, Gray, Medium )  ( KANGAROO ) ( Hair, Brown, Medium )  ( KANGAROO ) ( Swims, Gray, Large )  (DOLPHIN) ( Swims, White, Medium )  (DOLPHIN) ( Swims, Brown, Large)  (WHALE) Swims? Color KANGAROO DOLPHIN DOLPHINE WHALE T F Brown White Gray

예제로부터의 학습(10):Decision tree 훈련 예(training set)

예제로부터의 학습(11):Decision tree

예제로부터의 학습(12):Decision tree <Selection of properties> Different selection  different tree (a=0, b=0)  Yes (a=0, b=1)  No (a=1, b=0)  Yes (a=1, b=1)  No Rule Select P such that classify most examples Selection based on information theory a? b? Yes No 1 VS.

예제로부터의 학습(13):Decision tree Result Tree

예제로부터의 학습(14):Decision tree Examples

예제로부터의 학습(15):Decision tree If Outlook = Sunny & Humidity = High then Tennis = No If Outlook = Sunny & Humidity = Normal then Tennis = Yes If Outlook = Overcast If Outlook = Rain & Wind = Strong If Outlook = Sunny & Wind = Weak

학습된 지식의 표현방법(1) (1) 대수적 표현의 parameter (2) 의사결정트리(Decision tree) 객체를 분류하기 위해 사용 노드(node) : 객체의 특성(attribute) 가지(branch) : 특성이 취할 수 있는 값 단말노드(terminal node) : root로부터 해당 단말노드까지의 특성에 대한 값을 갖는 객체가 속하는 class Training set Learning Algorithm Decision Tree

학습된 지식의 표현 방법(2) (3) 규칙( production rules) (4) 형식논리 지식을 명제논리(propositional logic)나 술어논리(predicate logic)로 표현 (5) 그래프와 네트워크 노드와 아크로써 개념간의 관계 표현 (6) 프레임(frame) 여러 개의 엔티티들의 집합 엔티티는 slot으로 표현 (7) 복합표현 : 다수의 방법 혼합하여 표현 Training Set IF - THEN rules Neural Network

응용분야 (1) 전문가시스템 (2) 게임 (3) 패턴인식 (4) 로봇공학 (5) 음성인식 (6) 자연언어처리 (7) 의학진단 (8) 문제해결(problem solving)