본문 바로가기

Machine Learning47

XAI SHAP 파이썬 예제 - Summary, Force, Interaction, Dependence Plot 해석 이번 포스팅에서는 지난번 포스팅에 이어서 XAI 방법 중 SHAP에 대해 연재하고자 합니다. 해당 포스팅에서는 다양한 SHAP Plot 방법인 Summary, Force, Interaction, Dependence, Waterfall Plot에 대해 파이썬 예제로 여러분과 공유합니다. 게임이론 in XAI SHAP (Game Theory) Shapley Value 설명 in eXplainable AI SHAP Contents 모델 학습 단계 해당 예제는 Boston dataset 데이터를 사용해서 회귀 문제를 풀어보겠습니다. Training Set와 Test Set은 따로 나누지 않고 예제 풀겠습니다. 해당 예제 풀이를 위한 파이썬 코드는 다음과 같습니다. 참고로, 회귀 모델은 XGBoost를 사용하였습.. 2022. 4. 10.
XAI 알고리즘 용어 정리 (eXplainable AI) 최근 XAI 알고리즘 종류 중 하나인 SHAP으로 프로젝트를 수행하고 있습니다. 해당 포스팅에서는 간단히 SHAP을 위해 사용하는 용어들에 대해 정리하고자 합니다. 내용 참고하시고 XAI 프로젝트에 도움이 되었으면 좋겠습니다. XAI 알고리즘 용어 Player : Feature Game : 예측 Surrogate Model : 대리 모델 (Explanation model) Feature Attribution : 특성 기여도 분석 Consistency : 일관성 Multicollinearity : 다중공선성 SHAP (SHapley Additive exPlanations) : Shapley Value를 사용하여, Additive Method를 만족시키는 Explanation Model Conditional.. 2022. 4. 6.
게임이론 in XAI SHAP (Game Theory) XAI의 한 종류인 SHAP 프로젝트를 수행하다가 보면 Shapley Value라는 값을 기본으로 합니다. 해당 값은 게임이론을 바탕으로 Game에서 각 Player의 기여분을 계산하는 방법인데, 이번 포스팅에서는 간단히 게임이론에 대해 정리하고자 합니다. 이전 글 : Shapley Value 설명 in eXplainable AI SHAP 게임이론 (Game Theory) 게임이론은 여러 Player가 참가하는 게임에서 개인이나 기업에서 어떠한 행위를 했을 때, 자신의 최대 이익에 부합하는 행동을 추구한다는 수학적 이론입니다. 게임이론은 응용 수학의 한 분야인데, Player가 Game에서 다른 Players와 상호작용하면서 변화하는 상황을 이해하는데 도움을 줍니다. 또한, 그 상호작용이 어떻게 전개될 .. 2022. 4. 6.
Shapley Value 설명 in eXplainable AI SHAP 최근 설명 가능한 AI (eXplainable AI : XAI) 프로젝트를 수행 중에 있습니다. XAI 종류 중 SHAP을 이용해서 AI 과제를 수행 중에 있는데, 이번 포스팅에서는 SHAP을 위해 꼭 필요한 개념인 Shapley Value의 설명 및 예시에 대해 여러분과 공유하고자 합니다. Contents Shapley Value 설명 Shapley Value는 SHAP이라는 XAI를 위해 사용되는 값입니다. 즉, Black-box인 AI 모델을 설명하기 위해 도입한 것이 Shapley Value입니다. 해당 값은 기본적으로 게임이론을 바탕으로 여러 변수 중 한 가지 변수가 결과에 미치는 중요도를 판단하기 위해 도입한 값입니다. Shapley Value 용어 Game : 예측 작업 Players : F.. 2022. 4. 5.
XGBoost 개념 및 초모수 튜닝 (Hyperparameter Tuning) 최근 XGBoost를 사용해서 프로젝트를 수행 중에 있습니다. 완벽에 가까운 프로젝트를 수행하고자 이번 포스팅에서는 XGBoost의 개념과 초모수 튜닝에 대해서 여러분과 공유하고자 합니다. 사실, 해당 포스팅은 개인적인 메모장이라고 보아도 무방합니다. 하지만, 많은 개발자 여러분들에게 도움이 되었으면 좋겠습니다. XGBoost는 굉장히 매력적인 머신러닝 알고리즘임과 동시에 파워풀한 퍼포먼스를 보여줍니다. 적극 사용하시는 것을 추천합니다. XGBoost 개념 XGBoost를 한마디로 표현하자면 Decision Tree를 앙상블로 구현해 정확한 예측 성능을 보여주는 머신러닝 모델입니다. 앙상블은 배깅(Bagging)과 부스팅(Boosting)으로 구분하는데, XGBoost는 부스팅에 해당합니다. 또한, XG.. 2021. 5. 28.
파이썬 텐서플로우 One hot Encoding 예제 코드 (Python Tensorflow) 머신러닝 혹은 딥러닝을 수행하면서 Softmax 방법을 사용하기 위해서는 One hot encoding 방법을 사용해야 합니다. 이번 포스팅에서는 파이썬 텐서플로우를 사용해서 One hot encoding 코드를 예제를 통해 구현해보겠습니다. Tensorflow에는 1 버전과 2 버전이 있는 만큼 두 가지에서 각각의 버전에서 사용 가능한 코드를 구현하겠습니다. 예제 데이터 One hot encoding 예제를 풀기 위해서는 데이터가 필요합니다. 아래와 같이 예제 데이터를 선언할 계획이며, 이 중에서 Output data를 사용해서 예제를 구현해보겠습니다. Input data는 다른 예제에서 사용됩니다. # 예제 데이터 선언 import numpy as np Input_data = np.array([[1,.. 2021. 4. 10.
Tensorflow Activation Function 종류 정리 및 코드 최근 업무상 텐서플로우를 사용해서 머신러닝 모델을 구축하고 있습니다. ReLU나 tanh와 같이 다양한 Activation Function을 적용하면 인공신경망 모델을 개선하는데 도움이 됩니다. 이번 포스팅에서는 간단히 Tensorflow에서 제공하는 Activation Function에 대해 여러분과 공유하고자 합니다. 활성화 함수 종류 정리 머신러닝을 위해 도입된 함수는 Sigmoid 인데, Sigmoid 함수는 딥러닝의 은닉층이 깊어지면 Gradient Vanishing 현상이라고 해서 기울기가 점점 사라지는 문제가 있습니다. 이를 해결하기 위해 tanh와 ReLU 함수가 도입되었습니다. 활성화 함수에 의한 기울기 소실 문제에 대해 궁금하신 분은 아래 포스팅을 참고해주십시오. DL #7 : 딥러닝 .. 2021. 3. 25.
주식 주가 데이터 다운로드 방법 정리 최근 RNN을 공부할 기회가 있었는데, RNN을 위해서는 주식 주가 데이터를 다운로드할 일이 있었습니다. RNN을 통해 서 현재의 주가를 통해 미래의 주가를 예측하는 모델이었습니다. 이를 위해서는 주가 데이터를 크롤링 해와야하는데, 아래 방법을 통해 주가 데이터를 쉽게 가져올 수 있습니다. 이번 포스팅에서는 주식 주가 데이터 다운로드 방법에 대해 여러분과 공유하고자합니다. 처음에는 저도 주식 주가 데이터를 어디에서 다운로드 받을지 몰라서 여기저기 기웃기웃 하다가 알게된 방법입니다. 아래 내용 참고하시면 되겠습니다. 1. 다운로드 사이트 접속 가장 먼저, 주식 주가 데이터를 다운로드 받을 수 있는 사이트에 접속해야합니다. 해당 사이트는 야후 파이넨셜입니다. 현재 야후가 한국사업을 접었기 때문에 해당 사이트.. 2020. 12. 6.
Pytorch Example : XOR 학습 예제 코드 (신경망 Neural Net) 최근 머신러닝을 수행하기 위한 패키지로 Pytorch 인기가 좋습니다. 머신러닝을 하기 위해서는 GUI 기반의 머신러닝 S/W를 구매해서 사용하는 것이 편하지만 개인이나 기업입장에서 비싼돈을 주고 라이센스를 구매해야하기 때문에 부담이 큰 것이 사실입니다. 사실, 어느정도 코딩만 할 수 있다면 간편하게 머신러닝 모델을 구축할 수 있습니다. 이번 포스팅에서는 Pytorch 패키지를 사용해서 신경망을 구성하고 XOR 연산을 학습하는 예제 코드를 만들어보겠습니다. 단계별로 각 코드에 대해 설명할 예정이고 제일 하단에 전체 코드가 있으니 참고하시면 되겠습니다. Pytorch 신경망 예제 XOR 학습하기 XOR 연산XOR 예제를 학습하기 위해서는 XOR이 무엇인지에 대해 알아야합니다. 많은 분들이 이미 알고계시겠지.. 2020. 7. 4.
다중공선성 판단 기준 및 해결 방법 : VIF 확인 (Multicollinearity) 최근 회귀 모형을 모델링하는 과정에서 모델을 통한 예측 신뢰구간이 매우 큰 것을 확인했습니다. 예측 신뢰구간이 크다는 것은 제대로 회귀 모델이 생성되지 않았다는 것을 의미합니다. 다중공선성을 판단하기 위해 VIF 값을 확인하였고, 1000에 이르는 값을 확인하였습니다. 이번 포스팅에서는 다중공선성 판단 기준과 해결 방법에 간단하게 여러분과 공유하고자합니다. 다중공선성 판단 기준 : VIF 확인 다중공선성 이란? 기본적으로 회귀분석의 전제는 독립변수들로 변수를 선정해야한다는 것입니다. 다중공선성이 있다라는 것은 변수들 간의 상관관계가 높다는 것을 의미합니다. 기존 전제가 무너진 것이기 때문에 다중공선성을 없애기 위한 노력이 필요합니다. 다중공선성독립변수 간 상관관계가 높다 (전제 위반) 하지만, 주의할 것.. 2020. 7. 2.