[ AI 기초 ] 06. 지도학습 (Supervised Learning) 개념
지도학습
- 훈련데이터(training data)로부터 하나의 함수를 유추해내기 위한 기계학습의 한 방법
- 훈련데이터는 일반적으로 입력 객체에 대한 속성을 '벡터 형태'로 포함하고있으며, 각각의 벡터에대해 원하는 결과가 무엇인지 표시되어있음
- 이렇게 유추된 함수중 연속적인 값을 출력하는것 : 회귀분석(regression) / 주어진 입력벡터가 어떤 종류의 값인지 표시하는것 : 분류(classification)
1. Regression
[ Linear regression ]
- 종속변수와 한개이상의 독립변수와의 선형상관관계를 모델링하는 회귀분석기법
[ Machine Learning Algorithm Based Regression ]
- sickit-learn에서는 머신러닝알고리즘기반의 회귀모델들 제공됨
(ex.결정트리, 랜덤포레스트, 서포트베게터머신MLP, ada boost, gradient boosting)
[ Decision Tree Regression ]
- 데이터의 불순도(impurity, entropy)를 최소화하는방향으로 트리를 분기하여 모델을 생성
Regression 알고리즘의 평가 : R의 제곱
- scikit-learn 에서 지원하는 회귀모델 평가방법
- 학습된 모델이 얼마나 데이터 잘 표현하는지 정도를 나타내는 통계적인 지표사용될수있음
- 0 < R의제곱 < 1 범위 가짐
2. Classification
- 기존에 존재하는 데이터의 category관계를 파악하고, 새롭게 관측된 데이터의 category를 스스로 판별하는 과정
- 하나이상의 관측데이터를 통해 하나이상의 분류값을 예측
[ Logistic Regression ]
- Odds 는 어떤 일이 발생할 상대적인 비율개념을 사용해 선형회귀식을 변형함
[ Support Vector Machine (SVM) ]
- 주어진 데이터를 바탕으로 두 카테고리 사이의 간격(margin)을 최대한 데이터포인트를 찾아내고,
그 서포트벡터에 수직인 경계를 통해 분류하는 알고리즘
[Decision Tree ]
- 입력변수를 특정한 기준으로 분기해서 트리형태의 구조로 분류하는 모델
- 사람의 논리적 사고방식을 못하는 분류방법, 결과는 나무모양으로 그려질수있음
- IF-THEN rule의 조합으로 class 분류
Classification의 평가
Accuracy 정확도
- 모든 데이터에대해 클래스라벨을 얼마나 잘 맞혔는지 계산
Confusion Matrix : 정확도만으로는 리스크 있을수있기에 분류모델을 평가해야함
- precision 정밀도 : 1이라고 예측한것중 실제로 1인것
- sensitivity 민감도 : 실제로 1인것중에 1이라고 예측한것
- specificity 특이도 : 실제로 0인것중 0이라고 예측한것
- false alarm 오탐 : 실제로 0인것중 1이라고 예측한것
ROC Curve, AUC
- ROC Curve : 민감도와 특이도가 서로 어떤관계 가지는지 2차원 평면상에 표현
- AUC값이 1에가까울수록 좋은 모델임