AI/[도서] 인공지능, 보안을 배우다

2. 핵심 머신러닝 기술

lartist 2020. 1. 15. 15:06

1. 머신러닝 프로세스

머신러닝 프로세스

1) 데이터 수집 단계

어떤 데이터를 수집할 것인가? <- 어떤 문제를 해결하고싶은가?

얼마나 수집할 것인가? <- 모델에 따라 다르지만 일단 많을 수록 좋다.

 

2) 특징 공학

특징 공학 프로세스

- 관찰: 데이터의 형식, 분포 등 관찰

- 전처리: 누락/오류 값 수정, 파싱 등

- 추출

= 그대로 사용

= 통계 수치 활용: ex. 평균

= 도메인 특성 반영: ex. 프로그램 데이터 영역의 엔트로피 값

 

- 선택: 추출된 특징 중 선별

차원의 저주curse of dimensionality: 특징 정보가 과도하게 많을 경우 필요한 데이터 개수가 크게 증가

다양한 알고리즘을 사용한 여러 모델을 테스트하여 선택

ex. SVM, RF, Naive Bayes, DNN을 활용한 악성코드 탐지

 

- 변환

= 정규화, 스케일링: 데이터 크기를 비슷한 수준으로 조절하여 각 특징의 가중치 조절

= one-hot encoding: 범주형 데이터를 수치형으로 변환

 

3) 모델링

...

- 모델 성능 개선

= 배깅bagging: 전체 데이터를 나누어 학습 후 전체 결과 집계. 병렬 학습

= 부스팅boosting: 배깅과 같이 나누어 학습하되 순차적으로 가중치를 적용하여 결과 개선.

= 스태킹stacking: 여러 모델을 조합하여 각 결과를 비교