tak's data blog

머신러닝이란? 본문

Machine Learning

머신러닝이란?

hyuntaek 2021. 1. 26. 21:39
반응형
SMALL

스스로도 머신러닝에대해 공부하면서 자주 까먹고 헷갈리는 부분이 많아 BOAZ에서 머신러닝 스터디를 계기로 복습할겸 내용을 정리해보도록 하겠습니다.

 

 

 

1. 머신러닝의 기본 개념

- 데이터에서부터 학습할 수 있는 시스템을 만드는 것!

- 자동화

- 사용 분야 : 복잡한 문제와 대량의 데이터에서 인사이트 도출, 많은 수동 조정과 규칙이 필요한 경우 (모델링을 통한 과정 간소화)

- 데이터 마이닝 : 겉으로 보이지 않는 패턴을 발견하는 것

 

 

머신러닝의 종류

 

1) 학습하는 동안의 감독 형태나 정보량에 따른 분류

 

1. 지도 학습 : 정답을 알려주며 학습을 시키는 방법. 예를 들어 자동차 사진을 주고(input data) 이 사진을 자동차(label data)라고 지칭하는 학습법이다. 

 

크게 회귀(regression)와 분류(classification)로 나뉜다.

- 회귀(Linear Regression, SVR, Neural Networks...)

- 분류(KNN, Logistic Regression, SVM, Decision Tree...)

 

 

 

2. 비지도 학습 : 정답을 알려주지 않는다.(label data가 없다.) 비슷한 데이터를 군집화. 예를 들어 자동차, 비행기, 배 등의 사진을 주고 비지도학습을 시키고 비슷하다고 생각되는 것들을 군집화 시켜주는 학습법이다.

 

- 군집화(Kmeans, EM ...)

- visualization & dimensionality reduction(PCA, Kernel PCA ...)

- association rule learning(Apriori ...)

 

 

2) 어떻게 일반화 되는가에 따라 분류

일반화 : 학습데이터가 아닌 새로운 데이터를 예측하는데 전반적으로 잘 예측하도록 하는 것

 

- 사례 기반 학습 (Instance-based learning): nonparametic

  1. 이미 알고있는 데이터와 새로운 데이터 간의 유사도로 예측하는 법

  2. k-NN

  3. 학습 데이터를 기억하고 새로운 데이터를 일반화 하기위해 유사도 측정을 사용.

 

- 모델 기반 학습 (Model-based learning)

  1.학습 데이터로부터 일반화 할 수 있는 모델을 만들어 예측

  2.훈련 세트에 모델을 맞추기 위해 파라미터 조정

 

 

(주요 과제)

데이터

- 일반화를 위해 새로운 데이터를 학습 데이터가 대표하는것이 중요

- 데이터 전처리 : 학습 데이터에 outlier, noise 등이 많으면 제대로 학습이 불가능

- feature engineering 중요

  특성 선택(feature selection): 가지고 있는 특성 중에서 유용한 특성을 선택

  특성 추출(feature extraction): 특성을 결합하여 유용한 특성을 만듦

 

 

알고리즘

- overfitting : 많은 공통특성 외에 지엽적인 특성까지 반영하여, high variance하게 train되어 새로운 데이터에 대해서는 예측하지 못하는 모델, 지나치게 데이터에 잘 맞는 경우

  파라미터 수가 적은 모델 선택 (고차원 다항 모델 보다는 선형모델)

  학습 데이터에서 특성수를 줄이거나, 모델에 제약을 가함

  학습 데이터를 더 많이 모으기

  학습 데이터의 노이즈를 줄임

  cross validation 사용

 

 

- underfitting : 많은 공통특성 중 일부 특성만 반영하여, high bias하게 train되어 새로운 데이터도 막 예측해버리는 모델

  파라미터가 더 좋은 모델 선택

  더 좋은 특성 추가, variance 높이기

  모델의 제약을 줄임

 

Data Set

- training : learning에 활용

- testing : model 판단시 사용

- validation : training의 일부를 validation으로 지정, learning에 관여, hyperparameter 등 조정하면서 best parameter 찾기

 

2. Random sampling method

cv(cross validation)

: train data에서 test data로 너무 많은 양의 데이터를 뺏기지 않기 위해 사용하는 기법

 전체 데이터셋을 k개의 subset으로 나누고 k번의 평가를 실행.(이때 test set의 중복 없이 바꿔가며 평가함.)

장점 : 1. train에 들어가는 데이터셋이 계속 바뀌기 때문에 overfitting 방지 가능

           2. validation set으로 계속 적합도를 확인할 수 있어서 overfitting 방지 가능

단점 : 1. 모델 훈련/ 평가 시간이 오래 걸린다.

 

 

여기까지 머신러닝에 대한 간단한 설명을 마치겠습니다.

다음엔 다른 내용으로 더 자세히 준비해보겠습니다. 

 

다음 포스팅에서 뵐게요 감사합니다!!

반응형
LIST