9. 기계학습.

Slides:



Advertisements
Similar presentations
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
Advertisements

컴퓨터와 인터넷.
의사 결정 트리(decision tree)
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Entity Relationship Diagram
연결리스트(linked list).
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
Hybrid INDIGO project 중간보고
Windows Server 장. 사고를 대비한 데이터 백업.
전자기적인 Impedance, 유전율, 유전 손실
경영사례 및 영업협상 방법론.
Chapter 02 순환 (Recursion).
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
9. 기계학습.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
23장. 구조체와 사용자 정의 자료형 2.
Deep Learning.
JA A V W. 03.
프로그래밍 개요
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
제 10 장 의사결정이란 의사결정은 선택이다.
문자 인식 개요 NR-LAB 강 동 구.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
마인드 맵.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
TFT-LCD 구조 동작원리 응용분야.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
기계학습 (Machine Learning)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
정다면체, 다면체와 정다각형, 다각형의 관계 한림초등 학교 영제 6학년 5반 송명훈.
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
⊙ 이차방정식의 활용 이차방정식의 활용 문제 풀이 순서 (1)문제 해결을 위해 구하고자 하는 것을 미지수 로 정한다.
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
알고리즘 알고리즘이란 무엇인가?.
문서 클러스터링 일본언어문화학과 서동진.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Support Vector Machine
Chapter 1 단위, 물리량, 벡터.
광합성에 영향을 미치는 환경 요인 - 생각열기 – 지구 온난화 해결의 열쇠가 식물에 있다고 하는 이유는 무엇인가?
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
9 장 오류 검출 및 오류 정정 9.1 오류 종류 9.2 검출 9.3 오류 정정 9.4 요약.
Chapter 10 데이터 검색1.
패턴인식 개론 Ch.13 신경세포 모델링-인공신경망.
발표자 : 이지연 Programming Systems Lab.
상관계수.
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
트리 (Logical) Data Structures Linear list Tree Graph Linear structures
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Chapter 7. A3C Ho-Bin Choi A3C.
 6장. SQL 쿼리.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
Ch12. Deep Learning (Backpropagation)
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
C++ Espresso 제15장 STL 알고리즘.
7 생성자 함수.
6 객체.
Presentation transcript:

9. 기계학습

9. 기계학습 목 차 9.1 학습에 필요한 요소 9.2 귀납적 학습의 예 9.3 일반화와 개념공간 9.4 ID3 알고리즘 9.5 귀납적 편향 9.6 설명기반 학습 9.7 유추에 의한 학습 9.8 비 지도 학습 9.9 강화 학습 9.10 인공 신경망 9.11 유전자 알고리즘 9.12 유전자 알고리즘의 예

9. 기계학습 학습의 정의 Simon – 같은 작업이나 같은 영역내의 비슷한 작업을 반복할 때 처음보다 나중에 하는 작업 효율이 높아지도록 시스템을 변화시키는 것 Simon의 단순모델 주위 환경 (Environment) 학습 요소 (Learning Element) 지식베이스 실행 요소 (Performance

Size(X, Y) ∧ color(X, Z) ∧ shape(X, cube) 9.1 학습에 필요한 요소 데이터 예제(Example) – 유사한 문제해결의 예를 통한 문제해결 방법학습 제언(Advice) – 문제해결에 필요한 이론 및 방법론 제시 유사성(Analogy) – 비슷한 개념 설명 → 새로운 개념 학습 지식표현 논리, 프레임, 규칙, 의미망 등에 의해 표현 size(obj1, small) ∧ color(obj1, yellow) ∧ shape(obj1, cube) size(obj2, large) ∧ color(obj2, blue) ∧ shape(obj2, cube) 일반화 Size(X, Y) ∧ color(X, Z) ∧ shape(X, cube) brick의 예

9.1 학습에 필요한 요소 연산 개념공간 휴리스틱 탐색 주어진 데이터를 이용해서 목적에 맞는 일반화나 휴리스틱 규칙, 계획 등을 생성. 개념공간 연산을 통해 생성된 개념들이 들어있는 공간. 휴리스틱 탐색 탐색공간에 관한 정보를 탐색에 활용하여 탐색공간을 줄이거나, 정확한 답은 아닐지라도 답으로 사용 가능한 근사치를 찾을 수 있도록 하는 유용한 정보를 활용하는 탐색.

9.2 귀납적 학습의 예 일반화의 예[그림 9.1] a. 하나의 아치그림과 아치의 의미망 표현 b. 또 하나의 아치그림과 그 아치의 의미망 표현

9.2 귀납적 학습의 예 c. 블록(Brick)과 피라미드(Pyramid)가 다각형에 속한다는 배경지식의 표현

9.2 귀납적 학습의 예 세부화의 예[Luger02] 제약사항 추가

9.3 일반화와 개념공간 Weights = {light, heavy} Heights = {tall, short} Body_type(Weights, Heights) 하나의 개념공간

9.3 일반화와 개념공간 일반화를 위한 연산 1. 상수를 변수로 바꿈 2.결합(Conjunctive)문장에서 조건을 제거 3. 문장에 이접(Disconjunction)조건을 추가 4. 특성의 유형을 유형계층에서 상위 유형으로 바꿈 (만일 유형 계층에 sports가 basketball의 상위 유형이라면) weight(john, heavy)를 weight(X, heavy)로 일반화 weight(X, heavy) ∧ height(X, tall) ∧ hobby(X, basketball)을 weight(X, heavy) ∧ height(X, tall)로 일반화 weight(X, heavy) ∧ height(X, tall) ∧ hobby(X, basketball)을 weight(X, heavy) ∧ height(X, tall) ∧ hobby( (X, basketball) ∧ hobby(X, volleyball) 로 일반화 hobby(X, basketball)를 hobby(X, sports)로 일반화

9.4 ID3 알고리즘 학습결과를 의사결정 (하향식) 트리형태로 표현 루트노드에서 특성 평가후 자신의 자노드 생성 개념공간 내에서 학습예제에 맞는 개념들의 집합 학습결과를 의사결정 (하향식) 트리형태로 표현 루트노드에서 특성 평가후 자신의 자노드 생성 각각의 자노드에서도 자노드가 생성되지 않을 때까지 반복 노드 : 개념분류를 위한 평가에 필요한 특성 가지 : 특성의 값 노드의 특성 선택 → 전체 트리에 영향 특성의 평가 순서 : 평가 후 얻게 될 정보의 양이 가장 큰 특성을 먼저 평가 트리의 루트노드 : 가장 많은 정보를 제공하는 특성

9.4 ID3 알고리즘 대출 자료 번 호 수 입 신용도 채무 대출여부 1 50만원 이하 나쁨 많음 대출불가 2 50만원 ~ 100만원 모름 많음 대출불가 3 50만원 ~ 100만원 모름 적음 대출가능 4 50만원 이하 모름 적음 대출불가 5 100만원 이하 모름 적음 대출승인 6 100만원 이상 모름 적음 대출승인 7 50만원 ~ 100만원 나쁨 적음 대출불가 8 100만원 이상 나쁨 적음 대출가능 9 100만원 이상 좋음 적음 대출승인 10 100만원 이상 좋음 많음 대출승인 11 50만원 이하 좋음 많음 대출불가 12 50만원 ~ 100만원 좋음 많음 대출가능 13 100만원 이상 좋음 많음 대출승인 14 50만원 ~ 100만원 나쁨 많음 대출불가 대출 자료

9.4 ID3 알고리즘 하나의 의사결정 트리 수입은? 50만원 이하 50만원과 100만원 사이 100만원 이상 대출불가 신용도가 좋은가? 신용도가 좋은가? 좋음 나쁨 모름 좋음 나쁨 모름 대출가능 대출불가 채무가 있는가? 대출승인 대출가능 대출승인 적음 많음 대출가능 대출불가 하나의 의사결정 트리

9.5 귀납적 편향 학습공간이 너무 넓어 전부 탐색하는 것은 불가능한 경우 ex) 이때 0과1로 이루어진 모든 스트링을 대상으로 한다면 스트링의 길이가 n이면 2n 가지의 스트링이 대상이 된다. n=40만 되도 이용 불가능한 학습공간이 될 것이다. 더욱 구체적인 예로 {1010, 1000}이 긍정적인 예로 주어졌다면 1로 시작하는 스트링의 집합, 0으로 끝나는 스트링의 집합, 0의 개수가 1의 개수보다 적지 않은 스트링의 집합 등은 모두가 주어진 예의 일반화로 가능한 것들이다. 이중에서 학습을 위하여 어떤 것을 목표로 선택하여야 하는가? 이 경우 주어진 데이터는 학습을 위해 충분한 데이터가 되지 못한다. 따라서 학습자는 추가적인 가정을 필요로 한다. 그리고 이러한 가정은 편향된 결과를 낳는다. 또 다른 예로 구문적 제약(Syntactic Constraints)을 사용할 수 있는데 구문적 제약은 휴리스틱이 아니고 실제로 데이터의 표현에 제약을 가하여 학습을 위한 개념 공간 자체를 줄이는 것이다.

9.6 설명기반 학습 지도 학습 또는 충고에 의한 학습 예제를 설명해준 것을 일반화 하여 학습 수행 학습을 위한 데이터(학습예제)가 없이도 도메인 규칙이 있으면 학습이 가능하여 빠른 학습이 가능하지만, 설명해준 것 이외에 새로운 것을 학습할 수는 없다. 목표개념 : 학습자가 학습하고자 하는 내용 학습예제 도메인 규칙 : 학습예제가 목표개념에 부합하는지 부합하지 않은지 설명하는데 필요한 규칙들의 집합 운영규준 : 개념정의에 필요

9.6 설명기반 학습 설명기반 학습의 예 premise(X) → cup(X) liftable(X) ∧ holds_liquid(X) → cup(X) part(Z,W) ∧ concave(W) → holds_liquid(Z) light(Y) ∧ part(Y, handle) → liftable(Y) cup(obj1) small(obj1) part(obj1, handle) owns(tom, obj1) part(obj1, bowl) concave(bowl) color(obj1, red) small(obj1) ∧ part(obj1, handle) ∧ part(obj1, bowl) ∧ concave(bowl) → cup(boj1) small(X) ∧ part(X, handle) ∧ part(X, W) ∧ concave(W) → cup(X) 목표개념 도메인 규칙 학습 예제 운영규준 일반화

9.7 유추에 의한 학습 현재 가지고 있는 지식이 적용되었던 상황과 유사한 상황이 발생했을 때, 현재의 지식을 활용하여 새로운 상황에 대처하여 해를 도출하는 과정에 의한 학습방법 지도에 의한 학습보다 많은 추론 요구 : 유사성에 대한 검색, 새로운 상황에 적용 Ex) “어떤 아파트 단지 내의 같은 크기의 아파트는 가격이 비슷할 것이다”와 같이 비슷한 측면이 많은 것들은 같은 그룹으로 인식하여 학습을 수행 승용차만 운전하던 사람이 처음 소형트럭에 탔을 때 그가 갖고 있던 승용차운전에 관한 기술을 트럭운전을 위해 적절히 변화, 적용시킬 수 있다 새로운 상황에 대처하기 위하여 현재의 지식이 다시 조직되거나 변형될 수 있다. 새로운 문제에 적용되어 성공적으로 그 문제를 해결했을 경우 그 상황은 다음의 문제해결을 위해 저장된다.

9.7 유추에 의한 학습 구조적 매핑 이론(Structure Mapping Theory) 유추에 의한 추론을 수행할 수 있는 계산적 모델 제시 1. 비교대상에서 특성을 제거 2. 매핑되는 것들의 인자는 바뀔 수 있어도 술어는 바꾸지 않음 3. 매핑을 구성할 때 차수가 높은 술어에 우선권 유추에 의한 학습의 절차 1. 특징 추출 : 비교 대상간의 유사점으로 사용할수 있는 특징 선별 2. 특징 보강 : 추출된 특징에 보충정보를 추가 3. 매핑과 추론수행 : 4. 검증 5. 학습

9.8 비 지도 학습 학습하고자 하는 개념을 스스로 형성하고 평가할 수 있어야 함. 새로운 사실의 발견에 유용한 학습법 AM 발견학습 프로그램 자연수와 그에 관련된 개념을 발견하고 학습 학습이 계속되면 저장해야 되는 정보의 양이 급격히 늘어나 학습 의 효과가 떨어지고 새로운 휴리스틱 규칙을 습득할수 없다 개념분류 분류작업은 분류되지 않은 객체들을 서로 비슷한 객체들끼리 따로 모이도록 분류하는 작업 응집성 분류(Agglomerative Clustering) 객체들간의 유사도 측정 기준 이용

9.8 비 지도 학습 응집성 분류 절차 1. 모든 객체의 쌍을 비교하고 유사도가 가장 높은 쌍을 하나의 범주로 만든다. 2. 각 범주의 특성을 함수형태로 정의 3. 모든 객체들의 하나의 범주로 줄어들 때까지 이러한 작업은 계속된다. 생물 비단말 노드로서 특성이 유사한 객체들을 모은 범주 동물 식물 단말노드로서 분류 전에 갖고 있었던 분류되지 않은 객체 사람 호랑이 소나무 사과나무 하나의 이진트리

9.9 강화 학습 잘한 행동에 대해 칭찬 받고 잘못한 행동에 대해 벌을 받은 경험을 통해 자신의 지식을 키워나가는 학습법 강화 학습에 필요한 용어 t : 문제 해결 과정에서의 이산적(Discrete) 시간 st : 시간 t에서 문제의 상태 at : 시간 t에서의 행동 rt : 시간 t에서의 포상(Reward) ∏ : 한 상태에서의 행동을 취하기 위한 정책 V : 상태 값을 구하는 함수(v∏(s)는 정책 ∏를 적용했을 때 상태 s의 값을 나타냄) 정책(∏)는 어떤 시간에 취해야 되는 행동을 결정하는 것으로 생성규칙이나 테이블 형태로 표현 포상함수(rt)는 각행동과 그에 따르는 포상과의 관계를 나타냄 함수v는 환경에서 각 상태가 차지하는 값을 계산

9.9 강화 학습 강화 학습한 로봇의 미로 탈출 학습 컴퓨터 : 현재위치 미로의 A지점, 네가지의 행동(전후좌우) 선택가능 로봇 : 행동 1(전진) 선택 컴퓨터 : 출구 쪽에 가까워 졌으니 너는 95점의 포상을 받았다. 현재위치 미로의 B지점. 두가지의 행동(좌우) 선택 가능 로봇 : 행동 2(오른쪽) 선택 컴퓨터 : 출구 반대 방향이다. 그러니 벌로 -50점을 주겠다. 현재위치 미로의 C지점.  세가지의 행동(전후좌) 선택 가능 로봇 : 행동 4(후진) 선택 계속 경험을 쌓으면서 미로를 헤매다 보면 자연스럽게 매 지점에서 출구쪽으로 향하게 되는 행동들이 큰 포상을 받도록 학습이 완성. 강화학습을 한 로봇은 미로에 빠지더라도 큰 포상을 주는 행동들을 선택해 쉽게 미로를 빠져 나올 수 있음. 그러나 최종 목적을 이루기까지 상태마다 어떤 행동이 최선이 되는지는 모름. 따라서 로봇은 자신이 처할 수 있는 여러 가지 상태, 행동과, 행동의 선택에 따른 포상 등 유용한 경험들을 저장해 두어야 함.

9.10 인공 신경망 인간의 두뇌와 신경 시스템을 닮은 정보처리소자 연결주의 기법 – 뉴런들을 연결하여 문제해결 모델 만듬 뉴런의 구조 뉴런 : 신경계의 기능적 최소단위. 세포체 : 일정기간 동안 들어온 자극은 세포체내에 가중되고 임계치 보다 크면 뉴런을 활성. 수상돌기 : 인접 뉴런들로부터 정보를 받아들이는 통로 역할. 축색돌기 : 정보를 전달하기 위한 통로. 시넵스 : 전달되는 신호의 크기를 조절

9.10 인공 신경망 ∑Xi*Wi 인공 뉴런의 구조 입력값 가중치 중간값 Y X1 W1 X2 W2 . n 변형함수 Xn Wn 출력값 인공 뉴런의 구조

다층 인공 신경망 하나의 인공 신경망 신경회로망이 커지고 복잡해 질수록, 더 나은 기능 수행 PE PE PE 출력층 은닉층 입력층 PE PE PE PE PE PE 하나의 인공 신경망 신경회로망이 커지고 복잡해 질수록, 더 나은 기능 수행 다층 인공 신경망 : 입력층과 출력층 사이에 새로운 층 추가 → 은닉층(hidden layer) 또는 중간층(internal layer)

9.10.1 인공 신경망과 학습 인공 신경망에서의 학습과정 1. 입력 값을 이용하여 인공 뉴런의 출력 값을 계산 2. 인공 뉴런이 계산한 출력 값과 사용자가 기대하는 출력 값을 비교 3. 기대하는 출력 값을 생성할 수 있도록 가중치 조절 Artificial Neural Network Learning Algorithm Binarv-Valued input Continuous-Valued input Supervised Unsupervised Supervised Unsupervised ART II, Kohonen Self-organizing Feature Maps Hopfield Network, Bottzmann Machine Backpropergation, Perceptron ART I 인공 신경망 학습 알고리즘의 분류(from [Lippman89])

9.10.1 인공 신경망과 학습 인공 신경망은 패턴인식, 학습, 분류, 일반화, 추상화 그리고 불완전하고 잡음이 포함된 입력을 이용하는 시스템 등에서 유용하게 사용될 수 있음 인공신경망의 장점 고장허용성 : 전체 인공 신경망에 영향을 미치지 않음 일반화 : 불완전한 입력정보를 가지고도 적정한 결과 생성 적응성 : 새로운 환경에서 학습 수행 가능 인공신경망의 단점 설명기능이 약함 학습시키는데 많은 데이터와 시간이 필요 병렬처리가 가능한 하드웨어 비용이 비쌈

9.11 유전자 알고리즘 자연 선택 또는 적자 생존의 원칙에 입각한 알고리즘 다윈의 유전법칙에 기반 자연 선택 또는 적자 생존의 원칙에 입각한 알고리즘 진화의 결과 : 염색체형태로 저장 (DNA:C.G.A.T) 개체군(population)중에서 환경에 대한 적합도(fitness)가 높은 개체일수록 재생산할 수 있게 되며, 개체군은 환경에 적응을 할 수 있게 된다.

9.11 유전자 알고리즘 유전자 알고리즘의 연산자 재생산(Reproduction) - 새로운 세대 생성시 부모 염색체의 일부를 임의로 선택하여 재조합 - 적합도가 높은 개체일수록 다음 세대에 자식 개체들이 번식할 가능성이 높아짐 교배(Mutation) - 유전자의 일부를 임으로 변화 교차(Corssover) - 염색체상에서 임의의 위치를 저장하여 나뉜 부분의 위치를 서로 바꿈

9.12 유전자 알고리즘 예 상대방의 숫자 알아내기 예제 1) 0과 1로 이루어진 6자리 수 알아내기(결과:101001) - 26 = 64번, 평균 32번의 추측 필요 2) 유전자 알고리즘을 이용해서 알아내기 a) 010111 (점수 = 1점) b) 110101 (점수 = 2점) c) 100101 (점수 = 4점) d) 011011 (점수 = 5점) 도태 3점 결과 : 101001 5점 6점

유전자 알고리즘 수행절차

9.12 유전자 알고리즘 예-2 벽돌은 B로 표시하고 시멘트는 C로 표시한다 문제는 10개의 원소가 있는 염색체로 표현한다. 그리고 다음과 같은 10개의 염색체로 시작하자. (C B B C C C C B B B) (C C C B C C C C B C) (B C B C B B C C B B) (C C C C B C C C C B) (B B B B B B B C B C) (B B C B C B B B B C) (B B C B B C C C B B) (C B B B B B B C C C) (C B C B B B B C C C) (C B C B C C B B C C) 10개의 팀을 구성하여 위에 정의한 염색체 하나씩을 분배하고 원하는 결과(BCBCBCBCBC)나 (CBCBCBCBCB)가 나올 때까지 계속 연산을 수행해 보자.

9.12 유전자 알고리즘 답 표현 방식, 유전연산자(재생산, 교차, 돌연변이)와 적합성 평가함수 필요 학습효과(성능) : 문제의 표현(염색체의 구성), 사용 염색체군의 수 연산의 종류, 연산의 빈도수등에 의해 결정. 네트워크의 최적화, 칩 설계, 게임, 시간표 작성등에 응용. 일반적인 유전자 알고리즘 procedure genetic algorithm; begin set time t := 0; initialize the population P(t); while the termination condition is not met do evaluate fitness of each member of the population P(t); select most fit members from the population P(t); produce the offspring of these pairs using genetic operators; replace the weakest candidates of P(t) with these offspring; set time t := t+1 end