2012-11-20 5 views
0

스팸을 감지하기위한 신경망을 만들었습니다. 다음 단계가 포함됩니다.신경망 훈련에서 이상한 행동 은요?

1.Formation of tf-idf matrix of terms and mails. 
2.Reduction of matrix using PCA. 
3.Feeding the 20 most important terms according to eigen values to neural network as features. 

나는 1-Spam 및 0-Not 스팸에 대해 교육 할 것입니다.

EDITS : 행렬을 형성하는 동안 메모리 부족 오류가 표시되기 쉽기 때문에 일곱 개의 메일 크기를 사용하여 교육하기로 결정했습니다. 나는 햄과 스팸의 표준 엔론 데이터 세트를 사용했다. 첫 번째 레이어에 20 개의 뉴런과 6 개의 숨겨진 레이어 뉴런을 사용하여 역 전파 -1 입력 -1 숨겨진 -1 출력 레이어를 통해 신경 네트워크를 학습했습니다.

그래서 Gmail에서 원래의 스팸 메일을 사용하여 교육을 시작하여 매우 나쁜 결과를 얻었습니다. 그런 다음 엔론 데이터 세트로 전환했습니다. 만족스러운 결과물은 훈련 후 꽤 많이 얻어졌습니다.

테스트했을 때 14 개의 메일 중 6 개의 메일이 스팸으로 탐지되었습니다.

스팸 메일의 배치 1과 햄 메일의 배치 2와 같은 대체 교육을 사용하여 네트워크가 스팸의 경우 1 출력, 햄의 경우 0으로 교육됩니다.

하지만 지금은 거의 400-500 개의 메일을 너무 많이 훈련 한 후에 나쁜 결과가 다시 나타납니다. 나는 학습 속도를 줄 였지만 아무런 도움도받지 못했다. 왜 잘못 되었나요?

+0

여기에 많은 정보를 제공하지 않습니다. –

+0

내가 편집했습니다. 특정 정보가 필요하면 말해줘. 나는 아주 붙어있다. 감사합니다 – Hooli

+0

에포크 수가 적 으면 예상 결과가 나옵니까? 그렇다면 데이터 세트가 너무 작거나 편향되어 있거나 네트워크가 과부하 상태입니다. http://en.wikipedia.org/wiki/Overfitting –

답변

0

내 의견을 대답으로 요약하면 예상되는 결과를 얻을 수 있고 추가 교육을 거친 후에 출력이 정확하지 않으면 overtrained 일 가능성이 큽니다.

데이터 세트가 작거나 충분히 가변적이지 않은 경우 특히 그렇습니다. 에포크의 최적 수를 찾는 것은 대부분 시행 착오입니다.

+0

아 맞다! 명확성을 가져 주셔서 감사합니다! 지금 상태는 내가 1000 에포스를 가져 가고있어. 내가 바꿔야 할까? – Hooli

+0

@IDK 다른 금액을 사용해 비교해보십시오. 50, 100, 250, 500, 1000, 2000, 3000 그래프를 작성하면 그 영향을 실제로 볼 수 있습니다. 이는 다양한 정확도를 제공합니다. –