ML 기계학습 - 지도학습 지도학습(Supervised Learning) 정의 지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태(vector)로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다. 지도 학습기(Supervised Learner)가 하는 작업은 훈련 데이터로부터 주어진 데이터에 대해 예측하고자 하는 값을 올바로 추측해내는 것이다. 이 목표를 달성하기 위해서는 학습기가 "알맞은" 방법을 통하여 기존의 훈련 데이터로부터 나타나지 않던 상황까지도 일반화하여 처리할 수 있어야 한다. 사람과 동물에 대응하는 심리학으로는 개념 학습(Concept Learning)을 예로 들 수 있다. 지도 학습이란 이미 주어진 입력에 대해 어떤 결과가 나올지 알고 있는, 전문 용어로는 labeling이 된, 출력과의 관계를 이용해서 데이터 들을 해석할 수 있는 모델을 만들고, 그것을 바탕으로 새로운 데이터를 추정(predict)하는 것을 말한다. 즉, 과거의 지식을 이용해 미래를 예측하는 것과 마찬가지 이다. 좋은 학습 결과를 얻으려면, 일반적으로 훈련 데이터(training data)의 양이 많아야 하며, 훈련 데이터가 범용성(generalization)을 갖고 있어야 한다. 지도학습(Supervised Learning) 단계 지도학습은 다음 단계를 거친다. 1. 학습에 사용할 훈련 데이터를 정한다. 2. 훈련 데이터를 모은다. 3. 입력의 특징(feature)을 어떻게 표현할 것인지 결정한다. 일반적으로는 벡터 형태(vector)로 표현을 한다. 차원의 저주(curse of dimensionality)에 빠지지 않도록 특징의 수를 너무 크게 해서는 안된다. 4. 학습 알고리즘을 결정한다. 지도 학습 방법을 사용할 알고리즘이 매우 많고 그 특성도 다양하기 때문에 적용할 분야에 맞춰 적절한 알고리즘을 선택해야 한다. 5. 훈련 데이터를 이용해 학습 알고리즘을 실행한다. 6. 만들어진 모델의 정확도를 평가한다. 보통은 훈련 데이터와 다른 테스트 데이터를 이용해 이 과정을 수행한다. 지도학습(Supervised Learning) 평가 방법 훈련 데이터로부터 하나의 함수가 유추되고 나면 해당 함수에 대한 평가를 통해 파라미터(parameter)를 최적화한다. 이러한 평가를 위해 교차 검증(Cross-Validation)이 이용되며 이를 위해 검증 집합(Validation Set) 을 다음의 3가지로 나눈다. 지도 학습(Supervised Learning) 알고리즘의 종류 - Artificial neural network 출처 Wikipedia 위키백과 LAON PEOPLEML 기계학습의 정의와 분류
> 훈련 집합(A Training Set)
> 검증 집합(A Validation Set)
> 테스트 집합(A Test Set)
이러한 교차 검증을 통하여 훈련된 각 함수에 대해 정밀도(Precision)와 재현율(Recall)를 측정할 수 있으며 그 정의는 아래와 같다.
- Boosting
- Bayesian statistics
- Decision tree
- Gaussian process regression
- Nearest neighbor algorithm
- Support vector machine
- Random forests
- Symbolic machine learning
- Ensembles of classifiers
'MachineLearning' 카테고리의 다른 글
Machine Learning with the tools IPython Notebook Usage (0) | 2017.02.04 |
---|---|
Machine Learning with the tools IPython Notebook & GraphLab Create on AWS (0) | 2017.02.04 |
Machine Learning with the tools IPython Notebook & GraphLab Create (0) | 2017.02.02 |
Machine Learning Introduction (0) | 2017.02.01 |
ML 기계학습의 정의와 분류 (0) | 2016.12.26 |