문제

나는 Neural Networks에 약간의 관심이 있었고 시간 영역에서 다양한 최소화 기술을 비교하는 가벼운 프로젝트에 Python에 하나를 사용하는 것에 대해 생각했습니다 (가장 빠른).

그런 다음 NN이 최소화에 좋은지조차 몰랐다는 것을 깨달았습니다. 어떻게 생각해?

도움이 되었습니까?

해결책

신경망은 분류기입니다. 그들은 두 가지 클래스의 데이터 요소를 분리합니다. 그들은 사전 분류 된 데이터 요소에 의해이 분리를 배웁니다 (보통). 따라서 나는 다음과 같이 말합니다.

다른 팁

이것이 더 적합한 문제인 것처럼 들립니다. 유전자 알고리즘 신경망보다. 신경망은 알려진 데이터에 대한 훈련이 필요한 반면, 유전자 알고리즘은 훈련을 필요로하지 않고 문제에 대한 솔루션을 더 잘 찾아서 작동하는 반면, 알려진 데이터에 대한 훈련이 필요합니다.

역 전파는 오류를 최소화하여 작동합니다. 그러나 원하는 것을 최소화 할 수 있습니다. 따라서 백 스펙과 같은 업데이트 규칙을 사용하여 출력을 최소화하는 인공 신경망 입력을 찾을 수 있습니다.

이것은 큰 질문입니다. 짧은 대답에 대해 죄송합니다. 또한 제안 된 접근 방식이 더 확립 된 방법에 비해 비효율적으로 들리며 로컬 최소값 만 찾을 수 있다고 덧붙여 야합니다.

역행 신경망의 훈련 프로세스는 최적의 결과로 인한 오류를 최소화하여 작동합니다. 그러나 훈련 된 신경망이 알려지지 않은 기능의 최소값을 찾는 것은 매우 어려울 것입니다.

문제를 특정 함수 클래스로 제한하면 작동하고 매우 빠릅니다. 신경망은 패턴이 있다면 패턴을 찾는 데 능숙합니다.

그들은 목적에 꽤 나쁘다. 신경망의 큰 문제 중 하나는 지역 최소값에 갇혀 있다는 것입니다. 대신 지원 벡터 머신을 살펴 보는 것일 수 있습니다.

실제로 NN을 사용하여 기능 최소를 찾을 수 있지만 에릭.

기본적으로 NN 텐트는 로컬 최소 또는 최대 기능에 해당하는 솔루션을 찾지만 그렇게 할 때는 매우 정확합니다 (댓글 테타 답변 NN은 데이터 입력이 최소인지 말하면 사용할 수있는 분류기임을 진술합니다)

대조적으로 유전자 알고리즘은 가능한 전체 범위에서 더 보편적 인 솔루션을 찾는 경향이 있지만 근접한 결과를 제공합니다.

해결책은 2 세계를 결합하는 것입니다

  1. 유전자 알고리즘에서 대략적인 결과를 얻으십시오
  2. 그 결과를 사용하여 NN을 사용하여 더 정확한 답변을 찾으십시오.

NN에 기능을 근사화 할 수 있습니다. 함수가 차별화 가능하거나 NN에 하나 이상의 숨겨진 층이있는 경우 기능의 미분을 제공하도록 가르 칠 수 있습니다.

예시:

You can train  a 1 input 1 output NN to give output=sin(input)

You can train it also give output=cos(input) which is derivative of sin()

You get a minima/maxima of sin when you equate cos to zero.

Scan for zero output while giving many values from input. 0=cos() -> minima of sin

출력이 0에 도달하면 입력 값이 함수의 최소임을 알 수 있습니다.

훈련이 줄어들고 0을 쓸어내는 데 시간이 오래 걸립니다.

이것은이 질문의 저자에게는 너무 늦게 나옵니다. 아마도 누군가가 이것을 읽을 때 일부 최적화 알고리즘을 테스트하고 싶어 할 수도 있습니다.

머신 러닝 (NN, SVM, 다중 선형 회귀, K 가장 가까운 이웃)에서 회귀 분석을 수행하고 회귀 기능을 최소화 (최대화)하려는 경우 실제로는 가능하지만 이러한 알고리즘의 효율성은 부드럽기에 따라 다릅니다. 당신이 검색하는 지역의 계단 크기 ... 등).

그러한 "기계 학습 회귀"를 구성하려면 사용할 수 있습니다. Scikit- 학습. MLR을 훈련시키고 검증해야합니다 벡터 회귀를 지원합니다. ( "적합"방법)

SVR.fit(Sm_Data_X,Sm_Data_y)

그런 다음 배열 "x"에 대한 회귀 예측을 반환하는 함수를 정의해야합니다.

def fun(x):
    return SVR.predict(x)

당신이 사용할 수있는 scipiy.optimize.minimize 최적화를 위해. DOC-Links 다음의 예를 참조하십시오.

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