본문 바로가기

Data Analysis33

설명가능한 인공지능(XAI) 관련 설명(1) 최근 설명가능한 인공지능에 대한 관심이 크다. 아래 논문은 이를 정리한 논문으로 설명가능한 인공지능이 필요한 이유에서 종류와 특징까지 집대성하여 정리하였다. Arrieta, A. B., Díaz-Rodríguez, N., Del Ser, J., Bennetot, A., Tabik, S., Barbado, A., ... & Herrera, F. (2020). Explainable Artificial Intelligence (XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI. Information fusion, 58, 82-115. 페이퍼의 길이가 너무 길어 다섯 번으로 나누어 연재하였다. XAI 관련 설명(2) XA.. 2023. 1. 15.
[ML] SHAP Plots 샘플 Shap 라이브러리에는 SHAP 값을 시각화하는 멋진 도구가 있습니다. 폭포 플롯은 개별 특징 벡터에 대한 SHAP 값을 표시할 수 있습니다. 예를 들어 Boston 데이터 세트에서 XGBoost 모델을 학습하고 X의 한 인스턴스에 대한 폭포 플롯을 표시합니다. d = load_boston() df = pd.DataFrame(d['data'], columns=d['feature_names']) X = df y = pd.Series(d['target'])xgb_model = xgboost.XGBRegressor(random_state=1).fit(X, y)explainer = shap.Explainer(xgb_model, X) explanation_object = explainer(X) shap_value.. 2023. 1. 15.
[ML] SHAP의 수학적 설명 SHAP 값을 논의하기 전에 SHAP와 같은 설명자 모델에 대한 수학적 설명이 필요합니다. f를 설명할 원래 모델로 정의하고 다음과 같이 정의합니다. 따라서 모델은 특징 벡터 x를 취하고 f(x)는 해당 특징 벡터에 대한 모델 예측입니다. 이 특징 벡터는 훈련 데이터 세트(x⁽ʲ⁾)의 인스턴스 중 하나이거나 훈련 데이터 세트에 존재하지 않는 테스트 특징 벡터일 수 있습니다. 이제 기능 벡터의 기능이 있는지 여부를 표시하기 위해 단순화된 입력 기능 세트를 만듭니다. 벡터 x'를 단순화된 특징 벡터라고 합니다. 각 x'ᵢ은 해당 기능 Xᵢ이 기능 벡터에서 관찰되는지(x'ᵢ =1) 또는 알 수 없는지(x'ᵢ = 0)를 나타내는 이진 변수입니다. 예를 들어, 특징 벡터가 x'를 x에 매핑하는 매핑 함수가 있다고.. 2023. 1. 14.
[ML] Shapley Value의 머신러닝 적용 플레이어의 Shapley 값을 기계 학습 모델의 기능과 어떻게 연관시킬 수 있습니까? 그림 5와 같이 N개의 행과 M개의 기능이 있는 데이터 세트가 있다고 가정합니다. 여기서 Xᵢ는 데이터 세트의 i번째 특징이고 xᵢ⁽ʲ⁾는 j번째 예에서 i번째 특징의 값이며 y⁽ʲ⁾는 j번째 행의 대상입니다. 기능 값은 M 요소가 있는 행 벡터로 표시되는 기능 벡터를 형성할 수 있습니다. 여기에 X₁=x₁, X₂=x₂, ... X_M=x_M이 있습니다(선형 대수학에서 벡터는 일반적으로 열 벡터로 간주되지만 이 문서에서는 행 벡터라고 가정합니다). 특징 벡터는 데이터 세트의 j번째 행이 될 수도 있습니다. 이 경우 다음과 같이 작성할 수 있습니다. 또는 데이터 세트에 없는 테스트 데이터 포인트일 수 있습니다(이 문서에서.. 2023. 1. 13.
[ML] SHAP 소개 SHAP는 기계 학습 모델의 예측을 설명하는 수학적 방법입니다. 게임 이론을 기반으로 하며 예측에 대한 각 기능의 기여도를 계산하여 기계 학습 모델의 예측을 설명하는 데 사용할 수 있습니다. SHAP는 가장 중요한 변수를 찾고, 변수가 모델 예측에 미치는 영향을 확인할 수 있습니다. SHAP는 그 이면에 있는 수학을 설명하지 않고는 완전히 이해할 수 없습니다. 이에 여기에서는 수학 식 뒤에 숨겨진 직관을 설명하고 각 주제에 대한 몇 가지 예를 제공함으로써 가능한 한 수학적 설명을 단순화하려고 노력합니다. 또한 작동 방식을 완전히 이해하는 데 도움이 되도록 Python을 사용하여 처음부터 다양한 SHAP 알고리즘을 구현합니다. Python의 SHAP 라이브러리 여기에서는 SHAP 값을 계산하는 데 사용할 .. 2023. 1. 13.
[통계] 통계 기초 1. 통계란 무엇인가? 1) 통계를 왜 사용하나? 통계는 우리가 어떤 집단의 특성을 발견하고 싶은데, 극히 일부의 자료만 가지고 있기 때문에(e.g. 선거 여론조사, 인구 이동의 이유, 에너지 사용량 차이의 원인 … ) 모집단에 속한 일부 표본을 가지고 모집단의 특성을 파악하고자 할 때 사용한다. 2) 통계 분석의 절차 통계 분석에는 일정한 절차가 필요하다. 문제를 인식하고, 문제를 해결하기 위해 가설을 설정하며, 어떤 방법론으로 문제 해결에 접근해야 할지에 관한 설계가 필요하다. 연구 설계 단계에서 자료를 어떻게 구하고, 어떤 통계 방법을 사용할지에 관하여 결정한다. 이후 데이터를 전 처리하고 설계된 모형을 토대로 분석을 수행하게 된다. 분석된 모형을 해석하는 것으로 모집단을 설명하며 분석이 마무리된다.. 2023. 1. 12.