머신러닝 입문
1. 기본과정
- 목표결정
- 데이터 수집
- 데이터 가공
- 데이터 학습
- 머신러닝 방법(알고리즘) 선택
- 매개변수 조정
- 데이터를 학습해서 모델 구축
- 모델 평가
- 만족스러운 정답률이 나올때까지 4에서 다시 반복
- 업무에 적용
2. 데이터 수집 / 가공
머신런닝에서 많이 사용되는 데이터 형식 : CSV, INI, XML, JSON, YAML
데이터량이 많은경우는 RDB 를 이용하면 된다. 기본적으로 Python 으로 처리하는 경우 Python 에서 읽고 저장하기 쉬운 포맷 또는 방식을 선택하는것이 좋다.
차원의 저주 (Curse of dimensionality)
사용할수 있을 것 같은 데이터를 모두 학습 대상ㅇ에 넣어버리면 성능을 충분히 발휘할수 없습니다. 특징량(차원)이 너무 많아지면 머신러닝 모델이 효율적으로 분류(또는 회귀)를 할 수 없게 되는데, 이를 차원의 저주라고 합니다.
3. 데이터 정규화
정규화(normalization) 란 데이터를 일정한 규칙을 기반으로 가공해서 사용하기 쉽게 만드는 것입니다.
초과학습(overfitting)
초과학습이란 학습을 지나치게 한 탓에 미지의 데이터에 대한 답을 제대로 내지 못하는 현상을 의미합니다. 학습 전용 데이터에 너무 특화돼 이외의 데이터에 대한 판단을 제대로 못 하는 것입니다.
초과학습을 막으려면 편향된 학습을 막아야 합니다. 즉 균형 있게 학습하면 됩니다. 따라서 정답률이 제대로 나오지 않으면 학습 데이터가 너무 적지 않은지, 데이터가 한쪽으로 편향되지 않았는지 등을 확인해야 합니다. 이러한 경우 학습 데이터의 수를 늘리거나 알고리즘을 변경하면 정답률을 어느 정도 올릴 수 있습니다.
4. 머신러닝 프레임워크
1. scikit-learn (http://scikit-learn.org)
- 사이킷-런(scikit-learn)은 대표적인 Python 머신러닝 프레임워크입니다. 특징은 아래와 같습니다.
- 다양한 머신러닝 알고리즘을 제공함
- 곧바로 머신러닝을 테스트할 수 있게 다양한 샘플 데이터 제공함
- 머신러닝 결과를 검증하는 기능도 있음
- 머신러닝에서 많이 사용되는 라이브러리(Pandas, NumPy, Scipy, Matplotlib등)와 함께 사용하기 쉬움
- BSD 라이선라서 무료로 상업적 사용이 가능함.
머신러닝 리포지토리 : https://archive.ics.uci.edu/ml/datasets
참고 서적 : 파이썬을 이용한 머신러닝, 딥러닝 실전 앱 개발 (http://www.yes24.com/Product/Goods/71051687?scode=032&OzSrank=10)
'AI' 카테고리의 다른 글
추천시스템 맛보기 1탄 (0) | 2019.10.03 |
---|---|
머신러닝 맛보기 8탄 (0) | 2019.05.27 |
머신러닝 맛보기 7탄 (0) | 2019.05.09 |
머신러닝 맛보기 6탄 (0) | 2019.05.02 |
머신러닝 맛보기 4탄 - 핸즈온 (0) | 2019.04.08 |
머신러닝 맛보기 3탄 (0) | 2019.03.19 |
머신러닝 맛보기 2탄 (0) | 2019.03.19 |
머신러닝 맛보기 1탄 (0) | 2019.03.18 |
댓글