2017-01-15 3 views
0

이진 분류의 맥락에서, 나는 tanh 활성화 함수를 사용하여 숨겨진 레이어가 1 개인 신경망을 사용합니다. 입력은 word2vect 모델로부터 나오며 정규화됩니다.TensorFlow : 이진 분류 정확도

분류 자 ​​정확도는 49 % -54 %입니다.

혼란 행렬을 사용하여 진행 상황을보다 잘 이해했습니다. 입력 레이어의 피쳐 수와 숨겨진 레이어의 뉴런 수의 정확도에 미치는 영향을 연구합니다.

혼란 행렬에서 관찰 할 수있는 사실은 모델이 때로는 대부분의 선을 긍정으로, 때로는 대부분을 네거티브로 예측한다는 것입니다.

이 문제가 발생하는 이유는 무엇입니까? 그리고 다른 점 (입력 크기 및 숨겨진 레이어 크기 제외)이 분류의 정확성에 영향을 줄 수 있습니까?

감사합니다.

+0

동전 던지기보다 낫지 않습니다. 신경망을 제쳐 놓고 다른 것을하기 전에 데이터를 더 잘 이해해야합니다. 로지스틱 회귀를 시도하는 것도 좋습니다. – duffymo

답변

0

정보를 제공 할 때 추측하기가 약간 어렵습니다. 레이블이 균형을 이루고 있습니까 (50 %의 긍정적 인, 50 %의 네거티브)? 따라서 귀하의 네트워크 성능이 랜덤 성능에 해당하므로 네트워크가 전혀 교육되지 않았 음을 의미합니다. 사전 처리에 버그가있을 수 있습니까? 아니면 그 일이 너무 어렵습니까? 훈련 세트 크기는 얼마입니까?

뉴런의 수가 문제가된다고 생각하지 않습니다. 합리적인 한, 수백 또는 수천입니다. 이 도움이 https://www.tensorflow.org/api_docs/python/nn/classification#softmax_cross_entropy_with_logits

희망 :

또는, 다중 클래스 분류에 대한 표준이며, 또한 이진 분류에 이용 될 수있는 또 다른 손실 함수, 즉 크로스 엔트로피를 시도 할 수 있습니다.

+0

데이터 세트의 균형이 잘 맞으며 50 % 양수 및 음수입니다. 트레이닝 세트 형상 인 (411,426, X) 트레이닝 세트 모양이다 (68,572, X)이 X는 word2vec 오는 기능의 수이고, I는 I 가지고 [100,300] 사이의 값으로 시도 1 개의 숨겨진 레이어와 내가 테스트 한 뉴런의 수는 [100,300] 사이에서 다양했습니다. 또한 숨겨진 레이어의 작은 특징/뉴런 크기 : 2 ~ 20 개의 기능과 10 개의 뉴런으로 테스트합니다. 크로스 엔트로피도 비용 측면에서 사용합니다. – fhe

+0

나는 라벨이나 다른 곳에 약간의 오류가있을 것이라고 강력히 믿는다. word2vec를 입력으로 사용하면 이미 훌륭한 표현을 얻을 수 있습니다. 따라서 선형 모델 (SVM)을 시도해 보는 것이 좋습니다. SVM은 작업이 가능한 경우 임의의 성능보다 확실하게 제공해야합니다. 이를 위해 작업이 무엇인지 알 수 있습니다. 깊은 그물이 그것을 풀 수 있기를 희망하는 것이 현실적입니까? –

+0

신경망 구현이나 입력 데이터에서 문제가 발생하는지 확인하려면 to_dense() 함수와 함께 tf-idf 표현을 사용했습니다. TF-IDF의 결과와 매개 변수의 약간의 변경은 78 %의 정확도입니다. – fhe

-2

데이터 세트의 균형이 잘 맞으며 50 % 양수 및 음수입니다.

훈련 세트 모양

X가 word2vec에서 나오는 기능의 수 (68,572 X)

이 훈련 세트 모양이다 (X 411426)와 나는 사이의 값으로 시도 [ 숨겨진에 2-20 특징 10 개 뉴런 : 100300]

제가 I는 걸쭉한 작은 기능 테스트

은/뉴런 크기 1 은닉층 및 I는 [100,300]

간의 다양한 테스트 뉴런의 수를 층. 크로스 엔트로피도 비용 측면에서 사용합니다.

+0

답변을 추가하지 마십시오. 이 대화 상자가 아닙니다. 원래 질문을 편집하십시오. – duffymo