머신러닝 데이터 분석 6회차
Data Analyst

빅데이터 관련 자료/Machine Learning

머신러닝 데이터 분석 6회차

carpe08 2021. 9. 29. 22:01
320x100
320x100

UNIT 6-1 과적합과 과소적합

머신러닝에서 문제를 해결한다는 것

- 목적함수에 근사하는 것

- 목적함수는 분류 및 예측 등의 문제를 해결하는데 사용

- 목적 함수를 학습할 때 가장 중요한것? 일반화

- 특히 수집된 데이터는 불완전하고 noisy하기 때문에 일반화가 중요

 

머신러닝의 일반화

- 일반화: 학습한 모델이 학습할 때 볼 수 없었던 특정한 데이터에 대해서 얼마나 잘 작동하는지

- 좋은 머신러닝 모델은 학습 데이터에서 문제 영역의 모든 데이터로 잘 일반화한것

- 심지어 본 적 없는 데이터에 대해서도 예측하기를 바람

- 머신러닝 모델이 새로운 데이터에 대해서 얼마나 잘 일반화하는지를 판단하는 방법? =>과적합과 과소적합

 

과적합과 과소적합

- 과적합은 학습 데이터를 너무 잘 모델링한 것

- 새로운 데이터에 대해 부정적인 영향을 미칠정도로!

- 과소적합은 기본적인 성능 지표로도 감지하기 쉽기 때문에 논의되지 않는 편

 

이상적인 적합은?

- 과적합과 과소적합 사이의 최적의 지점

- 머신러닝 모델을 학습하면서 시간 경과에 따른 성능을 살펴보며 결정

- 학습셋과 시험셋에 대한 평가를 함꼐 해야함

- 시험셋에 대해서 에러가 증가하는 시점의 직전을 일반적으로 선택

- 교차검증 방법이 좋은 검증 방법

 

점수를 높이는 TIP

1. 대회 개요 및 데이터 설명을 주의 깊게 읽기

2. 유사한 Kaggle 대회 찾기

3. 유사한 경쟁의 솔루션 읽기

4. 최신 트렌드를 놓치지 않도록 논문 읽기

5. 데이터를 분석하고 안정적인 CV(교차검증)를 만들기

6. 데이터 전처리, 특징 공학, 모델 학습

7. 예측 분포, 오류 분석, 어려운 데이터 예제와 같은 결과 

8. 분석을 기반으로 모델을 정교화하거나 새 모델을 설계

9. 데이터 분석 및 결과 분석을 기반으로 모델을 설계하여 다양성을 추가하거나 어려운 샘플을 해결

10. 필요한 경우 이전 단계로 돌아가 반복

 

견고한 CV(교차검증)를 이용한 최종 제출안 선택

- 좋은 CV는 성공의 절반. 내 모델을 평가할 좋은 방법을 찾이 않으면 다음 단계로 넘어가지 않음

- 안전한 모델의 가중 평균 앙상블 하나와 상대적으로 위험한 모델을 선택

 

UNIT 6-2 Cross Validation

Cross Validation


Long tail

Stratified K-fold

UNIT 6-3 K를 결정하는 방법

Choice of K in K-fold

UNIT 6-4 Bayesian Optimization

Optimization

- 머신러닝에서의 최적화 문제: 하이퍼파라미터 튜닝

- 하이퍼파라미터: 모델이 자체적으로 학습할 수 없는 파라미터

                         1. 하이퍼파라미터에 따라 모델의 성능이 크게 변함

                         2. 하이퍼파라미터 값을 정확히 계산하는 수학적 공식은 없음

- 가장 널리 사용되는 하이퍼 파라미터 조정 알고리즘(Grid Search, Random Search, Bayesian Optimization)

 

Grid Search

- 그리드(격자)의 형태로 탐색의 대상이 되는 구간을 정의핟고 순차적으로 모두 검색

- 하이퍼파라미터의 개수에 따라 기하급수적으로 탐색 시간이 증가

- 범위 내의 간격도 직접 정의해 주어야 하기 때문에 메뉴얼에 가까움

- 내가 원하는 값들에 대해서 정확하게 탐색해 볼 수 있다는 장점

 

Random Search

- 탐색할 값의 범위를 지정해주고, 그 범위 안에서 랜덤 샘플링하여 최적을 탐색

- 랜덤이 잘 작동할 경우 탐색이 빨라질 수 있음

- 랜덤의 분포를 직접 설정할 수 있음

 

Bayesian Optimization

- 탐색할 값의 범위를 지정해주고, 그 범위 안에서 이전의 정보를 이용해 랜덤하게 탐색

- 상대적으로 탐색 횟수가 적어서 시간이 덜 걸림

UNIT 6-5 실습

 

github를 통해 확인

https://github.com/carpe1997/TIL/blob/main/Machine%20Learning/6%ED%9A%8C%EC%B0%A8/readme.md

 

 

 

 

320x100
320x100