파이썬을 활용한 머신러닝 해석 가능성 [예측의 공정성, 책임성, 투명성을 수립하는 다양한 방법 학습하기]
- 원서명Interpretable Machine Learning with Python: Learn to build interpretable high-performance models with hands-on real-world examples (ISBN 9781800203907)
- 지은이세르그 마시스(Serg Masís)
- 옮긴이김우현
- ISBN : 9791161757605
- 45,000원
- 2023년 06월 30일 펴냄
- 페이퍼백 | 840쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/PacktPublishing/Interpretable-Machine-Learning-with-Python/
요약
설명 가능한 인공지능 또는 해석 가능한 머신러닝 모델을 구축하는 다양한 방법론을 소개한다. 최근 이슈가 되고 있는 인공지능 모델의 윤리적 문제를 다루면서도 동시에 높은 성능과 견고성을 유지할 수 있는 비결을 소개한다. 먼저 해석 가능성이란 무엇인지 설명하고 머신러닝 모델의 윤리적 측면인 공정성, 책임성, 투명성이 필요한 이유 그리고 이를 달성할 방법을 설명한다. 그 다음 다양한 상황과 다양한 데이터 형태를 갖는 각 유스 케이스에서 머신러닝 해석방법론을 적용하는 과정을 실제적으로 다루고 있다. 마지막으로 모델의 복잡성을 줄이고, 편향을 완화시키고, 안정성과 견고성을 향상시키기 위해 모델을 튜닝하는 방법을 학습할 수 있다.
이 책에서 다루는 내용
◆ 비즈니스에서 해석 가능성의 중요성
◆ 선형 모델, 의사결정 트리, 나이브 베이즈 등 본질적으로 해석 가능한 모델 학습
◆ 모델 독립적인 해석방법론을 통해 모델 해석 숙련도 향상
◆ 이미지 분류기의 작동 방식 및 모델이 학습한 내용 시각화
◆ 데이터셋에서 편향 완화 방법
◆ 적대적 견고성으로 모델의 신뢰성을 높이는 방법
◆ 단조적 제약조건을 사용해 보다 공정하고 안전한 모델 구축
이 책의 대상 독자
◆ 머신러닝과 파이썬 프로그래밍 언어에 대한 기초 지식을 가진 데이터 과학 초보자 및 학생
◆ 자신이 개발하고 유지 관리하는 AI 시스템의 작동 방법과 개선 계획을 설명할 중요 책임이 점점 더 늘어나는 데이터 전문가
◆ 최신 해석 방법론과 편향 완화 기술을 포함하도록 자신의 기술 영역을 확장하려는 머신러닝 엔지니어 및 데이터 과학자
◆ AI 윤리와 관련해 더 나은 방향을 제시하기 위해 AI의 구현 측면을 더 깊이 이해하고자 하는 AI 윤리 담당자
◆ 공정성, 책임성, 투명성의 원칙을 준수하기 위해 해석 가능한 머신러닝을 비즈니스에 도입하려는 AI 프로젝트 매니저 및 비즈니스 리더
이 책의 구성
1장, ‘해석, 해석 가능성, 설명 가능성: 왜 이 모두가 중요한가?’에서는 머신러닝 해석과 함께 해석 가능성, 설명 가능성, 블랙박스 모델, 투명성 등과 같은 관련 개념을 소개하고 모호성을 피하기 위해 용어에 관한 정의를 제공한다. 그 다음 비즈니스에 대한 머신러닝 해석 가능성
의 가치를 논의한다.
2장, ‘해석 가능성의 주요 개념’에서는 심혈관 질환 예측 예제를 사용해 두 가지 기본 개념인 “피처 중요도”와 “의사결정 영역”을 소개하고, 해석 방법론을 분류할 때 사용되는 가장 중요한 분류법을 살핀다. 또한 머신러닝 해석 가능성을 방해하는 것이 무엇인지 자세히 설명한다.
3장, ‘머신러닝 해석의 과제’에서는 항공기 지연 예측 문제를 갖고 회귀와 분류 모두에서 머신러닝 해석에 사용되는 전통적인 방법을 논의한다. 그 다음 이런 전통적인 방법의 한계를 살펴보고 “화이트박스” 모델을 본질적으로 해석할 수 있게 만드는 요소가 무엇인지, 왜 화이트박스 모델을 항상 사용할 수 없는지 설명한다. 이 질문에 답하기 위해 예측 성능과 모델 해석 가능성 사이의 절충에 대해 고려할 것이다. 마지막으로 이런 절충 문제에서 타협하지 않으려는 새로운 모델인 “글래스박스(glass-box)” 모델을 살펴본다.
4장, ‘피처 중요도와 피처 영향력’에서는 출생 순서 분류 예제를 사용해 모델의 고유한 매개변수를 사용하는 것과 같이, 피처 중요도를 얻기 위한 다른 방법론들과 함께 “순열 피처 중요도(PFI, Permutation Feature Importance)”라고 부르는 좀 더 신뢰할 수 있는 모델 독립적인 방법론을 논의한다. 그런 다음에 단일 피처의 예측에 대한 한계 효과를 확인하기 위해 “부분 의존도 플롯(PDP, Partial Dependence Plot)” 및 “개별 조건부 기대치(ICE, Individual Conditional Expectation)” 그래프를 렌더링하고 해석하는 방법을 학습한다.
5장, ‘글로벌 모델 독립적인 해석 방법론’에서는 자동차 연비 회귀 모델을 사용해 게임 이론으로부터 영감을 받은 SHAPS(Hapley Additive exPlanations)를 자세히 학습한 다음, 조건부 주변 분포인 “누적 지역 효과(ALE, Accumulated Local Effects)” 그래프를 시각화한다. 마지막으로 “글로벌 대체 모델(Global Surrogate)”에 대해 알아본다.
6장, ‘로컬 모델 독립적인 해석 방법론’에서는 단일 예측 또는 그룹 예측을 설명하는 로컬 해석 방법론을 다룬다. 이를 위해 테이블 데이터와 텍스트 데이터를 모두 포함하고 있는 초콜릿바 등급 분류 예제를 사용한다. 로컬 해석을 위해 SHAP와 LIME(Local Interpretable Model-Agnostic Descriptions)을 활용하는 방법을 다룰 것이다.
7장, ‘앵커와 반사실적 설명’에서는 로컬 모델 해석을 계속하며, 분류 문제를 더 깊게 다룬다. 인간이 해석할 수 있는 방식으로 불공정한 예측을 설명하는 방법을 파악하기 위해 재범 위험 예측 예제를 사용한다. WIT(What-If-Tool)뿐만 아니라 “앵커(Anchor)”, “반대 사실(Counterfactuals)”, “대조적 설명 방법론(CEM, Contrastive Explanation Method)” 등을 소개한다.
8장, ‘컨볼루션 신경망 시각화’에서는 컨볼루션 신경망(CNN) 모델인 과일 분류기 모델과 함께 작동하는 해석 방법론을 집중적으로 살펴본다. CNN이 “활성화 함수(activation)”를 통해 학습하는 방법을 파악한 후, 클래스 속성을 디버깅하기 위해 “돌출 맵(Saliency Maps)”, Grad-CAM, “통합 그래디언트(Integrated Gradients)” 등과 같은 몇 가지 그래디언트 기반 귀인 방법론을 학습한다. 마지막으로 “폐쇄 민감도(Occlusion Sensitivity)”, LIME, CEM과 같은 섭동 기반 귀인 방법론을 통해 속성 디버깅 노하우를 확장한다.
9장, ‘다변량 예측 및 민감도 분석을 위한 해석 방법론’에서는 교통량 예측 문제와 LSTM(Long Short-Term Memory) 모델을 사용해 이 유스 케이스에 통합 그래디언트와 SHAP를 적용하는 방법을 다룬다. 또한 예측과 불확실성이 본질적으로 어떻게 연결돼 있는지, 입력과 관련된 모델 출력의 불확실성을 측정하기 위해 설계된 방법론 중 민감도 분석을 살펴본다. 여기서는 인자의 우선순위를 추출하는 모리스(Morris) 방식과 인자를 고정하는 소볼(Sobol) 방식 두 가지를 학습한다.
10장, ‘해석 가능성을 위한 피처 선택과 피처 엔지니어링’에서는 비영리 다이렉트 메일링 최적화 문제를 사용해 스피어만(Spearman) 상관계수와 같은 필터 기반 피처 선택 방법론을 검토하고, Lasso와 같은 임베디드 방법에 관해 알아본다. 그런 다음 “순차적인 피처 선택(Sequential Feature Selection)”과 같은 래퍼 방법, “재귀적인 피처 제거(Recursive Feature Elimination)”와 같은 하이브리드 방법, “유전 알고리듬(Genetic Algorithm)”과 같은 고급 방법을 소개한다. 마지막으로, “피처 엔지니어링(feature engineering)”은 일반적으로 피처 선택 이전에 수행되지만, 먼지가 가라앉은 후에 수행하는 것도 여러 가지 이유로 가치가 있음을 살펴본다.
11장, ‘편향 완화 및 인과관계 추론 방법론’에서는 신용카드 채무불이행 문제를 통해 원치 않는 편향을 감지하기 위해 공정성 메트릭 및 시각화를 활용하는 방법을 배운다. 그다음 가중치 재설정과 같은 전처리 방법, 프로세스 내 처리를 위한 이질적 영향력 제거기, 후처리를 위한 “오즈 균등화(equalized odds)” 등을 통해 편향을 줄이는 방법을 살펴본다. 그러고 나서 신용카드 채무불이행을 낮추기 위한 처치를 테스트하고 인과적 모델링을 활용해 “평균 처치 효과(ATE, Average Treatment Effects)”와 “조건부 평균 처치 효과(CATE, Conditional Average Treatment Effects)”를 결정한다. 마지막으로, 인과적 가정과 추정치의 견고성을 테스트한다.
12장, ‘해석 가능성을 위한 단조성 제약조건과 모델 튜닝’에서는 7장의 재범 위험 예측 문제를 계속해서 다룬다. 공정성을 보장하기 위해 데이터 측면에 “피처 엔지니어링”과 함께 가드레일을 배치하고, 모델에 “단조적이고 상호작용하는 제약조건”을 적용하는 방법을 배우는 동시에 여러 목표가 있을 때 모델을 튜닝하는 방법을 배운다.
13장, ‘적대적 견고성’에서는 얼굴 마스킹 탐지 문제를 사용해 엔드 투 엔드 적대적 솔루션(end-to-end adversarial solution)을 다룬다. 모델을 공격하는 방법에는 여러 가지가 있지만, 여기서는 칼리니(Carlini)와 와그너(Wagner)의 “인피니티-노름(Infinity-Norm)” 및 “적대적 패치(Adversarial Patchs)”와 같은 회피 공격에 초점을 맞추고, 다른 형태의 공격은 간략하게 설명한다. “공간 평활 전처리(spatial smoothing preprocessing)”와 “적대적 학습(adversarial training)”이라는 두 가지 방어 방법을 설명한다. 끝으로 “견고성 평가” 방법 하나와 인증 방법 하나를 보여준다.
14장, ‘머신러닝 해석 가능성 그 다음 단계는?’에서는 머신러닝 해석 가능성 방법론의 생태계의 맥락에서 학습한 내용을 요약한다.
목차
목차
- 1부. 머신러닝 해석 소개
- 1장. 해석, 해석 가능성, 설명 가능성: 왜 이 모두가 중요한가?
- 기술 요구 사항
- 머신러닝 해석이란?
- 단순 몸무게 예측 모델의 이해
- 해석 가능성과 설명 가능성의 차이점 이해
- 해석 가능성이란
- 설명 가능성이란
- 해석 가능성에 대한 비즈니스 사례
- 더 나은 의사결정
- 더 신뢰받는 브랜드
- 더 윤리적인
- 더 많은 수익
- 정리
- 이미지 소스
- 더 읽을거리
- 2장. 해석 가능성의 주요 개념
- 기술 요구 사항
- 미션
- CVD에 대한 상세정보
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 해석 방법론의 종류와 범위
- 모델 해석 가능성 방법론의 종류
- 모델 해석 가능성의 범위
- 로지스틱 회귀로 개별 예측 해석
- 머신러닝 해석 가능성을 저해하는 요인
- 비선형성
- 상호작용성
- 비단조성
- 미션 완료
- 정리
- 더 읽을거리
- 3장. 머신러닝 해석의 과제
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터의 이해 및 준비
- 전통적인 모델 해석 방법론
- 다양한 회귀 방법론으로 지연된 시간 예측
- 다양한 분류 방법론으로 항공편 지연 여부 분류
- 차원 축소 방법으로 지연된 항공편 시각화
- 전통적인 모델 해석 방법론의 한계
- 본질적으로 해석 가능한 화이트박스 모델
- 일반화 선형 모델(GLM)
- 의사결정 트리
- RuleFit
- 최근접 이웃
- 나이브 베이즈
- 성능과 해석 가능성 사이의 균형
- 특수한 모델 속성
- 성능 평가
- 최신의 해석 가능한 글래스박스 모델
- 설명 가능한 부스팅 머신(EBM)
- Skoped Rules
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 2부. 해석 방법론 마스터하기
- 4장. 피처 중요도와 피처 영향력
- 기술 요구 사항
- 미션
- 성격과 출생 순서
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 결과에 대한 피처의 영향력 측정
- 트리 기반 모델의 피처 중요도
- 로지스틱 회귀의 피처 중요도
- LDA의 피처 중요도
- 다층 퍼셉트론의 피처 중요도
- PFI 실습
- PFI의 단점
- PDP 해석
- 상호작용 PDP
- PDP의 단점
- ICE 플롯
- ICE의 단점
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 5장. 글로벌 모델 독립적 해석 방법론
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 데이터 딕셔너리
- 섀플리 값 소개
- SHAP 요약 플롯 및 의존도 플롯 해석
- SHAP 요약 플롯 생성
- 상호작용 이해하기
- SHAP 의존도 플롯
- SHAP 영향력 플롯
- 누적 지역 효과 플롯
- 글로벌 대체 모델
- 미션 완료
- 정리
- 더 읽을거리
- 6장. 로컬 모델 독립적 해석 방법론
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- SHAP의 KernelExplainer 활용해 SHAP 값으로 로컬 해석
- LIME
- NLP에 LIME 사용하기
- NLP에 SHAP 사용하기
- SHAP과 LIME 비교
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 7장. 앵커와 반사실적 설명
- 기술 요구 사항
- 미션
- 재범 위험 평가의 부당한 편향
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 앵커 설명에 대한 이해
- alibi를 이용해 앵커 및 반사실적 설명 준비하기
- 앵커 설명을 위한 로컬 해석
- 반사실적 설명 탐색
- 프로토타입을 통한 반사실적 설명
- What-If 도구(WIT)를 사용한 반사실적 설명
- CEM과의 비교
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 8장. 컨볼루션 신경망 시각화
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 전통적인 해석 방법론으로 CNN 분류기 평가
- 활성화 기반 방법론으로 학습 과정을 시각화
- 중간 활성화
- 활성화 극대화
- 그래디언트 기반 귀인 방법론으로 오분류 검증
- 돌출 맵
- Grad-CAM
- 통합 그래디언트
- 종합
- 섭동 기반 귀인 방법론으로 분류 이해
- 폐쇄 민감도
- LIME의 ImageExplainer
- CEM
- 종합
- 보너스: SHAP의 DeepExplainer
- 미션 완료
- 정리
- 데이터셋 및 이미지 소스
- 더 읽을거리
- 9장. 다변량 예측 및 민감도 분석을 위한 해석 방법론
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 전통적인 해석 방법론으로 시계열 모델 평가
- 통합 그래디언트로 LSTM 속성 생성
- SHAP의 KernelExplainer로 글로벌 및 로컬 속성 계산
- 인자 우선순위화로 영향력 있는 피처 식별
- 인자 고정으로 불확실성 및 비용 민감도 정량화
- 미션 완료
- 정리
- 데이터셋 및 이미지 소스
- 더 읽을거리
- 3부. 해석 가능성을 위한 튜닝
- 10장. 해석 가능성을 위한 피처 선택과 피처 엔지니어링
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 상관성 없는 피처의 효과 이해
- 필터링 기반 피처 선택 방법론
- 기본 필터링 기반 방법론
- 상관관계 필터링 기반 방법론
- 순위 필터링 기반 방법론
- 필터링 기반 방법론 비교
- 임베디드 피처 선택 방법론
- 래퍼, 하이브리드, 고급 피처 선택 방법론
- 래퍼 방법론
- 하이브리드 방법
- 고급 피처 선택 방법론
- 모든 피처 선택 모델 평가
- 피처 엔지니어링 고려
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 11장. 편향 완화 및 인과관계 추론 방법론
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 편향 감지
- 데이터셋 편향 시각화
- 데이터셋 편향 정량화
- 모델 편향 정량화
- 편향 완화
- 전처리 편향 완화 방법론
- 프로세스 내 편향 완화 방법론
- 후처리 편향 완화 방법론
- 편향 완화 방법론 비교
- 인과 모델 생성
- 실험 결과 이해
- 인과 모델에 대한 이해
- 선형 DRL 초기화
- 인과 모델 적합
- 이질적 처치 효과
- 정책 선택
- 추정치 견고성 테스트
- 무작위 공통 원인 추가
- 무작위 변수로 처치 대체
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 12장. 해석 가능성을 위한 단조성 제약조건과 모델 튜닝
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- 피처 엔지니어링으로 가드레일 배치
- 서수화
- 이산화
- 상호작용 항과 비선형 변환
- 범주화 인코딩
- 다른 준비 작업
- 해석 가능성을 위한 모델 튜닝
- 케라스 신경망 튜닝
- 인기 있는 다른 모델 클래스 튜닝
- 베이지안 하이퍼파라미터 튜닝 및 사용자 정의 메트릭으로 공정성 최적화
- 모델 제약조건 구현
- XGBoost에 대한 제약조건
- 미션 완료
- 정리
- 데이터셋 소스
- 더 읽을거리
- 13장. 적대적 견고성
- 기술 요구 사항
- 미션
- 접근법
- 준비
- 라이브러리 로드
- 데이터 이해 및 준비
- CNN 기본 모델 로드
- CNN 기본 분류기 평가
- 우회 공격
- 전처리를 통한 표적 공격 방어
- 적대적 학습을 통해 우회 공격으로부터 보호
- 적대적 견고성 평가 및 인증
- 모델 견고성과 공격 강도 비교
- 무작위 평활화로 견고성 인증
- 미션 완료
- 정리
- 데이터 소스
- 더 읽을거리
- 14장. 머신러닝 해석 가능성 그다음 단계는?
- ML 해석 가능성의 현재 상황 이해
- 전체 요약
- 최신 트렌드
- ML 해석 가능성의 미래에 대한 추측
- ML의 새로운 비전
- 종합적인 접근
- 적절한 표준화
- 규제 시행
- 내장된 해석으로 인한 매끄러운 머신러닝 자동화
- MLOps 엔지니어와의 긴밀한 통합
- 더 읽을거리