AI 기초

[ AI 기초 ] 06. 지도학습 (Supervised Learning) 개념

코딩펭귄 2022. 10. 31. 02:30

  지도학습  

- 훈련데이터(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에가까울수록 좋은 모델임