인공지능 시스템 구축에 필요한 지식과 개발 방법을 망라한 가이드북. 꾸준히 개정되어 이번 3판에는 영화 추천 엔진(나이브 베이즈), 얼굴 인식(SVM), 주가 예측(신경망), 옷 이미지 분류(CNN), 시퀀스 예측(RNN), 강화학습 등 6개 장이 추가되었다. 주요 파이썬 머신러닝 알고리즘을 라이브러리 없이 혹은 텐서플로/케라스 같은 라이브러리를 사용해서 구현해본다. 풍부한 예제를 통해 특징 공학, 분류, 회귀, 군집화, NLP 등 업계에서 널리 활용되는 머신러닝 기법의 작동 원리를 익힐 수 있다.
Contents
지은이·옮긴이 소개 xiii
기술 감수자 소개 xiv
옮긴이 머리말 xv
베타리더 후기 xvii
감사의 글 xix
이 책에 대하여 xx
CHAPTER 1 머신러닝과 파이썬 시작하기 1
1.1 머신러닝 소개 2
1.2 머신러닝의 전제 조건 7
1.3 세 가지 유형의 머신러닝 시작하기 8
1.4 머신러닝의 핵심 파헤치기 11
1.5 데이터 처리와 특징 공학 23
1.6 모델 결합 29
1.7 소프트웨어 설치 및 설정 34
1.8 요약 39
1.9 연습 문제 39
CHAPTER 2 나이브 베이즈를 이용한 영화 추천 엔진 구축 41
2.1 분류 시작하기 42
2.2 나이브 베이즈 45
2.3 나이브 베이즈 구현 52
2.4 나이브 베이즈를 이용한 영화 추천기 구축 57
2.5 분류 성능 평가 62
2.6 교차 검증으로 모델 조정 66
2.7 요약 69
2.8 연습 문제 69
2.9 참고 문헌 70
CHAPTER 3 서포트 벡터 머신을 이용한 얼굴 인식 71
3.1 SVM으로 구분 경계 탐색 72
3.2 SVM을 이용한 얼굴 이미지 분류 90
3.3 태아심박동검사에서 태아 상태 분류 96
3.4 요약 98
3.5 연습 문제 99
CHAPTER 4 트리 기반 알고리즘을 이용한 온라인 광고 클릭률 예측 101
4.1 광고 클릭률 예측의 개요 102
4.2 두 가지 유형의 데이터로 시작하기: 수치형과 범주형 103
4.3 루트에서 리프까지 의사결정 트리 탐색 104
4.4 밑바닥부터 구현하는 의사결정 트리 115
4.5 사이킷런을 이용한 의사결정 트리 구현 123
4.6 의사결정 트리를 이용한 광고 클릭률 예측 124
4.7 의사결정 트리 앙상블: 랜덤 포레스트 130
4.8 의사결정 트리 앙상블: 그레이디언트 부스티드 트리 132
4.9 요약 135
4.10 연습 문제 135
CHAPTER 5 로지스틱 회귀를 이용한 온라인 광고 클릭률 예측 137
5.1 범주형 특징을 수치형으로 변환: 원-핫 인코딩과 순서 인코딩 138
5.2 로지스틱 회귀를 이용한 데이터 분류 141
5.3 로지스틱 회귀 모델 훈련 146
5.4 온라인 학습을 통한 대규모 데이터셋 훈련 158
5.5 다중 클래스 분류 161
5.6 텐서플로를 이용한 로지스틱 회귀 구현 163
5.7 랜덤 포레스트를 이용한 특징 선택 165
5.8 요약 167
5.9 연습 문제 167
CHAPTER 6 테라바이트 규모의 클릭 로그 예측 169
6.1 아파치 스파크의 핵심 배우기 170
6.2 파이스파크 프로그래밍 175
6.3 스파크를 통한 대규모 클릭 로그 학습 178
6.4 스파크를 이용한 범주형 변수의 특징 공학 189
6.5 요약 195
6.6 연습 문제 196
CHAPTER 7 회귀 알고리즘을 이용한 주가 예측 197
7.1 주식시장과 주가의 개요 198
7.2 회귀란 무엇인가? 199
7.3 주가 데이터 수집 200
7.4 선형회귀를 이용한 추정 210
7.5 의사결정 트리 회귀를 이용한 추정 217
7.6 서포트 벡터 회귀를 이용한 추정 225
7.7 회귀 성능 평가 226
7.8 회귀 알고리즘 세 가지를 이용한 주가 예측 228
7.9 요약 233
7.10 연습 문제 233
CHAPTER 8 인공 신경망을 이용한 주가 예측 235
8.1 신경망의 이해 236
8.2 신경망 구축 242
8.3 적절한 활성화 함수 선택 248
8.4 신경망의 과적합 방지 249
8.5 신경망을 이용한 주가 예측 251
8.6 요약 259
8.7 연습 문제 259
CHAPTER 9 텍스트 분석 기법을 이용한 20개 뉴스그룹 데이터셋 분석 261
9.1 컴퓨터가 언어를 이해하는 방법: NLP 262
9.2 인기 있는 NLP 라이브러리와 NLP 기초 265
9.3 뉴스그룹 데이터 가져오기 274
9.4 뉴스그룹 데이터 탐색 276
9.5 텍스트 데이터의 특징 고려 279
9.6 t-SNE를 이용한 뉴스그룹 데이터 시각화 286
9.7 요약 289
9.8 연습 문제 290
CHAPTER 10 군집화와 주제 모델링을 이용한 뉴스그룹 데이터셋의 기본 주제 찾기 291
10.1 선생님 없이 학습하기: 비지도학습 292
10.2 k-평균을 이용한 뉴스그룹 데이터 군집화 293
10.3 뉴스그룹 이면의 주제 발견 311
10.4 요약 318
10.5 연습 문제 319
CHAPTER 11 머신러닝 모범 사례 321
11.1 머신러닝 솔루션 워크플로 322
11.2 데이터 준비 단계의 모범 사례 323
11.3 훈련셋 생성 단계의 모범 사례 329
11.4 모델 훈련, 평가, 선택 단계의 모범 사례 340
11.5 배포와 모니터링 단계의 모범 사례 345
11.6 요약 349
11.7 연습 문제 350
CHAPTER 12 합성곱 신경망을 이용한 옷 이미지 분류 351
12.1 CNN의 구성 요소 352
12.2 분류를 위한 CNN 구조 설계 356
12.3 옷 이미지 데이터셋 358
12.4 CNN을 이용한 옷 이미지 분류 361
12.5 데이터 증강을 통한 CNN 분류기 강화 369
12.6 데이터 증강을 통한 옷 이미지 분류기 개선 375
12.7 요약 378
12.8 연습 문제 378
CHAPTER 13 순환 신경망을 이용한 시퀀스 예측 379
13.1 순차 학습 소개 380
13.2 예시를 통해 배우는 RNN 구조 380
13.3 RNN 모델 훈련 386
13.4 장단기 메모리를 이용한 장기 의존성 극복 387
13.5 RNN을 이용한 영화 리뷰 감정 분석 390
13.6 RNN으로 나만의 《전쟁과 평화》 작성하기 398
13.7 트랜스포머 모델을 이용한 언어 이해도 향상 409
13.8 요약 412
13.9 연습 문제 412
CHAPTER 14 강화학습을 이용한 복잡한 환경에서의 의사결정 413
14.1 작업 환경 설정 413
14.2 예시를 이용한 강화학습 소개 417
14.3 동적 프로그래밍을 이용한 FrozenLake 환경 해결 421
14.4 몬테카를로 학습 수행 432
14.5 Q-러닝 알고리즘으로 택시 문제 풀기 441
14.6 요약 449
14.7 연습 문제 449
찾아보기 450
Author
위시 (헤이든) 류,구정회
구글의 머신러닝 소프트웨어 엔지니어. 구글 이전에는 여러 데이터 기반 도메인에서 머신러닝 과학자로 일하며 디지털 광고, 마케팅, 사이버 보안에 관한 전문 지식을 발휘했다. 현재 세계에서 가장 큰 검색 엔진에서 광고 최적화를 위한 머신러닝 모델과 시스템을 개발하고 개선하는 일을 한다.
교육에 대한 열정이 커 여러 머신러닝 도서를 집필했다. 첫 책인 『Python Machine Learning By Example』의 초판은 2017년과 2018년에 아마존에서 베스트셀러 1위에 올랐으며 다양한 언어로 번역되었다. 집필한 책으로는 『Machine Learning with PyTorch and Scikit-Learn』(2022), 『Deep Learning with R for Beginners』(2019), 『Hands-On Deep Learning Architectures with Python』(2019), 『R Deep Learning Projects』(이상 Packt, 2018)가 있다.
구글의 머신러닝 소프트웨어 엔지니어. 구글 이전에는 여러 데이터 기반 도메인에서 머신러닝 과학자로 일하며 디지털 광고, 마케팅, 사이버 보안에 관한 전문 지식을 발휘했다. 현재 세계에서 가장 큰 검색 엔진에서 광고 최적화를 위한 머신러닝 모델과 시스템을 개발하고 개선하는 일을 한다.
교육에 대한 열정이 커 여러 머신러닝 도서를 집필했다. 첫 책인 『Python Machine Learning By Example』의 초판은 2017년과 2018년에 아마존에서 베스트셀러 1위에 올랐으며 다양한 언어로 번역되었다. 집필한 책으로는 『Machine Learning with PyTorch and Scikit-Learn』(2022), 『Deep Learning with R for Beginners』(2019), 『Hands-On Deep Learning Architectures with Python』(2019), 『R Deep Learning Projects』(이상 Packt, 2018)가 있다.