머신러닝 1
Machine Learning(1)
정의
Machine Learning은
작업 T를 수행하기 위하여
경험 E로부터 획득한 데이터를 기반으로 모델을 자동으로 구성하여
성능 P를 향상시킬 수 있는 컴퓨터 프로그램이다.
Machine Learning이 주로 필요한 문제
- 명시적 문제 해결 지식의 부재(알고리즘 부재)
- 프로그래밍이 어려운 문제
- 지속적으로 변화하는 문제
Rule-base system
사람이 처음부터 끝까지 직접 규칙을 작성하여야 한다.
(해당 분야의 경험이 많은 전문가가 작성)
=> 복잡하고 어렵다.
Machine Learning
- 대상을 설명할 수 있는 가장 중요한 자질(Feature)추출
- Feature Extraction
- 사람이 판단하여 가장 중요한 속송/자질 결정
- 학습 데이터 수집
- Feature Vector로 표현
- 학습 알고리즘 (분류기) 학습(Traning)
- 일반화 (Generalization)
- 정답을 같이 주기 때문에 Supervised/교사/지도 학습이라 부름
- 적용 (Inference/Prediction)
- 실제 예측할 때에는 Feature Vector만 입력
- 학습한 것 중에서 Feature Vector에 가장 적합한 클래스 출력
어떤 Feature를 사용해야 하는가?
-> 주로 사람(전문가)가 결정
학습데이터는?
-> 많으면 많을수록 좋다,단! noise가 없어야 한다.
Machine Learning 방법 분류
- Supervised Learning (교사/지도 학습)
- Classification : 입력에 대한 class 예측
- Regression : 입력에 대한 출력값을 예측
-
Unsupervised Learning (비교사/비지도 학습)
- Clustering : 입력들을 grouping 짓기
- Reinforcement Learning (강화 학습)
Classification
supervised, 교사/지도 학습 (정답 제공)
예측해야 하는 출려깅 미리 정해져 있는 값중 하나일때
대표적 방법론 : Naive Bayes Classifier
Regression
supervised, 교사/지도 학습 (정답 제공)
예측해야 하는 출력이 number(continuous value)일때
대표적 방법론 : Linear Regression
Clustering
unsupervised, 비교사/비지도 학습 (정답이 주어지지 않는다)
입력들을 쪼개서(partitioning) cluster(group)dmfh sksnsek.
대표적 방법론 : K-means clustering