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