본문 바로가기

Machine Learning

Supervised Learning Models

반응형
모델의 undefit한 상태에서 벗어나기위해 학습을 수행한다. 
학습과정에서 general 하게 특징을 반영하기위해 overfit은 피해야함.

목적에는 크게 분류와 회귀가 있고, 모델별 장단점과 복잡도 제어(overfit제어)하는 방법을 이해해야한다.
일반적으로 사용되는 machine learning model은 parametric approach로  parameter를 적절하게 학습하게 만들어 사용하는 것이 중요하며, 어떤 알고리즘은 input data의 feature scale에 민감하기도 하다.

따라서, 모델의 장단점과 매개변수의 의미를 이해하지 못하고 데이터셋에 아무 알고리즘이나 무조건 적용하면 좋은 모델이 생성되기에 무리가 따른다.

KNN
작은 데이터셋일 때, 기본 모델로서 좋고 설명하기 쉬움

Linear Model
최초로 시도하기 좋은 알고리즘. 대용량 데이터셋 가능. 고차원 데이터에 가능

Naive Bayes
Classification만 가능. linear model에 비해 매우 빠름. 대용량 데이터, 고차원데이터 모두 가능. 단, linear model보다 덜 정확함.
(각 특성을 개별로 취급해 parameter학습하고 각 특성에서 클래스별 통계를 단순하게 취합하는 알고리즘)
특히나 이산적 데이터를 다루는 M-NB나 B-NB는 텍스트 데이터 분석에 용이함이 있다.(특정 단어의 빈도수)

Decision Tree
매우 빠름. 데이터 스케일 조정이 필요 없음. 시각화하기 좋고 설명하기 쉬움

Random Forest
결정 트리에 비해 항상 좋은 성능을 내는 편이다. 매우 안정적이고 강력함. 데이터 스케일 조정이 마찬가지로 필요 없음(트리기반 이기 때문), 고차원 희소 데이터에선 잘 맞지 않음

Gradient-Boosting Decision Tree
랜덤 포레스트에서 조금 더 향상된 모델. 학습은 R-F보다 느리나 예측이 빠르고, 메모리 사용이 적다. 단, hyper-parameter tunning이 R-F에 비해 매우 민감함.

Support Vector Machines(SVM)
비슷한 의미의 특성으로 구성된 중간 규모 데이터셋에 잘 맞음. 데이터 스케일 조정 필요. hyper-parameter에 매우 민감.

Neural Network
대용량 데이터셋에서 매우 복잡한 model 형성이 가능함. feature가 복잡하거나 많을 수록 유리하여, 비전이나 음성인식 분야에서 많이 사용된다. hyper-parameter 선택과 데이터 스케일에 민감하며, model이 크면 학습이 오래걸림



기본적으로 Linear Model, Naive-Bayes 또는 KNN의 간단한 모델로 시작해서 성능을 가늠해보고,
데이터를 충분히 이해한 뒤에 Random Forest, Gradient-Boosting Decision Tree, SVM, Neural Network같은 복잡한 모델을 적용하는 것이 바람직함.



반응형

'Machine Learning' 카테고리의 다른 글

soft-max함수, numerical instability  (0) 2019.02.11
Categorical 변수  (0) 2019.02.04
Classification에서의 불확실성 추정  (0) 2019.02.02
Kernel Support Vector Machines  (0) 2019.01.27
Decision Tree's Ensemble  (0) 2019.01.25