ecsimsw

Machine Learning / Generic Algorithm 본문

Machine Learning / Generic Algorithm

JinHwan Kim 2019. 11. 23. 18:20

Introduction

 

   - Teachable machine을 사용해보고, 유튜브로 머신 러닝 영상들을 찾아보다가, 유전 알고리즘으로 자동차 자율 주행을 위한 최적의 조건을 찾는 영상이나 그네를 타기 위해 학습시키는 영상을 보게 되었고, 재밌어보여서 공부하게 되었다. 

 

   - 유전 알고리즘을 공부하고, 간단하게 자율 주행 자동차를 위한 최적의 조건을 찾아보았다.

 

Generic Algorithm

 

   - 사건 안에서 더 나은 결과를 갖는 염색체들끼리의 유전 정보 교차하여 세대를 거듭하면, 점점 더 나은 염색체를 얻을 수 있겠다는 생각에서 시작. 

 

   - Chromosome : 염색체, Gene : 유전자, Child : 자손, Fitness : 적합도

 

Process 

 

   - 유전 알고리즘을 구현하기 위한 순서는 다음과 같았다.

 

   1. Definite : 학습하고자 하는 정보를 어떤식으로 표현할 것인가.

   

   2. Fitness : 어떤 기준으로 유전자의 우수함을 정의할 것인가.

 

   3. Selection : 교배될 염색체를 어떤 기준으로 선정할 것인가.

 

   4. Crossover : 유전 정보를 어떻게 교차할 것인가.

 

   5. Mutate : 돌연변이 염색체를 어떤 방식으로 출현 시킬 것인가.

 

1. Definition

 

   - 염색체와 유전자 정보를 정의한다.

 

   - 유전자 정보는 염색체가 생존에 영향을 미치는 요인, 학습에 결과를 달리할 요인으로 정의한다. 

 

2. Fitness

 

   - 생존 결과를 점수화한다. 비행기를 학습시킨다면, 주행 거리나 비행 시간처럼 결과를 점수화하여 우수한 생존을 구분한다.

 

3. Selection

 

   - 다음 세대에 전달될, 즉 교배에 성공할 염색체를 적합도를 기준으로 선별한다.

 

   - 대표적으로 적합도에 따라 선택 비중을 달리하여 랜덤하게 추출하는 방식(Roulette wheel), 순위따라 직접 정한 확률을 기준으로 선택 비중을 달리하는 방식, 최고점의 염색체는 반드시 추출하는 방식 등이 있다.

 

4. Crossover

 

   - 선별에서 선택된 염색체들의 유전 정보를 섞어 다음 세대 염색체의 유전자를 구성한다.

 

   - 대표적으로는 긴 비트열에 하나 또는 다중의 point를 두고 그것을 기준으로 나눠 다른 염색체와 교차하는 point crossover 방식과 두 유전값 자체를 평균화하는 uniform crossover 방식이 있다.

 

5. Mutate

 

   - 중세 유럽의 근친 결혼이 낳은 유전병처럼, 아무리 좋은 유전자를 갖는 집안이라도 같은 부모의 염색체끼리만 교배해서는 최적의 자손을 기대할 수 없다. 따라서 작은 확률로 돌연변이를 만들어 준다.

 

   - 대표적으로 비트를 반대로 하는 reverse 방식, 두 비트를 서로 교환하는 exchange 방식, 또는 아예 새로운 랜덤한 값을 갖게하는 방식 등으로 돌연변이를 산출한다.    

 

 

 

 

Example :: 유전 알고리즘을 이용한 자율 주행 자동차 구현

 

https://ecsimsw.tistory.com/entry/Implementation-GA-AI-Car

 

자율 주행 / 유전 알고리즘 / Machine Learning / Genetic Algorithm

유전 알고리즘 https://ecsimsw.tistory.com/entry/Machine-Learning-Generic-Algorithm?category=869268 Machine Learning / Generic Algorithm / AI car Introduction - Teachable machine을 사용해보고, 유튜브..

ecsimsw.tistory.com

Comments