2017-10-20 3 views
0

5 개의 숨겨진 레이어와 각각 256 개의 뉴런이있는 멀티 레이어 퍼셉트론이 있습니다. 훈련을 시작하면 각 열차 샘플마다 50 번까지 서로 다른 예측 확률을 얻지 만에 후크 300의 중복 예측 수가 증가합니다. 이미 중복 된 예측 30 %가 있습니다. 이는 입력 데이터가 서로 다르므로 의미가 없습니다. 모든 훈련 견본. 이 문제의 원인은 무엇입니까?Tensorflow : 훈련 중 복제 예측 횟수 증가

정정 내용 : "중복 예측"나는 (이 이진 분류 문제입니다)

I (200) 4000 개 훈련 샘플이 클래스 A에 속하는 정확히 같은 예측 확률로 아이템 의미와

각 샘플과 모든 샘플의 기능이 다르므로 중복 예측의 수가 30 %까지 증가한다는 것은 의미가 없습니다. 그래서 나는이 행동을 일으킬 수있는 것이 무엇인지 궁금합니다.

+1

많은 것들이있을 수 있습니다. NN은 예를 들어 상수를 배울 수 있습니다. 코드와 선호하는 데이터도 함께 표시하십시오. – Maxim

+1

중복 예측이란 무엇입니까? –

+0

Tom, 질문을 수정하여 답변을 추가하지 말고 수정해야합니다. 이와 같은 답변을 추가하면 질문에 대한 답변이 표시되고 다른 사용자가 볼 가능성이 줄어 듭니다. 나는 그 답의 텍스트를 당신을위한 질문으로 옮겼습니다. 나는 답이 아닌 것으로 표시 했으므로 당신의 질문은 적절한 관심을 갖습니다. –

답변

0

원 포인트, 당신은 이진 예측을하고 있고, 당신이 "중복 예측"이라고 말할 때, 당신의 설명과 함께 당신의 의미를 이해하기 어렵다고 말합니다. 바이너리 분류기에 대해 두 개의 결과가 있다고 가정합니다. 하나는 A 클래스 용이고 다른 하나는 B 클래스 용이며, 주어진 샘플에 대해 대략 동일한 값을 얻고 있습니다. 그렇다면 첫 번째로해야 할 일은 1 개의 출력을 사용하는 것입니다. 이진 분류 문제는 0과 1 사이의 범위를 갖는 1 개의 출력으로 더 잘 모델화됩니다 (출력 뉴런에 시그 모이 드로). 이렇게하면 모호성이 없으며 네트워크가 하나를 선택해야합니다. 그렇지 않으면 혼란 스러울 때 ~ 0.5가 될 것이고 명확 할 것입니다.

둘째, 네트워크가 학습을 시작한 후 과적 훈련 후에 더 잘 수행하지 않는 것이 일반적입니다. 특히 소지품과 같은 작은 데이터 세트를 사용하는 경우. 사실, 당신의 데이터 세트에 대한 지식이 조금이라도 있긴하지만 XGA Boost와 같은 알고리즘을 사용하면 신경망보다는 더 나은 성능을 얻게 될 것입니다. (신경망과 퍼셉트론을 사용하지 않는다고 가정합니다.).

그러나 시간이 지남에 따라 성능이 저하됩니다. 이런 일이 생기면 "조기에 멈추는 것"이라고 불리는 것을 들여다보고 싶습니다. 어떤 시점에서 네트워크는 입력을 암기하기 시작할 것이고, 어떤 일이 일어나고 있는지 알 수 있습니다. 본질적으로 훈련 된 테스트 데이터의 성능이 악화되기 시작할 때까지 훈련을합니다.

이 문제를 해결하기 위해 다양한 형식의 정규화 (L2 정규화, 드롭 아웃, 일괄 정규화)를 적용 할 수 있습니다. 또한 네트워크의 크기를 줄일 수 있습니다. 256 개의 뉴런으로 구성된 5 개의 레이어가 너무 커서 문제가 발생합니다. 이것을 잘라 내면 결과가 향상 될 것입니다. 신경망에는 아키텍처 크기에 적합한 요소가 있습니다. 네트워크가 너무 크면 적합하지 않을 수 있습니다. 너무 작 으면 데이터에 대해 충분히 표현할 수 없습니다. Angrew Ng의 coursera 수업에는이 문제를 다루는 데 유용한 실용적인 조언이 있습니다.

관련 문제