본문 바로가기

반응형

전체 글

(148)
트리 모델 하이퍼 파라미터 튜닝 아래는 XGBoost, LightGBM, CatBoost 각각에 대해 코랩에서 튜닝하기 좋은 핵심 하이퍼파라미터 + 튜닝 팁이야.🔧 공통 튜닝 전략✅ 먼저 베이스 모델을 만든 후, 점진적으로 튜닝✅ 학습/검증 데이터 나눔, 또는 cross_val_score, GridSearchCV, Optuna, Bayesian Optimization 활용✅ 너무 많은 트리부터 시작하지 말고, 조기 종료(Early stopping) 도입해서 오버핏 방지✅ learning_rate는 작게, n_estimators는 크게 → 조기 종료로 알아서 잘 멈춤 1️⃣ XGBoost 튜닝 팁 (Colab 기준)from xgboost import XGBClassifierxgb = XGBClassifier( n_estimator..
트리 기반 앙상블 모델 4종 비교(RandomForest, XGBoost, LightGBM, CatBoost) 좋아! RandomForest, XGBoost, LightGBM과 CatBoost까지 포함해서 트리 기반 앙상블 모델 4종 비교를 깔끔하게 정리해볼게. Boosting 계열의 대표 주자들을 비교하는 건 실제 실무에서 매우 유용하니까!✅ 트리 기반 앙상블 모델 4종 비교항목RandomForestXGBoostLightGBMCatBoost앙상블 방식BaggingBoostingBoostingBoosting트리 구성전체 데이터에서 병렬로 여러 트리 생성이전 트리의 오류를 보완하며 순차적으로 트리 생성Gradient 기반 순차 트리 생성 + 리프 중심 성장Gradient 기반 순차 트리 생성 + 카테고리 처리 강화학습 속도빠름중간매우 빠름 (Histogram 기반)중간 (속도 개선됨)예측 성능중간~좋음좋음~최상좋음..
RandomForest와 XGBoost 좋아! RandomForest와 XGBoost는 둘 다 앙상블 학습 기법 중 하나인 트리 기반 모델이지만, 내부 동작 방식과 사용 시 적합한 상황에 차이가 있어. 아래에 알기 쉽게 정리해줄게!✅ 핵심 개념 요약구분RandomForestXGBoost기본 원리여러 개의 결정 트리를 병렬로 학습해서 평균 또는 투표여러 개의 결정 트리를 순차적으로 학습하면서 오류 보완학습 방식Bagging 방식Boosting 방식과적합 방지무작위 샘플링, 무작위 피처 선택정규화, 가지치기, learning rate 등 다양한 제어 기법속도상대적으로 빠름상대적으로 느릴 수 있음 (하지만 GPU 지원 가능)하이퍼파라미터 수적음 (간단)많음 (세부 튜닝 필요)해석력상대적으로 쉬움상대적으로 복잡🌲 RandomForest를 사용하는 ..
dataset과 dataloader의 차이와 활용도 ✅ 1. DatasetDataset은 데이터셋 전체에 대한 정의입니다.데이터의 구조, 길이, 하나씩 접근하는 방법을 정의하는 클래스예요.🔧 주요 기능__len__: 전체 데이터 샘플 개수 반환__getitem__: 인덱스를 이용해 하나의 샘플 반환📌 활용도커스텀 데이터셋을 정의할 때 사용이미지, 텍스트 등 어떤 데이터든 구조만 정해주면 됨전처리(transform)도 Dataset 클래스 내부에서 처리 가능🧸 예시from torch.utils.data import Datasetclass MyDataset(Dataset): def __init__(self, data, labels): self.data = data self.labels = labels def _..
Generalized Linear Model (GLM) 🎯 1. 기본 아이디어부터 시작해보자✏️ 선형 모델(Linear Model)은 뭘까?아마 수학 시간에 이런 식으로 배운 적 있을 거야:y=w⋅x+by = w \cdot x + by=w⋅x+bx는 입력(예: 공부 시간)y는 결과(예: 시험 점수)w, b는 기울기와 절편👉 이건 예측하려는 결과(y)가 숫자일 때 쓰는 **선형 회귀(Linear Regression)**야!🧠 그런데 현실에서는 이런 경우도 있지?🎯 예시 1: 어떤 사람이 시험에 합격할지 (예/아니오)?→ 결과는 숫자가 아니라 **0 또는 1 (이진)**이야.🎯 예시 2: 하루에 고객이 몇 명 올지?→ 결과는 0, 1, 2, 3처럼 **정수값(횟수)**이야.👉 이럴 때는 그냥 선형 모델로는 맞추기 어려워.→ 그래서 나오는 게 바로 **..
최대 우도 추정법(Maximum Likelihood Estimation, MLE)이란? 🎯 최대 우도 추정법이란?"관측된 데이터가 가장 잘 나올 수 있게 만드는 확률(모델)의 파라미터를 찾는 방법"쉽게 말해:우리가 어떤 상황에서 실제로 데이터를 관찰했어.그 데이터가 가장 자연스럽게 나올 것 같은 확률을 계산해보고,**그 확률이 최대가 되는 조건(모델의 파라미터)**를 찾는 거야.🍀 비유로 이해해보자: 주사위 예시🎲 예시: 주사위를 10번 던졌더니 이런 결과가 나왔어:[6, 6, 6, 6, 6, 6, 6, 6, 6, 6]  이제 질문:이 주사위는 공정한 주사위일까? (각 면이 나올 확률이 1/6인?)👀 데이터(관측값)를 봤을 때, 모든 결과가 6이야!그러면 우리는 이렇게 생각할 수 있어:"공정한 주사위라면 6이 10번 연속 나올 확률은 너무 낮지 않아?""6만 나오는 특수 주사위라고 ..
시그모이드함수(Sigmoid Function)을 파헤쳐 보자 💡 Sigmoid 함수란?Sigmoid 함수는 이런 모양의 함수야:Sigmoid(x)=11+e−x\text{Sigmoid}(x) = \frac{1}{1 + e^{-x}}Sigmoid(x)=1+e−x1​이걸 그래프로 그리면:입력값 xxx가 작을수록 0에 가까운 값입력값 xxx가 클수록 1에 가까운 값가운데는 부드럽게 0.5를 지나감🤔 왜 이런 함수를 쓰지?1. 확률처럼 보이게 만들고 싶어서!신경망이 어떤 결과를 내놓을 때,“이게 맞을 확률이 몇 퍼센트일까?” 라고 생각하고 싶을 때가 있어.예를 들어,“이 사진이 고양이일 확률이 몇 %일까?”이럴 때 Sigmoid 함수는 숫자를 0에서 1 사이로 바꿔줘서확률처럼 사용할 수 있어!2. 이진 분류 문제에서 딱 좋아!Sigmoid는 주로 참(True)/거짓(F..
우도함수 (Likelihood)를 쉽게 이해해보자 🎯 우도(Likelihood)란?✔️ 먼저, 상황을 가정해보자!네가 친구랑 동전을 던지는 실험을 했다고 해보자.친구가 어떤 동전 하나를 가져와서 10번 던졌더니앞면이 7번, 뒷면이 3번 나왔어.그럼 네 머릿속에 어떤 생각이 들까?"이 동전, 앞면이 나올 확률이 0.5가 아닐 수도 있겠다?"이럴 때, "앞면이 나올 확률이 어떤 값일 때, 실제로 앞면이 7번 나올 가능성이 가장 높을까?" 를 따지는 게 바로 우도를 이용하는 거야.  📌 우도 함수(Likelihood Function)간단히 말하면:어떤 확률값이 있을 때, 우리가 관측한 결과가 나올 "가능성(확률)"을 계산하는 함수우리가 결과를 봤을 때(예: 앞면 7번, 뒷면 3번)이 결과가 나올 수 있는 확률 p(앞면이 나올 확률) 중 어떤 값이 가장 가..

반응형