빅데이터 분석기사/작업 유형 2 (ML)

머신러닝 용어 이해

유방울 2023. 5. 31. 21:18

지도학습

   - 입력, 출력 데이터가 제공되는 학습
   - 이미 알려진 사례를 바탕으로 일반화된 모델 구축
   - 종류 : Regression, Classification
   - 회귀(Regression) : 숫자화 된 데이터로 예측하는 것 (학습에서 주어진 것 이외의 작은 값, 사잇값, 큰 값이 있을 수 있음)
   - 분류(Classification) : 어떤 데이터에 대한 category를 예측하는 것 (학습에서 주어진 것 이외에 다른 category 없음)

비지도학습

   - 입력은 주어지지만 출력은 제공되지 않음
   - 기계가 알아서 학습하여 결과를 찾아내는 방법
   - 종류 : Clustering, Demension Reduction, Association(연관) 
   - 군집화(Clustering) – 비슷한  특징을 가진 아이템을 그룹화 하는 것

 

 

데이터 세트

머신러닝에서 입력(X), 출력(Y)에 사용되는 데이터 묶음

1개 이상의 입력과 1개의 출력으로 구성

X : 2차원 구조, 1개 sample은 1차원 구조

Y :1차원 구조, 1개 sample에 대한 target은 1개 scalar 값

 

홀드 아웃

성능 검증을 위해 data set을 train set, test set으로 분리하여 사용

train set - 학습, test set - 성능 검증 사용

7:3 ~8:2로 많이 구분함

 

X_trian.csv : x_train, y_test

Y_train.csv : y_train, y_test

X_test.csv : x__submission

 

교차검증

데이터가 충분하지 않을 경우 hold-out으로 나누면 많은 양의 분산 발생 

이에 대한 해결책!

클래스 불균형 데이터에 적합하지 않음

주어진 데이터로 반복적으로 성과를 측정해 그 결과를 균한 것으로 모형 평가

여자 데이터 10개, 남자데이터 90개

-> 이럴 때 적합하지 않음

 

과대적합

머신러닝 시 주의해야 할 문제

과적합 = 너무 잘 맞아 떨어짐

training data만 너무 잘 맞음 -> 그 외의 데이터는 잘 맞지 않음

해결법

- cross vaildation

- regularization

- remove features

- ensembling : 편하게 오버피팅 해결가능, 여러개 모델이 학습

 

과소적합

학습이 제대로 이뤄지지 않음

학습이 더 필요함

 

train, test의 score가 둘 다 70이상으로 비슷 -> 적

# 오버피팅을 알아보는 방법 
score(train) >>> score(test) 이면 overfitting 상태
예) 99    50 

score(train)  score(test)의 결과가 낮으면 underfitting 상태
예) 45    40

score(train) score(test)의 결과가 높으면서(70 이상) 비슷하면 적합한 상태
예) 88    87

 

순서대로

과소적합, 적합, 과대적합

파라미터와 하이퍼파라미터

머신러닝 모델의 파라미터

- 모델의 구성요소, 데이터로부터 학습되는 것

- Linear Regression에서 y = Wx+b 같은 직선 방정식의 W, b를 찾는 것

하이퍼파라미터

- 모델 학습 과정에 반영, 학습을 시작하기 전에 미리 값을 결정하는 것

- kNN에서 k의 개수, Ridge, Lasso의 알파값, Learning Rate 

- 이웃의 개수를 미리 지정

- 페널티에 주는 값이 알파값