2017-12-24 15 views
0

저는이 분야의 초보자입니다. 잠시 동안 tflearn을 시도하고이 링크의 빠른 시작 가이드에 갇혀 있습니다.tflearn 빠른 시작의 타이타닉 케이스에 왜 두 개의 출력이 있습니까?

http://tflearn.org/tutorials/quickstart.html

내가 그것을 시도하고 그것이 78 %의 주위에 정확성과 완벽하게 작동하지만 문제는 "라벨은"두 가지로 구성되어 왜 내가 이해하지 못하는 것입니다 서로 반대 열 "생존". 나는 동일한 데이터를 훈련했지만 레이블이나 출력에서 ​​단 하나의 "살아남은"열만 사용했지만 동일한 코드를 사용하면 0 % 손실 또는 심지어 NaN 손실로 약 36 %가 발생합니다.

왜 출력/라벨이 두 열입니까? 왜 단 하나의 열만 사용할 수 없습니까?

감사합니다.

답변

0

두 개의 다른 열은 onehot 인코딩 된 레이블을 나타냅니다. 당신은 그것의 완료 방법을 확인할 수 있습니다 here 어느 softmax 활성화 기능을 가진 마지막 레이어의 선택 일반적입니다.

그러나이를 하나의 것으로 바꾸려면 활성화 기능을 sigmoid로 변경해야합니다. 또한 load_csv 코드를 n_classes=1으로 변경하는 것을 잊지 마십시오. 모델을 작성하기위한 샘플 코드는 다음과 같습니다.

# Build neural network 
net = tflearn.input_data(shape=[None, 6]) 
net = tflearn.fully_connected(net, 32) 
net = tflearn.fully_connected(net, 32) 
net = tflearn.fully_connected(net, 1, activation='sigmoid') 
net = tflearn.regression(net) 

이렇게하면 생존 확률이 높아집니다.