문제

다양한 클래스의 기계 학습 알고리즘의 차이에 대해 느끼기 위해 노력하고 있습니다.

나는 진화 알고리즘의 구현이 신경망의 구현과는 상당히 다르다는 것을 이해한다.

그러나, 그들은 잠재적으로 시끄러운 훈련/과거 데이터 세트에서 입력과 출력 사이의 상관 관계를 결정하는 데 기여한 것 같습니다.

질적 관점에서, 진화 알고리즘과는 달리 신경망의 더 나은 목표 인 문제 도메인이 있습니까?

나는 보완적인 방식으로 그것들을 사용하는 것을 제안하는 몇 가지 기사를 훑어 보았습니다. 그것에 대한 사용 사례의 괜찮은 예가 있습니까?

도움이 되었습니까?

해결책

거래는 다음과 같습니다. 기계 학습 문제에는 일반적으로 두 가지 구성 요소가 있습니다.

a) 모델 (기능 클래스 등)

b) 모델을 맞추는 방법 (Optimizaiton 알고리즘)

신경망은 모델입니다. 레이아웃과 무게 설정이 주어지면 신경망은 약간의 출력을 생성합니다. 역 전파, 대조적 발산 등과 같은 신경망에 맞는 정식 방법이 존재합니다.

진화 알고리즘은 모델에 맞는 두 번째 부분을 다룹니다. 다시 말하지만, 진화 알고리즘과 함께 진행되는 정식 모델이 있습니다. 예를 들어, 진화 프로그램은 일반적으로 특정 유형의 모든 프로그램을 최적화하려고합니다. 그러나 EAS는 본질적으로 특정 모델에 대한 올바른 매개 변수 값을 찾는 방법입니다. 일반적으로 크로스 오버 작업이 합리적인 방법으로 모델 매개 변수를 작성하고 EA 크랭크를 돌려 합리적인 매개 변수 설정을 얻습니다.

예를 들어, 진화 알고리즘을 사용하여 신경망을 훈련시킬 수 있습니다. 그러나 EA가 작동 해야하는 중요한 비트는 크로스 오버 작업이 합리적인 일이어야한다는 것입니다. 하나의 합리적인 설정에서 매개 변수에 참여하고 다른 합리적인 설정에서 나머지는 종종 더 나은 매개 변수 설정. 대부분의 경우 EA가 사용됩니다. 이것은 사실이 아니며 결국 시뮬레이션 어닐링과 같은 것이며, 더 혼란스럽고 비효율적입니다.

다른 팁

"직관"이 필요한 문제는 예를 들어 핸드 글쓰기 인식과 같이 앤에 더 적합합니다. 당신은 엄청난 양의 입력으로 신경망을 훈련시키고 당신이 끝날 때까지 그것을 평가하지만 (이것은 오랜 시간이 걸리지만, 나중에는 Blackbox 알고리즘/시스템이 있습니다.추측"손으로 쓰는 것은 작은 두뇌를 유지하고 수년 동안 모듈로 사용합니다. 복잡한 문제에 대한 양질의 앤을 훈련시키는 데 몇 달이 걸릴 수 있기 때문에 최악의 경우와 운이 좋을 것입니다.

대부분의 다른 진화 알고리즘 "계산하다"일종의 언덕 등반 패턴으로 그 자리에있는 Adhoc 솔루션.

또한 다른 답변에서 지적한 바와 같이, 런타임 동안 Ann은 할 수 있습니다. "추측"대부분의 다른 진화 알고리즘보다 빠릅니다."계산하다". 그러나 앤은 그냥이기 때문에 조심해야합니다."추측"잘못되었을 수도 있습니다.

신경 진화를보십시오. (NE)

현재 가장 좋은 방법은입니다 정돈된 그리고 하이퍼 나이트 Kenneth Stanley.

유전자 알고리즘은 일종의 게놈만을 찾습니다. 정적 유전자가 아닌 신경망의 반응성 특성을 얻기 때문에 신경망의 게놈을 만드는 것이 좋습니다.

배울 수있는 것에 대한 한계는 많지 않습니다. 그러나 물론 시간이 걸립니다. 신경 토폴로지는 일반적인 돌연변이와 교차를 통해 발전해야하며, 가중치는 업데이트되었습니다. 후면 전파가 없을 수 있습니다.

또한 피트니스 기능으로 훈련 할 수 있으며, 이는 출력이 무엇인지 모를 때 등 전파보다 우수합니다. 최적의 전략을 모르는 시스템에 대한 복잡한 행동을 배우는 데 적합합니다. 유일한 문제는 예상하지 못한 행동을 배우는 것입니다. 피트니스 기능에서 보상 한 일을 정확하게 수행하지만 그 행동은 매우 외계인 일 수 있습니다. 따라서 역전을위한 출력 세트를 생성하는 것만 큼 많은 시간을 파생하는 피트니스 기능을 사용할 수 있습니다.

진화론 적, 또는보다 일반적으로 유전자 알고리즘, 신경망은 유사한 목표에 모두 사용될 수 있으며 다른 답변은 차이를 잘 설명합니다.

그러나 진화 알고리즘이 신경망보다 더 많이 표시되는 특정 사례가 있습니다. 솔루션 공간이 비 연속/이산 인 경우.

실제로, 신경망은 그라디언트 하강을 사용하여 역 전파 (또는 유사한 알고리즘)로부터 학습합니다. 그라디언트의 계산은 유도체에 의존하는데, 이는 연속 공간이 필요하며, 즉, 하나의 솔루션에서 다음 솔루션으로 점차적으로 점차적으로 이동할 수 있습니다.

솔루션 공간이 불연속 인 경우 (즉, 솔루션 A, B 또는 C를 선택할 수 있지만 중간에는 0.5% A + 0.5% B와 같은 중간에 아무것도 선택하지 않으면 비 연속적 기능에 맞추려고 노력하고 있습니다. 그러면 신경망은 작동 할 수 없습니다.

이 경우, 진화 알고리즘은 완벽합니다. 신이 보내는 것은 심지어 한 솔루션에서 다음 솔루션으로 "점프"할 수 있기 때문에 신이 보낼 수도 있습니다.

또한 진화 알고리즘은 신경망을 포함한 다른 기계 학습 알고리즘만큼 치수의 저주를받지 않는다는 것도 언급 할 가치가 있습니다.

이로 인해 진화 알고리즘은 순진하게 문제에게 접근 할 수있는 매우 다재다능하고 일반적인 도구로, 비 연속적 기능 또는 천문학적으로 높은 차원의 데이터 세트를 다루는 몇 가지 도구 중 하나입니다.

문제 영역의 관점에서, 나는 역전으로 훈련 된 인공 신경망을 진화 알고리즘과 비교합니다.

진화 알고리즘 무작위 빔 검색을 배치하므로 진화 작업자가 체력으로 테스트하고 비교할 후보자를 개발합니다. 이러한 연산자는 일반적으로 결정적이지 않으며이를 설계 할 수 있으므로 가까운 근접한 후보자와 매개 변수 공간에서 더 멀리 떨어진 후보자를 찾을 수 있습니다.

그러나 EA 접근법의 성공은 개발 된 모델에 크게 의존합니다.이 모델은 높은 표현 전위 (오버 피트)와 일반성 (모델이 대상 함수를 표현하지 못할 수 있음) 사이의 트레이드 오프입니다.

왜냐하면 신경망 일반적으로 다층은 파라미터 공간이 볼록하지 않고 로컬 Optima를 포함하고 있으며, 그라디언트 하강 알고리즘이 갇힐 수 있습니다. 그라디언트 하강은 근접성을 통해 검색하는 결정 론적 알고리즘입니다. 그렇기 때문에 신경망이 일반적으로 무작위로 초기화되고 하나 이상의 모델을 훈련시켜야하는 이유입니다.

또한 신경망의 각 숨겨진 노드는 하이퍼 플레인을 정의한다는 것을 알고 있습니다. 신경망을 설계하여 문제가 잘 맞습니다. 신경 네트워크가 너무 적합하지 않도록하는 몇 가지 기술이 있습니다.

대체로, 신경망은 빠르게 교육을 받고 Efford가 거의없는 합리적인 결과를 얻을 수 있습니다 (일부 매개 변수를 시도해보십시오). 이론적으로 충분히 큰 신경망은 모든 대상 함수를 근사화 할 수 있으며, 이는 반대편에서 과적으로 접촉하기 쉽습니다. 진화 알고리즘을 사용하려면 좋은 결과를 얻기 위해 많은 설계 선택을해야합니다. 그러나 EA는 매우 복잡한 문제 공간을 검색 할 수 있으며 (정의하는 방식으로) 좋은 결과를 얻을 수 있습니다. 문제 (대상 함수)가 시간이 지남에 따라 변할 때 AE는 성공을 유지할 수 있습니다.

Tom Mitchell의 기계 학습 서적 :http://www.cs.cmu.edu/~tom/mlbook.html

감독되지 않은 학습에 의존하기 때문에 진화 알고리즘 (EAS)은 느리게 진행됩니다. EAS는 일부 솔루션이 다른 솔루션보다 낫지 만 그렇지 않다고 들었습니다. 어떻게 그들을 향상시키기 위해. 신경망은 일반적으로 감독 된 학습의 사례입니다. 특정 매개 변수를 통해 기능 공간 내에서 그라디언트 하강을 사용하여 솔루션을 더 잘 만드는 방법을 알고 있습니다. 이를 통해 유효한 솔루션에 더 빨리 도달 할 수 있습니다. 신경망은 종종 다른 방법으로 작동하는 문제에 대한 지식이 충분하지 않을 때 종종 사용됩니다.

진화 알고리즘 (EA)은 뉴런 그물 (NN)이 모델 인 모델을 훈련시키는 방식을 나타냅니다. 가장 일반적으로 문헌 전체에서 NN은 역설 알고리즘을 사용하여 훈련을받습니다. 이 방법은 수학자에게 매우 매력적이지만 수학 공식을 사용하여 모델의 오류율을 표현할 수 있어야합니다. 이것은 당신이 근사화하려는 함수에 대한 많은 입력 및 출력 값을 알고있는 상황의 경우입니다. 이 문제는 미적분학 덕분에 손실 기능을 최소화하기 때문에 수학적으로 모델링 될 수 있습니다 (그리고 수학자들이 그것을 좋아하는 이유).

그러나 뉴런 그물은 또한 일부 결과를 최대화하거나 최소화하려는 모델링 시스템에도 유용하며, 그 공식은 수학적으로 모델링하기가 매우 어렵다. 예를 들어, 뉴런 그물은 사이보그의 근육을 제어하여 달리기를 달성 할 수 있습니다. 각각의 다른 시간 프레임에서, 모델은 다양한 센서의 입력을 기반으로 사이보그 신체의 각 근육에 얼마나 많은 장력이 존재 해야하는지 설정해야합니다. 그러한 교육 데이터를 제공하는 것은 불가능합니다. EAS는 모델의 평가 방식 만 제공하여 교육을 허용합니다. 이 예를 들어, 우리는 떨어지는 것을 처벌하고 표면을 가로 지르는 여행 거리 (고정 시간)에 보상 할 것입니다. EA는 이런 의미에서 최선을 다하는 모델을 선택합니다. 1 세대가 빨라지지만 놀랍게도 수백 세대 후에 그러한 개인은 매우 "자연스러운"움직임을 달성하고 떨어지지 않고 달리게됩니다. 이러한 모델은 또한 장애물과 외부 물리적 힘을 다룰 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top