유전자 알고리즘은 최적화 방법의 한 형태입니다. 확률 적 구배 하강과 그 파생물은 함수 최적화를위한 최선의 선택이지만 종종 유전자 알고리즘이 여전히 사용됩니다. 예를 들어, NASA의 ST5 우주선의 안테나 는 유전자 알고리즘으로 만들어졌습니다.
유전자 최적화 방법이 더 일반적인 경사 하강 방법보다 더 나은 선택은 언제입니까?
유전자 알고리즘은 최적화 방법의 한 형태입니다. 확률 적 구배 하강과 그 파생물은 함수 최적화를위한 최선의 선택이지만 종종 유전자 알고리즘이 여전히 사용됩니다. 예를 들어, NASA의 ST5 우주선의 안테나 는 유전자 알고리즘으로 만들어졌습니다.
유전자 최적화 방법이 더 일반적인 경사 하강 방법보다 더 나은 선택은 언제입니까?
답변:
유전자 알고리즘 (GA)은 휴리스틱 (heuristics) 패밀리로 , 주어진 도메인에 가장 적합한 옵션은 아니지만 많은 경우에 적절한 대답 을 제공하는 데 경험적으로 우수 합니다.
파생 상품 기반 알고리즘에 대해 언급했지만 파생 상품이없는 경우에도 GA보다 실적이 우수한 파생 상품이없는 최적화 알고리즘이 많이 있습니다. 참조 이 와 이 몇 가지 아이디어에 대한 대답을.
많은 표준 최적화 알고리즘이 공통으로 가지고있는 것 (미분없는 방법도 포함)은 기본 공간이 부드러운 매니 폴드 (아마도 불연속 치수가 있음)이고 최적화 기능이 다소 잘 작동 한다는 가정입니다 .
그러나 모든 기능이 매끄러운 매니 폴드에 정의되어있는 것은 아닙니다. 때로는 그래프 또는 다른 이산 구조 (조합 최적화)에 대해 최적화하려고합니다. 여기에는 전용 알고리즘이 있지만 GA도 작동합니다.
복잡하고 이산적인 구조에 대해 정의 된 기능에 더 많이 접근할수록 더 많은 GA가 유용 할 수 있습니다. 특히 유전자 조작자가 최선을 다하는 표현을 찾을 수있는 경우 (많은 수동 조정 및 도메인 지식이 필요함).
물론 미래는 GA를 모두 잊어 버리고 불연속 공간을 연속 공간 에 매핑 하는 방법을 개발 하고 지속적인 표현에 대한 최적화 메커니즘을 사용할 수 있습니다.
그래디언트 디센트가 단일 기준 최적화에 전념 할 때 유전자 방법은 다중 기준 최적화에 적합합니다. 그라디언트 디센트 (gradient descent)는 미분이 존재하고 최적의 솔루션이 하나 일 때 (로컬 미니 마를 제외하고) 최소 기능을 찾을 수있게합니다. 유전 알고리즘은 다중 기준 문제에서 사용될 수 있으며, 초기 집단으로부터 진화 한 각각의 집단에 속하는 연속적인 해법으로 이어진다. 최적화하기위한 값은 개체의 표현형이며 몇 가지 표현형이있을 수 있습니다. 일반적으로, 어느 개인도 동시에 각 표현형의 더 나은 가치를 가지지 않으므로 하나의 솔루션 만이 아닙니다. 최종 모집단의 개인, 즉 최적화의 모든 솔루션은 "Pareto front"의 일부이며 "Pareto rank one"로 표시됩니다. 개인. 이것은 각각의 표현형에 대해 동일한 성능을 갖는 다른 모든 개인에 비해, 적어도 하나의 표현형이 다른 표현형보다 우수하다는 것을 의미한다.
어떤 의미에서 최고?
내 경험상 GA는 가장 실용적인 최적화 도구 중 하나입니다. 보다 정확한 알고리즘이 수학적 세계에서 실제 문제를 공식화하기 위해서는 시간과 노력이 필요하지만 GA는 복잡한 규칙과 제약 조건으로 모든 비용 함수를 처리 할 수 있습니다 (GA는 특정 계산이 아니라 실행 방식과 관련이 있습니다). 이 과정은 간단하며 탐색 작업에 대한 많은 접근 방식을 시도 할 수 있습니다.
또한 반복되는 작업에 좋은 향후 실행을 위해 알고리즘에 과거 솔루션을 다시 주입 할 가능성에 감사합니다.
개념적으로, 유전자 알고리즘은 함수의 해시 맵으로 표현 될 수 있으며 Clojure와 같은 함수형 언어는 큰 결과를 매우 빠르게 얻을 수있는 언어이기도합니다.
유전자 알고리즘도 중첩 될 수 있습니다. 하나의 GA의 비용 함수는 GA가 될 수 있습니다! 이 알고리즘은 최신 하드웨어 및 인프라를 활용하여 매우 많은 모집단을 계산할 수 있으므로 간단한 돌연변이 / 선택 작업으로도 여전히 우수한 결과를 얻을 수 있습니다.
최소 파동 함수를 찾는 것과 같은 간단한 문제의 경우에도 GA는 그렇게 나쁘지 않으며 허용 가능한 시간 내에 적절한 정밀도를 달성 할 수 있습니다.
그렇습니다. 분석 솔루션은 더 빠른 실행 시간과 정밀도를 가질 수 있습니다. 그러나 과체중을 생성하는 데 필요한 시간은 종종 기대되는 이점을 제공합니다! 그렇게 할 때 ? 적어도 메타 최적화를 위해 거의 항상 나에게.