Driverless AI에서 변수의 중요성

전역 기능 중요성

  • 모델별 기능 중요성 : Driverless AI 실험 완료 후 모델 또는 알고리즘별 변수의 중요성을 보고합니다. 예를 들어 트리 기반 모델의 경우에 이 중요성은 이득 기반입니다. 즉, 각 기능으로 인한 포레스트의 모든 트리에 대한 평균 불순물 감소를 계산합니다. 트리의 루트에 더 가까운 노드를 분할하는 경향이 있는 기능은 더 큰 중요성 값을 갖습니다. 예를 들어 n폴드 모델은 변수의 중요성이 폴드에 걸쳐 평균화되며, 정규화되고 보고됩니다. 앙상블 모델의 경우 중요성에 각 모델 가중치를 곱하고 정규화합니다.

  • Permutation Feature Importance : 순열 기반 기능 중요성은 model-agnostic 접근 방식입니다. 성능 평가 또는 모델 채점 후 관심 있는 기능의 값을 치환(셔플)하고 모델 성능을 재평가하면 관찰된 성능의 평균 차이가 기능의 절대 순열 중요성을 나타냅니다. 기능에 예측력이 거의 없는 경우 해당 값을 섞는 것이 모델의 성능에 영향을 적게 미쳐야 합니다. 그러나 기능이 예측 가능성이 큰 경우 해당 값을 섞으면 모델의 성능이 저하됩니다. ref.

    Driverless AI는 기능 공간이 클 때 유전 알고리즘 이전에 선행 기능 선택을 위해 순열 기반 기능 중요성을 적용합니다.

Local 기능 중요성

  • LIME : Local 해석 가능한 모델 불가지론적(model-agnostic) 설명(Local Interpretable Model-agnostic Explanations, LIME)은 기능 공간의 특정 영역에서 어떤 기능이 가장 중요한지를 설명하는 것을 목표로 하는 model agnostic 기술입니다. LIME의 주요 아이디어는 관심 영역에서 Local 대리 모델을 계산하는 것입니다. 이 대리 모델은 선형 모델 또는 더 복잡한 관심 모델의 동작을 모방하도록 학습한 의사 결정 트리와 같이 쉽게 해석할 수 있는 모델입니다. 설명하려는 특정 예측에 대해 LIME은 값을 약간 변경하여 유사한 새로운 데이터 포인트를 생성합니다. 이 교란된 데이터 포인트를 복잡한 모델에 제공하여 교란된 기능과 모델 예측 간의 관계가 나타나며, 이는 대리 모델에 의해 캡처됩니다.

    Driverless MLI는 모델 해석 툴킷의 일부로 LIME 모델 을 구축합니다.

  • Shapley : Shapley value는 Local 기능 중요성에 사용할 수 있습니다. 사기 여부와 같이 특정 예측에 가장 크게 기여하는 기능을 설명하는 데 사용할 수 있습니다. Shapley value는 LIME의 Local 대리 모델이 설계된 《what if》 질문에 대답하도록 설계되지 않았습니다.

    Shapely는 당면한 문제가 개별 능력 또는 성과를 바탕으로 팀의 모든 플레이어에게 공정한 보상을 결정하는 것인 게임 이론이 그 기원입니다. Shapley value는 가능한 모든 조합을 고려한 후 한 플레이어의 평균 예상 한계 기여도로 정의됩니다. 한계 기여도는 플레이어가 구성원인 그룹의 가치에서 플레이어가 없는 그룹의 가치와 플레이어가 혼자 작업하여 생산한 가치를 뺀 값으로 정의합니다.

    기능의 가능한 모든 서브세트(또는 조합)를 고려하는 것은 많은 기능이 있는 가장 현실적인 모델에서 계산적으로 불가능하므로 Shapley value 근사는 샘플링을 기반으로 계산합니다. Driverless AI는 Shapley 계산을 위해 파이썬 SHAP 패키지를 사용합니다. 이는 experiment artifact 로 다운로드하거나 mojo 또는 Python Scoring Pipeline을 사용하여 생산 중에 행별로 얻을 수 있습니다.

    Driverless MLI는 모델 해석 툴킷의 일부로 Shapley 을 구축합니다.