0Pricing
Learn AI with Python · 강의

LIME: 국소 해석 가능 설명

lime.tabular.LimeTabularExplainer, 입력 교란, 국소 선형 근사를 다룹니다.

LIME: 국소 해석 가능 설명은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

LIME이란 무엇인가

LIME(국소적 해석 가능 모델 불문 설명)은 하나의 예측을 설명하기 위해, 해당 인스턴스 주변의 작은 영역에서 복잡한 모델의 동작에 단순하고 해석 가능한 모델(예: 선형 회귀)을 적합합니다.

전체가 아닌 국소 설명

블랙박스 모델은 전체적으로 매우 비선형적일 수 있지만, 한 지점 주변에서는 대략 선형으로 볼 수 있습니다. LIME은 이 점을 활용합니다. 전체 모델을 설명하는 것이 아니라, 관심 있는 인스턴스 주변의 동작을 국소적으로 설명합니다.

LIME의 작동 방식

LIME은 인스턴스를 변형하여 주변의 표본을 많이 만들고, 블랙박스 모델에 해당 표본의 레이블을 요청합니다. 그런 다음 원본과 가까운 표본에 더 큰 가중치를 부여하고 해석 가능한 대체 모델을 적합합니다. 대체 모델의 계수가 설명이 됩니다.

모델 불문

LIME은 모델의 예측 함수만 호출하므로 어떤 분류기나 회귀기와도 작동합니다. 신경망, 그래디언트 부스팅, 심지어 외부 애플리케이션 프로그래밍 인터페이스도 사용할 수 있습니다. LIME은 모델을 블랙박스로 취급합니다.

LimeTabularExplainer

표 형식 데이터의 경우 학습 데이터와 특성 이름으로 LimeTabularExplainer를 만듭니다. 학습 데이터의 분포를 사용하여 현실적인 변형 표본을 생성합니다.

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    training_data=X_train.values,
    feature_names=X_train.columns.tolist(),
    class_names=["denied", "approved"],
    mode="classification",
)

explain_instance

하나의 행을 설명하려면 해당 행과 모델의 predict_proba 함수를 사용하여 explain_instance를 호출합니다. LIME은 해당 행 주변의 데이터를 변형하고 국소 대체 모델을 적합합니다.

exp = explainer.explain_instance(
    data_row=X_test.values[0],
    predict_fn=model.predict_proba,
    num_features=5,
)

predict_proba, predict가 아님

분류를 위한 LIME에는 확률이 필요하며, 확정된 레이블은 사용할 수 없습니다. 대체 모델이 확률 표면에 회귀하기 때문입니다. 항상 model.predict_proba 또는 클래스 확률을 반환하는 함수를 전달해야 합니다.

특성 수 매개변수

num_features는 설명에 표시되는 특성의 최대 개수를 제한합니다. 더 작은 수를 지정하면 더 단순하고 이해하기 쉬운 설명이 만들어지며, 국소적으로 가장 큰 영향을 주는 요인만 강조됩니다.

특성 가중치 읽기

exp.as_list()는 설명을 (특성 조건, 가중치) 쌍으로 반환합니다. 양의 가중치는 예측값을 예측된 클래스 쪽으로 이동시키고, 음의 가중치는 그 반대 방향으로 이동시킵니다.

for feature, weight in exp.as_list():
    print(feature, round(weight, 3))
# income > 50000     0.21
# debt_ratio > 0.4  -0.18

설명 시각화

LIME은 설명을 대화형 차트나 노트북 화면으로 표시할 수 있습니다. 이 화면에는 기여도 막대와 예측 확률이 나란히 표시됩니다.

exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()

LIME과 SHAP 비교

둘 다 개별 예측을 설명하지만 다음과 같은 차이가 있습니다.

  • SHAP은 강력한 이론적 보장(가법성과 일관성)을 제공하며 전체 관점도 지원합니다
  • LIME은 더 빠르게 이해할 수 있고 모델을 가리지 않으며 직관적이지만, 국소 대체 모델은 근사값이므로 변형의 무작위성에 따라 달라질 수 있습니다

간단히 확인하기

LIME에 대한 지식을 확인해 보세요.

복습

LIME을 사용한 국소 설명을 배웠습니다.

  • LimeTabularExplainer는 학습 데이터와 특성 이름으로 만듭니다
  • explain_instance는 model.predict_proba를 사용하여 국소 대체 모델을 적합합니다
  • 특성 수는 설명의 크기를 조절합니다
  • as_list()는 부호가 포함된 특성 가중치를 반환합니다
  • LIME은 모델을 가리지 않는 국소 설명 방법으로, SHAP을 보완합니다

자주 묻는 질문

“LIME: 국소 해석 가능 설명” 강의는 무료인가요?

네 — “LIME: 국소 해석 가능 설명” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

“LIME: 국소 해석 가능 설명”에서 뭘 배우나요?

lime.tabular.LimeTabularExplainer, 입력 교란, 국소 선형 근사를 다룹니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“LIME: 국소 해석 가능 설명” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 머신러닝 모델의 편향 탐지
  2. 모델 설명 가능성을 위한 SHAP 값
  3. LIME: 국소 해석 가능 설명
  4. 인공지능 윤리 및 거버넌스 프레임워크
← Learn AI with Python(으)로 돌아가기