📌 Ensemble : Voting model 오늘은 앙상블 모델 중 voting model에 대해 알아볼까 합니다. 전에 포스팅했던 Bagging의 경우도 투표를 하지만, Voting model의 경우 여러 모델을 학습하여 각 모델의 결과를 이용하여 투표하는 것이고, Bagging의 경우 하나의 모델에서 여러 데이터셋의 split을 이용한 방법입니다. ◼️ 분류에서(Hard Voting, Soft Voting) 우선 $m$개의 분류모델 $\hat{f}_1, ..., \hat{f}_m$이 있을 때 예측값을 $\hat{Y}_j(\textbf{x}) = \hat{f}_j$라고 합시다. 투표 방법에는 Hard Voting, Soft Voting이 있습니다. 1️⃣ Hard Voting Hard Voting에서..
🌞 Statistics for AI/Machine learning
📌 ROC(Receiver Operating Characteristic) curve analysis ROC는 우리가 이진 분류 모델의 성능을 파악할 때 사용합니다. 모델의 성능을 시각적으로 확인할 수 있는 통계적 그래픽 요소입니다. 보통 우리가 분류를 할 때 사용하는 결정 임계값은 0.5입니다. 이는 모델이 예측한 확률로 특정 데이터 포인트의 클래스를 결정하는 기준 값입니다. ROC는 0.5뿐 아닌 다양한 결정 임계값에서 어떻게 작동하는지 성능을 나타냅니다. ROC 곡선은 다음 두 가지의 주요 지표를 그림으로 나타냅니다. $$ \text{Sensitivity} = \dfrac{TP}{TP+FN} \\ \text{1-Specificity} = \dfrac{FP}{FP+TN} $$ 구조를 보시면 아시겠지만 ..
📌 Cohen's kappa k Cohen's kappa (κ)는 머신러닝 및 통계에서 사용되는 통계적 측정 지표 중 하나로, 두 명 이상의 평가자 간의 일치도(범주형 자료에서)를 측정하는 데 사용되는 통계량 입니다. 특히, 이 지표는 분류 작업에서 모델의 성능을 측정하는 데 적용되며, 평가자 간의 일치 정도를 고려하여 모델의 성능을 조정합니다. Cohen's kappa는 혼란 행렬(Confusion Matrix)에 기반하며, 주로 이진 또는 다중 클래스 분류 문제에서 사용됩니다. 혼란 행렬은 아실거라 생각하고 혹시 모르신다면 혼동행렬 설명 링크를 확인해주세요. Cohen's kappa는 다음과 같은 공식으로 정의됩니다: $$ \kappa = \dfrac{P_O-P_E}{1-P_E} $$ 여기서 $P_O..
📌 Confusion matrix 데이터 과학 및 머신 러닝 분야에서 모델의 성능을 평가하고 해석하는 데 있어서, 혼동 행렬(Confusion Matrix)은 핵심적인 개념 중 하나입니다. 혼동 행렬은 모델이 예측한 결과와 실제 관측값 간의 관계를 시각적으로 정리하는 강력한 도구로, 모델의 성능을 이해하고 향상시키는 데 도움이 됩니다. 혼동 행렬은 분류 모델의 평가를 위한 핵심 도구로, 모델이 얼마나 정확하게 예측하는지, 어떤 유형의 오류가 발생하는지를 살펴볼 수 있는 표입니다. Positive 클래스와 Negatice 클래스 간의 참 양성(True Positive), 참 음성(True Negative), 거짓 양성(False Positive), 그리고 거짓 음성(False Negative)을 나타내는 ..
R로 XGboost를 구현합니다. XGboost에 대한 이론적인 내용은 아래를 참고해주세요. 3. Boosting : XGBoost 쉽게 이해해보자.(간단 ver.) 전 글들이 좀 읽기 어려운 것 같아 쉽게 써보려고 합니다. 전 글들 : XGBoost에 대해(원리와 공식) 저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합 datanovice.tistory.com 특별한건 아니고 대략적인 이런식으로 코드를 구현하는거구나~ 정도로 할겁니다! XGB with R - 라이브러리, 데이터 불러오기, 7:3으로 train, test set # 라이브러리 불러오기 # 데이터 : iris data library(MASS) library(xgboost) set.seed..
전 글들이 좀 읽기 어려운 것 같아 쉽게 써보려고 합니다. 전 글들 : XGBoost에 대해(원리와 공식) 저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합니다! 공식의 유도와 원리에 대한 이야기이기 때문에 전 포스팅을 보고 와주세요. XGBoost: A Scalab datanovice.tistory.com XGBoost: A Scalable Tree Boosting System(Carlos & Tianqi. 2016) 리뷰 이번엔 XGBoost를 다루려고 합니다. 해당 논문을 읽고 정리한 내용이니 좀더 자세하고 이해하기 쉬운 설명은 다음 포스팅을 참고해주세요! 1️⃣ 서론 기계 학습과 데이터 기반 접근법이 많은 분 datanovice.tistory.c..
저번 포스팅에 이어서 XGBoost의 원리와 왜 확장성이 높은 알고리즘인가에 대해서 포스팅 하려고 합니다! 공식의 유도와 원리에 대한 이야기이기 때문에 전 포스팅을 보고 와주세요. XGBoost: A Scalable Tree Boosting System(Carlos & Tianqi. 2016) 리뷰 이번엔 XGBoost를 다루려고 합니다. 해당 논문을 읽고 정리한 내용이니 좀더 자세하고 이해하기 쉬운 설명은 다음 포스팅을 참고해주세요! 1️⃣ 서론 기계 학습과 데이터 기반 접근법이 많은 분 datanovice.tistory.com 📌 XGBoost 우선 XGBoost란 부스팅의 한 종류로 gradient boosting의 upgrade 버전으로 보시면 되겠습니다. Gradient Boosting과 같이 ..
이번엔 XGBoost를 다루려고 합니다. 해당 논문을 읽고 정리한 내용이니 좀더 자세하고 이해하기 쉬운 설명은 다음 포스팅을 참고해주세요! 1️⃣ 서론 기계 학습과 데이터 기반 접근법이 많은 분야에서 중요해지고 있다.(스팸 분류, 적절한 광고 노출, 사기 감지 등등) 이러한 성공적인 응용 프로그램을 이끄는 두가지 요소는 복잡한 데이터 종속성(상관)을 포착하는 효과적인 모델의 사용 대규모 데이터셋으로부터 관심있는 모델을 학습하는 확장가능한 학습 시스템 2015년 Kaglle의 29개 과제중 17개의 우승 솔루션이 XGBoost일 정도로 ML 및 데이터 마이닝 경쟁에서 큰 영향력을 발휘. 무엇보다도 오픈소스! XGBoost의 성공의 가장 중요한 요인은 모든 시나리오에서의 확장성(scalability)라고 하..
📌 Gradient Boosting Gradient Boosting은 Gradient descent와 boosting을 합친 것으로, 경사하강법과 부스팅 기법을 사용합니다. 경사하강법에서 loss인 $L(\theta)$를 최소화하기 위해 아래와 같은 방법으로 $\theta$를 업데이트 합니다. $$ \theta^{s+1} = \theta^s - \rho \dfrac{\partial}{\partial \theta} L(\theta) \big\lvert_{\theta^s} $$ 이 업데이트는 gradient인 $\nabla L(\theta^{s})$에 기반을 둡니다. 직관적이고 쉽게 봅시다. 📌 Why Gradient? 손실 함수(loss function)을 아래처럼 MSE(mean squre error)라..
오늘은 부스팅 중에 Adaboost에 대해서 알아볼까 합나디. 📌 Adaboost 특징 각 단계에서 새로운 모델을 학습하여 이전 단계의 모델의 단점을 보완 학습 오차(Training error)가 큰 관측치의 선택 확률(Weight, 가중치)을 높이고, 학습오차가 작은 관측치의 선택 확률을 낮춤. 즉, 오분류한 관측치에 보다 집중 앞 단계에서 조정된 확률(Weight, 가중치)를 기반으로 다음 단계에서 사용될 학습 데이터(training dataset)를 구성 다시 첫 단계로 돌아감 최종 결과물은 각 모델의 성능지표를 가중치로하여 결합(ensemble) 💻 Algorithm 이번엔 Adaboost의 알고리즘을 알아봅시다. 1. set $W_i = \frac1n, i =1,2,..., n$ (impose ..