일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 추천시스템
- 스타터스부트캠프
- 임베딩
- 특성중요도
- 부트캠프후기
- 취업부트캠프 5기
- SLASH22
- 스타터스
- 알고리즘
- 그로스해킹
- 유데미큐레이션
- 서비스기획부트캠프
- NLU
- AWS builders
- sql정리
- 데이터도서
- 서비스기획
- BERT
- 딥러닝
- 유데미부트캠프
- pytorch
- 유데미코리아
- 토스
- MatchSum
- 사이드프로젝트
- AARRR
- SQL
- 그래프
- NLP
- 취업부트캠프
- Today
- Total
다시 이음
실전 예측 분석 모델링 - 5 더 알아보기 본문
안녕하세요.
간만에 돌아왔습니다.
머신러닝에 대해서 많을 걸 배운 1달이었는데 아직도 모자른게 한참 많은 거 같네요.
그래서 조금 더 알아보는 시간을 가지면 좋을 것 같아서 몇가지 포인트를 더 알아보려고 해요.
1. Ridge / Lasso / Elastic Net
2. 교차검증하는 이유
3. Stacked Ensemble
1. Ridge / Lasso / Elastic Net
릿지 회귀에 대해서는 Ridge 회귀 포스팅이 있음으로 그 포스팅을 확인하시면 좋을 것 같습니다.
그래도 설명을 조금 해볼게요.
위의 3가지의 회귀를 사용하는 이유는 과적합을 줄이기 위함입니다.
일반 선형회귀와 다른 점은 페널티(Lambda)값을 주어서 이상치(outlier) 때문에 전체적인 오류값이 높아지는 것을 방지 할 수 있습니다.
1) Ridge 회귀
릿지 회귀는 L2-Norm을 사용한 회귀입니다.
이 회귀방법은 일반적으로 영향을 거의 미치지 않는 특성에 대하여 0에 가까운 가중치를 주게 됩니다.
2) Lasso 회귀
라쏘 회귀는 L1-Norm을 사용한 회귀입니다.
특성값의 계수가 매우 낮다면 0으로 수렴하게 하여 특성을 지워버립니다.
Ridge보다 특성의 가중치를 0에 더 쉽게 수렴하게 하여 주요 특성빼고는 거의다 지워진다고 보시면 됩니다.
3) Elastic Net
엘라스틱 넷은 라쏘회귀와 릿지회귀의 최적화 지점이 서로 다르기 때문에 두 정규화 항을 합쳐서 r로 규제정도를 조절하여 줍니다.
위의 그래프에서 제약조건인 원형과 사각형의 사이의 도형을 취합니다.
2. 교차검증(CV)하는 이유
1. 모든 데이터 셋을 평가에 활용할 수 있다.
- 평가에 사용되는 데이터 편중을 막을 수 있다.
(특정 평가 데이터 셋에 overfit 되는 것을 방지할 수 있다.)
- 평가 결과에 따라 좀 더 일반화된 모델을 만들 수 있다.
2. 모든 데이터 셋을 훈련에 활용할 수 있다.
- 정확도를 향상시킬 수 있다.
- 데이터 부족으로 인한 underfitting을 방지할 수 있다.
3. Stacked Ensemble
먼저 앙상블의 종류에 대해서 알아보겠습니다.
- voting : 서로 다른 알고리즘을 가진 분류기가 같은 데이터셋을 기반으로 학습되고 결합하는 것.
- bagging : 샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계(Aggregration)하는 방법.
- boosting : 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법, 점차적으로 오류를 줄여갑니다.
- stacking : 여러 모델을 통해 첫번째 예측값들을 뽑고, 뽑은 예측값들을 다시 train 데이터로 삼아 또 다시 단일모델 학습을 통해 예측값을 도출하는 것.
스테이킹 방법은 라이브러리가 지원하지 않기때문에 사용자가 직접 코드를 짜고 만들어야 하기때문에 효율적 측면에서는 뒤떨어져서 다른 앙상블 방법보다 사용이 잘 안된다고 합니다.
그러나, kaggle과 같이 성능의 최대화가 필요한 곳에는 어김없이 stacking이 나온다고 하니 참고해주세요.
'AI 일별 공부 정리' 카테고리의 다른 글
Data Engineering - SQL, DBapi (0) | 2021.09.15 |
---|---|
Data Engineering - CLI, Git (0) | 2021.09.10 |
실전 예측 분석 모델링 - 4 Interpreting Machine Learning Model (0) | 2021.08.27 |
실전 예측 분석 모델링 - 3 Feature Importances & Boosting (0) | 2021.08.27 |
실전 예측 분석 모델링 - 2 Data Wrangling (0) | 2021.08.25 |