이 책은 Deep Learning, 즉 심층학습의 진입장벽으로서 부담스러울 수도 있는 수학을 재미있는 예시와 최대한 쉬운 설명으로 접근한 책이다. 벡터와 행렬, 확률 분포 등의 근본적인 주제를 설명한 뒤에 행렬 미분과 같은 좀 더 심화한 개념으로 나아가며, 마지막에는 모든 논의를 통합해서 심층학습의 필수 알고리즘인 역전파와 경사하강법을 다룬다.
Contents
지은이·감수자·옮긴이 소개 x
옮긴이 머리말 xi
베타리더 후기 xiii
추천사 xv
감사의 글 xviii
이 책에 대하여 xix
CHAPTER 1 실습 환경 설정 1
1.1 도구 모음 설치 2
1.1.1 리눅스 2 / 1.1.2 macOS 3 / 1.1.3 Windows 4
1.2 NumPy 5
1.2.1 배열 정의 6 / 1.2.2 데이터 형식 7 / 1.2.3 2차원 배열 8
1.2.4 0 배열과 1 배열 8 / 1.2.5 고급 색인 접근 9 / 1.2.6 디스크 읽기/쓰기 12
1.3 SciPy 12
1.4 Matplotlib 14
1.5 Scikit-Learn 16
1.6 요약 18
CHAPTER 2 확률 1부 19
2.1 기본 개념들 20
2.1.1 표본 공간과 사건 20 / 2.1.2 확률 변수 21 / 2.1.3 인간은 확률에 약하다 22
2.2 확률의 법칙들 24
2.2.1 단일 사건의 확률 24 / 2.2.2 합의 법칙 27 / 2.2.3 곱의 법칙 28
2.2.4 합의 법칙 보충 29 / 2.2.5 생일 역설 30 / 2.2.6 조건부 확률 34
2.2.7 전체 확률 35
2.3 결합 확률과 주변 확률 36
2.3.1 결합 확률표 37 / 2.3.2 확률의 연쇄법칙 42
2.4 요약 45
CHAPTER 3 확률 2부 47
3.1 확률 분포 47
3.1.1 히스토그램과 확률 48 / 3.1.2 이산 확률 분포 52 / 3.1.3 연속 확률 분포 58
3.1.4 중심 극한 정리 62 / 3.1.5 큰 수의 법칙 64
3.2 베이즈 정리 66
3.2.1 다시 살펴보는 암 진단 예제 67 / 3.2.2 사전 확률의 갱신 68
3.2.3 기계학습의 베이즈 정리 70
3.3 요약 73
CHAPTER 4 통계 75
4.1 데이터의 종류 76
4.1.1 명목형 자료 76 / 4.1.2 순서형 자료 76 / 4.1.3 구간 자료 76
4.1.4 비율 자료 77 / 4.1.5 명목형 자료와 심층학습 78
4.2 요약 통계량 78
4.2.1 평균과 중앙값 79 / 4.2.2 변동의 측도 83
4.3 분위수와 상자 그림 87
4.4 결측 자료 92
4.5 상관관계 96
4.5.1 피어슨 상관계수 96 / 4.5.2 스피어먼 상관계수 100
4.6 가설 검정 103
4.6.1 가설 104 / 4.6.2 t-검정 105 / 4.6.3 맨-휘트니 U 검정 111
4.7 요약 113
CHAPTER 8 행렬 미분 217
8.1 공식들 218
8.1.1 스칼라 인수 벡터 함수 219 / 8.1.2 벡터 인수 스칼라 함수 221
8.1.3 벡터 인수 벡터 함수 221 / 8.1.4 스칼라 인수 행렬 함수 222
8.1.5 행렬 인수 스칼라 함수 223
8.2 항등식 224
8.2.1 벡터 인수 스칼라 함수 관련 항등식 224
8.2.2 스칼라 인수 벡터 함수 관련 항등식 226
8.2.3 벡터 인수 벡터 함수 관련 항등식 227
8.2.4 행렬 인수 스칼라 함수 관련 항등식 228
8.3 야코비 행렬과 헤세 행렬 230
8.3.1 야코비 행렬 231 / 8.3.2 헤세 행렬 238
8.4 행렬 미분 예제 몇 가지 245
8.4.1 성분별 연산의 도함수 245 / 8.4.2 활성화 함수의 도함수 246
8.5 요약 248
CHAPTER 9 신경망의 데이터 흐름 249
9.1 데이터 표현 250
9.1.1 전통적인 신경망 250 / 9.1.2 심층 합성곱 신경망 251
9.2 전통적인 신경망의 데이터 흐름 254
9.3 합성곱 신경망의 데이터 흐름 259
9.3.1 합성곱 259 / 9.3.2 합성곱 층 265 / 9.3.3 풀링 층 268
9.3.4 완전 연결층 269 / 9.3.5 합성곱 신경망의 데이터 흐름 269
9.4 요약 272
CHAPTER 10 역전파 275
10.1 역전파란 무엇인가? 276
10.2 직접 계산해 보는 역전파 277
10.2.1 편미분 유도 279 / 10.2.2 파이썬 구현 281
10.2.3 신경망 모형의 훈련과 시험 286
10.3 완전 연결 신경망의 역전파 288
10.3.1 오차의 역전파 288 / 10.3.2 가중치와 치우침 값의 편미분 계산 292
10.3.3 파이썬 구현 294 / 10.3.4 구현 적용 299
10.4 계산 그래프 302
10.5 요약 305
CHAPTER 11 경사하강법 307
11.1 기본 개념 308
11.1.1 1차원 경사하강법 308 / 11.1.2 2차원 경사하강법 312
11.2 확률적 경사하강법 318
11.3 운동량 321
11.3.1 운동량이란? 321 / 11.3.2 운동량을 도입한 1차원 경사하강법 323
11.3.3 운동량을 도입한 2차원 경사하강법 325
11.3.4 운동량을 이용한 신경망 학습 326 / 11.3.5 네스테로프 운동량 333
11.4 적응적 경사하강법 336
11.4.1 RMSprop 336 / 11.4.2 AdaGrad와 ADADELTA 337
11.4.3 Adam 338 / 11.4.4 최적화 기법에 관한 몇 가지 생각 340
11.5 요약 341
11.6 맺음말 342
부록: 더 나아가기 343
확률과 통계 343
선형대수 344
미적분 345
심층학습 345
찾아보기 348
Author
로널드 크노이젤,류광
2003년부터 업계에서 심층학습 개발자로 일해오면서, 2016년 콜로라도 대학교 볼더 캠퍼스에서 기계학습 전공 박사학위를 받았다. 이 책 외에 세 권의 책 『Practical Deep Learning: A Python-Based Introduction』(No Starch Press), 『Numbers and Computers』(Springer), 『Random Numbers and Computers』(Springer)를 썼다.
2003년부터 업계에서 심층학습 개발자로 일해오면서, 2016년 콜로라도 대학교 볼더 캠퍼스에서 기계학습 전공 박사학위를 받았다. 이 책 외에 세 권의 책 『Practical Deep Learning: A Python-Based Introduction』(No Starch Press), 『Numbers and Computers』(Springer), 『Random Numbers and Computers』(Springer)를 썼다.