LIME
- Surrogate model ?
- global surrogate analysis: 학습 데이터(일부 혹은 전체)를 사용해 surrogate 모델을 구축하는 것
- local surrogate analysis: 학습 데이터 하나하나를 해석하는 과정
- Surrogate 분석이란, 본래 기능을 흉내내는 대체재를 만들어 프로토타입이 동작하는지 판단하는 분석 방법이다. XAI에서도 원본 AI 모델이 너무 복잡하여, 연산적인 제약으로 분석이 불가할 때 유사한 기능을 흉내내는 AI 모델 여러 개를 만들어 분석하는 것을 의미한다.
- local surrogate model을 구체적으로 구현한 방법이다.
- 원본 데이터셋은 잊어버리고 왜 모델이 특정한 결과값을 반환했는지 살펴보는 것이다.
- 전체 데이터를 보는 것 보다는 일부 데이터를 기반으로 설명력이 쉬운 모델을 만들어 해석을 하는 기법을 의미한다. (복잡한 데이터에 적합된 복잡한 모델은 설명하기 어렵기 때문)
장점
- 기반이 되는 머신러닝 모델을 바꾸더라도 동일하게 사용하여 설명할 수 있다.
- Global한 해석이 아닌 개별 데이터 인스턴스에 대한 local 해석력을 제공한다.
- SHAP보다는 계산량이 적다
단점
- 데이터 분포가 local적으로도 매우 비선형적이면 local에서 선형성을 가정하는 LIME은 설명력에 한계를 갖게 된다.
Shapely
- 특정 모델을 생성한 후 사후분석 결과로 보는 방법이다 (Post-hoc). 그리고 전체 데이터 중 관심 관측치의 위치를 파악하고 해석하는 것으로 이해 가능하다 (Local). 또한 모델에 상관없이 적용가능한 방식이다 (Model agnostic).
- 예측을 진행할 때, 어떤 변수가 예측에 가장 큰 기여를 했는지 파악하는 방법
장점
- LIME과 달리 모든 학습 데이터에 대해, feature 조합에 따른 예측 값을 기준으로 시작한다.
- 정형 데이터의 경우, 관측치 별 해석과 전반적 변수 중요도 산출이 가능하다.
단점
- 모든 순열에 대해 계산을 진행해야하기에 많은 시간이 필요하다.
- Shapely value는 모델 학습 후 산출하는 것으로 원인/결과의 관계로 해석하면 안된다.
PDP
- 전체 샘플의 값을 평균내어 평균적인 Marginal Effect를 확인하는 방식이다.
- PDP에서는 각 변수들이 서로 상관관계가 없다고 가정한다. 관심 대상인 변수들과 관심 대상이 아닌 변수들 간 상관관계가 없다고 가정하여, 관심 대상인 변수와 Target간의 순수한 관계를 본다는 의미이다. 상관성이 너무 높은 변수들이 있을 경우 전체 예측값 평균 계산에 영향을 끼칠 수 있기 때문이다.
장점
- 직관적인 해석이 가능하다. (PDP 대상이 되는 특성이 다른 특성들과 상관관계를 가지지 않는다면, PDP는 해당 특성의 모델 예측에 대한 평균 영향력을 알려준다.)
단점
- 한 번에 고려할 수 있는 특성의 최대치가 2개이다.
- 데이터가 크거나, 변수의 값이 매우 많은 연속형 변수일수록 연산량이 방대해 진다. 따라서 차원이 비교적 작은 변수이거나 중요한 변수 한두가지만 PDP를 통해 살펴보는 것이 좋다.
- 샘플 간 성질이 매우 다를 경우 참고할 만한 지표가 되지 못한다. 왜냐하면 예측값들을 평균낸 값들로 영향을 보는것이기 때문에, 샘플들의 서로 다른 성질들이 반영되지 못하기 때문.
- 이종효과 (겉보기에는 비슷하지만 다른 영향을 끼치는 서로 이질적인 요소)가 드러나지 않는다. 하나의 특성이 커질수록 예측치가 커지고, 동시에 작으면 작을수록 예측치가 커질 경우 PDP는 수평선으로 그려져 특성의 영향도가 없는 것처럼 보일 수 있다.
Permutation Feature Importance
- 어느 모델이든(Model-agnostic) 학습시킨 후(Post-hoc)에 적용하는 방법이다.
- 특정 feature를 안 썼을 때, 이것이 성능 손실에 얼마만큼의 영향을 주는지를 통해 그 feature의 중요도를 파악하는 방법이다.
- 특정 feature를 안쓰고 예측에러를 계산하기 위해 변수를 아예 포함하지 않는 것 대신, feature의 값들을 무작위로 섞은 후 그 feature를 노이즈로 만든다 (무작위로 섞게되면 목표 변수와 어떠한 연결고리를 끊게 되는 것이므로 그 feature를 안쓴다고 할 수 있다.). 섞었을 때 예측값이 실제 값보다 얼마나 차이가 더 생겼는지를 통해 해당 feature의 영향력을 파악한다.
- 각 feature의 중요도는 다른 feature들과의 교호작용도 포함된다.
장점
- 재학습시킬 필요가 없다.
- 다른 특성과의 모든 상호작용을 고려한다.
단점
- 무작위로 섞는 것이 특징이기 때문에 할 때마다 결과가 매우 달리질 수 있다. (섞는 횟수를 늘림으로써 예측 에러의 분산을 감소시킬 수 있지만, feature의 개수가 매우 많을 경우에는 연산량이 증가할 것이다.)
- 무작위로 섞다보면 매우 비현실적인 데이터 인스턴스를 생성할 가능성이 높다. 특히, 변수들 간 상관관계가 높을 경우 이러한 문제점이 발생하기 쉽다. (예를 들어, 변수 중에 ‘키'와 ‘몸무게'가 있다고 할 때, 이 두 변수들은 대체적으로 상당한 연관이 있다. 하지만, 키의 값들을 랜덤으로 섞다보면 키가 2m인데 몸무게가 30kg인 인스턴스가 만들어질 수도 있다. 데이터의 이러한 비개연성, 비현실성이 증가하면, 예측값에 지대한 영향을 미칠 가능성이 있다.) → SHAP에서 해결
'Data Science & Machine Learning' 카테고리의 다른 글
[eXplainableAI (XAI)] XAI를 위한 유용한 툴들 (0) | 2022.06.15 |
---|---|
[eXplainableAI (XAI)] 기초적인 설명 - Complexity: Intrinsic vs Post-hoc / Scope: Global vs Local / Dependency: Model-specific vs Model-agnostic (0) | 2022.06.13 |
[추천 시스템] 페이스북 DLRM 모델 (0) | 2022.06.10 |
[추천시스템] Wide & Deep Learning for Recommender systems paper (0) | 2022.06.08 |
Fashion recommendation system Review paper (0) | 2022.05.27 |