Spam Classifier - Theory

2019. 2. 14. 13:13Artificial Intelligence

* 첨부된 자료의 저작권은 CORSERA에 있음을 미리 밝힙니다.




Building A Spam Classifier





이번 시간에는 그동안 배운 Machine Learning의 지식을 응용해서 스팸 메일을 걸러내는 Spam Classifier를 모델링해보았다.

우선은 모델링을 하기 위해 어떤 방식으로 문제를 설정하고 Feature들을 설정해야할지를 고민해야 한다.

이때, 초기 모델은 단순하며 빠르게 구현할 수 있는 것으로 설정하는 것이 좋다.


Spam Classifier는 Supervised Learning(지도학습)으로 학습을 시키는 것이 좋다.

지도학습이란, 데이터를 주고 그 데이터가 가져와야할 바람직한 결과까지 입력하여 학습을 시키는 것이다.

이 문제의 경우 스팸 메일 데이터를 넘겨주면서 이것이 스팸메일이라는 것을 알려주는 식의 학습방법을 의미한다.


x = features of email

y = 1 (if spam), y = 0 (if not spam) 

이렇게 문제를 설정하고

features 들을 잘 설정하여 모델링을 구현해야 한다.



save image



Machine Learning Problem을 해결하기 위해 권장되는 접근 방식은 아래와 같다.


1. 단순한 알고리즘으로 시작하여 빠르게 구현하고, 빠르게 Cross - Validation을 이용해서 검증해보라

2. Learning Curve를 그린 다음, 많은 데이터나 많은 Feature들이 더 도움이 될 지를 판단해보라

3. Cross - Validation에서 나오는 error의 경향을 찾아 수정해보라 (Manually)



3번의 경우는 예를 들어 다음과 같다. 

500개의 이메일이 있는데, 우리의 기계학습 알고리즘이 이 중 100개를 잘못 식별하였다.

이 경우 100개를 직접 분석해보면서 에러의 주 원인을 식별한다는 것이다. 





save image





반응형