Part 05. Machine learning의 개념과 종류

Part 05. Machine learning의 개념과 종류

Machine learning의 개념

Machine Learning

: 명시적 프로그래밍 없이 컴퓨터 스스로 학습할 수 있는 능력 을 갖추게 하는 분야

머신러닝

- X를 가지고 Y를 예측하는 것,

- X 내에서 그들간의 관계를 파악하거나 특징을 찾아내는 것

지도학습과 비지도학습

지도 학습(supervised learning)

- X를 가지고 Y(라벨링 데이터)를 예측하는 것

- 회귀(regression) : 연속형 변수

- 분류(classification) : 이산형 변수(클래스를 가짐) ex)비만여부, ~한다/아니다.

비지도 학습(unsupervised learning)

- X만 가지고 모델링함

- 군집 분석 -> X들끼리 거리를 파악해서 군집화시킴

- PCA : X1, X2가 있을 때 새로운 축을 만들어서 아예 새로운 변수를 만드는 것.

강화학습(reinforcement learning)

- 계속 학습을 하고 보상을 받음

-> 어떻게 액션해야 가장 큰 보상을 받는가를 학습함 ex) 알파고

Machine Learning의 종류

선형 회귀분석 (Linear Regression)

- X, Y가 선형적인 관계가 있을 때 사용

- 독립변수의 영향력, 중요도를 파악하기 쉬움

의사결정나무 (Decision Tree)

- 독립 변수의 조건에 따라 종속변수 분리

- overfitting이 잘 일어남

KNN (K-Nearest Neighbor)

- ?가 왔을 때 주변 K개의 class로 분류함 K는 하이퍼파라미터

Neural Network

- 입력 / 은닉 / 출력층. 각 층을 연결하는 노드의 가중치를 업데이트

- overfitting이 잘 일어남

SVM(Support Vector Machine)

- 클래스간 거리가 최대가 되도록 decision boundary를 만듦

- overfitting이 적음 but 학습시간이 오래 걸림

Ensemble Learning

- 여러 개의 모델을 결합해서 사용

- decision tree를 많이 사용함

- 정확도를 높일 때 유용함

K-means clustering - 비지도학습

- label없이 데이터 군집 k개로 생성

- k개를 잘 설정하는 게 중요함

딥러닝 주요 모델 - 1

Deep Learning

GPU가 발전해서

CNN : neural network에서 feature를 이미지에서 픽셀을 뽑아서 사용

RNN : graphical feature뽑음

AutoEncoder : 은닉층 만드는 것

Style transfer, colorization, ResNET, DenseNet, ....

딥러닝 주요 모델 - 2

GAN(Generative Adversarial Network)

: 데이터 생성하는 Generator랑 데이터 평가하는 Discriminator 가 대립(Adversarial)적으로 학습

- 진짜 데이터 D(x)를 1로(진짜)로 판별하고 가짜데이터 D(G(z))를 0(가짜)로 판별하도록 학습시키고

- Generator는 가짜데이터 D(G(z))가 1(진짜)이 되도록 학습시킴

강화학습(Reinforcement Learning)

Q-learning

: 높은 Q값을 선택하도록 학습

DQN(Deep Reinforcement Learning)

state, action, reward세개가 있어야 함

모형의 적합성 평가 및 실험설계 - 1

과적합을 방지하기 위해

데이터 분할

- 학습 / 검증 / 테스트 데이터로 나눔 -> 5:3:2 로 주로 나눔

k-Fold 교차검증

- 개수가 애매하게 많은 경우에 많이 사용함

LOOCV(Leave-One-Out Cross Validation)

- 데이터가 100개 이렇게 적을 때

- n번째 데이터를 제외하고 성능 데스트 -> 평균 performance 구함

모형의 적합성 평가 및 실험설계 - 2

데이터 분석과정

전처리

- "어떤 변수가 게임의 이탈에 영향을 끼칠까?" 를 생각해보아야 함

-> 비용대비(총지불금액) 누적 클리어 비율(총클리어수/총입장수)

Class imbalance한 경우

- resampling시켜서 비율을 맞춰서.... 층화추출 해야함

과적합(Overfitting)이란

Variance : 분산

Bias : 편파성

- 우리가 학습하는 데이터가 모집단의 데이터와 완전히 같지 않아 발생함

- 세상에 완벽한 랜덤은 없다.

from http://hyosan.tistory.com/9 by ccl(A) rewrite - 2021-10-12 22:26:35