본문 바로가기

Data Mining & R

Supervised Learning, Unsupervised Learning

http://bcho.tistory.com/966

http://chapter5k.blogspot.kr/2016/01/supervised-learning-unsupervised.html

http://ddiri01.tistory.com/216


데이타마이닝을 할 때에 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)이 자주 거론된다.

지도학습(Supervised Learning)은 말 그대로 학습을 지도한다는 뜻으로,
훈련용 데이터(training data)에 알고리즘을 적용하여 함수를 추론하고, 이제 그 추론된 함수를 통해 컴퓨터가 알아서 답을 찾도록 만드는 것이다. 따라서 지도학습은 명확한 input과 output이 존재한다. 이러한 지도학습에는 분류(Classification)과 예측(Regression)이 있다.

먼저 예측(Regression)은 데이터를 대표하는 선형모델 등을 만들고 그 모델을 통해 미래의 사건을 예측하는 것이다.

분류(Classification)는 이전까지 학습된 데이터를 근거로, 새로운 데이터가 기존에 학습된 데이터에 분류가 되냐 안되냐를 판단할 수 있다.


비지도학습(Unsupervised Learning)에서도 역시 분류를 하지만, 컴퓨터에게 답을 알려줄 수 없다. 즉, 훈련용 데이터를 통해 함수를 추론할 수 없다. 컴퓨터가 알아서 분류를 하고, 의미있는 값을 보여준다. 따라서 예측 등이 아닌, 데이터가 어떻게 구성되어 있는지 밝히는데 주로 사용하고, 일종의 그룹핑 알고리즘으로 볼 수 있다.

이러한 지도학습, 비지도학습의 대표적인 알고리즘을 표로 정리해보았다.

지도학습
Classification
kNN
Naïve Bayes
Support Vector machine
Decision Tree
Regression
Linear regression
Locally weighted linear regression
Ridge
Lasso
비지도학습

Clustering
K means
Density estimation
Expectation maximization
Pazen window
DBSCAN



=================================================================================

Supervised learning (지도 학습)
학습에 사용되는 데이터에 결과가 정해졌 있는 경우를 Supervised Learning이라고 한다.
예를 들어, “아파트 평수가 22평일 때, 구매 가격이 1억이다”와 같은 경우인데, “구매가격이 1억이다”라는 결과 값이 정해져있는 경우이다.
반대로, 영화관 관람객 데이터가 있을 때, “20대x30 명, 30대x10명,40대x10명”과 같이 어떤 데이터데 대해서 그 결과값이 없을 경우에는 비지도 학습(Un-supervised learning이라고 한다)
여기서 용어를 한번 소개하고 넘어가자. 아래와 같이 지역,평수,층수에 따른 가격 데이터가 있다고 하자


가격은 앞의 3개 조건에 따라 변화하는 결과인데, 이 지역,평수,층수와 같은 조건을 Feature 또는 Attribute 라고 하며, 이 Feature에 따라 결정되는 값을 Targeted value(목적값)이라고 한다.


Regression problem vs Classification problem


이 Supervised learning은 문제의 타입 (problem type)에 따라 크게 두가지로 분류될 수 있다.

먼저 Regression problem이란 기대되는 목적값이 continuous 한 연속성을 가지고 있을 때, Regression problem 이라고 한다. 즉 평수에 의한 아파트 값은 Regression problem이다, 22평일 때 가격이 1억, 23평일 때 1.2억,24평일 때 1.4억과 같이 Feature x_i에 대해서 Targeted value y_i가 기대 되는 경우 Regression problem이라고 한다.

아래는 Regression problem에 대한 예로, 집 평수에 따른 가격에 대한 문제를 표현한 것이다. ( X는 실측 데이터)





 

반대로 Classification problem은 목적값이 continuous한 연속성이 없이 몇가지 값으로 끊어지는 경우이다. 예를 들어 “나이가 20대이고, 종양의 크기가 2cm이면 음성암”,”나이가 50대이고 종양의 크기가 3cm 이면 양성암” 과 같이 나이,종양과 같은 Feature에 대해서 기대되는 target value가 양성/음성과 같이 연속성이 없이 몇 개의 분류로 딱 떨어지는 경우를 Classification problem이라고 한다. 

아래는 “종양 크기에 따른 유방암 여부”에 대한 문제를 그래프로 표현한 것인데, Target value (Y축)의 값이 Yes/No로 딱 구분되는 것을 볼 수 있다.

 


Unsupervised learning (비지도 학습)

비지도 학습(Unsupervised learning)이란, Training data에 target value가 없는 경우를 말한다. 흔히 라벨링 (Labeling)이 안되어 있다고도하는데, 지도 학습(Supervised learning)과 비교를 해보면 개념을 잡기가 좋다.


  

왼쪽의 그래프를 Supervised learning이라고 하면, x1은 나이, x2는 종양의 크기라고 할 때 그래프에서 동그라미는 음성암, X는 양성암이다. x1,x2는 feature이고, O/X는 target value로 x1,x2에 대한 결과를 기대할 수 있는 문제 형태이지만

오른쪽 그래프는 unsupervised learning으로 x1,x2가 각각 나이,종양이라고 했을 때, 그래프 O는 같은 의미를 갖는 뿐 양성/음성으로 표시(labeled) 되지 않았다. 대신 이런 경우는 x1,x2와 같은 feature에 대해서 몇 개의 군집(Cluster)로 나눌 수 가 있는데, 그림의 붉은 동그라미 그룹이 군집 그룹에 속한다.

SNS에서 사용자들을 가까운 사람들 끼리 군집화 하거나, 시장에서 사용자들을 특정군으로 나누는 등에 사용될 수 있다.



==========================================================================

* Supervised learning (지도학습) 



supervised learning은 훈련데이터가 존재하고 그 훈련데이터로 machine learning을 해 predictive model을 만든다. 그리고 그 모델을 이용해 새로 도입되는 데이터가 어떤 class에 속하는지 판단하는 것이다. 

모델을 만들때 Training데이터에 기초하여 만들게 된다. 

이런 supervised learning의 평가를 위해 주로 교차검증(Cross validation)을 하게 된다.


교차검증은

데이터를 

훈련집합(A training set) 

검증집합(A validation set) 

테스트집합(A test set)

으로 나누고 교차검증을 통해 훈련된 함수에 대해서 정밀도(Precision)과 재현률(recall)을 측정함으로서 훈련성과를 평가 할수 있다.



 

 실제 결과(분류)

 참(T)

거짓(F) 

 추론된 결과(분류)

참 

TP(true positve) 

FP(false positive) 

 거짓 

FN(false negative) 

TN(true negative) 

정밀도 (Presion) = TP/(TP+FP)

재현률(Recall) = TP/(TP+FN)



*Unsupervised Learning (자율학습) 




반면 Unsupervised Learning은 supervised learning과는 다르게 사전정보가 없는것이 특징이다. 

이것도 기계학습의 일종으로서 데이터가 어떻게 구성되어 있는지 알아 내는것이다. 

Supervised learning 과 reinforcement learning과는 다르게 입력값에 대한 목표치(Label)이 주어지지 않는다. 


데이터의 주요특징을 요약하고 설명하는데 사용되는데 

예를들면

Clustering, ICA(independent component analysis) 등이 그 예이다.