2017-04-19 1 views
0

trainNetwork()의 ​​출력 유형은 반드시 범주()이어야합니다. 플로트/실제 출력으로 CNN을 만들려면 어떻게해야합니까?실제 출력으로 CNN을 만들 수 있습니까?

>> convnet = trainNetwork(input_datas, [0.0, 0.1, 0.2, 0.3], networkLayers, opts); 
Error using trainNetwork>iAssertCategoricalResponseVector (line 269) 
Y must be a vector of categorical responses. 

는 (에러 메시지는 [0.0, 0.1, 0.2, 0.3]의 벡터에 대응),하지만 실제 출력하지 카테고리 필요

난 다음 명령은 다음과 같은 오류를 범 의미한다. 당신이 당신의 마지막 레이어를 변경해야이 작업을 수행하는

>> networkLayers= 

5x1 Layer array with layers: 
    1 '' Image Input  1x6000x1 images with 'zerocenter' normalization 
    2 '' Convolution  10 1x100 convolutions with stride [1 1] and padding [0 0] 
    3 '' Max Pooling  1x20 max pooling with stride [10 10] and padding [0 0] 
    4 '' Fully Connected 200 fully connected layer 
    5 '' Fully Connected 1 fully connected layer 

답변

0

대답은 회귀 대 두 부분

1. 분류됩니다 This post describe shortly 있도록

Regression: the output variable takes continuous values.

Classification: the output variable takes class labels.

내 문제였다 내가 회귀 문제에 대한 신경 네트워크를 필요로하는 (내가 질문을 할 때) 분류가 아닙니다.

2. matlab에는

는 매트랩 신경 네트워크와 함께 작동하는 두 가지 기본 방법이 있습니다 프레임 워크.

이전 프레임 워크는 "신경망"클래스를 사용하여 모든 네트워크를 정의했습니다. 일부 기본 네트워크는이 방법으로 쉽게 구축 할 수 있지만 (예 : feedforwardnet 또는 layrecnet) 복잡한 네트워크를 구축하는 것은 어려운 작업입니다. 네트워크 클래스로 맞춤형 신경망을 구축하는 방법에 대한 자세한 내용은 here을 참조하십시오.

최신 방법론이 R2016a에 도입되었습니다. 소개는 here입니다. 이 프레임 워크를 사용하려고했습니다. 그러나이 프레임 워크는 2017a에서만 회귀 문제를 지원합니다! 그래서 이것은 정말 새로운 도구입니다. 그러나 회귀 문제에 newwer 프레임 워크를 사용하는 것에 대한 설명은 here에서 찾을 수 있습니다.

0

:

networkLayers은 다음이다. 이것은 평균 제곱 오차 함수 일 수 있습니다. this issue explain how can you do this

또한 회귀라고합니다. 손실 기능을 수동으로 추가해야합니다.

관련 문제