문제를 해결하기 위해 신경망과 반대로 유전자 알고리즘을 사용할시기를 결정하는 경험 법 (또는 일련의 사례)이 있습니까?
두 방법을 모두 혼합 할 수있는 경우가 있지만 두 방법 사이의 높은 수준의 비교를 찾고 있습니다.
문제를 해결하기 위해 신경망과 반대로 유전자 알고리즘을 사용할시기를 결정하는 경험 법 (또는 일련의 사례)이 있습니까?
두 방법을 모두 혼합 할 수있는 경우가 있지만 두 방법 사이의 높은 수준의 비교를 찾고 있습니다.
답변:
위키 백과에서 :
유전자 알고리즘 (GA)을 위해 컴퓨팅에 사용되는 검색 기술이다 찾을 정확한 또는 대략적인 솔루션을 최적화하고 문제를 검색 할 수 있습니다.
과:
신경망 은 비선형 통계 데이터 모델링 도구입니다. 입력과 출력 간의 복잡한 관계를 모델링하거나 데이터에서 패턴 을 찾는 데 사용할 수 있습니다 .
솔루션의 가치를 정량화 할 수있는 문제가있는 경우 유전자 알고리즘 이 솔루션 공간을 직접 검색 할 수 있습니다 . (예 : 두 지점 사이의 최단 경로를 찾으십시오)
여러 클래스에 여러 항목이있는 경우 신경망 은 이전에 "보지"않은 항목 을 분류 하기 위해 "학습"할 수 있습니다 . (예 : 얼굴 인식, 음성 인식)
실행 시간도 고려해야합니다. 유전자 알고리즘은 수용 가능한 해결책을 찾는 데 오랜 시간이 걸립니다. 신경망은 "학습"하는 데 시간이 오래 걸리지 만 새로운 입력을 거의 즉시 분류 할 수 있습니다.
유전자 알고리즘 (섹시한 이름에도 불구하고)은 대부분의 경우 최적화 기술 입니다. 그것은 주로 많은 변수를 가지고 있으며 이러한 변수에 가장 적합한 값 조합을 찾으려고합니다. 그것은 자연의 진화로부터 기술을 빌려옵니다.
신경망은 패턴 을 인식 하는 데 유용합니다 . 그들은 뇌의 단순한 모델을 따르고, 그것들 사이의 많은 가중치를 변경함으로써 입력을 기반으로 출력을 예측하려고 시도합니다.
그것들은 근본적으로 다른 두 엔티티이지만 때로는 겹치는 문제를 해결할 수 있습니다.
그들 사이에는 많은 유사점이 있으므로, 나는 그들의 차이점 을 개괄하려고 노력할 것이다 .
온라인 패턴을 분석 할 수 있습니다 (시간에 따라 변하는 패턴). 일반적으로 이것은 시변 샘플이며 일치하고 예측되어야합니다.
예 :
변경되지 않는 특정 문제에 기여할 수 있다고 생각되는 속성을 코딩 할 수있는 경우에 사용됩니다. 이러한 속성을 코딩 할 수있는 데 중점을두고 있으며 (때로는 그 속성을 알고 있음) 문제가 크게 변하지 않는 경우가 있습니다 (그렇지 않으면 진화가 수렴되지 않음).
예 :
역 전파 알고리즘 의 대안으로 유전자 알고리즘을 사용 하여 신경망의 가중치를 업데이트 할 수 있습니다 . 이에 대한 예는 http://www.ai-junkie.com/ann/evolved/nnt1.html을 참조 하십시오 .
유전자 알고리즘 (일반적으로)은 이산 데이터 (열, 정수 범위 등)에서 작동합니다. GA의 일반적인 응용 프로그램은 사용 가능한 유일한 대안이 무차별 검색 (모든 조합 평가) 인 경우 "충분한"솔루션을 찾기 위해 별도의 공간을 검색하는 것입니다.
반면에 신경망은 (보통) 연속 데이터 (부동 등)에서 작동합니다. NN의 일반적인 응용 프로그램은 함수 근사입니다. 여기서는 입력 X 세트와 관련 출력 Y 세트가 있지만 분석 함수 f : X → Y가 있습니다.
물론 수천 가지 변형이 있으므로 그 사이의 선이 다소 흐려집니다.
경험 법칙은 없습니다. 대부분의 경우 문제 중 하나를 사용하도록 문제를 공식화 할 수 있습니다. 머신 러닝은 여전히 활발한 연구 분야이며 어떤 학습 모델을 사용할 수 있는지는 논쟁의 여지가 있습니다.
GA는 진화에서 섹시한 언어를 사용하지만 컴퓨터가 임의의 프로세스를 통해 솔루션을 발견하기를 기다리고 있습니다. 데이터를 연구하고, 좋은 가정을하고, 원하는 것을 알고,이를 잘 활용할 수있는 접근 방식을 선택하십시오. 첫 번째 선택으로 결과가 좋지 않으면 그 이유를 알고 알고리즘 자체를 개선하거나 더 나은 알고리즘을 선택하십시오.