암호화 트래픽 관리의 시작, 모든 트래픽에 대한 가시성을 확보하는 … · 암호화 프로토콜 공개키 알고리즘 대칭키 알고리즘 해쉬 알고리즘
기계학습 - review + 유전자 알고리즘 -
description
Transcript of 기계학습 - review + 유전자 알고리즘 -
1
기계학습 - review + 유전자 알고리즘 -
2
• 학습에 필요한 요소
• 일반화와 개념공간
• 여러가지 학습방법들
• AI 기반 대표적인 알고리즘– 인공신경망 알고리즘
– 유전자알고리즘
– ID3• 조사하기 : 평가방법 및 Feedback 방법
– N-fold validation– 지나친 편향이 발생하는 경우
– 재학습시기 및 비용
– 학습결과에 대한 평가
학습
• Simon 의 정의 : – 같은 작업이나 같은 영역내의 비슷한 작업을 반복할 때 처음보다 나중에 하는 작업
효율이 높아지도록 시스템을 변화시키는 것
3
Simon 의 단순모델
주위 환경(Environment)
학습 요소(LearningElement)
지식베이스실행 요소
(PerformanceElement)
4
학습에 필요한 요소
• 데이터
– 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)
일반화
5
• 연산
– 주어진 데이터를 이용해서 목적에 맞는 일반화나 휴리스틱한 규칙 , 계획 등을 생성 .
– * 개념공간 : 연산을 통해 생성된 개념들이 들어있는 공간 .– * 휴리스틱 탐색
• 탐색공간에 관한 정보를 탐색에 활용하여 탐색공간을 줄이거나 , • 정확한 답은 아닐지라도 답으로 사용 가능한 근사치를 찾을 수 있도록 하는
유용한 정보를 활용하는 탐색 .
일반화와 개념공간의 예
6
Weights = {light, heavy}Heights = {tall, short} Body_type(Weights, Heights)
하나의 개념공간
7
일반화를 위한 연산• 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) 로 일반화
여러가지 학습방법들 : 지도 vs 비지도• 지도학습 ( 교사 , 감독 )
– 설명기반 학습
– 사례기반
– 예제기반
• 비지도학습 ( 비교사 , 무감독 )– 유추에 의한 학습
• 강화학습
8
9
설명기반학습
• 지도 학습 또는 충고에 의한 학습
• 예제를 설명해준 것을 일반화 한 후 학습 수행
– 학습을 위한 데이터 ( 학습예제 ) 대신 도메인 규칙이 있으면 학습이 가능하여
빠른 학습이 가능하지만 , 설명해준 것 이외에 새로운 것을 학습할 수는 없다 .
• 목표개념 : 학습자가 학습하고자 하는 내용
• 학습예제– 도메인 규칙 : 학습예제가 목표개념에 부합하는지 부합하지 않은지 설명하는데 필요한
규칙들의 집합
– 운영기준 : 개념정의에 필요
설명기반 학습방법의 예
10
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(obj1)∧ ∧ ∧
small(X) part(X, handle) part(X, W) concave(W) → cup(X)∧ ∧ ∧
목표개념
도메인 규칙
학습 예제
일반화
11
유추에 의한 학습
• 현재 가지고 있는 지식이 적용되었던 상황과 유사한 상황이 발생했을 때 , – 새로운 상황에 대처했을 때 , 현재의 지식을 활용하여 해를 도출하는 과정에 의한
학습방법
• 지도에 의한 학습보다 많은 추론 요구 : – 유사성에 대한 검색 , 새로운 상황에 적용
– Ex) “ 어떤 아파트 단지 내의 같은 크기의 아파트는 가격이 비슷할 것이다”와 같이 비슷한 측면이
많은 것들은 같은 그룹으로 인식하여 학습을 수행
• 승용차만 운전하던 사람이 처음 소형트럭에 탔을 때 그가 갖고 있던 승용차운전에 관한
기술을 트럭운전을 위해 적절히 변화 , 적용시킬 수 있다
• 새로운 상황에 대처하기 위하여 현재의 지식이 다시 조직되거나 변형될 수 있다 .
• 새로운 문제에 적용되어 성공적으로 그 문제를 해결했을 경우 그 상황은 다음의 문제해결을 위해
저장된다 .
12
유추에 의한 학습
• 구조적 매핑 이론 (Structure Mapping Theory)– 유추에 의한 추론을 수행할 수 있는 계산적 모델 제시
– 1. 비교대상에서 특성을 제거
– 2. 매핑되는 것들의 인자는 바뀔 수 있어도 술어는 바꾸지 않음
– 3. 매핑을 구성할 때 차수가 높은 술어에 우선권
• 유추에 의한 학습의 절차
– 1. 특징 추출 : 비교 대상간의 유사점으로 사용할수 있는 특징 선별
– 2. 특징 보강 : 추출된 특징에 보충정보를 추가
– 3. 매핑과 추론수행
– 4. 검증
– 5. 학습
비지도 학습
• 학습하고자 하는 개념을 스스로 형성하고 평가할 수 있어야 함 . • 새로운 사실의 발견에 유용한 학습법
– 단 . 학습이 계속되면 저장해야 되는 정보의 양이 급격히 늘어나 학습의 효과가 떨어지고 새로운 휴리스틱
규칙을 습득할 수 없다
• 개념분류
– 분류되지 않은 객체들을 서로 비슷한 객체들끼리 따로 모이도록 분류하는 작업
– 응집성 분류 (Agglomerative Clustering) : 객체들간의 유사도 측정 기준 이용• 1. 모든 객체의 쌍을 비교하고 유사도가 가장 높은 쌍을 하나의 범주로 만든다 .• 2. 각 범주의 특성을 함수형태로 정의
• 3. 모든 객체들이 하나의 범주로 군집될 때까지 이러한 작업은 계속된다 .
13
14
생물
동물 식물
사람 호랑이 소나무 사과나무
비단말 노드로서
특성이 유사한 객체들을 모은 범주
분류 전에 갖고 있었던 분류되지 않은 객체
강화학습
• 잘한 행동에 대해 칭찬받고 잘못한 행동에 대해서는 벌을 받은
경험을 통해 자신의 지식을 키워나가는 학습법
15
강화 학습에 필요한 용어
t : 문제 해결 과정에서의 이산적 (Discrete) 시간
st : 시간 t 에서 문제의 상태
at : 시간 t 에서의 행동
rt : 시간 t 에서의 포상 (Reward)
policy ∏ : 한 상태에서의 행동을 취하기 위한 정책
V : 상태 값을 구하는 함수 (v∏(s) 는 정책 ∏를 적용했을 때 상태 s 의 값을 나타냄 )
정책 (∏) 는 어떤 시간에 취해야 되는 행동을 결정하는 것으로 생성규칙이나 테이블 형태로 표현
포상함수 (rt ) 는 각행동과 그에 따르는 포상과의 관계를 나타냄
함수 v 는 환경에서 각 상태가 차지하는 값을 계산
Agent
Environment
State Reward Action
Policy
sss 221100 r a2
r a1
r a0 :::
16
강화학습에 의한 로봇의 미로 탈출
• 컴퓨터 : 현재위치 미로의 A 지점 , 네가지의 행동 ( 전후좌우 ) 선택가능
• 로봇 : 행동 1( 전진 ) 선택
• 컴퓨터 : 출구 쪽에 가까워 졌으니 너는 95 점의 포상을 받았다 . • 현재위치 미로의 B 지점 . 두가지의 행동 (좌우 ) 선택 가능
• 로봇 : 행동 2(오른쪽 ) 선택
• 컴퓨터 : 출구 반대 방향이다 . 그러니 벌로 -50 점을 주겠다 . • 현재위치 미로의 C 지점 . 세가지의 행동 ( 전후좌 ) 선택 가능
• 로봇 : 행동 4( 후진 ) 선택
• 계속 경험을 쌓으면서 미로를 헤매다 보면 자연스럽게 매 지점에서 출구쪽으로 향하게 되는 행동들이 큰 포상을
받도록 학습이 완성 . • 강화학습을 한 로봇은 미로에 빠지더라도 큰 포상을 주는 행동들을 선택해 쉽게 미로를 빠져 나올 수 있음 .• 그러나 최종 목적을 이루기까지 상태마다 어떤 행동이 최선이 되는지는 모름 .• 따라서 로봇은 자신이 처할 수 있는 여러 가지 상태 , 행동과 , 행동의 선택에 따른 포상 등 유용한 경험들을
저장해 두어야 함 .
AI 기반 대표적인 알고리즘
• 인공신경망
• 유전자 진화 알고리즘
• ID3• …
17
인공신경망
• 인간의 두뇌와 신경시스템을 닮은 정보처리소자
• 연결주의 기법 : 뉴런들을 연결하여 문제해결모델 생성
뉴런 : 신경계의 기능적 최소단위 . 세포체 : 일정기간 동안 들어온 자극은 세포체내에 가중되고 임계치 보다 크면 뉴런을 활성 . 수상돌기 : 인접 뉴런들로부터 정보를 받아들이는 통로 역할 . 축색돌기 : 정보를 전달하기 위한 통로 . 시넵스 : 전달되는 신호의 크기를 조절
인공신경망 vs. 다층인경신경망
19
입력값 가중치 중간값 Y
X1 W1
X2 W2 . . . Xn Wn
변형함수 출력값 n∑Xi*Wii=1
PE PE PE
PE PE
PE PE PE PE
출력층
은닉층
입력층
신경회로망이 커지고 복잡해 질수록 , 더 나은 기능 수행
다층 인공 신경망 : 입력층과 출력층 사이에 새로운 층 추가
→ 은닉층 (hidden layer) 또는 중간층 (internal layer)
인공신경망에서의 학습과정• 입력값을 이용하여 인공뉴런의 출력값을 계산
• 인공뉴런이 계산한 출력값과 사용자가 기대하는 출력값을 비교
• 기대하는 출력값을 생성할 수 있도록 가중치 조절
20
Artificial Neural Network Learning Algorithm
Binarv-Valued input Continuous-Valued input
Supervised Unsupervised Supervised Unsupervised
Hopfield Network,Bottzmann Machine
ART I Backpropergation,Perceptron
ART II, Kohonen Self-organizingFeature Maps
인공 신경망 학습 알고리즘의 분류 (from [Lippman89])
인공신경망과 학습
• 패턴인식 , 학습 , 분류 , 일반화 , 추상화 그리고 불완전하고 잡음이
포함된 입력을 이용하는 시스템 등에서 유용하게 사용될 수 있음
• 인공신경망의 장점– 에러허용 (fault tolerance) : 전체 인공 신경망에 영향을 미치지 않음
– 일반화 : 불완전한 입력정보를 가지고도 적정한 결과 생성
– 적응성 : 새로운 환경에서 학습 수행 가능
• 인공신경망의 단점– 설명기능이 약함
– 학습시키는데 많은 데이터와 시간이 필요
– 병렬처리가 가능한 하드웨어 비용이 비쌈
21
유전자 알고리즘
• 다윈의 유전법칙에 기반
• 자연 선택 또는 적자생존의 원칙에 입각한 알고리즘
• 진화의 결과 : 염색체형태로 저장– (DNA : A C G T)
• 개체군 (population) 중에서 환경에 대한 적합도 (fitness) 가
높은 개체일수록 재생산할 수 있게 되며 , 개체군은 환경에 적응
할 수 있게 된다 .
22
유전자 알고리즘의 연산자
• 재생산 (Reproduction)– 새로운 세대 생성시 부모 염색체의 일부를 임의로
선택하여 재조합
– 적합도가 높은 개체일수록 다음 세대에 자식
개체들이 번식할 가능성이 높아짐
• 교배 (Mutation)– 유전자의 일부를 임의로 변화
• 교차 (Corssover)– 염색체상에서 임의의 위치를 저장하여 나뉜
부분의 위치를 서로 바꿈
23
유전자 알고리즘의 수행절차
24
25
일반적인 유전자 알고리즘
• 요구사항 :– 답 표현 방식
– 유전연산자 ( 재생산 , 교차 , 돌연변이 ) 와 적합성 평가함수 필요
• 학습효과 ( 성능 ) : – 문제의 표현 (염색체의 구성 ), 사용 염색체군의 수
– 연산의 종류 , 연산의 빈도수등에 의해 결정된다 .
• 유용한 분야 : – 네트워크의 최적화 , 칩 설계 , 게임 , 시간표 작성등에 응용 .
일반적인 유전자 알고리즘 – procedure genetic algorithm;
beginset time t := 0;initialize the population P(t);
while the termination condition is not met dobegin1. evaluate fitness of each member of the population P(t);2. select most fit members from the population P(t);3. produce the offspring of these pairs using genetic
operators;
4. replace the weakest candidates of P(t) with these offspring;
5. set time t := t+1
endend
26
유전자 알고리즘의 예 : 상대방의 숫자 알아내기
• 0 과 1 로 이루어진 상대방의 6 자리 수를 알아냅니다 .– 정답 : 101001– 2^6 = 64번 , 평균 32번의 추측필요
27
a) 010111 ( 점수 = 1 점 )b) 110101 ( 점수 = 2 점 )c) 100101 ( 점수 = 4 점 )d) 011011 ( 점수 = 5 점 )
도태
결과 : 1010013 점
5 점6 점
유전자 알고리즘의 예 : 벽돌과 시멘트
• 준비 : 벽돌은 B 로 표시하고 시멘트는 C 로 표시한다
• 원하는 결과 : BCBCBC 나 CBCBCB 의 형태
• 다음과 같은 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)
• 원하는 결과 (BCBCBCBCBC) 나 (CBCBCBCBCB) 가 나올 때까지 연산을
수행한다면 .• 기존 방법을 개선시켜 새로운 유전자 알고리즘을 제안한다면 기본방법에서 어느
부분을 수정 / 추가 / 변형 해 볼만 한가 ? 28
ID3 알고리즘
• 개념공간 내에서 학습예제에 맞는 개념들의 집합
• 학습결과를 의사결정 ( 하향식 ) 트리형태로 표현
• 루트 노드에서 특성 평가후 자신의 노드 생성– 가장 많은 정보를 제공한다 .
• 각각의 자노드에서도 더 이상의 노드가 생성되지 않을 때까지 반복– 노드 : 개념분류를 위한 평가에 필요한 특성
– 가지 : 특성의 값
– 노드의 특성 선택 → 전체 트리에 영향
• 특성의 평가 순서 : 평가 후 얻게 될 정보의 양이 가장 큰 특성을 먼저 평가
29
ID3 - 대출자료 데이터의 예
30
번 호 수 입 신용도 채무 대출여부
50 만원 이하 나쁨 많음 대출불가150 만원 ~ 100 만원 모름 많음 대출불가250 만원 ~ 100 만원 모름 적음 대출가능3
50 만원 이하 모름 적음 대출불가4100 만원 이하 모름 적음 대출승인5100 만원 이상 모름 적음 대출승인6
50 만원 ~ 100 만원 나쁨 적음 대출불가7100 만원 이상 나쁨 적음 대출가능8100 만원 이상 좋음 적음 대출승인9100 만원 이상 좋음 많음 대출승인10
50 만원 ~ 100 만원 좋음 많음 대출가능12100 만원 이상 좋음 많음 대출승인13
50 만원 ~ 100 만원 나쁨 많음 대출불가14
50 만원 이하 좋음 많음 대출불가11
생성된 의사결정 트리
31
수입은 ?
50 만원 이하 50 만원과 100 만원 사이 100 만원 이상
대출불가 신용도가 좋은가 ?
신용도가 좋은가 ?
좋음 나쁨 모름 좋음 나쁨 모름
대출가능 대출불가 채무가 있는가 ?
적음 많음
대출가능 대출불가
대출승인 대출가능 대출승인