2014-06-17 5 views
-2

신경망을 만들려고하는데 aforge 프레임 워크를 사용하고 있습니다. 나는 3 개의 입력, 20 개의 출력 데이터를 가지고있다. 다음과 같은 입력 : 0.4397 1.4492 0.57, 0.4296 1.5271 0.615 등. 그리고 데이터는 다음과 같이 출력됩니다 : [000010000000000, 0,0,0,0,0], [0100000000000000000, 0] 등 출력을 계산하고 있습니다 : enter image description here신경망 출력 계산

나는 출력이 [0,1]이지만 [-1,1]이되어야한다는 것을 알고 있습니다. 기차 데이터 (100으로 나눕니다)와 출력 데이터 (100으로 나눕니다)를 정규화했습니다.

내 문제는 무엇입니까? 미리 감사드립니다. (죄송합니다 내 영어)

+0

왜 출력이 [0,1]의 범위 내에 있어야한다고 생각하십니까? –

+0

[0,1] 출력을 얻는 백 스크립트 기능. 가치가 없다. 내 문제는 정규화 및 비정규 화라고 생각하지만 어떻게 성공할 수 있는지 모르겠습니다. – user3425879

+0

질문에 귀하의 코드를 추가하십시오 –

답변

0

다중 층 퍼셉트론 (각 가정에서 사용하는 가정)의 출력은 [0, 1] 또는 [-1, 1]에 있지 않지만 [-∞ , + ∞]. 이러한 방식으로 MLP는 회귀 또는 분류를 수행 할 수 있습니다. 귀하의 경우, 분류 문제에 사용하기 때문에, 출력은 특정 간격으로 출력을 제한하는 활성화 기능을 통해 전달됩니다.

일반적으로 사용되는 두 같은 함수 [1 -1] 각각 [0, 1]의 출력 매핑 시그 모이 드 함수 쌍곡선 탄젠트 함수이다. 귀하의 경우 프레임 워크는 쌍곡선 함수를 기본 활성화로 사용합니다. 그 매개 변수를 찾으면 그것은 Sigmoid/Logistic 또는 비슷한 것입니다.

추신 : 위의 질문과 상관없이 해결하려는 문제가 올바르게 공식화되었는지 확인하십시오. 3 개의 입력과 20 개의 출력은 분류 문제로는 거의 보이지 않습니다.

+0

사실입니다. "3 개의 입력과 20 개의 출력은 분류 문제로는 거의 보이지 않습니다." :( – user3425879