1 / 40

9. 기계학습

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

bruis
Download Presentation

9. 기계학습

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9. 기계학습

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

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

  4. 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의 예

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

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

  7. 9.2 귀납적 학습의 예 c. 블록(Brick)과 피라미드(Pyramid)가 다각형에 속한다는 배경지식의 표현 d. 두 예를 모두 포함하는 일반화된 아치의 의미망 표현

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

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

  10. ‘p가 q보다 더 일반적이다’p≥q 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)로 일반화 연산자에 의해 일반화 된 문장들은 서로간의 반 순서관계를 “≥”기호로 나타냄

  11. 9.4 버전공간 탐색 • 버전공간(Version Space) • 개념공간 내에서 학습예제에 맞는 개념들의 집합 • 버전공간구성 • 세부적개념 → 일반적개념 탐색 • 일반화 방지 : 부정적인 예제 사용[그림 9.4] • 가장 넓은 세부화 개념공간 : 모든 긍정적인 예들을 다 포함하고, 부정적 예는 하나도 포함하지 않는 개념 공간을 찾아야 함. • 일반적개념 → 세부적개념 탐색 • 세부화 : 부정적인 예제 사용 • 세부화 방지 : 긍정적인 예제 사용[그림 9.6] • 가장 넓은 일반적 개념 : 모든 긍정적 예를 다 포함하고, 부정적 예는 하나도 포함하지 않은 개념. • 세부화 개념과는 탐색의 방향만 다름 • 후보제거 알고리즘 : 양방향으로 동시에 탐색[그림9.7] • 데이터지향적, 지도학습에 속함 • 지도학습(Supervised Learning) : 교사의 지도에 의해 학습이 행해짐 ≠ 비 지도학습

  12. + + + + + + + ? + - ? + ? - + - (a) 긍정적인 예만 사용하여 학습한 개념 (b) 긍정적 예와 부정적 예를 사용하여 학습한 개념 [그림 9.4] 너무 일반화된 개념 생성 방지를 위한 부정적 예의 역할 9.4 버전공간 탐색 세부화된 개념 -> 일반화 { } ↓ ← 긍정적인 예 obj(small, red, bottle) {obj(small, red, bottle)} ↓ ← 긍정적인 예 obj(small, white, bottle) {obj(small, X, bottle) ↓ ← 긍정적인 예 obj(large, blue, bottle) Obj(Y, X, bottle) [그림 9.5] bottle 이라는 개념의 일반화 예

  13. 9.4 버전공간 탐색 일반화된 개념을 세부화 시켜 학습 : 가장 넓은 일반적 개념 - 모든 긍정적 예를 포함, 부정적 예는 포함하지 않음 - 세부화 : 부정적 예 사용 - 세부화 방지 : 긍정적 예 사용 {obj(X, Y, Z)} ↓ ← 부정적 예 : obj(small, red, box) {obj(large, Y, Z), obj(X, blue, Z), obj(X, Y, bottle), obj(X, white, Z)} ↓ ← 긍정적 예 : obj(large, blue, bottle){obj(large, Y, Z), obj(X, blue, Z), obj(X, Y, bottle)} ↓ ← 부정적 예 : obj(large, white, box) {obj(X, blue, Z), obj(X, Y, bottle)} ↓ ← 긍정적 예 : obj(small, white, bottle) {obj(X, Y, bottle)} [그림 9.6] 세부화의 예

  14. G:{obj(X, Y, Z)} S:{ } ↓ ← 긍정적 예 : obj(large, blue, bottle) G:{obj(X, Y, Z)} S:{obj(large, blue, bottle)} : 주어진 긍정적 예로부터 추가됨. ↓ ← 부정적 예 : obj(large, white, bottle) G:{obj(X, blue, Z)} : 색은 white와 blue만 있다고 가정함. S:{obj(large, blue, bottle)} ↓ ← 긍정적 예 : obj(small, blue, bottle) G:{obj(X, blue, Z)} S:{obj(X, blue, bottle)} : small도 긍정 이므로 large를 X로 대치함. ↓ ← 부정적 예 : obj(small, blue, box) G:{obj(X, blue, bottle)} : obj에 box와 bottle만 있다고 가정하고 box가 부정이므로 S:{obj(X, blue, bottle)} bottle만 남음. 9.4 버전공간 탐색 후보제거 알고리즘 : 양방향 탐색 → 목표개념 G:일반화 집합, S:세부화 집합 사용 [그림 9.7] 후보제거 알고리즘 적용 예

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

  16. 9.5 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.1 ] 대출 자료

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

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

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

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

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

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

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

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

  25. 9.9 비 지도 학습 • 전통적인 분류 알고리즘 - 분류목적이나 배경지식을 분류에 활용하지 못할 뿐만 아니라 분류결과를 설명하는데도 의미 있는 설명을 하지 못함 • 해결책 - 범주를 정의 할때 외연적으로 정의하는 대신 내재적으로 표현하면 해결할수 있다. 외연적 표현 : 교황을 지낸 사람들을 교황을 지낸 모든 사람들을 열거하여 집합으로 표현 내재적 표현 : {X|X는 교황을 지낸 사람} • 개념분류는 일반화된 개념정의를 생성하기 위해 기계학습법과 배경지식을 범주 생성에 활용 • 많은 분류 시스템들이 필요충분조건을 고려하여 범주를 구성한다. 하지만 사람이 범주를 구성할 때는 특성의 필요충분조건만을 따지는 것이 아니라 여러 가지 다른 요소들(심리적, 사회적 요소등)을 포함하는 복잡한 방식을 이용한다. 그리고 어떤 범주 내 원소들이 같은 특성을 공유하지 않기도 한다.

  26. 9.10 강화 학습 • 잘한 행동에 대해 칭찬 받고 잘못한 행동에 대해 벌을 받은 경험을 통해 자신의 지식을 키워나가는 학습법 강화 학습에 필요한 용어 t : 문제 해결 과정에서의 이산적(Discrete) 시간 st : 시간 t에서 문제의 상태 at : 시간 t에서의 행동 rt : 시간 t에서의 포상(Reward) ∏ : 한 상태에서의 행동을 취하기 위한 정책 V : 상태 값을 구하는 함수(v∏(s)는 정책 ∏를 적용했을 때 상태 s의 값을 나타냄) 정책(∏)는 어떤 시간에 취해야 되는 행동을 결정하는 것으로 생성규칙이나 테이블 형태로 표현 포상함수(rt)는 각행동과 그에 따르는 포상과의 관계를 나타냄 함수v는 환경에서 각 상태가 차지하는 값을 계산 함수 V를 찾는 방법(시간차 학습규칙의 예) Temporal Difference Learning(TDL)를 이용 V(sn) = c * (V(sn+1) – V(sn)) Sn은 시간 n에서의 한 상태 Sn+1은 시간 n+1에서의 상태 C는 단계의 변화 크기를 조절하는 인자로 학습이 진행됨에 따라 그 크기를 줄임

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

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

  29. 1 1 1 0 0 0 -1 -1 -1 9.11 인공 신경망 입력값 가중치 중간값 Y X1 W1 X2 W2 . . . Xn Wn n ∑Xi*Wi i=1 변형함수 출력값 [ 그림 9.11 ] 인공 뉴런의 구조 (a) 하드리미터 (b) 임계값 ( c ) 시그모이드 [ 그림 9.12 ] 여러 가지 변형함수

  30. 1 YT = 1+E-Y 1 1 0 0 -1 -1 9.11 인공 신경망 • 시그모이드 함수 예제)시그모이드 변형함수를 갖는 인공뉴런의 출력값 계산 입력값(X1=3, X2=2, X3=1), 가중치(W1=0.2, W2=0.1, W3=0.4) Y = 3*0.2+2*0.1+1*0.4=1.2 YT = 1/(1+E-1.2)=0.77 ( c ) 시그모이드 • 하드리미터 함수 예제)하드리미터 변형함수를 갖는 인공뉴런의 출력값 계산 -1 if Y < 0 YT = 1 if Y ≥ 0 Y의 값이 0보다 작으면 –1, 크면 1로 출력 결정 입력값(X1=3, X2=2, X3=1), 가중치(W1=0.2, W2=0.1, W3=0.4) Y = 3*0.2+2*0.1+1*0.4=1.2 YT = 1 (a) 하드리미터 중간값 Y의 값이 특정값보다 작으면 –1 그 값보다 크면 1로 출력 결정

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

  32. 9.11.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 Backpropergation, Perceptron Hopfield Network, Bottzmann Machine ART I [ 그림 9.14 ] 인공 신경망 학습 알고리즘의 분류(from [Lippman89])

  33. 입력 OR연산결과 X1 X2 (목표출력 값 F) 0 0 0 0 1 1 1 0 1 1 1 1 9.11.1 인공 신경망과 학습 • 하나의 인공뉴런이 OR연산자를 학습하는 과정 변환된 가중치 F 1) 가중치 W의 초기값이용 결과값 Y생성 Y = X1*W1+X2*W2=0*0.1+0*0.3=0 2) Y와 F가 같으면 완료 다르면, 차이(d)=F-Y 이용 새로운 가중치 Wn=Wo+a*d*X 3) F와 Y가 같을때까지 반복 4) 임계치 0.5 사용 5) 새로운 입력값을 이용 다시 Y생성 X1*W1+X2*W2 > 0.5 이면 Y=1 X1*W1+X2*W2 <= 0.5 이면 Y=0 6) F와 같은 Y를 생성할수 있는 W를 찾을때 까지 반복

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

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

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

  37. 9.13 유전자 알고리즘 예 • 상대방의 숫자 알아내기 예제 • 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점

  38. 유전자 알고리즘 수행절차

  39. 9.13 유전자 알고리즘 예-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)가 나올 때까지 계속 연산을 수행해 보자.

  40. 9.13 유전자 알고리즘 • 답 표현 방식, 유전연산자(재생산, 교차, 돌연변이)와 적합성 평가함수 필요 • 학습효과(성능) : 문제의 표현(염색체의 구성), 사용 염색체군의 수 연산의 종류, 연산의 빈도수등에 의해 결정. • 네트워크의 최적화, 칩 설계, 게임, 시간표 작성등에 응용. 일반적인 유전자 알고리즘 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

More Related