머신러닝의 공학적 정의
어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정P에 대해 경험 E로 학습한 것이다.
by Tom Mitchell, 1997
머신러닝을 사용하는 이유
- 규칙이 동적으로 변할 필요가 있는 문제를 풀때.
- 전통적인 방식으로는 너무 복잡하거나, 알고리즘이 없는 문제를 해결할때.
- 대용량 데이터를 분석하여 보이지 않는 규칙을 도출할때.
머신러닝 시스템의 종류
사람의 감독 여부
머신러닝 시스템을 훈련하기 위한 데이터들(훈련 세트)이 주어질때 각 데이터에 정답을 표기한 경우 그 정답을 레이블 이라고 한다.
구분 | 비지도 학습 | 준지도 학습 | 지도학습 | 강화 학습 |
레이블 | 없다 | 일부 있다 | 전부 있다 | 계속 추가한다. |
유형 | 군집 이상치, 특이치 탐지 차원 축소 |
DBN RBM |
분류 회귀, 로지스틱 회귀 SVM |
알파고 |
준지도 학습
구글 포토나, 애플 사진첩은 사진을 분석하여 사람 얼굴의 군집을 만들지만, 실제 레이블링이 된 사진 (사용자가 얼굴을 확인하고 누군지 지정) 은 일부이다. 준지도 학습은 일부의 레이블링한 데이터를 기반으로 클래스를 설정하고 새로운 데이터를 분류한다.
점진적 학습 여부
구분 | 배치 학습 | 온라인 학습 |
학습의 점진성 | 불가 | 가능 |
특징 | 출시 전 학습을 완료한다. 자동화를 통해 주기적으로 시스템을 교체한다. |
출시 후 학습을 계속한다. 학습률로 변화에 대한 민감도를 조정한다. |
장점 | (교체 하기 전 까지) 모델에 변동이 없다. | 변화에 실시간으로 반응한다. |
단점 | 변화에 적응 할 수 없다. 학습 시 비용이 많이 든다. |
기존 학습한 특성이 소실 된다. 불량 데이터에 의해 성능이 감소 한다. |
일반화
사례 기반
- 훈련 샘플을 기반으로 한다.
- 새로운 샘플 유입 시 기존 샘플과의 유사도를 기반으로 분류한다.
모델 기반
- 학습으로 만들어진 모델을 기반으로 한다.
- 훈련이란 (선택한)모델이 데이터에 맞도록 파라미터를 찾아내는 과정이다.
- 새로운 샘플 유입 시 모델에 대입해 분류한다.
방해요소
- 부족한 데이터.
- 대표성 없는 데이터.
- 낮은 품질(노이즈, 쓰레기 값)의 데이터.
- 잘못 된 특성선택.
- 과대 적합: 훈련데이터에만 적합한 결과, 지나치게 복잡한 모델, 부족한 학습 데이터, 과도한 민감도 (하이퍼파라미터).
- 과소 적합: 훈련데이터조차 부적합한 결과, 지나치게 단순한 모델, 부실한 특성 선택, 부족한 민감도.
검증 방법
- 수 많은 모델, 수많은 파라미터를 모두 학습하고 검증하는건 현실적으로 불가능.
- 데이터를 훈련, 개발, 검증 세트로 나눔.
- 훈련 세트로 훈련 수행.
- 훈련 + 개발 세트로 모델 검증.
- 상위 일부 모델 간추린 후 검증 수행.
'개발 > 머신러닝' 카테고리의 다른 글
[요약] 핸즈온 머신러닝 - 07. 앙상블 학습과 랜덤 포레스트 (0) | 2022.05.29 |
---|---|
[요약] 핸즈온 머신러닝 - 06. 결정 트리 (0) | 2022.05.27 |
[요약] 핸즈온 머신러닝 - 05. SVM (0) | 2022.05.24 |
[요약] 핸즈온 머신러닝 - 04. 모델 훈련 (0) | 2022.05.06 |
[요약] 핸즈온 머신러닝 - 02. 머신러닝 프로젝트 처음부터 끝까지 (0) | 2022.04.21 |