데이터 분석/머신러닝 독학하기

Step3. 지도학습과 비지도학습

Jerry Jun 2020. 12. 15. 16:23
728x90

 

 

표지

머신러닝에는 크기 지도학습과 비지도학습이 있다.
두 개의 큰 차이점은 라벨링된 데이터가 있는지 없는지의 여부이다.

 

# 지도학습(supervised learning)

지도학습은 라벨링된 데이터를 사용하며 대표적으로 회귀(Regression)와 분류(Classification)이 있다. 

  • 회귀 : 예측(출력)되는 변수 Y 가 연속형 변수일 때. (숫자형 같은 것. 키, 몸무게 등)
  • 분류 : 예측(출력)되는 변수 Y 가 이산형 변수일 때. (성별, 정상/비정상 등)

 

# 비지도학습(unsupervised learning)

입력 변수(X) 간의 관계에 대한 패턴(특징)을 찾아내는 것이 비지도학습이다. (Y 가 존재하지 않음)

비지도 학습에는 대표적으로 군집과 PCA 가 있다.

  • 군집 : 비슷한 데이터끼리 그룹화.
  • PCA : 독립변수들의 차원을 축소화. (데이터 x1 과 x2가 있을 때 새로운 변수를 만듬)
  •  

 

[머신 러닝의 종류]

★ 선형 회귀분석(Linear Regression)

선형 회귀분석은 x 데이터가 증가할 때마다 y 데이터도 증가하는 선형적인 관계가 있다고 가정한다.

비선형 관계에서는 사용하기 어려움.

 

의사결정나무(Decision Tree)

독립 변수에 따라 종속변수를 분리한다. (ex. 비가 온다 -> 우산을 챙긴다)

하지만 overfitting 이 잘 일어난다는 단점이 있다. overfitting 이란 과적합이며 학습데이터에는 정확도가 너무 좋지만 예측하려는 실제데이터에서는 잘 맞지 않는 현상을 말한다.

 

KNN(K-Nearest Neighbor)

임의의 한 데이터 주변 k 개의 데이터에 영향으로 class 를 분류하는 방법을 말한다.

 

Neural Network

입력(input), 은닉(hidden), 출력(output)층으로 구성되어 있으며 각 층을 연결하는 노드의 가중치를 업데이트하며 학습한다. 실제값과 출력값의 차이를 보고 가중치를 변경한다. 이 방법 또한 overfitting 이 잘 일어난다는 단점이 있다.

 

★ SVM(Support Vector Machine)

class 간의 거리가 최대가 되도록 decision boundary 를 만든다. 이 방법은 어느 정도의 오차는 허용한다. 학습 시간이 오래걸린다는 단점이 있다.

 

★ Ensemble Learning

여러 개의 모델을 결합하여 사용하는 모델이다. 대부분 decision tree 를 사용하긴 한다. 여러 대회에서 주로 사용한다. 

 

 


# Deep Learning

  • 인공지능 ⊂ 기계학습 ⊂ 딥러닝
  • 다층의 layer를 사용하여 수많은 데이터의 학습이 가능해짐.
  • GPU의 사용으로 deep learning 이 발전하고 있음.
  • 대표적으로 분류(Classification), 회귀(Regression), 객체 검출(Object Detection) 이 있다.

 

★ GAN(Generative Adversarial Network)

Data 를 생성하는 Generator 와 생성된 데이터를 평가하는 Discriminator 가 서로 대립적으로 학습하며 성능을 올리는 개념이다. BigGAN, CycleGAN 등이 있다.

  • Generator 를 학습시킬 때는 D(G(z)) 가 1이 되도록 한다. 
  • Discriminator 를 학습시킬 때는 D(x) 가 1 이 되고, D(G(z)) 가 0 이 되도록 한다. 
  • x : real data / G(z) : fake data
300x250