SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
김지은
yeswldms@gmail.com
Programing Collective Intelligence
05. Optimization
집단지성 프로그래밍
05. 최적화
최적화
What? 문제에 대한 최적의 해답을 찾기
When? 해답의 수가 너무 많아 전체를 시도하기 어려울 때 사용
How?
여러 다른 해답을 시도 결과 품질을 판단 해답에 점수를 매김
특정 문제에 대한
해답을 도출
최적화
최적화 과정의 적용
여러 다른 해답을 시도
결과 품질을 판단
해답에 점수를 매김
특정 문제에 대한
해답을 도출
최적화 과정
최적화 알고리즘 적용
해답의 표현
해답의 비용 계산
비용이 가장 작은
해답을 도출
최적화 알고리즘 적용
단체여행
예시. 가족 단체 여행
시카고 오헤어 국제공항
ORD
애크런-캔턴 공항
CAK
뉴욕라과디아 공항
LGA오마하 공항
OMA
보스턴로건 국제공항
BOS
마이애미 국제공항
MIA
달라스/포르 워스 국제공항
DAL
가족 여행을 위해 가족 구성원들이 만나기로 함
각각 전국에 퍼져있고, 뉴욕에서 만나길 원함
같은 날 출발하여 같은 날 도착하고, 가능하면 공항 이용 운임을 공유하고 싶어함
비용함수
변수 - 가격, 행사, 거리, 양, 질
평가단위 - 비용
“algorithms
”
시장
대형마트 편의점
동네마트
무작위 검색
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
언덕등반
Hill Climibing Algorithm
단점. 비용이 계속하여 증가
https://www.youtube.com/watch?v=rGt3iMAJVT8
시뮬레이티드 어닐링
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 도착
유전자 알고리즘
Genetic Algorithm, GA
# 자연선택 또는 적자생존의 원칙에 입각한 알고리즘
-  해법 집합 중 비용이 낮은 것을 추림
-  추린 집합을 변이/교배하여 새로운 해법 집합 생성
-  일정 반복
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
이상입니다.
마지막 업데이트 일자
: 2015-05-22

Contenu connexe

En vedette

[2D5]무인항공기드론이자동으로움직이는비밀
[2D5]무인항공기드론이자동으로움직이는비밀[2D5]무인항공기드론이자동으로움직이는비밀
[2D5]무인항공기드론이자동으로움직이는비밀NAVER D2
 
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은jieun kim
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은jieun kim
 
OpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection ServiceOpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection ServiceEran Gampel
 
OpenStack Dragonflow shenzhen and Hangzhou meetups
OpenStack Dragonflow shenzhen and Hangzhou  meetupsOpenStack Dragonflow shenzhen and Hangzhou  meetups
OpenStack Dragonflow shenzhen and Hangzhou meetupsEran Gampel
 
Dragon flow neutron lightning talk
Dragon flow neutron lightning talkDragon flow neutron lightning talk
Dragon flow neutron lightning talkEran Gampel
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup  Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup Eran Gampel
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kimjieun kim
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHousejieun kim
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Eran Gampel
 
02주차 서비스디자인 과제
02주차 서비스디자인 과제02주차 서비스디자인 과제
02주차 서비스디자인 과제다솜 김
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupEran Gampel
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Manabu Ori
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은jieun kim
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronEran Gampel
 
Ryu with OpenFlow 1.3, Traffic Monitor
Ryu with OpenFlow 1.3, Traffic MonitorRyu with OpenFlow 1.3, Traffic Monitor
Ryu with OpenFlow 1.3, Traffic Monitorjieun kim
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Manabu Ori
 

En vedette (20)

Deep Learning for Computer Vision: Visualization (UPC 2016)
Deep Learning for Computer Vision: Visualization (UPC 2016)Deep Learning for Computer Vision: Visualization (UPC 2016)
Deep Learning for Computer Vision: Visualization (UPC 2016)
 
[2D5]무인항공기드론이자동으로움직이는비밀
[2D5]무인항공기드론이자동으로움직이는비밀[2D5]무인항공기드론이자동으로움직이는비밀
[2D5]무인항공기드론이자동으로움직이는비밀
 
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 4 김지은
 
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
20150525 open flow1.3_ryu_sdn_link aggregation 1_김지은
 
OpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection ServiceOpenStack Tokyo Talk Application Data Protection Service
OpenStack Tokyo Talk Application Data Protection Service
 
OpenStack Dragonflow shenzhen and Hangzhou meetups
OpenStack Dragonflow shenzhen and Hangzhou  meetupsOpenStack Dragonflow shenzhen and Hangzhou  meetups
OpenStack Dragonflow shenzhen and Hangzhou meetups
 
Dragon flow neutron lightning talk
Dragon flow neutron lightning talkDragon flow neutron lightning talk
Dragon flow neutron lightning talk
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup  Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
 
Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk Dragonflow Austin Summit Talk
Dragonflow Austin Summit Talk
 
02주차 서비스디자인 과제
02주차 서비스디자인 과제02주차 서비스디자인 과제
02주차 서비스디자인 과제
 
OpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetupOpenStack Neutron Dragonflow l3 SDNmeetup
OpenStack Neutron Dragonflow l3 SDNmeetup
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208
 
Deep Learning for Computer Vision: Face Recognition (UPC 2016)
Deep Learning for Computer Vision: Face Recognition (UPC 2016)Deep Learning for Computer Vision: Face Recognition (UPC 2016)
Deep Learning for Computer Vision: Face Recognition (UPC 2016)
 
150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은150625 마이크로커널 운영체제 김지은
150625 마이크로커널 운영체제 김지은
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutron
 
Ryu with OpenFlow 1.3, Traffic Monitor
Ryu with OpenFlow 1.3, Traffic MonitorRyu with OpenFlow 1.3, Traffic Monitor
Ryu with OpenFlow 1.3, Traffic Monitor
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
 

Plus de jieun kim

OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728jieun kim
 
150326 openstack, glance 김지은
150326 openstack, glance 김지은150326 openstack, glance 김지은
150326 openstack, glance 김지은jieun kim
 
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522jieun kim
 
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522jieun kim
 
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은jieun kim
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIjieun kim
 
resource on openstack
 resource on openstack resource on openstack
resource on openstackjieun kim
 

Plus de jieun kim (7)

OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
 
150326 openstack, glance 김지은
150326 openstack, glance 김지은150326 openstack, glance 김지은
150326 openstack, glance 김지은
 
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(kayak.ipynb) 김지은_20150522
 
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522
집단지성프로그래밍 05. 최적화(optimization.ipynb) 김지은_20150522
 
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은
20150509 unix v6로 배우는 커널의 원리와 구조 3 김지은
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST API
 
resource on openstack
 resource on openstack resource on openstack
resource on openstack
 

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

  • 3. 최적화 What? 문제에 대한 최적의 해답을 찾기 When? 해답의 수가 너무 많아 전체를 시도하기 어려울 때 사용 How? 여러 다른 해답을 시도 결과 품질을 판단 해답에 점수를 매김 특정 문제에 대한 해답을 도출
  • 4. 최적화 최적화 과정의 적용 여러 다른 해답을 시도 결과 품질을 판단 해답에 점수를 매김 특정 문제에 대한 해답을 도출 최적화 과정 최적화 알고리즘 적용 해답의 표현 해답의 비용 계산 비용이 가장 작은 해답을 도출 최적화 알고리즘 적용
  • 5. 단체여행 예시. 가족 단체 여행 시카고 오헤어 국제공항 ORD 애크런-캔턴 공항 CAK 뉴욕라과디아 공항 LGA오마하 공항 OMA 보스턴로건 국제공항 BOS 마이애미 국제공항 MIA 달라스/포르 워스 국제공항 DAL 가족 여행을 위해 가족 구성원들이 만나기로 함 각각 전국에 퍼져있고, 뉴욕에서 만나길 원함 같은 날 출발하여 같은 날 도착하고, 가능하면 공항 이용 운임을 공유하고 싶어함
  • 6. 비용함수 변수 - 가격, 행사, 거리, 양, 질 평가단위 - 비용 “algorithms ” 시장 대형마트 편의점 동네마트
  • 7. 무작위 검색 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
  • 8. 언덕등반 Hill Climibing Algorithm 단점. 비용이 계속하여 증가 https://www.youtube.com/watch?v=rGt3iMAJVT8
  • 9. 시뮬레이티드 어닐링 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 도착
  • 10. 유전자 알고리즘 Genetic Algorithm, GA # 자연선택 또는 적자생존의 원칙에 입각한 알고리즘 -  해법 집합 중 비용이 낮은 것을 추림 -  추린 집합을 변이/교배하여 새로운 해법 집합 생성 -  일정 반복