0

고급 알츠하이머 병, 초기 알츠하이머 병 및 건강한 사람들 (3 클래스)을 가진 사람들의 3 차원 길쌈 신경 네트워크 [keras, tensorflow] 및 3D 두뇌 이미지가 있습니다. 나는 324 개의 이미지 세트와 74 개의 이미지 테스트 세트를 가지고있다. CNN을 훈련했을 때 나는 약 65-70 %의 정확도를 보였지만 테스트 세트에는 30-40 % 밖에 없었습니다. 테스트 데이터를 유효성 검사 데이터로 사용하고 교육 세트로 사용했을 때 나는 37 % 이상의 정확도를 얻지 못했고 손실은 전체 시간 동안 같은 수준으로 유지되었습니다. 매개 변수를 변경하지 마십시오. 결과는 같습니다. 나는 준비된 정규화 된 데이터를 .h5 파일에서 Python으로로드하고, 입력에는 shape (None, 90, 120, 80, 1)이있다. 나는 무엇이 잘못 될지 모른다는 생각을 가지고 있지 않다. 나는 코드를 여러 번 확인했고 모든 것이 정확하다고 보인다. relu 및 batch_normalizations, 3 조밀 층 및 드롭 아웃, softmax를길쌈 신경 네트워크는 테스트 세트 케라를 분류하지 않습니다.

내가 어떤 도움이나 아이디어를 주셔서 감사합니다 :

내 CNN은 4 conv3D 층, 3 최대 풀링, 활성화가 있습니다.

+0

아마도 매우 편향된 테스트 세트가있을 것입니다. 테스트 세트에 대해 너무 많은 특정 사례를 선택했습니다. 데이터가 작기 때문에 그럴 가능성이 희박하지 않습니다. 테스트 데이터와 기차 데이터의 건강/조기/고급 사례 비율이 비슷한지 확인하십시오. –

+0

데이터의 비율이 비슷합니다./ – alexmaria

답변

1

교육 데이터의 정확도가 65/70 % 인 경우 실제로 열악하며 신경망이 제대로 수렴하지 않음을 나타냅니다. 작은 입력 샘플의 출력을 효과적으로 하드 코딩하는 방법을 학습함으로써 구조가 충분히 복잡하면 네트워크가 학습 데이터를 과도하게 초과 할 수 있어야합니다. 그것의 소리로, 당신의 구조는 충분히 복잡합니다.

우선 학습 속도를 10 배로 낮추고 유효성 검사/조기 정지/정규화/정규화 및 초과 방지를 방지하는 다른 방법을 해제하십시오. 그런 다음 헹굼과 반복을 반복합니다. 각 반복은 LR을 10 배로 줄입니다. 훈련 데이터가 학습 데이터에 100 % 가까이 도달 할 때까지 반복합니다.

그런 다음 적절한 조기 중지, 중퇴, 정규화, 정규화 등의 작업을 통해 익숙한 학습 속도로 초과 적용되지 않도록 할 수 있습니다.

LR을 삭제해도 LR이 너무 작 으면 NN 구조에 문제가 있습니다.

+0

고마워요! 나는 그것을 시도 할 것이다. 실제로 정확도가 떨어졌지만 데이터가 복잡하고 85 %의 정확도까지 도달 할 수 있는지 알지 못합니다. 이제 내가 원하는 것은 CNN 작업 (테스트 세트의 경우 최소 60-70 %를 의미 함)입니다. – alexmaria