Document 7853517

Download Report

Transcript Document 7853517

9. 기계학습
1
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 유전자 알고리즘의 예
2
9. 기계학습
학습의 정의
Simon – 같은 작업이나 같은 영역내의 비슷한 작업을
반복할 때 처음보다 나중에 하는 작업 효율이
높아지도록 시스템을 변화시키는 것
Simon의 단순모델
주위 환경
(Environment)
학습 요소
(Learning
Element)
지식베이스
실행 요소
(Performance
Element)
3
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의 예
4
9.1 학습에 필요한 요소

연산

주어진 데이터를 이용해서 목적에 맞는 일반화나 휴리스틱 규칙,
계획 등을 생성.

개념공간


연산을 통해 생성된 개념들이 들어있는 공간.
휴리스틱 탐색

탐색공간에 관한 정보를 탐색에 활용하여 탐색공간을 줄이거나,
정확한 답은 아닐지라도 답으로 사용 가능한 근사치를 찾을 수
있도록 하는 유용한 정보를 활용하는 탐색.
5
9.2 귀납적 학습의 예
일반화의 예[그림 9.1]
a. 하나의 아치그림과 아치의 의미망 표현
b. 또 하나의 아치그림과 그 아치의 의미망 표현
6
9.2 귀납적 학습의 예
c. 블록(Brick)과 피라미드(Pyramid)가 다각형에 속한다는 배경지식의 표현
d. 두 예를 모두 포함하는 일반화된 아치의 의미망 표현
7
9.2 귀납적 학습의 예
세부화의 예[Luger02]
제약사항
추가
8
9.3 일반화와 개념공간
Weights = {light, heavy}
Heights = {tall, short}
Body_type(Weights, Heights)
하나의 개념공간
9
9.3 일반화와 개념공간
일반화를 위한 연산
1. 상수를 변수로 바꿈
weight(john, heavy)를 weight(X, heavy)로 일반화
2.결합(Conjunctive)문장에서 조건을 제거
weight(X, heavy) ∧ height(X, tall) ∧ hobby(X, basketball)을
weight(X, heavy) ∧ height(X, tall)로 일반화
3. 문장에 이접(Disconjunction)조건을 추가
weight(X, heavy) ∧ height(X, tall) ∧ hobby(X, basketball)을
weight(X, heavy) ∧ height(X, tall) ∧ hobby( (X, basketball)
∧ hobby(X, volleyball) 로 일반화
4. 특성의 유형을 유형계층에서 상위 유형으로 바꿈
(만일 유형 계층에 sports가 basketball의 상위 유형이라면)
hobby(X, basketball)를 hobby(X, sports)로 일반화
10
9.4 ID3 알고리즘
 개념공간 내에서 학습예제에 맞는 개념들의 집합







학습결과를 의사결정 (하향식) 트리형태로 표현
루트노드에서 특성 평가후 자신의 자노드 생성
각각의 자노드에서도 자노드가 생성되지 않을 때까지 반복
노드 : 개념분류를 위한 평가에 필요한 특성
가지 : 특성의 값
노드의 특성 선택 → 전체 트리에 영향
특성의 평가 순서 : 평가 후 얻게 될 정보의 양이 가장
큰 특성을 먼저 평가
 트리의 루트노드 : 가장 많은 정보를 제공하는 특성
11
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만원
나쁨
많음
대출불가
대출 자료
12
9.4 ID3 알고리즘
수입은?
50만원 이하
50만원과 100만원 사이
100만원 이상
대출불가
신용도가 좋은가?
신용도가 좋은가?
좋음
나쁨
모름
좋음
나쁨
모름
대출가능
대출불가
채무가 있는가?
대출승인
대출가능
대출승인
적음
많음
대출가능
대출불가
하나의 의사결정 트리
13
9.5 귀납적 편향
 학습공간이 너무 넓어 전부 탐색하는 것은 불가능한 경우
 ex)

이때 0과1로 이루어진 모든 스트링을 대상으로 한다면 스트링의
길이가 n이면 2n 가지의 스트링이 대상이 된다.
n=40만 되도 이용 불가능한 학습공간이 될 것이다.
더욱 구체적인 예로 {1010, 1000}이 긍정적인 예로 주어졌다면 1로
시작하는 스트링의 집합, 0으로 끝나는 스트링의 집합, 0의 개수가 1의
개수보다 적지 않은 스트링의 집합 등은 모두가 주어진 예의 일반화로
가능한 것들이다.
이중에서 학습을 위하여 어떤 것을 목표로 선택하여야 하는가? 이 경
우 주어진 데이터는 학습을 위해 충분한 데이터가 되지 못한다.
따라서 학습자는 추가적인 가정을 필요로 한다.
그리고 이러한 가정은 편향된 결과를 낳는다.
또 다른 예로 구문적 제약(Syntactic Constraints)을 사용할 수 있는
데 구문적 제약은 휴리스틱이 아니고 실제로 데이터의 표현에 제약을
가하여 학습을 위한 개념 공간 자체를 줄이는 것이다.
14
9.6 설명기반 학습
 지도 학습 또는 충고에 의한 학습
 예제를 설명해준 것을 일반화 하여 학습 수행
 학습을 위한 데이터(학습예제)가 없이도 도메인 규칙이 있으면
학습이 가능하여 빠른 학습이 가능하지만, 설명해준 것 이외에
새로운 것을 학습할 수는 없다.
 목표개념 : 학습자가 학습하고자 하는 내용
 학습예제
 도메인 규칙 : 학습예제가 목표개념에 부합하는지 부합하지 않은지
설명하는데 필요한 규칙들의 집합
 운영규준 : 개념정의에 필요
15
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)
16
9.7 유추에 의한 학습
 현재 가지고 있는 지식이 적용되었던 상황과 유사한 상황이 발생했을 때,
현재의 지식을 활용하여 새로운 상황에 대처하여 해를 도출하는 과정에
의한 학습방법
 지도에 의한 학습보다 많은 추론 요구 : 유사성에 대한 검색, 새로운 상황에 적용
Ex) “어떤 아파트 단지 내의 같은 크기의 아파트는 가격이 비슷할 것이다”와
같이 비슷한 측면이 많은 것들은 같은 그룹으로 인식하여 학습을 수행
 승용차만 운전하던 사람이 처음 소형트럭에 탔을 때 그가 갖고 있던
승용차운전에 관한 기술을 트럭운전을 위해 적절히 변화, 적용시킬 수 있다
 새로운 상황에 대처하기 위하여 현재의 지식이 다시 조직되거나 변형될 수 있다.
 새로운 문제에 적용되어 성공적으로 그 문제를 해결했을 경우 그 상황은
다음의 문제해결을 위해 저장된다.
17
9.7 유추에 의한 학습
구조적 매핑 이론(Structure Mapping Theory)
 유추에 의한 추론을 수행할 수 있는 계산적 모델 제시
1. 비교대상에서 특성을 제거
2. 매핑되는 것들의 인자는 바뀔 수 있어도 술어는 바꾸지 않음
3. 매핑을 구성할 때 차수가 높은 술어에 우선권
 유추에 의한 학습의 절차
 1. 특징 추출 : 비교 대상간의 유사점으로 사용할수 있는 특징 선별
 2. 특징 보강 : 추출된 특징에 보충정보를 추가
 3. 매핑과 추론수행 :
 4. 검증
 5. 학습
18
9.8 비 지도 학습
 학습하고자 하는 개념을 스스로 형성하고 평가할 수 있어야 함.
 새로운 사실의 발견에 유용한 학습법
 AM
 발견학습 프로그램
 자연수와 그에 관련된 개념을 발견하고 학습
 학습이 계속되면 저장해야 되는 정보의 양이 급격히 늘어나 학습
의 효과가 떨어지고 새로운 휴리스틱 규칙을 습득할수 없다
개념분류
 분류작업은 분류되지 않은 객체들을 서로 비슷한 객체들끼리
따로 모이도록 분류하는 작업
 응집성 분류(Agglomerative Clustering)
 객체들간의 유사도 측정 기준 이용
19
9.8 비 지도 학습
 응집성 분류 절차
 1. 모든 객체의 쌍을 비교하고 유사도가 가장 높은 쌍을
하나의 범주로 만든다.
 2. 각 범주의 특성을 함수형태로 정의
 3. 모든 객체들의 하나의 범주로 줄어들 때까지 이러한 작업은
계속된다.
생물
비단말 노드로서
특성이 유사한 객체들을 모은 범주
동물
사람
식물
호랑이
소나무
하나의 이진트리
사과나무
단말노드로서
분류 전에 갖고 있었던 분류되지 않은 객체
20
9.9 강화 학습
 잘한 행동에 대해 칭찬 받고 잘못한 행동에 대해 벌을 받은 경험을 통해
자신의 지식을 키워나가는 학습법
강화 학습에 필요한 용어
t : 문제 해결 과정에서의 이산적(Discrete) 시간
st : 시간 t에서 문제의 상태
at : 시간 t에서의 행동
rt : 시간 t에서의 포상(Reward)
∏ : 한 상태에서의 행동을 취하기 위한 정책
V : 상태 값을 구하는 함수(v∏(s)는 정책 ∏를 적용했을 때 상태 s의 값을 나타냄)
정책(∏)는 어떤 시간에 취해야 되는 행동을 결정하는 것으로 생성규칙이나 테이블 형태로 표현
포상함수(rt)는 각행동과 그에 따르는 포상과의 관계를 나타냄
함수v는 환경에서 각 상태가 차지하는 값을 계산
21
9.9 강화 학습
 강화 학습한 로봇의 미로 탈출 학습
컴퓨터 : 현재위치 미로의 A지점, 네가지의 행동(전후좌우) 선택가능
로봇 : 행동 1(전진) 선택
컴퓨터 : 출구 쪽에 가까워 졌으니 너는 95점의 포상을 받았다.
현재위치 미로의 B지점. 두가지의 행동(좌우) 선택 가능
로봇 : 행동 2(오른쪽) 선택
컴퓨터 : 출구 반대 방향이다. 그러니 벌로 -50점을 주겠다.
현재위치 미로의 C지점. 세가지의 행동(전후좌) 선택 가능
로봇 : 행동 4(후진) 선택
계속 경험을 쌓으면서 미로를 헤매다 보면 자연스럽게 매 지점에서 출구쪽으로 향하게
되는 행동들이 큰 포상을 받도록 학습이 완성.
강화학습을 한 로봇은 미로에 빠지더라도 큰 포상을 주는 행동들을 선택해 쉽게 미로를
빠져 나올 수 있음.
그러나 최종 목적을 이루기까지 상태마다 어떤 행동이 최선이 되는지는 모름.
따라서 로봇은 자신이 처할 수 있는 여러 가지 상태, 행동과, 행동의 선택에 따른 포상 등
유용한 경험들을 저장해 두어야 함.
22
9.10 인공 신경망
 인간의 두뇌와 신경 시스템을 닮은 정보처리소자
 연결주의 기법 – 뉴런들을 연결하여 문제해결 모델 만듬
뉴런의 구조
 뉴런 : 신경계의 기능적 최소단위.
 세포체 : 일정기간 동안 들어온 자극은 세포체내에 가중되고 임계치 보다 크면
뉴런을 활성.
 수상돌기 : 인접 뉴런들로부터 정보를 받아들이는 통로 역할.
 축색돌기 : 정보를 전달하기 위한 통로.
 시넵스 : 전달되는 신호의 크기를 조절
23
9.10 인공 신경망
입력값
가중치
X1
W1
X2
.
.
.
Xn
W2
중간값 Y
n
∑Xi*Wi
변형함수
출력값
i=1
Wn
인공 뉴런의 구조
24
다층 인공 신경망
PE
출력층
은닉층
입력층
PE
PE
PE
PE
PE
PE
PE
PE
하나의 인공 신경망
신경회로망이 커지고 복잡해 질수록, 더 나은 기능 수행
다층 인공 신경망 : 입력층과 출력층 사이에 새로운 층 추가
→ 은닉층(hidden layer) 또는 중간층(internal layer)
25
9.10.1 인공 신경망과 학습
 인공 신경망에서의 학습과정
1. 입력 값을 이용하여 인공 뉴런의 출력 값을 계산
2. 인공 뉴런이 계산한 출력 값과 사용자가 기대하는 출력 값을 비교
3. 기대하는 출력 값을 생성할 수 있도록 가중치 조절
Artificial Neural Network Learning Algorithm
Binarv-Valued input
Supervised
Hopfield Network,
Bottzmann Machine
Continuous-Valued input
Unsupervised
Supervised
ART I
Backpropergation,
Perceptron
Unsupervised
ART II,
Kohonen Self-organizing
Feature Maps
인공 신경망 학습 알고리즘의 분류(from [Lippman89])
26
9.10.1 인공 신경망과 학습
 인공 신경망은 패턴인식, 학습, 분류, 일반화, 추상화 그리고 불완전하고
잡음이 포함된 입력을 이용하는 시스템 등에서 유용하게 사용될 수 있음
 인공신경망의 장점
 고장허용성 : 전체 인공 신경망에 영향을 미치지 않음
 일반화 : 불완전한 입력정보를 가지고도 적정한 결과 생성
 적응성 : 새로운 환경에서 학습 수행 가능
 인공신경망의 단점
 설명기능이 약함
 학습시키는데 많은 데이터와 시간이 필요
 병렬처리가 가능한 하드웨어 비용이 비쌈
27
9.11 유전자 알고리즘
 다윈의 유전법칙에 기반
 자연 선택 또는 적자 생존의 원칙에 입각한 알고리즘
 진화의 결과 : 염색체형태로 저장 (DNA:C.G.A.T)
 개체군(population)중에서 환경에 대한 적합도(fitness)가 높은
개체일수록 재생산할 수 있게 되며, 개체군은 환경에 적응을
할 수 있게 된다.
28
9.11 유전자 알고리즘
 유전자 알고리즘의 연산자
 재생산(Reproduction)
- 새로운 세대 생성시 부모 염색체의
일부를 임의로 선택하여 재조합
- 적합도가 높은 개체일수록 다음
세대에 자식 개체들이 번식할
가능성이 높아짐
 교배(Mutation)
- 유전자의 일부를 임으로 변화
 교차(Corssover)
- 염색체상에서 임의의 위치를 저장하여
나뉜 부분의 위치를 서로 바꿈
29
9.12 유전자 알고리즘 예
 상대방의 숫자 알아내기 예제
1) 0과 1로 이루어진 6자리 수 알아내기(결과:101001)
- 26 = 64번, 평균 32번의 추측 필요
2) 유전자 알고리즘을 이용해서 알아내기
a) 010111
b) 110101
c) 100101
d) 011011
(점수 = 1점)
(점수 = 2점)
(점수 = 4점)
(점수 = 5점)
도태
3점
결과 : 101001
6점
5점
30
유전자 알고리즘 수행절차
31
9.12 유전자 알고리즘 예-2
• 벽돌은 B로 표시하고 시멘트는 C로 표시한다
• 문제는 10개의 원소가 있는 염색체로 표현한다. 그리고 다음과 같은
10개의 염색체로 시작하자.
•
•
•
•
•
(C B B C C C C B B B)
(B C B C B B C C B B)
(B B B B B B B C B C)
(B B C B B C C C B B)
(C B C B B B B C C C)
(C C C B C C C C B C)
(C C C C B C C C C B)
(B B C B C B B B B C)
(C B B B B B B C C C)
(C B C B C C B B C C)
• 10개의 팀을 구성하여 위에 정의한 염색체 하나씩을 분배하고 원하는
결과(BCBCBCBCBC)나 (CBCBCBCBCB)가 나올 때까지 계속 연산
을 수행해 보자.
32
9.12 유전자 알고리즘
 답 표현 방식, 유전연산자(재생산, 교차, 돌연변이)와 적합성 평가함수 필요
 학습효과(성능) : 문제의 표현(염색체의 구성), 사용 염색체군의 수
연산의 종류, 연산의 빈도수등에 의해 결정.
 네트워크의 최적화, 칩 설계, 게임, 시간표 작성등에 응용.
일반적인 유전자 알고리즘
procedure genetic algorithm;
begin
set time t := 0;
initialize the population P(t);
while the termination condition is not met do
begin
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
end
33