on
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