책 소개
머신러닝에 필요한 수학/통계학 배경 지식!
머신러닝에 사용되는 주요 알고리즘의 원리!
의사코드가 아닌 파이썬 코드 중심의 예제!
이 책은 머신러닝 알고리즘의 이해를 돕기 위한 책이다. 이 책을 통해 머신러닝에 필요한 프로그래밍뿐만 아니라 관련 수학, 통계 개념을 완벽히 익히는 여행을 시작할 수 있을 것이다.
이 책의 특징
- 심층 신뢰 신경망과 같은 최근의 머신러닝 동향을 반영했다.
- 머신러닝을 이해하는 데 필요한 기본 확률과 통계 개념을 제공한다.
- 신경망을 사용한 지도학습에 대해 배운다.
- 차원 감축, EM 알고리즘, 최근접 이웃법, 최선 분류 경계, 커널 방법과 최적화를 다룬다.
- 진화학습, 강화학습, 트리 기반의 학습자 그리고 다양한 학습자들의 예측 값을 합치는 방법들을 다룬다.
- 자기조직화 특성 지도를 통해서 비지도학습의 중요성을 알아본다.
- 머신러닝에서의 최신 통계 기반 접근법들을 살펴본다.
2판에 추가된 사항
- 심층 신뢰 신경망과 가우시안 프로세스가 추가되었다.
- 더 자연스러운 흐름을 위해 각 장을 새롭게 재구성했다.
- 실습을 위한 실행 코드를 추가했으며, 서포트 벡터 머신 자료들을 보강했다.
- 랜덤 포레스트, 퍼셉트론 수렴 이론, 정확성 측정 방법을 위한 고려사항, 그리고 MLP를 위한 켤레 기울기 최적화에 대한 새로운 자료를 추가했다.
- 칼만 필터와 파티클 필터에 관한 설명이 추가되었다.
- 파이썬의 명명 규칙을 수정하고 코드를 개선했다.
책을 학습할 때 함께 제공되는 코드를 직접 실행해 볼 것을 추천한다. 각 장마다 더 읽을거리와 연습 문제를 통해 세부적인 예제를 제공하고 있으며, 예제에 사용된 모든 파이썬 코드는 저자의 웹페이지에서 내려받을 수 있다.
작가 소개
지은이 : 스티븐 마슬랜드
스티븐 마슬랜드는 과학 컴퓨팅 분야의 교수이자 뉴질랜드 매시 대학교(Massey University)의 SEAT(School of Engineering and Advanced Technology) 대학원장으로 있다. 주요 관심사는 형태 공간, 오일러 방정식, 머신러닝 및 알고리즘이다. 영국 맨체스터 대학교(University of Manchester)에서 박사 학위를 받았다.
옮긴이 : 강전형
미국 서던 캘리포니아 대학교(University of Southern California)의 컴퓨터공학 박사 과정에서 머신러닝을 전공하였다. Information Science Institute에서 다양한 인공지능 연구를 수행하였고, 현재는 구글 본사에서 근무 중이다. 추천 알고리즘부터 자연어 처리, 그리고 Best Paper Award를 받은 국제학회 논문을 포함해 30여 편의 논문을 머신러닝 관련 유명 저널에 발표했고, 실리콘밸리의 여러 회사에서 다양한 머신러닝 프로젝트를 수행했다.
- 2008년 아주 대학교 컴퓨터공학부 학사 학위 취득
- 2010년 서던 캘리포니아 대학교에서 컴퓨터공학 석사 학위 취득
- 2015년 서던 캘리포니아 대학교에서 컴퓨터공학 박사 학위 취득
- 현재 구글 마운틴 뷰 본사 근무 중
목 차
CHAPTER 1 … 들어가기에 앞서_1
1.1 데이터에 질량이 있다면 지구는 블랙홀이 될 것이다 2
1.2 학습 5
1.2.1 머신러닝 5
1.3 머신러닝의 종류 6
1.4 지도학습 8
1.4.1 회귀 9
1.4.2 분류 10
1.5 머신러닝 과정 12
1.6 프로그래밍 노트 14
1.7 이 책의 로드맵 15
• 더 읽을거리 17
CHAPTER 2 … 들어가며_19
2.1 용어 설명 19
2.1.1 가중치 공간 20
2.1.2 차원의 저주 22
2.2 알고 있는 것을 잘 이해하라: 머신러닝 알고리즘 평가하기 24
2.2.1 오버피팅 24
2.2.2 트레이닝, 테스팅, 밸리데이션 세트 25
2.2.3 혼동 행렬 27
2.2.4 정확도 지표 28
2.2.5 수신자 조작 특성 곡선 30
2.2.6 불균형 데이터세트 31
2.2.7 정밀도 측정 32
2.3 데이터를 확률로 변경 33
2.3.1 위험 최소화 36
2.3.2 나이브 베이즈 분류기 37
2.4 기본적인 통계학 39
2.4.1 평균 39
2.4.2 분산과 공분산 40
2.4.3 가우시안 42
2.5 바이어스 분산 트레이드오프 43
• 더 읽을거리 45
• 연습 문제 46
CHAPTER 3 … 뉴런, 뉴럴 네트워크, 선형 판별식_47
3.1 뇌와 뉴런 47
3.1.1 헵의 법칙 48
3.1.2 맥컬록과 피츠의 뉴런들 49
3.1.3 맥컬록과 피츠 뉴럴 모델의 한계점 51
3.2 뉴럴 네트워크 52
3.3 퍼셉트론 53
3.3.1 학습률 55
3.3.2 바이어스 값 입력 56
3.3.3 퍼셉트론 학습 알고리즘 57
3.3.4 퍼셉트론 학습의 예제: 논리 함수 58
3.3.5 구현 60
3.4 선형 분리성 66
3.4.1 퍼셉트론 수렴 이론 68
3.4.2 배타적 논리합 함수 70
3.4.3 도움이 될 만한 통찰력 71
3.4.4 또 다른 예제: 피마 인디언 데이터세트 73
3.4.5 전처리: 데이터 사전 준비 76
3.5 선형 회귀 77
3.5.1 선형 회귀 예제 79
• 더 읽을거리 80
• 연습 문제 81
CHAPTER 4 … 다층 퍼셉트론_83
4.1 전향 85
4.1.1 바이어스 86
4.2 후향: 오차 역전파 86
4.2.1 다층 퍼셉트론 알고리즘 90
4.2.2 가중치 초기화하기 93
4.2.3 다른 출력 활성화 함수들 94
4.2.4 순차와 배치 트레이닝 96
4.2.5 지역 최솟값 96
4.2.6 모멘텀 정하기 98
4.2.7 미니배치와 확률적 기울기 하강 99
4.2.8 개선점들 99
4.3 다층 퍼셉트론의 실제 100
4.3.1 트레이닝 데이터 양 100
4.3.2 은닉층의 수 100
4.3.3 학습을 중지해야 할 시기 102
4.4 MLP의 활용 예 103
4.4.1 회귀 문제 103
4.4.2 MLP에서의 분류 107
4.4.3 분류 예: 아이리스 데이터세트 108
4.4.4 시계열 예측 111
4.4.5 데이터 압축: 자기 연산 네트워크 114
4.5 MLP 사용법 116
4.6 역전파 유도 117
4.6.1 네트워크 출력 값과 오류 118
4.6.2 네트워크의 오류 118
4.6.3 활성화 함수의 요건들 120
4.6.4 오류 역전달 121
4.6.5 출력 활성화 함수들 124
4.6.6 오차 함수의 대안 126
• 더 읽을거리 126
• 연습 문제 127
CHAPTER 5 … 방사 기저 함수와 스플라인_131
5.1 수용영역 132
5.2 방사 기저 함수 네트워크 135
5.2.1 RBF 네트워크 트레이닝 137
5.3 보간법과 기저 함수 140
5.3.1 기저 확장 143
5.3.2 3차 스플라인 144
5.3.3 데이터에 스플라인 맞추기 144
5.3.4 스무딩 스플라인/스플라인 다듬질 145
5.3.5 고차원 147
5.3.6 경계를 넘어 148
• 더 읽을거리 148
• 연습 문제 149
CHAPTER 6 … 차원 축소_151
6.1 선형 판별 분석 153
6.2 주성분 분석 157
6.2.1 다층 퍼셉트론과의 관계 161
6.2.2 커널 PCA 162
6.3 인자 분석 164
6.4 독립 성분 분석 167
6.5 지역 선형 임베딩 168
6.6 아이소맵 172
6.6.1 다차원 스케일링 172
• 더 읽을거리 174
• 연습 문제 175
CHAPTER 7 … 확률학습_177
7.1 가우시안 혼합 모델 177
7.1.1 기댓값 최대화 179
7.1.2 정보 기준 182
7.2 최근접 이웃법 183
7.2.1 최근접 이웃 스무딩 185
7.2.2 효율적인 거리 계산: KD 트리 186
7.2.3 거리 측정 191
• 더 읽을거리 193
• 연습 문제 194
CHAPTER 8 … 서포트 벡터 머신_195
8.1 최적 분리 196
8.1.1 마진과 서포트 벡터들 197
8.1.2 제약적 최적화 문제 A 199
8.1.3 비선형 분리 문제를 위한 슬랙 변수 202
8.2 커널 203
8.2.1 커널 고르기 205
8.2.2 XOR 예제 206
8.3 서포트 벡터 머신 알고리즘 206
8.3.1 구현 207
8.3.2 예제 211
8.4 SVM의 연장 213
8.4.1 다계층 분류 213
8.4.2 SVM 회귀 214
8.4.3 다른 이점들 215
• 더 읽을거리 216
• 연습 문제 217
CHAPTER 9 … 최적화와 탐색_219
9.1 언덕 내려가기 220
9.1.1 테일러 전개식 223
9.2 최소제곱법 225
9.2.1 레벤버그 말쿼트 알고리즘 225
9.3 켤레 기울기 230
9.3.1 켤레 기울기의 예제 233
9.3.2 켤레 기울기와 MLP 234
9.4 탐색: 세 가지 방법 237
9.4.1 완전 탐색 237
9.4.2 탐욕 탐색 238
9.4.3 언덕 오르기 238
9.5 활용과 탐험 239
9.6 담금질 기법 240
9.6.1 비교 241
• 더 읽을거리 243
• 연습 문제 243
CHAPTER 10 … 진화학습_245
10.1 유전 알고리즘 247
10.1.1 스트링 표현 248
10.1.2 적합성 평가 248
10.1.3 개체수 249
10.1.4 자손 만들기: 부모 선택 249
10.2 자손 만들기: 유전 연산자 251
10.2.1 크로스오버 251
10.2.2 돌연변이 253
10.2.3 정예주의, 토너먼트, 그리고 틈새 254
10.3 유전 알고리즘 사용하기 256
10.3.1 지도 색칠 256
10.3.2 단절된 균형 258
10.3.3 예제: 배낭 문제 258
10.3.4 예제: 포피크 문제 259
10.3.5 GA의 한계 261
10.3.6 유전 알고리즘을 사용해서 뉴럴 네트워크 트레이닝하기 261
10.4 유전 프로그래밍 262
10.5 샘플링과 유전학습을 접합하기 264
• 더 읽을거리 265
• 연습 문제 267
CHAPTER 11 … 강화학습 _269
11.1 개관 270
11.2 예제: 길을 잃다 272
11.2.1 상태 공간과 행동 공간 274
11.2.2 당근과 채찍: 보상 함수 274
11.2.3 할인 276
11.2.4 행동 선택 276
11.2.5 정책 277
11.3 마르코프 결정 과정 278
11.3.1 마르코프 성질 278
11.3.2 마르코프 결정 과정 확률 279
11.4 가치 280
11.5 휴가 예제: 강화학습 사용 284
11.6 살사와 Q 학습의 다른 점 285
11.7 강화학습의 사용 287
• 더 읽을거리 288
• 연습 문제 288
CHAPTER 12 … 트리학습_291
12.1 결정 트리 사용 292
12.2 결정 트리 만들기 293
12.2.1 정보 이론의 엔트로피 293
12.2.2 ID3 295
12.2.3 트리와 그래프 파이썬으로 구현하기 298
12.2.4 결정 트리 구현 299
12.2.5 연속 변수 값 처리하기 301
12.2.6 계산 복잡도 303
12.3 분류와 회귀 트리 303
12.3.1 지니 불순도 303
12.3.2 회귀 트리 304
12.4 분류 예시 305
• 더 읽을거리 307
• 연습 문제 308
CHAPTER 13 … 위원회의 결정: 앙상블 학습_311
13.1 부스팅 313
13.1.1 아다부스트 313
13.1.2 스텀핑 318
13.2 배깅 318
13.2.1 서브배깅 319
13.3 랜덤 포레스트 320
13.3.1 부스팅과 비교하기 322
13.4 분류기를 종합하는 다른 방법들 323
• 더 읽을거리 325
• 연습 문제 326
CHAPTER 14 … 비지도학습_327
14.1 k-means 알고리즘 328
14.1.1 노이즈 다루기 332
14.1.2 k-means 뉴럴 네트워크 332
14.1.3 정규화 334
14.1.4 더 좋은 가중치 갱신 방법 335
14.1.5 예제: 아이리스 데이터세트 336
14.1.6 경쟁학습을 군집화에 이용하기 337
14.2 벡터 양자화 338
14.3 자기조직화 지도 339
14.3.1 SOM 알고리즘 342
14.3.2 이웃 연결 343
14.3.3 자기조직화 345
14.3.4 네트워크 차원과 경계 조건 346
14.3.5 SOM을 이용한 예제 348
• 더 읽을거리 349
• 연습 문제 351
CHAPTER 15 … 마르코프 체인 몬테 카를로 _353
15.1 샘플링 354
15.1.1 난수 354
15.1.2 가우시안 난수 355
15.2 몬테 카를로가 아니면 죽기 357
15.3 제안 분포 359
15.4 마르코프 체인 몬테 카를로 363
15.4.1 마르코프 체인 363
15.4.2 메트로폴리스 해스팅스 알고리즘 364
15.4.3 시뮬레이티드 어닐링 366
15.4.4 깁스 샘플링 368
• 더 읽을거리 370
• 연습 문제 370
CHAPTER 16 … 그래프 모델_373
16.1 베이지언 네트워크 375
16.1.1 예제: 시험에 대한 두려움 375
16.1.2 근사 추론 380
16.1.3 베이지언 네트워크 만들기 383
16.2 마르코프 랜덤 필드 385
16.3 은닉 마르코프 모델 388
16.3.1 포워드 알고리즘 391
16.3.2 비터비 알고리즘 394
16.3.3 바움 웰치 또는 포워드 백워드 알고리즘 395
16.4 트래킹 방법 399
16.4.1 칼만 필터 400
16.4.2 입자 필터 407
• 더 읽을거리 411
• 연습 문제 412
CHAPTER 17 … 대칭 가중치와 심층 신뢰 네트워크_415
17.1 정력적인 학습: 홉필드 네트워크 416
17.1.1 연상 기억 416
17.1.2 연상 기억 만들기 417
17.1.3 에너지 함수 422
17.1.4 홉필드 네트워크의 수용력 425
17.1.5 연속 홉필드 네트워크 426
17.2 확률 뉴런-볼츠만 머신 427
17.2.1 제한 볼츠만 머신 429
17.2.2 CD 알고리즘 유도 435
17.2.3. 지도학습 439
17.2.4 유향 신뢰 네트워크 441
17.3 딥러닝/심층학습 444
17.3.1 심층 신뢰 네트워크 448
• 더 읽을거리 452
• 연습 문제 453
CHAPTER 18 … 가우시안 프로세스_455
18.1 가우시안 프로세스 회귀 458
18.1.1 노이즈 추가하기 459
18.1.2 구현 462
18.1.3 파라미터 학습하기 463
18.1.4 구현 465
18.1.5 공분산 함수 고르기 467
18.2 가우시안 프로세스 분류 468
18.2.1 라플라스 근사 469
18.2.2 사후 확률 계산 469
18.2.3 구현 471
• 더 읽을거리 474
• 연습 문제 475
APPENDIX A … 파이썬_477
A.1 파이썬과 다른 패키지들 설치 477
A.2 시작하기 478
A.2.1 MATLAB과 R 사용자를 위한 파이썬 482
A.3 기본 코드 483
A.3.1 코드 작성하기와 코드 임포팅 483
A.3.2 흐름 제어 484
A.3.3 함수 485
A.3.4 문서 설명글 486
A.3.5 map과 lambda 486
A.3.6 예외 487
A.3.7 클래스 488
A.4 넘파이와 Matplotlib 사용하기 489
A.4.1 배열 489
A.4.2 난수 493
A.4.3 선형 대수 493
A.4.4 그래프 그리기 494
A.4.5 주의 사항 495
• 더 읽을거리 496
• 연습 문제 497
찾아보기 499
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |