jPub09_최적화와탐색
최적화 = 오차 함수 정의 + 이 값을 최소화
- 방법 : 미분을 통해 기울기 구하기, ,기울기 하강법
- 문제점 :
비연속
의 문제는 기울기 하강법 사용 못함
1. 기울기 하강법
목적 : 을 찾는것
임의의 값 X_1에서 결정할 것
- 어떤 방향으로 움직여야 하는가?
- 최급강하법(Steepest Descent): 탐욕적(greedy)방법으로 선택 하는것
- 얼마나 움직여야 하는가?
- 선형탐색
- 신뢰영역(Trust Region)
최급강하법(Steepest Descent)
- 테일러 전개식 함수 기반 : 함수의 미분값을 바탕으로 근사치를 접근하는 방법
- J(x) : 벡터의 1차 미분함수 자코비안
- H(x) : 벡터의 2차 미분함수인 해시안 행렬
2. 최소 제곱법
MLP, 선형회귀등에서 많이 사용
레벤버그 말퀘트(ML): 신뢰영역 최적화 알고리즘
3. 켤레 기울기(Conjugate gradient)
켤레 = 어떤 행렬A에 대해서 두 벡터들이 을 만족할 경우
이동거리 = =
4. 그외 기울기를 사용하지 않는 최적화 방법(=탐색) 들
비연속 최적화 문제(eg. 외판원)해결 가능
4.1 완전 탐색
- 모든 해결책을 다 시도해 보고 가장 최선의 것을 선택
- 비용이 많이 들어 비 현실적
4.2 탐욕(Greedy) 탐색
- 각 단계에서 지역적으로 가장 좋은 선택
- 비용은 적게 들지만, 좋은 해답을 얻는다는 보장이 없음
4.3. 언덕 오르기
- 현재 해법을 바탕으로 지역 탐색을 수행하고, 결과를 향상 시키는 옵션을 선택
- 단점
- 많은 언덕 존재시 : 지역 최댓값에 오르고 그것을 해답으로 간주
- 평지의 경우 : 최댓값을 못 찾을수 있음
- 경사가 급한 경우 : 최댓값에 이르기 전에 이미 도달했다고 판단
5. 활용과 탐험
진화 알고리즘