갓생일기_7일

곽숭아·2025년 12월 30일

갓생일기

목록 보기
7/10
post-thumbnail

7번째 갓생일기 !
오늘은 수업내용을 정리를 해볼까 한다.!
머신러닝 핵심 정리
하이퍼파라미터 최적화 & Explainable AI (XAI)(stackin)


하이퍼파라미터 최적화 (Hyperparameter Optimization)

머신러닝 모델의 성능을 높이기 위해 하이퍼파라미터를 자동으로 탐색하는 과정이다.
그중에서도 아래 두 가지는 꼭 기억하기.

RandomSearch

  • 미리 정한 하이퍼파라미터 범위 내에서 무작위로 조합을 샘플링
  • GridSearch보다 빠르고 효율적인 경우가 많음
  • 간단한 프로젝트에서 자주 사용

Optuna

  • 베이지안 최적화 기반
  • 이전 결과를 참고해 더 좋은 방향으로 탐색
  • 대규모 프로젝트나 실험에서 많이 사용

Objective 기본 흐름(중요)

1. Objective 함수 정의

  • 목표 : 어떤 값을 최소 / 최대화할 것인지
  • 구성요소 :
    • 모델
    • 하이퍼파라미터
    • 성능 지표 (MSE, RMSE, R2등)

2. Study 생성

study = optuna.create_study(direction="minimize")

3. Optimize 실행

study.optimize((objective, n_trials=50)

Explainable AI (XAI, 설명 가능한 인공지능)

모델이 예측만 잘하는 것이 아니라
"왜 이런 결과가 나왔는지 설명할 수 있어야 한다"(stackin)는 개념이다.

특히 의료,금융처럼 설명이 중요하나 분야에서는 필수다.


SHAP (Shapley Value)

SHAP이란?

  • 게임이론에서 출발한 개념
  • 최종 보상에 대해 각 플레이어의 기여도를 공정하게 분배하는 유일한 방법론

구성 요소 매핑
-플레이어(Players) ->개별 변수(Features)
-게임(Game) -> 모델 예측 과정
-보상(Payout) ->최종 예측값

*즉, 각 feature가 예측에 얼마나 기여했는지 수치로 설명해준다.


SHAP이 필요한 이유

모델이 예측한 값이 나왔을때
"그래서 어떤 변수가 얼마나 영향을 준 거지?"
이 질문에 논리적으로 논리적으로 답하기 위해서임.


*SHAP이 더 깊이 있는 설명이 가능


SHAP구현 방식 종류

1. TreeSHAP (TreeExplainer)

  • 대상 모델:
    RandomForest, XGBoost, LightGBM 등 트리 기반 모델
  • 특징 :
    • 매우 빠르고 정확
    • SHAP 이론을 완벽하게 만족

*실무에서 가장 많이 사용


2. DeepSHAP (DeepExplainer)

  • 대상 모델 :
    TensorFlow, PyTorch 기반 딥러닝 모델
  • 특징 :
    • 각 클래스 예측에 대한 입력값 기여도 분석에 특화

3. KernelSHAP (KernelExplainer)

  • 대상 모델 :
    모든 종류의 모델
  • 특징 :
    • LIME 접근법 + Shapley Value rufgkq
    • 모델 범용성은 높지만 속도가 느림

SHAP 해석 방식

✔️ 전역적 해석 (Global)

  • 모델 학습이 끝난 후
  • 전체 데이터 기준
  • 어떤 feature가 전반적으로 중요한지 확인

✔️ 지역적 해석 (Local)

  • 특정 데이터 n개를 넣어 예측
  • 각 샘플별로 왜 이런 결과가 나왔는지 설명

📌기타 중요 포인트

- isinstance()

isinstance(obj, type)
  • 객체의 타입을 확인하는 함수
  • .type()을 쓰는 것과 유사하지만
    상속 관계까지 고려하기 때문에 더 안전함

SHAP + LightGBM 주의점

  • LightGBM은 SHAP처리 방식이 약간 다름(코드가)
  • TreeExplainer 사용 시 모델 타입 체크 중요

🖍️공부 정리🖍️

  • 하이퍼파라미터 최적화 ->모델 성능 향상
  • 단순히 "잘 맞는 모델"이 아니라 "이해할 수 있는 모델"이 중요함!

오늘은 머신러닝 심화마지막날이였다. 조금아쉽다 아직나는 머신러닝을 잘모르는것같은데 벌써 마지막날이 되었다고하니까 ,, 물론 그뒤에도 머신러닝 +딥러닝을 등을 활용해서 코딩을하겠지만 이공부에 아직 머물러있어야할것같은데 라는 아쉬움이들었다. 오늘 특강도 들었다. CV관련해서 흥미가 생겼다 조금더 알아보고 공부분야를 정해볼까싶다

profile
곽숭아_놀이터

0개의 댓글