머신 러닝과 통계 [파이썬과 R로 배우는 머신 러닝]
- 원서명Statistics for Machine Learning: Techniques for exploring supervised, unsupervised, and reinforcement learning models with Python and R (ISBN 9781788295758)
- 지은이프라탑 단게티(Pratap Dangeti)
- 옮긴이이병욱
- ISBN : 9791161751191
- 35,000원
- 2018년 02월 28일 펴냄
- 페이퍼백 | 496쪽 | 188*235mm
- 시리즈 : acorn+PACKT
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
통계와 머신 러닝의 관계에 대해 기초적인 개념을 정립할 수 있도록 돕는다. 또한 지도학습, 비지도학습, 강화학습에 이르기까지 머신 러닝에서 주로 사용되는 대부분의 기법에 대해 파이썬과 R 예제를 제공한다.
책의 초반에 통계와 머신 러닝의 전반적인 관계에 대해 설명한 다음, 지도학습, 비지도학습, 강화학습 순으로 각각의 기법에서 통계적 방법과 머신 러닝 기법을 비교하며 설명한다. 거의 대부분의 예제에 대해서 파이썬과 R 코드를 같이 제공하기 때문에 코드를 직접 실행해 가면서 책을 읽을 수 있다.
이 책에서 다루는 내용
■ 모델 구축에 필요한 머신 러닝과 통계학 기초 이해
■ 문제 해결을 위한 통계적 방식과 머신 러닝 방식 사이의 차이점 및 유사점 이해
■ 데이터를 준비하는 방법 및 준비된 데이터로 R과 파이썬 패키지의 머신 러닝 알고리즘을 사용해 모델을 직접 구축하는 방법
■ 결과를 분석하고 목적에 맞게끔 모델을 튜닝하는 방법
■ 머신 러닝을 위해 필요한 통계학 개념 이해
■ 지도학습과 딥러닝 비지도학습 모델에 필요한 필수 기초 지식
■ 강화학습과 인공지능 응용분야
이 책의 대상 독자
이 책은 머신 러닝을 시스템에 구현하려는 사람이라면 통계학 지식의 유무와 상관없이 읽을 수 있다. R과 파이썬 프로그래밍에 관한 사전 지식은 많은 도움이 된다.
이 책의 구성
1장, ‘통계로부터 머신 러닝으로의 여행’에서는 통계와 머신 러닝의 기초 및 기본 요소를 소개한다. 모든 기초 지식은 전체 장에 걸쳐 파이썬과 R 코드를 통해 설명한다.
2장, ‘통계학과 머신 러닝의 유사점’에서는 선형 회귀와 라소/리지 회귀 예제를 통해 통계 모델링과 머신 러닝 사이의 차이점과 유사점을 비교해본다.
3장, ‘로지스틱 회귀와 랜덤 포레스트’에서는 분류 예제를 통해 로지스틱 회귀와 랜덤 포레스트의 세부 단계를 상세히 설명하면서 비교한다. 이 장이 끝날 때쯤에는 통계학과 머신 러닝 두 주류 학문에 관한 큰 그림을 그릴 수 있을 것이다.
4장, ‘트리 기반 머신 러닝 모델’에서는 실제 현업에서 많이 사용되고 있는 다양한 트리 기반 머신 러닝 모델을 알아본다. HR 퇴사자 데이터 예제를 통해 의사결정 트리(decision trees), 배깅(bagging), 랜덤 포레스트(random forest), 에이다 부스트(AdaBoost), 기울기 부스팅(gradient boosting), XG부스트X(GBoost)를 파이썬과 R 언어를 사용해 배운다.
5장, ‘K-최근접 이웃과 나이브 베이즈’에서는 간단한 머신 러닝 기법인 k-최근접 이웃을 유방암 데이터와 함께 설명한다. 나이브 베이즈 모델은 다양한 자연어 전처리 기술, 메시지 분류 예제와 함께 설명한다.
6장, ‘서포트 벡터 머신과 신경망’에서는 서포트 벡터 머신과 관련한 다양한 기능에 관해 기술하고 커널 함수 사용법을 알아본다. 그런 다음, 신경망을 소개하고 딥러닝의 기초에 관한 모든 것을 다룬다.
7장, ‘추천 엔진’에서는 사용자-사용자 유사도 행렬로부터 찾아낸 ‘유사한 사람’의 정보에서 ‘유사한 영화’를 찾는 방법을 알아본다. 두 번째 절에서는 코사인 유사도(cosine similarity)를 계산한 후 영화-영화 유사도 행렬을 구성해 추천 시스템을 직접 만들어본다. 마지막으로 최종 추천을 위해 사용자와 영화 간에 교대 최소 자승법을 활용한 협업 필터링(collaborative filtering) 기술을 사용한다.
8장, ‘비지도학습’에서는 K-평균 군집화(k-means clustering), 주성분 분석(principal component analysis), 특이값 분해(singular value decomposition), 딥러닝 기반의 딥 오토 인코더(deep auto encoders) 같은 다양한 기술을 소개한다. 마지막 부분에서는 딥 오토 인코더가 전통적인 PCA기법과 비교했을 때 갖고 있는 장점을 알아본다.
9장, ‘강화학습’에서는 에피소드 상태를 통해 최적 경로를 학습하는 마르코프 결정 프로세스 (Markov decision process), 동적 프로그래밍(dynamic programming), 몬테카를로 기법(Monte Carlo methods), 시간차 학습(temporal difference learning)과 같은 완전 탐색 기법(exhaustive techniques)에 관해 알아본다.
마지막에는 머신 러닝과 강화학습을 사용한 좋은 응용 사례 몇 가지를 소개한다.
목차
목차
- 1장. 통계학에서 머신 러닝으로의 여행
- 모델 구축과 검증을 위한 통계 용어
- 머신 러닝
- 통계 모델링과 머신 러닝의 주요 차이점
- 머신 러닝 모델 개발과 배치를 위한 단계
- 통계학 기초 및 모델 구축과 검증에 관련된 용어
- 편향과 분산의 트레이드 오프
- 훈련 데이터와 테스트 데이터
- 모델 구축과 검증을 위한 머신 러닝 용어
- 선형 회귀 vs 기울기 하강법
- 머신 러닝 손실
- 머신 러닝 모델 튜닝을 멈추는 시점
- 훈련, 검증, 테스트 데이터
- 교차 검증
- 그리드 검색
- 머신 러닝 모델 개관
- 요약
- 모델 구축과 검증을 위한 통계 용어
- 2장. 통계학과 머신 러닝의 유사점
- 회귀와 머신 러닝 모델의 비교
- 머신 러닝 모델의 보상 요인들
- 선형 회귀의 가정들
- 선형 회귀 모델링에 적용된 단계들
- 기본 원리로 해결하는 간단한 선형 회귀 예제
- 와인 품질 데이터를 이용한 단순 선형 회귀 예제
- 다중 선형 회귀 예제 - 모델 구축을 위한 단계별 기법
- 후진 제거법과 전진 선택법
- 머신 러닝 모델 - 리지와 라소 회귀
- 리지 회귀 분석 머신 러닝 예
- 라소 회귀 분석 머신 러닝 모델
- 선형 회귀와 리지/라소 회귀의 매개변수 정규화
- 요약
- 3장. 로지스틱 회귀 vs 랜덤 포레스트
- 최대 우도 추정
- 로지스틱 회귀 - 소개 및 장점
- 로지스틱 회귀에서 사용되는 용어
- 로지스틱 회귀 모델링의 적용 단계
- 독일 신용 데이터를 이용한 로지스틱 회귀 예
- 랜덤 포레스트
- 독일 신용 데이터를 이용한 랜덤 포레스트 예
- 랜덤 포레스트에서의 그리드 검색
- 독일 신용 데이터를 이용한 랜덤 포레스트 예
- 변수 중요도 그래프
- 로지스틱 회귀와 랜덤 포레스트 비교
- 요약
- 4장. 트리 기반 머신 러닝 모델
- 결정 트리 분류기 소개
- 결정 트리에 사용되는 용어들
- 기본 원리로 본 결정 트리의 작동 원리
- 로지스틱 회귀와 결정 트리 비교
- 다양한 모델 형식 간의 오차항 비교
- 이상적인 영역으로 가는 개선책
- HR 퇴직율 데이터 예제
- 의사결정 트리(DT) 분류기
- 트리 분류기의 가중값 튜닝
- 배깅 분류기
- 랜덤 포레스트 분류기
- 랜덤 포레스트 - 그리드 검색
- 에이다 부스트 분류기
- 기울기 부스팅 분류기
- 에이다 부스팅과 기울기 부스팅의 비교
- 극단 기울기 부스팅 - XG 부스트 분류기
- 앙상블들의 앙상블 - 모델 스태킹
- 서로 다른 분류기 형태 간의 앙상블들의 앙상블
- 동일 형식 분류기를 사용한 부트스트랩 표본을 통한 앙상블들의 앙상블
- 요약
- 결정 트리 분류기 소개
- 5장. K-최근접 이웃과 나이브 베이즈
- K-최근접 이웃
- KNN투표 예제
- 차원의 저주
- 차원의 저주 1차, 2차, 3차원 예제
- 위스콘신 유방암 진단 데이터를 이용한 KNN 분류기
- KNN분류기에서 K 값 튜닝
- 나이브 베이즈
- 확률 기초
- 결합 확률
- 조건부 확률과 베이즈 정리의 이해
- 나이브 베이즈 분류기
- 라플라스 계산
- 나이브 베이즈 SMS 스팸 분류 예
- 요약
- K-최근접 이웃
- 6장. 서포트 벡터 머신과 신경망
- SVM 동작 원리
- 최대 마진 분류기
- 서포트 벡터 분류기
- 서포트 벡터 머신
- 커널 함수
- SVM 다중 레이블 분류기를 사용한 문자 인식 예제
- 최대 마진 분류기 - 선형 커널
- 다항 커널
- RBF 커널
- 인공 신경망
- 활성 함수
- 순전파와 역전파
- 신경망의 최적화
- 확률 경사 하강법(SGD)
- 모멘텀
- NAG
- 에이다 그래드
- 에이다 델타
- RMS프랍
- 적응 모멘트 계산 - Adam
- L-BFGS 최적화 알고리즘
- 신경망에서의 드롭아웃
- scikit-learn을 사용해 필기체 숫자 인식에 적용한 ANN 분류기
- 딥러닝 소개
- 해결 기법
- 딥러닝 소프트웨어
- 필기체 숫자 인식을 위해 케라스를 사용한 딥 신경망 분류기
- 요약
- SVM 동작 원리
- 7장. 추천 엔진
- 내용 기반 필터링
- 코사인 유사도
- 협업 필터링
- 내용 기반 필터링 대비 협업 필터링의 장점
- 협업 필터링을 위한 교대 최소 자승법에 의한 행렬 인수 분해
- 추천 엔진 모델의 평가
- 그리드 검색을 사용한 추천 엔진의 초매개변수 선택
- 무비렌즈 데이터에 적용한 추천 엔진
- 사용자-사용자 유사도 행렬
- 영화-영화 유사도 행렬
- ALS를 사용한 협업 필터링
- 협업 필터링에서의 그리드 검색
- 요약
- 내용 기반 필터링
- 8장. 비지도학습
- K-평균 군집화
- K-평균 군집화 기본 작동 원리362
- 최적 클러스터 개수와 클러스터 평가
- 엘보 기법
- 붓꽃 데이터 예제를 이용한 K-평균 군집화
- 주성분 분석 - PCA
- 기본 원리로 본 PCA작동 기법
- scikit-learn를 활용한 필기체 숫자 인식에 PCA적용
- 특이점 분해 - SVD
- scikit-learn를 사용한 필기체 숫자에 SVD적용
- 딥 오토 인코더
- 인코더-디코더 구조를 이용한 모델 구축 기법
- 케라스를 이용한 필기체 숫자 인식에 딥 오토 인코더 적용
- 요약
- K-평균 군집화
- 9장. 강화학습
- 강화학습 소개
- 지도•비지도•강화학습의 상세 비교
- 강화학습의 특성
- 강화학습 기초
- 범주 1 - 가치 기반
- 범주 2 - 정책 기반
- 범주 3 - 액터 크리틱
- 범주 4 - 비모델 기반
- 범주 5 - 모델 기반
- 순차적 의사결정의 기본 범주
- 마르코프 결정 프로세스와 벨만 방정식
- 동적 프로그래밍
- 동적 프로그래밍으로 최적 정책을 계산하는 알고리즘
- 파이썬으로 격자 세상에 가치와 정책 반복 알고리즘 구현
- 몬테카를로 기법
- 동적 프로그래밍과 몬테카를로 기법의 비교
- DP기법 대비 MC기법의 핵심 우위점
- 몬테카를로 예측
- 그리드 문제에 적용한 몬테카를로 예측의 적합성
- 파이썬을 사용해 블랙잭 게임을 몬테카를로 기법으로 모델링
- 시간차 학습
- 몬테카를로 기법과 시간차 학습의 비교
- TD 예측
- TD 학습을 위한 회사까지 운전 예제
- SARSA 온-폴리시 TD 제어
- Q-러닝 오프-폴리시 TD 제어
- 절벽 걷기 예제에 적용한 온-폴리시와 오프-폴리시 TD 제어
- 머신 러닝과 딥러닝을 통합한 강화학습의 응용
- 자율 운행 제어 - 자율 주행 차량
- 구글 딥마인드의 알파고
- 로봇 축구
- 참고문헌