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: 여러 모델을 조합하여 각 결과를 비교