본문 바로가기

도서 소개

머신러닝 엔지니어링

2022 대한민국학술원 우수학술도서 선정!

머신러닝 설루션 구축 모범 사례와 설계 패턴이 가득한 책!

 

도서구매 사이트(가나다순)

[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크] [쿠팡]

전자책 구매 사이트(가나다순)

[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사]

 

출판사 제이펍
저작권사 True Positive Inc.
원서명 Machine Learning Engineering(원서 ISBN 9781777005450)

도서명 머신러닝 엔지니어링

부제  데이터 수집부터 특징 공학, 모델 평가, 배포, 유지보수까지
지은이 안드리 부르코프
옮긴이 구정회
출판일 2021년 12월 30일
페이지 348
판 형 4*6판변형(188*245*19)
제 본 무선(soft cover)
정 가 28,000원
ISBN 979-11-91600-45-2 (93000)
키워드 머신러닝 / 인공지능 / 데이터 수집 / 특징 공학 / 모델 평가 / 배포 / 유지보수 / 설계 패턴
분 야 인공지능 / 머신러닝

 

관련 사이트

아마존 도서소개 페이지

저작권사 도서소개 페이지

 

관련 포스트

2021/12/22 -머신러닝 프로젝트 수명주기로 배우는 머신러닝 엔지니어링

 

관련 도서

단단한 머신러닝

패턴 인식과 머신 러닝

 

관련 파일 다운로드
■ (없음)




강의보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음의 자료를 보내드리겠습니다.)
■ 본문의 그림과 표


미리보기(차례, 추천사, 옮긴이 머리말, 머리말, 베타리더 후기, 1장 '도입', 2장 '프로젝트 시작 전' 일부)

 
머신러닝엔지니어링_Sample.pdf
8.42MB

 

정오표 페이지

(등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)

[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크] [쿠팡]

전자책 구매 사이트(가나다순)

[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사]

 

도서 소개
데이터 수집부터 특징 공학, 모델 평가, 배포, 유지보수까지 머신러닝 설루션 구축 모범 사례와 설계 패턴이 가득한 책!

 

11개 언어로 출판된 베스트셀러 The Hundred-Page Machine Learning Book의 저자 안드리 부르코프가 쓴 이 책은 현존하는 인공지능 서적 중 가장 완벽합니다. 확장할 수 있으며 신뢰할 수 있는 머신러닝 설루션을 구축하는 모범 사례와 설계 패턴으로 가득 차 있습니다. 가트너의 머신러닝 개발팀의 리더이기도 한 저자는 15년간 인공지능 관련 문제를 해결한 경험과 함께 업계 리더들의 출판 경험을 바탕으로 이 책을 집필하였습니다.

 

이 책의 대상 독자

  • 머신러닝 엔지니어링을 공부하는 학생, 데이터 분석가
  • 머신러닝 엔지니어 역할에 관심이 많은 데이터 분석가
  • 자신의 업무 영역을 좀 더 다양한 분야로 넓히려는 머신러닝 엔지니어
  • 머신러닝 엔지니어가 제공하는 모델을 다루는 소프트웨어 아키텍트

지은이 소개

안드리 부르코프(Andriy Burkov)

두 아이의 아빠이자 머신러닝 전문가로 캐나다 퀘벡에 거주하고 있다. 인공지능 전공으로 박사 학위를 받았고, 지난 10여 년간 가트너에서 머신러닝 개발팀을 이끌고 있다. 자연어 처리를 전문 분야로 하면서 얕은 학습과 심층 학습을 통해 프로덕션용 최첨단 다국어 텍스트 추출 및 정규화 시스템 구축 작업을 하고 있다. 또 다른 저서로서 세계 11개국에 수출된 《The Hundred-Page Machine Learning Book(2019)이 있다.

 

옮긴이 소개

구정회

공학박사. 대학과 대학원에서 전자공학을 전공했다. 삼성전자에서 다양한 연구개발 및 상품화를 경험했고, 지금은 삼성리서치에서 컴퓨터 비전 관련 딥러닝 속에서 하루하루 발견하는 즐거움을 찾는 데 대부분의 시간을 보내고 있다. 《쏙쏙 들어오는 인공지능 알고리즘》(제이펍, 2021)을 번역했다.

 

추천사


“여러분은 몇 권 안 되는 제대로 된 응용 머신러닝(applied machine learning) 책 중 하나를 보고 계십니다.

 

(중략)

 

이 책은 모니터링의 중요성, 모델 유지보수 방법, 문제가 생겼을 때 어떻게 해야 하는지, 예상할 수 없는 종류의 실수에 대한 예비 전략을 세우는 방법, 당신의 시스템을 악용하려는 공격자를 처리하는 방법, 인간 사용자의 기대치를 관리하는 방법(사용자가 머신일 때 수행할 작업에 대한 부분도 있습니다)에 대해 잘 설명하고 있습니다. 이는 실제 머신러닝에서 매우 중요한 주제이지만, 다른 책에서는 무시되는 경우가 많습니다. 하지만 이 책은 그렇지 않습니다.

캐시 코지르코프(Cassie Kozyrkov)

구글 최고 의사 결정 과학자이자 구글 클라우드 플랫폼의

‘머신러닝과 친구 사귀기(Making Friends with Machine Learning)’ 과정의 저자


차례

CHAPTER 01 도입 1

1.1 표기법 및 정의 2

1.1.1 자료 구조 2 / 1.1.2 대문자 시그마 표기법 3

1.2 머신러닝이란? 4

1.2.1 지도학습 4 / 1.2.2 비지도학습 6

1.2.3 준지도학습 7 / 1.2.4 강화학습 7

1.3 데이터와 머신러닝 용어 8

1.3.1 직접적/간접적으로 사용하는 데이터 8 / 1.3.2 원시 데이터와 깔끔한 데이터 9

1.3.3 훈련 및 홀드아웃 세트 10 / 1.3.4 기준점 11

1.3.5 머신러닝 파이프라인 11 / 1.3.6 매개변수와 초매개변수 12

1.3.7 분류와 회귀 12 / 1.3.8 모델 기반 학습과 인스턴스 기반 학습 13

1.3.9 얕은 학습과 딥러닝 13 / 1.3.10 훈련과 채점 14

1.4 머신러닝을 사용해야 할 때 14

1.4.1 문제가 너무 복잡해서 코딩으로 해결할 수 없을 때 14

1.4.2 문제가 지속적으로 변할 때 15

1.4.3 지각 문제일 때 15

1.4.4 연구되지 않은 현상일 때 16

1.4.5 문제의 목적이 단순할 때 16

1.4.6 비용 효율적인 경우 17

1.5 머신러닝을 사용하지 말아야 할 때 17

1.6 머신러닝 엔지니어링이란? 18

1.7 머신러닝 프로젝트 수명주기 19

1.8 요약 21

 

더보기

CHAPTER 02 프로젝트 시작 전 23

2.1 머신러닝 프로젝트의 우선순위 결정 24

2.1.1 머신러닝의 영향 24 / 2.1.2 머신러닝의 비용 24

2.2 머신러닝 프로젝트의 복잡도 추정 26

2.2.1 미리 알 수 없는 것 26 / 2.2.2 문제 단순화 27

2.2.3 비선형적 훈련 진행 27

2.3 머신러닝 프로젝트의 목표 정의 28

2.3.1 모델이 할 수 있는 작업 28 / 2.3.2 성공적인 모델의 속성 29

2.4 머신러닝팀 구성 30

2.4.1 두 가지 개발 문화 30 / 2.4.2 머신러닝팀의 구성원 31

2.5 머신러닝 프로젝트가 실패하는 이유 32

2.5.1 숙련된 개발자 부족 32 / 2.5.2 경영진의 지원 부족 33

2.5.3 데이터 인프라 부족 34 / 2.5.4 데이터 레이블링의 어려움 34

2.5.5 고립된 조직과 협업 부족 35 / 2.5.6 기술적으로 실행 불가능한 프로젝트 35

2.5.7 기술팀과 비즈니스팀 간의 소통 부족 35

2.6 요약 36

 

CHAPTER 03 데이터 수집 및 준비 39

3.1 데이터에 대한 질문 40

3.1.1 데이터를 구할 수 있는가? 40 / 3.1.2 데이터 세트의 크기가 충분히 큰가? 41

3.1.3 데이터를 사용할 수 있나? 43 / 3.1.4 데이터를 이해할 수 있나? 45

3.1.5 데이터를 신뢰할 수 있나? 45

3.2 일반적인 데이터 관련 문제 47

3.2.1 높은 비용 47 / 3.2.2 품질 불량 49 / 3.2.3 잡음 49 / 3.2.4 편향 50

3.2.5 낮은 예측력 57 / 3.2.6 오래된 견본 58 / 3.2.7 특잇값 59 / 3.2.8 데이터 누출 60

3.3 좋은 데이터란? 61

3.3.1 좋은 데이터는 유익함 61

3.3.2 좋은 데이터는 넓은 적용 범위를 가짐 61

3.3.3 좋은 데이터는 실제 입력을 반영함 61

3.3.4 좋은 데이터는 편향되지 않음 62

3.3.5 좋은 데이터는 피드백 루프의 결과가 아님 62

3.3.6 좋은 데이터의 레이블은 일관됨 62

3.3.7 좋은 데이터는 충분히 큼 63

3.3.8 좋은 데이터 요약 63

3.4 상호 작용 데이터 처리 64

3.5 데이터 누출의 원인 64

3.5.1 목표가 특징의 함수인 경우 65 / 3.5.2 목표가 특징에 숨어 있는 경우 65

3.5.3 미래를 반영하는 특징 66

3.6 데이터 분할 67

3.6.1 분할 중 누출 69

3.7 결측 속성 처리 70

3.7.1 결측값 대체 기술 70 / 3.7.2 대체 중 누출 72

3.8 데이터 증강 72

3.8.1 이미지 데이터 증강 73 / 3.8.2 텍스트 데이터 증강 74

3.9 불균형 데이터 처리 76

3.9.1 오버샘플링 77 / 3.9.2 언더샘플링 77

3.9.3 하이브리드 전략 78

3.10 데이터 샘플링 전략 79

3.10.1 단순 랜덤 샘플링 79 / 3.10.2 체계적인 샘플링 80

3.10.3 계층화된 샘플링 80

3.11 데이터 저장 81

3.11.1 데이터 형식 82 / 3.11.2 데이터 저장소 레벨 83

3.11.3 데이터 버전 관리 85 / 3.11.4 문서화와 메타데이터 87

3.11.5 데이터 수명주기 88

3.12 데이터 처리 모범 사례 88

3.12.1 재현성 88 / 3.12.2 데이터 우선, 알고리즘은 그 다음 89

3.13 요약 89

 

CHAPTER 04 특징 공학 93

4.1 특징 공학을 사용하는 이유 94

4.2 특징 공학을 사용하는 방법 95

4.2.1 텍스트에 대한 특징 공학 95 / 4.2.2 단어 가방의 작동 원리 98

4.2.3 범주형 특징을 숫자로 변환 98 / 4.2.4 특징 해싱 101

4.2.5 주제 모델링 102 / 4.2.6 시계열 특징 105 / 4.2.7 창의력 활용 108

4.3 특징 쌓기 108

4.3.1 특징 벡터 쌓기 109 / 4.3.2 개별 특징 쌓기 109

4.4 좋은 특징의 특성 111

4.4.1 높은 예측력 111 / 4.4.2 빠른 계산 능력 111 / 4.4.3 신뢰성 111

4.4.4 비상관성 112 / 4.4.5 기타 특성 112

4.5 특징 선택 113

4.5.1 긴 꼬리 자르기 113 / 4.5.2 보루타 114

4.5.3 L1-정규화 117 / 4.5.4 과제별 특징 선택 117

4.6 특징 합성 117

4.6.1 특징 이산화 118 / 4.6.2 관계형 데이터에서 특징 합성 119

4.6.3 데이터로부터 특징 합성 121 / 4.6.4 다른 특징으로부터 특징 합성 121

4.7 데이터를 통한 특징 학습 122

4.7.1 단어 임베딩 122 / 4.7.2 문서 임베딩 124

4.7.3 모든 객체에 대한 임베딩 125 / 4.7.4 임베딩 차원 선택 126

4.8 차원 축소 127

4.8.1 PCA를 통한 빠른 차원 축소 127 / 4.8.2 시각화를 위한 차원 축소 128

4.9 특징 스케일링 128

4.9.1 정규화 129 / 4.9.2 표준화 130

4.10 특징 공학에서 데이터 누출 131

4.10.1 잠재적인 문제 131 / 4.10.2 설루션 131

4.11 특징 저장과 문서화 131

4.11.1 스키마 파일 131 / 4.11.2 특징 저장소 133

4.12 특징 공학 모범 사례 135

4.12.1 여러 가지 간단한 특징 생성 135 / 4.12.2 기존 시스템 재사용 136

4.12.3 필요한 경우에만 식별자를 특징으로 사용 136 / 4.12.4 가능하면 크기를 줄인다 136

4.12.5 계수 사용은 신중하게 137 / 4.12.6 특징은 필요할 때 선택 138

4.12.7 코드 테스트는 주의 깊게 138 / 4.12.8 코드, 모델, 데이터의 동기화 상태 유지 139

4.12.9 특징 추출 코드 분리 139 / 4.12.10 모델과 특징 추출기를 함께 직렬화 139

4.12.11 특징값 기록 139

4.13 요약 140

 

CHAPTER 05 지도 모델 훈련(1) 143

5.1 모델 개발을 시작하기 전에 144

5.1.1 스키마 적합성 검증 144 / 5.1.2 달성 가능한 성능 수준 정의 144

5.1.3 성능 지표 선택 145 / 5.1.4 올바른 기준선 선택 145

5.1.5 데이터를 세 개의 세트로 분할 148 / 5.1.6 지도학습의 전제 조건 149

5.2 머신러닝을 위한 레이블 표현 150

5.2.1 다중 클래스 분류 150 / 5.2.2 다중 레이블 분류 151

5.3 학습 알고리즘 선택 151

5.3.1 학습 알고리즘의 주요 특성 152 / 5.3.2 알고리즘 스팟 검사 153

5.4 파이프라인 구축 154

5.5 모델 성능 평가 156

5.5.1 회귀 분석의 성능 지표 156 / 5.5.2 분류의 성능 지표 157

5.5.3 순위를 위한 성능 지표 163

5.6 초매개변수 조정 167

5.6.1 그리드 검색 167 / 5.6.2 랜덤 검색 169

5.6.3 무작위-미세한 검색 170 / 5.6.4 기타 기술 170

5.6.5 교차 검증 170

5.7 얕은 모델 훈련 171

5.7.1 얕은 모델 훈련 전략 171 / 5.7.2 모델 저장 및 복원 172

5.8 편향-분산 간 절충 174

5.8.1 과소적합 174 / 5.8.2 과적합 175 / 5.8.3 절충 176

5.9 정규화 177

5.9.1 L1 L2 정규화 178 / 5.9.2 다른 형태의 정규화 179

5.10 요약 179

 

CHAPTER 06 지도 모델 훈련(2) 183

6.1 심층 모델 훈련 전략 183

6.1.1 신경망 훈련 전략 184 / 6.1.2 성능 지표 및 비용 함수 185

6.1.3 매개변수 초기화 전략 188 / 6.1.4 최적화 알고리즘 189

6.1.5 학습률 감소 스케줄 192 / 6.1.6 정규화 194

6.1.7 네트워크 크기 검색 및 초매개변수 조정 195 / 6.1.8 다중 입력 처리 198

6.1.9 다중 출력 처리 198 / 6.1.10 전이 학습 199

6.2 모델 쌓기 201

6.2.1 앙상블 학습 유형 201 / 6.2.2 모델 쌓기 알고리즘 202

6.2.3 모델을 쌓을 때 데이터 누출 203

6.3 분포 이동 처리 204

6.3.1 분포 이동 유형 204 / 6.3.2 적대적 검증 204

6.4 불균형 데이터 세트 처리 205

6.4.1 클래스 가중치 205 / 6.4.2 다시 샘플링한 데이터 세트 앙상블 206

6.4.3 기타 기술 207

6.5 모델 교정 207

6.5.1 잘 교정된 모델 208 / 6.5.2 교정 기술 209

6.6 문제 해결 및 오류 분석 210

6.6.1 모델의 성능이 떨어지는 이유 210 / 6.6.2 반복적 모델 개선 211

6.6.3 오류 분석 211 / 6.6.4 복잡한 시스템의 오류 분석 213

6.6.5 부분 지표 사용 215 / 6.6.6 잘못된 레이블 수정 215

6.6.7 추가로 레이블링할 견본 찾기 216 / 6.6.8 딥러닝 문제 해결 216

6.7 모범 사례 218

6.7.1 좋은 모델 제공 218 / 6.7.2 검증된 오픈소스 활용 219

6.7.3 비즈니스별 성능 측정 최적화 219 / 6.7.4 밑바닥부터 개선 219

6.7.5 연속적인 정정 방지 220 / 6.7.6 연속된 모델은 주의해서 사용 220

6.7.7 효율적인 코드 작성, 컴파일, 병렬화 221

6.7.8 최신 데이터와 이전 데이터에 대한 테스트 223

6.7.9 똑똑한 알고리즘보다 더 많은 데이터가 좋음 223

6.7.10 새로운 데이터가 좀 더 좋은 특징보다 뛰어남 224

6.7.11 작은 진전의 수용 224

6.7.12 용이한 재현성 224

6.8 요약 225

 

CHAPTER 07 모델 평가 229

7.1 오프라인 평가와 온라인 평가 231

7.2 A/B 테스트 233

7.2.1 G-테스트 233 / 7.2.2 Z-테스트 236

7.2.3 결론 및 주의사항 238

7.3 멀티 암드 밴딧 239

7.4 모델 성능에 대한 통계적 한계 242

7.4.1 분류 오류에 대한 통계 구간 243 / 7.4.2 부트스트래핑 통계 구간 244

7.4.3 회귀를 위한 부트스트래핑 예측 구간 245

7.5 테스트 세트 적합성 평가 246

7.5.1 뉴런 커버리지 246 / 7.5.2 돌연변이 테스트 247

7.6 모델 특성 평가 248

7.6.1 강건성 248 / 7.6.2 공정성 249

7.7 요약 250

 

CHAPTER 08 모델 배포 253

8.1 정적 배포 254

8.2 사용자 기기에 동적 배포 255

8.2.1 모델 매개변수 배포 255 / 8.2.2 직렬화된 객체 배포 255

8.2.3 브라우저에 배포 256 / 8.2.4 장점과 단점 256

8.3 서버에 동적 배포 256

8.3.1 가상 머신에 배포 257 / 8.3.2 컨테이너에 배포 258

8.3.3 서버리스 배포 259 / 8.3.4 모델 스트리밍 261

8.4 배포 전략 264

8.4.1 단일 배포 264 / 8.4.2 자동 배포 265

8.4.3 카나리 배포 265 / 8.4.4 멀티 암드 밴딧 265

8.5 자동화된 배포, 버전 관리, 메타데이터 266

8.5.1 모델에 수반하는 항목 266 / 8.5.2 버전 동기화 266

8.5.3 모델 버전 관리를 위한 메타데이터 267

8.6 모델 배포 모범 사례 268

8.6.1 알고리즘 효율성 268 / 8.6.2 심층 모델 배포 272

8.6.3 캐싱 272 / 8.6.4 모델 및 코드에 대한 전달 형식 273

8.6.5 간단한 모델로 시작 275 / 8.6.6 외부인에 대한 테스트 276

8.7 요약 276

 

CHAPTER 09 모델 서빙, 모니터링, 유지보수 279

9.1 모델 서빙 런타임의 특성 280

9.1.1 보안 및 정확성 280 / 9.1.2 배포 용이성 280

9.1.3 모델 유효성 보장 281 / 9.1.4 복구 용이성 281

9.1.5 훈련/서빙 왜곡 방지 281 / 9.1.6 숨겨진 피드백 루프 방지 282

9.2 모델 서빙 모드 283

9.2.1 배치 모드 서빙 283 / 9.2.2 인간에 대한 주문형 서빙 283

9.2.3 머신에 대한 주문형 서빙 286

9.3 현실에서의 모델 서빙 287

9.3.1 오류에 대한 대비 287 / 9.3.2 오류 처리 288

9.3.3 변화에 대한 준비 및 대처 290 / 9.3.4 인간 본성에 대한 준비 및 대처 291

9.4 모델 모니터링 293

9.4.1 무엇이 잘못될 수 있는가? 293 / 9.4.2 모니터링 대상 및 방법 294

9.4.3 기록할 내용 297 / 9.4.4 남용 감시 298

9.5 모델 유지보수 299

9.5.1 업데이트 시기 299 / 9.5.2 업데이트 방법 300

9.6 요약 303

 

CHAPTER 10 결론 307

10.1 핵심 요점 308

10.2 다음에 읽을 내용 312

10.3 감사의 말 313

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 책 포스트 유튜브 인스타그램 트위터 페이스북

 




'도서 소개' 카테고리의 다른 글

프로그래머의 뇌  (27) 2022.01.12
라라벨 실전 웹 애플리케이션 개발  (2) 2021.12.30
도커, 컨테이너 빌드업!  (8) 2021.12.28
파이썬 머신러닝 실무 테크닉 100  (2) 2021.12.14
코드로 배우는 인공지능  (0) 2021.11.19