12
김지은 [email protected] Programing Collective Intelligence 05. Optimization

집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

Embed Size (px)

Citation preview

Page 1: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

김지은 [email protected]

Programing Collective Intelligence 05. Optimization

Page 2: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

집단지성 프로그래밍

05. 최적화

Page 3: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

최적화

What? 문제에 대한 최적의 해답을 찾기 When? 해답의 수가 너무 많아 전체를 시도하기 어려울 때 사용 How?

여러 다른 해답을 시도 결과 품질을 판단 해답에 점수를 매김 특정 문제에 대한 해답을 도출

Page 4: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

최적화

최적화 과정의 적용

여러 다른 해답을 시도

결과 품질을 판단

해답에 점수를 매김

특정 문제에 대한 해답을 도출

최적화 과정

최적화 알고리즘 적용

해답의 표현

해답의 비용 계산

비용이 가장 작은 해답을 도출

최적화 알고리즘 적용

Page 5: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

단체여행

예시. 가족 단체 여행

시카고 오헤어 국제공항 ORD

애크런-캔턴 공항 CAK

뉴욕라과디아 공항 LGA 오마하 공항

OMA

보스턴로건 국제공항 BOS

마이애미 국제공항 MIA

달라스/포르 워스 국제공항 DAL

가족 여행을 위해 가족 구성원들이 만나기로 함 각각 전국에 퍼져있고, 뉴욕에서 만나길 원함 같은 날 출발하여 같은 날 도착하고, 가능하면 공항 이용 운임을 공유하고 싶어함

Page 6: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

비용함수

변수 - 가격, 행사, 거리, 양, 질 평가단위 - 비용

“algorithms”

시장

대형마트 편의점

동네마트

Page 7: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

무작위 검색

Random Searching Algorithm Random Search for Hyper-Parameter Optimization James Bergstra, Bengio

비용 구하기

무작위로 해답 생성

반복

현재 최적값과 비교

최적값 도출 -  Direct Search Method -  지속적인 것을 찾기위해 연관성을 가지지 않음 -  정확한 계산이 가능함 -  임의의 초기화에 사용하기 좋음

- http://www.sorting-algorithms.com/shell-sort

[Matlab Central] Random Search Algorithm by Reza Ahmadzadeh

Page 8: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

언덕등반

Hill Climibing Algorithm

단점. 비용이 계속하여 증가

https://www.youtube.com/watch?v=rGt3iMAJVT8

Page 9: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

시뮬레이티드 어닐링

Simulated Annealing Algorithm # Annealing : 합금을 가열한 후 천천히 냉각하는 과정 # 시나리오 1.  울창한 숲이 우거진 가장 숲에서,

가장 높은 곳을 오르고 싶을때 (방향도 모름) 2.  무작정 느낌으로 가는데, 그 길이 맞을 확률은 매우 낮음. 3.  방향을 잡고 어느정도 오르다가 주사위를 굴림 4.  특정한 수가 나오면 특정 확률로 절벽이나 비탈아래로 미끌어짐 5.  다시 올라감 6.  반복

http://sens.tistory.com/404 https://www.youtube.com/watch?v=iaq_Fpr4KZc

Hill Climbing Method + Heuristics -  Local Minima에 빠짐 -  현재 위치보다 높은 곳으로 이동하지 않음 -  살짝 흔들어줌 à Heuristics -  Global Minima 도착

Page 10: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

유전자 알고리즘

Genetic Algorithm, GA # 자연선택 또는 적자생존의 원칙에 입각한 알고리즘 -  해법 집합 중 비용이 낮은 것을 추림 -  추린 집합을 변이/교배하여 새로운 해법 집합 생성 -  일정 반복

Page 11: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

KAYAK API

•  http://www.kayak.com/flights/SEL-JFK/2015-05-22/2015-05-22 http://www.programmableweb.com/api/kayak

•  http://www.kayak.com/labs/api/search

Page 12: 집단지성프로그래밍 05. 최적화(optimization) 김지은_20150522

이상입니다.

마지막 업데이트 일자 : 2015-05-22