본문 바로가기

TIL/개인공부

[2018 데이터챌린지] 악성코드 탐지 후기 2편

반응형

학습시작!


# 2018-11-13 수정


우리는 이번 챌린지에서 총 두가지 모델을 활용하여 학습을 진행했다.


1. LightGBM

2. DNN(pytorch)


이번대회에서 그래도 작년과는 달리 딥러닝 모델을 내가 직접짜서 대회에 참여했다는 것이 보람찼다.

간단한 DNN모델이지만 학습 데이터 형식을 맞추는게 제일 힘들었던거 같다.


해당 DNN 모델 파일은 다음 링크에서 볼수가 있다.

https://github.com/jaeyung1001/Malware-Detection


사실 예선이 시작되기전에 위의 두개 모델에서 정확도가 약 90%~95%까지 측정이 되어서

이번 대회도 본선까지는 무리는 없겠지 라는 생각을 하였으나...


예선에서는 정확도가 80%대 밖에 안나왔다...(여기서 멘붕)


파트너와 얘기하면서 꼽은 문제점은

1. 의미없이 너무 많은 feature를 선택

2. 1번과 같겠지만 feature분석 부족


또한 대회를 하면서 느낀건

1. feature가 많다고 좋은게 아니다, 분석의 중요성

2. 딥러닝이 항상좋은 알고리즘은 아니다

3. Overfitting의 무서움


1번같은 경우에는 전에도 알고있었지만 이렇게 몸으로 체험해본건 처음이다..ㅋㅋㅋ

나의 귀차니즘으로 인해서 데이터들의 분석이 부족했고 이게 정확도에 영향을 많이 끼친거같다.

다음에는 충분한 시간을 들여서 데이터 분석을 해야할꺼같다.


2번은 인공지능 분야가 아니라서 잘 모르겠지만 항상 딥러닝 알고리즘이 좋은 성능을 내는건 아닌거같다.

정말 간단한 모델이 더 정확도가 높을수가 있고 사소한 파라미터값이 전체적인 정확도에 영향을 미치는것을 알게되었다.


3번은 위에서도 말했지만 예선하기전에 검증 데이터셋으로 약 90%~95%의 정확도를 보여주었다. 하지만 예선때는..

80% 정확도를 보여주었고 이는 우리가 학습한 데이터에 overfitting이 되었다는걸 알수가 있었다.

추후에 이런 현상을 어떻게 해결해야하는지 조사를 해봐야할꺼 같다.


[수정] 파트너랑 대화해본결과 당시 학습할때 training데이터를 통째로 넣었었는데 이게 문제였던거 같다.

다음엔 batch size를 잡고 shuffle도 하면서 학습을 진행해야 할꺼같다.




어찌되었든.. 결과는 매우 안좋았지만 그만큼 많은걸 배웠던거 같다.

이번 예선전때 1위는 95%정확도를 보여주었다. 참 어느분야든 실력자가 많은거같다.


나는 언제 저렇게 잘할려나..?ㅎㅎ 라는 생각으로 대회 후기를 마친다.

반응형