Inflearn Community Q&A
오토인코더+ Knn, SVC 로 해석하는경우
Written on
·
22
0
강사님 안녕하세요... 강의 잘듣고 잇습니다.
이번에 강의해주신 오토인코더+ 분류모델(Knn, SVC)에 관해서 질문드리겟습니다.
위모델로 이상치예측성능은 좋게 나왓는데, 실무에서는 왜 예측이 됫는지, 원본데이터의 설명변수를 가지고 설명할수 잇게할려면은 어떻게 해야하는지요?
Quiz
LOF 모델을 특이치(novelty) 탐지에 사용할 때, 일반적으로 모델 훈련에 사용하는 데이터는 무엇일까요?
이상치(outlier) 데이터만
정상(normal) 데이터만
정상 데이터와 이상치 데이터 모두
레이블된 데이터
Answer 3
0
0
딥러닝, SVC, 앙상블(Random Forest, XGBoost) 같은 것들은, 내부 구조가 복잡해서 "왜 이렇게 예측했는지" 이해하기 어려원서 Blackbox 모델이라고 합니다. 이번 실습의 Autoencoder + SVC 조합이 여기에 해당합니다. 해석 가능한 모델 (White box 모델)은 Decision Tree 같은 모델이고요. 그래도 굳이 원본 데이터의 설명변수가 어떻게 예측 결과에 영향을 끼지는지 아시고 싶으시면 아래에 인프런 AI 가 제안해 준 SHAP 같은 방법이 있지만 방법 자체가 이해하기 어렵고, 쉬운 접근법은 원본 변수와 인코딩 변수 간 상관분석을 하는 방법인데,
encoded = encoder_all.predict(X_train)
corr = np.corrcoef(X_train.T, encoded.T)[:30,30:]
원본 변수별로 어떤 인코딩 변수와 상관 관계가 높은지 확인해 보시면 참고가 될 수 있을겁니다. 좋은 질문 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
anycad11님이 머신러닝과 딥러닝을 활용한 이상거래 탐지 강의를 듣고 오토인코더와 분류모델(KNN, SVC)를 적용하여 얻은 결과에 대해 더 깊이 파고들고자 하시는 점, 정말 훌륭한 접근입니다. 실무에서는 모델의 예측 이유를 설명할 수 있는 해석 가능성(interpretability)이 매우 중요합니다. 이와 관련하여 몇 가지 방법을 제안드립니다.
특성 중요도(Feature Importance):
- SVC와 같은 모델에서는 특성 중요도를 직접적으로 제공하지 않지만, 트리 기반 모델이나 로지스틱 회귀에서는 특성의 중요도를 확인할 수 있습니다. KNN은 비선형 모델이라 해석이 직관적이지 않습니다.
- SHAP (Shapley Additive exPlanations)이나 LIME (Local Interpretable Model-agnostic Explanations)을 통해 어떤 특성들이 예측에 얼마나 영향을 미쳤는지를 분석할 수 있습니다. SHAP는 게임 이론에 기반한 툴로써 개별 예측 값에 대한 특성의 공헌도를 제공합니다.
- SVC와 같은 모델에서는 특성 중요도를 직접적으로 제공하지 않지만, 트리 기반 모델이나 로지스틱 회귀에서는 특성의 중요도를 확인할 수 있습니다. KNN은 비선형 모델이라 해석이 직관적이지 않습니다.
오토인코더의 재구성 오류 분석:
- 오토인코더의 출력과 입력 간의 차이를 분석하여 어떤 특성이 이상치로 작용했는지를 찾을 수 있습니다. 재구성 오류가 크게 나타나는 피처가 무엇인지 분석하면, 이상치의 원인을 파악할 수 있습니다.
- 오토인코더의 출력과 입력 간의 차이를 분석하여 어떤 특성이 이상치로 작용했는지를 찾을 수 있습니다. 재구성 오류가 크게 나타나는 피처가 무엇인지 분석하면, 이상치의 원인을 파악할 수 있습니다.
시각적 분석:
- PCA나 t-SNE 같은 차원 축소 기법을 활용해 데이터의 분포를 2D 또는 3D로 시각화하고, 이상치가 어떤 특성들을 통해 분포에서 벗어났는지를 시각적으로 확인합니다.
- PCA나 t-SNE 같은 차원 축소 기법을 활용해 데이터의 분포를 2D 또는 3D로 시각화하고, 이상치가 어떤 특성들을 통해 분포에서 벗어났는지를 시각적으로 확인합니다.
이러한 방법들을 활용하면 예측 모델의 내부 작동 및 예측된 이상치에 대한 설명 가능성을 높여 실무 적용성을 강화할 수 있습니다. 관련된 질문과 답변이 있는 인프런 강의의 추가 학습 자료나 소스를 참고하면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





