[집단지성프로그래밍] 11. Evolving Intelligence
Machine Learning/[Book]Programming Collective Intelligence -집단 지성 프로그래밍) 2015. 3. 14. 11:341. Genetic Programming
가장 좋은 걸 찾은 후 진화할 때는 단순히 복사와 변경이 있다.
두가지 방법의 진화가 있다.
간단한 방법은 mutation(돌연변이) - 랜덤하게 조금만 변경
crossover - 일부를 가장 좋은 프로그램과 교체함
2. 유전자 프로그래밍과 유전자 알고리즘의 차이
(1) 유전자 알고리즘은 정해진 알고리즘의 파라미터만 찾음
(2) 유전자 프로그래밍은 알고리즘과 파라미터 둘 다를 찾음
예)
1. 테스트할 함수를 만들고 그에 대한 입력과 아웃풋 값을 테스트셋으로 200개 정도 저장한다.
2. 유전자 알고리즘을 이용하여 입력과 아웃풋이 정확히 일치하는 함수를 찾아내야 한다.
3. 임의로 함수를 몇개 만든 후 같은 입력을 주고 아웃풋을 테스트셋의 아웃풋과 비교하여 성능을 측정한다.
4. 유전자 알고리즘을 통해 돌연변이, 교배등을 통해 함수들을 만들고 아웃풋과의 비교값이 가장 작은 것을 찾는다.
5. 차이가 0이 되면 제대로 된 함수를 찾은 것이다.
6. 함수안에 쓸데 없는 공식도 들어갈 수 있으니 제거하는게 필요하다. 예) 0 + 0
'Machine Learning > [Book]Programming Collective Intelligence -집단 지성 프로그래밍)' 카테고리의 다른 글
[집단지성프로그래밍] 12. 알고리즘 요약 (0) | 2015.03.21 |
---|---|
[ML][집단지성프로그래밍] 9. 고급 분류 기법: 커널 기법과 SVM (0) | 2015.02.28 |
[ML][집단지성 프로그래밍] 8장 가격 모델링 (0) | 2015.02.21 |
[ML][집단지성프로그래밍] 7. 의사 결정 트리 (0) | 2015.02.14 |
[ML][집단지성 프로그래밍] 제5회 Machine Learning Meetup 2부 (0) | 2015.02.10 |