머신러닝 학습 방법(Supervised, Unsupervised, Reinforcement)
머신러닝의 데이터 학습 방법에는 지도 학습 (Supervised Learning)과 자율 학습 (Unsupervised Leaning), 강화 학습(Reinforcement Learning) 3가지 타입이 있다.
지도 학습 (Supervised Learning)과 자율 학습 (Unsupervised Leaning)에 사용되는 알고리즘은 아래 그림과 같이 나눌 수 있다.
[지도 학습 (Supervised Learning)]
지도 학습(Supervised Learning)은 데이터에 대한 레이블(Label)-명시적인 정답-이 주어진 상태에서 컴퓨터를 학습시키는 방법이다. 이렇게 구성된 트레이닝 데이터셋으로 학습이 끝나면, 레이블(label)이 지정되지 않은 테스트 데이터셋(test set)을 이용해서, 학습된 알고리즘이 얼마나 정확히 예측(Prediction)하는지를 측정할 수 있다.
이러한 평가를 위해 교차검증(Cross-Validation)이 이용되며 이를 위해 훈련 집합(A Training Set), 검증 집합(A Validation Set), 테스트 집합(A Test Set)으로 나눈다. 교차 검증을 통하여 훈련된 각 함수에 대해 정밀도(Precision)와 재현율(Recall)를 측정 할 수 있다.
훈련 데이터는 일반적으로 입력 개체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식 하는것을 분류(Classification)라 한다. 지도학습기(Supervised Learner)가 하는 작업은 훈련 데이터로부터 주어진 데이터에 대해 예측하고자 하는 값을 올바로 추측해내는 것이다. 이 목표를 달성하기 위해서는 학습기가 "알맞은" 방법을 통하여 기존의 훈련 데이터로부터 나타나지 않던 상황까지도 일반화하여 처리할 수 있어야 한다. 훈련데이터로부터 하나의 함수가 유추되고 나면 해당 함수에 대한 평가를 통해 파라미터 최적화를 한다. 지도 학습은 직관적이기 때문에 다른 학습법에 비해 상대적으로 이해하기가 쉽지만, 정확한 학습 결과를 얻으려면 고품질의 많은 학습 데이터셋이 필요하다.
[자율 학습 (Unsupervised Leaning)]
자율 학습(Unsupervised Learning)은 기계학습의 일종으로 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속한다. 이 방법은 지도 학습(Supervised Learning) 혹은 강화 학습(Reinforcement Learning)과 달리 입력 값에 대한 목표치가 주어지지 않는다. 자율학습은 통계의 밀도 추정(Density Estimation)과 깊은 연관이 있다. 이러한 자율학습은 데이터의 주요 특징을 요악하고 설명할 수 있다. 자율학습의 예로는 클러스터링(Clustering), 독립 성분 분석(Independent Component Analysis), 연관성 규칙, 데이터 축소 등이 있다.
자율 학습은 학습할 데이터셋만 있으면 스스로 학습하기 때문에 편리하기는 하지만 지도 학습에 비해 어려우며, 특정 결과에 대한 가이드가 없기 때문에 기대했던 것과 다른 결과가 나올 수도 있다.
[강화 학습 (Reinforcement Learning)]
강화 학습(Reinforcement learning)은 기계 학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다. 즉 훈련을 잘 따르면 보상(reward)를 주고 못하면 벌(punishment)을 주어 감독관이 원하는 방향으로 학습을 하게 된다.
지도 학습처럼 입력과 출력이 명확한 관계를 갖고 있는 상황이 아니라 환경과의 상호 작용의 결과로서 학습을 하거나 경우의 수가 너무 많아 옳고 그름에 대해 사전에 명확하게 기술하기 어려운 환경에 적합한 학습방법이다.
이러한 문제는 매우 포괄적이기 때문에 게임 이론, 제어이론, 운용 과학, 정보 이론, 시뮬레이션 기반 최적화, 다중 에이전트 시스템, 군집 지능, 통계학, 유전 알고리즘 등의 분야에 사용된다.
[참고자료]
l https://ko.wikipedia.org/wiki/%EA%B0%95%ED%99%94_%ED%95%99%EC%8A%B5
2020-03-08/ Sungwook Kang / http://sungwookkang.com
인공지능, Artificial Intelligence, 머신러닝, Machine Learning, 딥러닝, Deep Learning, AI, 신경망, 뉴럴 네트워크, 강화학습, 지도학습, 자율학습, Supervised Learning, Unsupervised Leaning, Reinforcement Learning
'SW Engineering > 머신러닝 딥러닝' 카테고리의 다른 글
다층 퍼셉트론 (Multi-layer Perceptron) (0) | 2020.03.12 |
---|---|
단층 퍼셉트론 (Single-layer Perceptron) (0) | 2020.03.12 |
인공지능 / 머신러닝 / 딥러닝 개념 (0) | 2020.03.08 |
CNN (Convolutional Neural Network) 개념 (0) | 2020.03.07 |
파이썬과 OpenCV를 이용한 성별 및 연령 판별하기 (2) | 2020.03.03 |