AD광고
AD광고
- 베스트
- 소득공제
- 무료배송
파이썬과 JAX로 추천 시스템 구축하기 - 만들면서 배우는 대규모 상용 추천 시스템
- 브라이언 비쇼프,헥터 이 저
- 동동구 역
- 제이펍
- 2025년 03월 20일
5만원 이상 결제 시 (*배송비 제외)
정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립
10만원 이상 결제 시 (*배송비 제외)
정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립
정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립
배송안내
- 배송지역 선택
- 주소 검색
| 네이버페이 구매하기 | 찜하기 |
[네이버페이]
| ISBN | ISBN-13 : 9791193926963 |
|---|---|
| 쪽수 | 388쪽 |
| 크기 | 기타 규격 |
| 제품구성 | 단행본 |
- 컴퓨터/IT > 인터넷 > 웹프로그래밍(웹디자인등)
당신이 이 책을 발견한 것도 추천 시스템 덕분이다
최신 추천 시스템을 설계하는 방법은 그 활용 분야만큼이나 다양하다. 이 책은 실무자가 알아야 할 핵심 개념과 예제를 설명하며, 추천 시스템을 처음 구축하는 사람부터 경험이 많은 개발자까지 모두 활용할 수 있도록 구성됐다. 추천 시스템을 설계하는 데 필요한 수학적 개념, 아이디어, 구현 방법을 체계적으로 알려주며, 파이썬, JAX, PySpark, SparkSQL, FastAPI를 사용하여 실제로 추천 시스템을 구축하는 직관적인 코드 예제를 제공한다. 이 책을 통해 추상적인 추천 시스템 개념을 구체적으로 학습해보자.
[목 차]
옮긴이 머리말 xii
추천의 글 xiv
베타리더 후기 xv
추천사 xviii
시작하며 xx
감사의 글 xxiii
표지에 대하여 xxv
PART I 워밍업
CHAPTER 1 소개 3
1.1 추천 시스템의 주요 구성 요소 4
__1.1.1 수집기 4
__1.1.2 랭커 4
__1.1.3 서버 4
1.2 가장 간단한 추천 시스템 5
__1.2.1 간단한 추천 시스템 5
__1.2.2 가장 인기 있는 아이템 추천 시스템 6
1.3 JAX에 대한 친절한 소개 8
__1.3.1 기본형, 초기화, 불변성 8
__1.3.2 인덱싱과 슬라이싱 10
__1.3.3 브로드캐스팅 11
__1.3.4 난수 11
__1.3.5 JIT 컴파일 12
1.4 요약 13
CHAPTER 2 사용자-아이템 평점 및 문제 정의하기 15
2.1 사용자-아이템 행렬 15
2.2 사용자-사용자 대 아이템-아이템 협업 필터링 19
2.3 넷플릭스 챌린지 20
2.4 암묵적 평점 21
2.5 데이터 수집 및 사용자 로깅 22
__2.5.1 기록 대상 22
__2.5.2 수집 및 계측 26
__2.5.3 퍼널 27
2.6 비즈니스 인사이트와 사람들이 좋아하는 것 29
2.7 요약 30
CHAPTER 3 수학적 고려 사항 33
3.1 RecSys에서 지프의 법칙과 마태 효과 33
3.2 희소성 37
3.3 협업 필터링을 위한 사용자 유사도 38
__3.3.1 피어슨 상관관계 40
__3.3.2 유사도를 통한 평가 40
3.4 추천 시스템으로서의 탐색-활용 41
__3.4.1 ϵ-그리디 전략 42
__3.4.2 ϵ은 무엇이어야 하나요? 44
3.5 NLP와 RecSys의 관계 45
__3.5.1 벡터 검색 45
__3.5.2 최근접 이웃 검색 47
3.6 요약 47
CHAPTER 4 추천 시스템 설계 49
4.1 온라인 대 오프라인 50
4.2 수집기 51
__4.2.1 오프라인 수집기 51
__4.2.2 온라인 수집기 51
4.3 랭커 52
__4.3.1 오프라인 랭커 52
__4.3.2 온라인 랭커 53
4.4 서버 53
__4.4.1 오프라인 서버 53
__4.4.2 온라인 서버 54
4.5 요약 54
CHAPTER 5 모두 하나로 합치기: 콘텐츠 기반 추천 시스템 55
5.1 버전 관리 소프트웨어 56
5.2 파이썬 빌드 시스템 57
5.3 무작위 아이템 추천 시스템 59
5.4 STL 데이터셋에서 이미지 가져오기 61
5.5 합성곱 신경망의 정의 62
5.6 JAX, Flax, Optax를 사용하여 모델 훈련하기 63
5.7 입력 파이프라인 65
5.8 요약 79
PART II 검색
CHAPTER 6 데이터 처리 83
6.1 시스템에 수분 공급하기 83
__6.1.1 파이스파크 83
__6.1.2 예시: 파이스파크에서의 사용자 유사도 88
__6.1.3 DataLoader 93
__6.1.4 데이터베이스 스냅숏 95
6.2 학습 및 추론을 위한 데이터 구조 97
__6.2.1 벡터 검색 97
__6.2.2 최근접 이웃 근사하기 99
__6.2.3 블룸 필터 100
__6.2.4 흥미로운 점: 추천 시스템으로서의 블룸 필터 101
__6.2.5 피처 스토어 102
6.3 요약 106
CHAPTER 7 모델 및 아키텍처 제공 107
7.1 추천 구조에 따른 아키텍처 107
__7.1.1 아이템별 사용자 추천 108
__7.1.2 쿼리 기반 추천 108
__7.1.3 콘텍스트 기반 추천 110
__7.1.4 시퀀스 기반 추천 111
__7.1.5 왜 추가적인 특징이 필요할까요? 111
7.2 인코더 아키텍처와 콜드 스타트 문제 112
7.3 배포 115
__7.3.1 API로서의 모델 115
__7.3.2 모델 서비스 시작하기 116
__7.3.3 워크플로 오케스트레이션 118
7.4 알림 및 모니터링 120
__7.4.1 스키마 및 선행 조건 121
__7.4.2 통합 테스트 122
__7.4.3 관측 가능성 123
7.5 상용 환경에서의 평가 124
__7.5.1 느린 피드백 125
__7.5.2 모델 지표 125
7.6 지속적인 훈련 및 배포 126
__7.6.1 모델 드리프트 126
__7.6.2 배포 토폴로지 127
7.7 평가 플라이휠 130
__7.7.1 일일 웜 스타트 131
__7.7.2 람다 아키텍처 및 오케스트레이션 132
__7.7.3 로깅 133
__7.7.4 능동 학습 136
7.8 요약 140
CHAPTER 8 모두 하나로 합치기: 데이터 처리 및 집계 추천기 141
8.1 기술 스택 142
8.2 데이터 표현 143
8.3 빅 데이터 프레임워크 145
__8.3.1 클러스터 프레임워크 146
__8.3.2 파이스파크 예제 147
8.4 GloVe 모델 정의 157
__8.4.1 JAX와 Flax 내의 GloVe 모델의 사양 158
__8.4.2 Optax로 GloVe 모델 훈련하기 160
8.5 요약 162
PART III 순위
CHAPTER 9 특징 기반 및 카운팅 기반 추천 165
9.1 이중선형 요인 모델(지표 학습) 166
9.2 특징 기반 웜 스타트 169
9.3 세분화 모델과 하이브리드 171
__9.3.1 태그 기반 추천기 172
__9.3.2 하이브리드화 174
9.4 이중선형 모델의 한계 175
9.5 카운팅 기반 추천기 176
__9.5.1 MPIR로 돌아가기 176
__9.5.2 상관관계 마이닝 178
__9.5.3 동시 출현을 통한 포인트별 상호 정보 180
__9.5.4 동시 출현에서의 유사도 181
__9.5.5 유사도 기반 추천 182
9.6 요약 183
CHAPTER 10 낮은 계수 방법 185
10.1 잠재 공간 185
10.2 도트 곱 유사도 187
10.3 동시 출현 모델 189
10.4 추천기 문제의 계수 줄이기 191
__10.4.1 ALS를 이용한 MF 최적화 193
__10.4.2 MF를 위한 정규화 194
__10.4.3 정규화된 MF 구현 195
__10.4.4 WSABIE 219
10.5 차원 축소 219
__10.5.1 아이소메트릭 임베딩 223
__10.5.2 비선형 국소 측정 가능 임베딩 225
__10.5.3 중심 커널 정렬 226
10.6 선호도 및 판매 확률 227
10.7 추천 시스템 평가를 위한 성향 가중치 적용 228
__10.7.1 성향 229
__10.7.2 심슨의 역설과 교란 완화 231
10.8 요약 233
CHAPTER 11 개인화된 추천 지표 235
11.1 환경 236
__11.1.1 온라인 및 오프라인 236
__11.1.2 사용자 대 아이템 지표 237
__11.1.3 A/B 테스트 238
11.2 재현율과 정밀도 239
__11.2.1 @k 241
__11.2.2 k에서의 정밀도 241
__11.2.3 k에서 재현율 241
__11.2.4 R-정밀도 242
11.3 mAP, MRR, NDCG 242
__11.3.1 mAP 243
__11.3.2 MRR 243
__11.3.3 NDCG 244
__11.3.4 mAP 대 NDCG? 245
__11.3.5 상관계수 246
11.4 친화도에서의 RMSE 247
11.5 적분 형태: AUC 및 cAUC 247
__11.5.1 추천 확률에서 AUC-ROC로 247
__11.5.2 다른 지표와의 비교 248
11.6 BPR 249
11.7 요약 249
CHAPTER 12 순위를 매기기 위한 훈련 251
12.1 추천 시스템에서 순위 결정의 역할 251
12.2 순위 결정 학습 252
12.3 LTR 모델 훈련하기 253
__12.3.1 분류를 통한 순위 결정 253
__12.3.2 회귀를 통한 순위 결정 254
__12.3.3 분류 및 회귀를 통한 순위 결정 255
12.4 WARP 255
12.5 k-차 통계 257
12.6 BM25 258
12.7 멀티모달 검색 261
12.8 요약 261
CHAPTER 13 모두 하나로 합치기: 실험과 순위 결정 263
13.1 실험 팁 263
__13.1.1 단순하게 유지하세요 264
__13.1.2 디버그 출력문 264
__13.1.3 최적화 지연 265
__13.1.4 변경 사항 추적 266
__13.1.5 피처 엔지니어링 사용 266
__13.1.6 이해 지표 대 비즈니스 지표 267
__13.1.7 빠른 반복 수행 267
13.2 스포티파이의 수백만 재생목록 데이터셋 268
__13.2.1 URI 딕셔너리 구축하기 270
__13.2.2 훈련 데이터 구성하기 272
__13.2.3 입력 읽기 275
__13.2.4 문제 모델링하기 277
__13.2.5 손실 함수 구성하기 281
13.3 연습 285
13.4 요약 286
PART IV 서비스 제공
CHAPTER 14 비즈니스 로직 289
14.1 하드 순위 결정 290
14.2 학습된 회피 291
14.3 수동 조정 가중치 292
14.4 재고 건전성 293
14.5 회피 구현하기 294
14.6 모델 기반 회피 296
14.7 요약 297
CHAPTER 15 추천 시스템의 편향성 299
15.1 추천의 다양화 300
__15.1.1 다양성 개선하기 300
__15.1.2 포트폴리오 최적화 적용하기 302
15.2 다중 목적 함수 303
15.3 프레디케이트 푸시다운 304
15.4 공정성 306
15.5 요약 307
CHAPTER 16 가속 구조 309
16.1 샤딩 310
16.2 지역 민감 해싱 310
16.3 k-d 트리 313
16.4 계층적 k-평균 316
16.5 더 저렴한 검색 방법 318
16.6 요약 319
PART V 추천 시스템의 미래
CHAPTER 17 순차적 추천기 323
17.1 마르코프 체인 324
__17.1.1 2차 마르코프 체인 325
__17.1.2 기타 마르코프 모델 326
17.2 RNN 및 CNN 아키텍처 327
17.3 어텐션 아키텍처 329
__17.3.1 셀프 어텐션에 의한 순차적 추천 331
__17.3.2 BERT4Rec 331
__17.3.3 최신성 샘플링 332
__17.3.4 정적 및 순차적 병합 332
17.4 요약 334
CHAPTER 18 추천 시스템의 미래 335
18.1 멀티모달 추천 336
18.2 그래프 기반 추천기 338
__18.2.1 신경망 메시지 전달 339
__18.2.2 애플리케이션 340
__18.2.3 랜덤워크 342
__18.2.4 메타패스와 이질성 343
18.3 LLM 애플리케이션 344
__18.3.1 LLM 추천기 344
__18.3.2 LLM 훈련 345
__18.3.3 추천을 위한 인스트럭트 튜닝 348
__18.3.4 LLM 랭커 348
__18.3.5 AI를 위한 추천 349
18.4 요약 350
찾아보기 352
[본 문]
추천 시스템을 실무적인 수준으로 이해한다면 사용자에게 콘텐츠를 제공할 때 유용할 뿐만 아니라, RecSys의 기반 원리를 통해 다양한 머신러닝 유형을 습득할 수 있습니다. 예를 들어 기사 추천 시스템에서 자연어 처리(national language processing, NLP)를 활용하여 기사 내 특정 표현을 찾을 수 있고, 순차적 모델링(sequential model)을 통해 사용자 참여를 더 길게 유도하며, 콘텍스트 기반 특징을 활용하여 사용자의 질의에 적절한 검색 결과를 도출할 수 있습니다. 또한 순수한 학문적 관심으로 이 분야를 탐구한다면, RecSys 분야 안에서 수학의 모든 분야에 관련된 연결점이나 활용 사례를 발견할 수 있을 것입니다. (xxi쪽)
웨이터는 이 짧은 대화 중에 디저트 메뉴를 확인하고, 현재 재고 상황을 파악하며, 메모를 확인하여 디저트의 특징에 대해 이야기할 준비를 하는 등 수집기의 역할을 수행하고 있습니다. / 다음으로 웨이터는 인기 많은 메뉴(바나나 크림 파이, 도넛 아라모드)와 고객의 특징(석류를 좋아할 경우)에 따라 맥락에 맞춰 어울리는 메뉴를 언급하여 랭커 역할을 합니다. / 마지막으로 웨이터는 알고리즘에 대한 설명과 여러 선택지 등의 추천을 말로 제공합니다. / 다소 뻔해보일 수 있지만, 추천 시스템에 대한 논의는 실제 사업에 바탕을 두어야 한다는 점을 잊어서는 안 됩니다. 그래서 RecSys 분야에서 일할 때 얻을 수 있는 장점 중 하나가 영감은 항상 가까운 곳에 있다는 것입니다. (5쪽)
〈오징어 게임〉과 같이 흥미진진한 데뷔작의 경우, 모든 지표가 상승하는 것을 보고 흥분에 휩쓸리기 쉽지만, 이로 인해 부정적인 영향을 받는 지표는 없을까요? 〈오징어 게임〉과 같은 주 또는 1∼2주 내로 프로그램을 배포해야 한다면, 이 모든 성공에 대해 흥분을 할 수는 없을 것입니다. 전반적으로 이러한 성공은 점진적인 성장(incremental growth)으로 이어져 비즈니스 자체에 큰 도움이 되며, 지표가 전체적으로 상승할 것입니다. 그러나 다른 프로그램들은 핵심 사용자층에 대한 제로섬 게임으로 인해 출시 성공률이 떨어질 수 있습니다. 이는 장기적인 지표에 부정적인 영향을 미칠 수 있으며, 이후 추천의 효과도 떨어뜨릴 수 있습니다. (30쪽)
MF를 사용하여 사용자-아이템 상호작용 행렬을 모델링하는 추천 시스템을 생각해봅시다. 시스템이 많은 사용자와 아이템으로 구성된 경우, 결과 요인 행렬은 고차원이 되어 계산 비용이 많이 들수 있습니다. 하지만 SVD나 PCA와 같은 차원 축소 기법을 사용하면 알고리즘은 사용자-아이템 상호작용에 대한 가장 중요한 정보를 보존하면서 요인 행렬의 차원을 줄일 수 있습니다. 이를 통해 알고리즘은 새로운 사용자나 상호작용 데이터가 제한적인 아이템에 대해서도 보다 효율적이고 정확한 추천을 생성할 수 있습니다. (223쪽)
순차적 추천의 초기 연구는 연속적인 아이템 간의 전환을 모델링하는 데 초점을 두었습니다. 여기에는 마르코프 체인과 번역 기반 방법(translation-based method)이 사용되었습니다. 딥러닝 방법이 NLP에서 가장 큰 성공을 거두면서 순차적 데이터를 모델링하는 데 점점 더 많은 가능성을 보였고, 신경망 아키텍처를 사용하여 사용자 상호작용 기록의 순차적 역학을 모델링하려는 시도가 많이 이루어졌습니다. 이러한 방향의 초기 성공 사례로는 RNN을 사용하여 사용자의 순차적 상호작용을 모델링하는 GRU4Rec이 있습니다. 최근에는 트랜스포머 아키텍처가 순차적 데이터 모델링에서 우수한 성능을 입증했습니다. 트랜스포머 아키텍처는 효율적인 병렬화에 적합하며 장거리 시퀀스를 모델링하는 데 효과적입니다. (324쪽)
이영빈, 모두의연구소, AI GDE, 《JAX/Flax로 딥러닝 레벨업》 저자
《파이썬과 JAX로 추천 시스템 구축하기》는 추천 시스템 설계의 깊이 있는 통찰력을 제공하는 탁월한 가이드입니다. 이 책은 추천 시스템의 기본 개념부터 실제 시스템 구축에 필요한 심층적인 설계 방식까지 폭넓게 다루고 있어, 독자들이 탄탄한 기반을 다질 수 있도록 돕습니다.
특히 이 책의 강점은 추천 시스템을 시스템 관점에서 접근한다는 점입니다. 풍부한 용어 설명은 물론, 모델 중심적인 기존 서적들과 달리 시스템 전체를 조망하며 추천 시스템 구축의 핵심을 보여줍니다. 이러한 서술 방식을 통해 독자는 추천 시스템을 단순한 알고리즘의 집합이 아닌, 유기적으로 작동하는 하나의 시스템으로 이해할 수 있습니다.
이 책이 추천 시스템 구현을 고민하는 모든 개발자에게 필수적인 참고서가 될 것이라 확신합니다. 이론과 실무를 겸비한 이 책을 통해 독자 여러분이 추천 시스템 전문가로 발돋움하시기를 기대합니다.
이븐 올드리지(Even Oldridge)
저자들은 대부분의 사람이 오랜 시간에 걸쳐 익히는 RecSys 개념을 명확한 코드 예제와 함께 알기 쉽게 소개하여 특별한 가치를 만들어냈습니다. 내가 추천 시스템을 처음 시작할 때 이 책이 있었다면 좋았을 것입니다.
샤케드 자이클린스키(Shaked Zychlinski)
이 책은 JAX로 추천 시스템을 이해하기 쉽게 설명하는, 제가 기다려온 책입니다. 여러분에게 필요한 것은 컴퓨터 한 대뿐입니다.
유진 얀(Eugene Yan), 아마존 응용 과학자
브라이언과 헥터는 수십 년에 걸친 추천 시스템의 발전을 간결하면서도 실용적인 가이드로 정리했습니다. 이 책은 이론과 실제 응용 사이의 간극을 메우며, 파이썬과 JAX를 활용한 이해하기 쉬운 예제들로 가득 차 있습니다. 초보자부터 전문가까지 모든 수준의 RecSys 실무자에게 꼭 필요한 가이드입니다.
에릭 콜슨(Eric Colson)
이 책은 수학, 코드, 시스템 설계, 비즈니스 응용을 종합적으로 고려하여 추천 시스템 구축에 대한 포괄적인 접근 방식을 제공합니다. 실제 현장에 적용 가능한 설루션을 구현하기 위해 실무자가 고려해야 할 모든 세부 사항을 다루며, 공개 데이터셋을 활용하는 직관적인 예제를 통해 추상적인 개념을 구체적인 학습으로 전환시킬 수 있도록 돕습니다.
야코포 탈리아부에(Jacopo Tagliabue)
추천 시스템은 배포된 머신러닝 시스템 중 가장 영향력이 큰 시스템입니다. 이 책은 원칙에 기반한 모델링, 명확한 코드 예제, 아키텍처 모범 사례를 균형 있게 다루며, 단순히 모델을 학습하는 것을 넘어 실제 시스템을 구축하고자 하는 실무자들에게 꼭 필요한 필독서입니다.
윌 커트(Will Kurt)
수년 동안 이론적인 추천 시스템과 실제 현장에서 사용되는 추천 시스템 간에 큰 간극을 느껴왔습니다. 브라이언과 헥터의 이 뛰어난 저서는 이 간극을 없애며, 이 책의 독자는 데이터 과학 분야의 진정한 입문자가 되었음을 느낄 수 있을 것입니다.
에릭 슐레스(Eric Schles)
이 책은 정보검색 분야에 관심 있는 모든 사람에게 필수적인 자료입니다. 저자들은 독자가 이 분야의 문제를 해결할 수 있도록 세부적인 내용에 각별히 신경을 썼습니다. 이 책을 참고하여 정보검색 문제를 설정하는 방법과 실질적인 단계들을 계획하는 방법을 이해하고, 실제로 구축을 시작할 수 있습니다.

추천 시스템의 비밀을 파헤치는 책
현대 비즈니스 환경에서는 고객의 취향에 맞춘 개인화 추천 시스템(RecSys)이 필수다. 그러나 추천 시스템은 다양한 알고리즘, 데이터 처리 기법, 모델 평가 방식 등 여러 요소가 복합적으로 작용하여 접근하기 어렵고, 기존의 ML 커리큘럼에서는 다루지 않는 경우가 많아 실무자들이 막막함을 느끼기 쉽다.
이 책은 추천 시스템을 구축하는 데 필요한 모든 핵심 요소(데이터 수집, 문제 정의, 모델 선택, 평가, 배포)를 명확하고 체계적으로 설명한다. 파이썬과 JAX를 포함한 실습 예제와 함께, 추천 시스템 분야에서 빠르게 변화하는 기술 동향과 MLOps 도구를 활용하는 방법을 제공함으로써 접근하기 어려웠던 상황을 해소할 수 있도록 돕는다.
이 책은 수십 년간의 추천 시스템 발전을 한 권에 집약한 실용적 지침서다. 추상적인 추천 시스템 개념을 실제 적용 가능한 코드와 사례로 풀어낸 이 책을 통해 추천 시스템을 성공적으로 구축해보자.
대상 독자
추천 시스템의 핵심 개념과 알고리즘을 배우고 직접 구현해보고자 하는 머신러닝 엔지니어
대규모 데이터 처리 및 MLOps 도구를 활용하여 추천 시스템 인프라를 구축하고자 하는 개발자 또는 데이터 과학자
고객 맞춤형 추천 기능을 통해 비즈니스 성과를 높이고자 하는 제품 관리자
추천 시스템의 이론적 배경과 실제 구현 사례를 학습과 연구에 활용하려는 연구원
주요 내용
데이터 및 비즈니스 문제를 RecSys 문제로 전환하기
RecSys 구축을 시작하기 위한 필수 데이터 파악하기
RecSys 문제에 적합한 모델을 정하고, 이를 어떻게 평가해야 하는지 결정하기
모델을 구현하고, 훈련하고, 테스트하고, 배포하기
지표를 추적하여 시스템이 계획대로 작동하는지 확인하기
사용자, 제품, 비즈니스 사례를 파악하면서 시스템을 점진적으로 개선하기

구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!
등록된 리뷰가 없습니다
첫번째 리뷰어가 되어주세요










































| 반품/교환방법 |
|
|---|---|
| 반품/교환 가능기간 |
|
| 반품/교환비용 |
|
| 반품/교환 불가 사유 |
|
| 상품 품절 |
|
| 소비자 피해보상 환불지연에 따른 배상 |
|

- [이벤트 당첨자 발표] 26년 9월 <리뷰왕을 찾아라> 이벤트 당첨자 안내
- [이벤트 당첨자 발표] 무라카미 하루키 『가호』 기대평 이벤트 당첨자 발표
- [이벤트 당첨자 발표] 재레드 다이아몬드 『리더는 언제 차이를 만들어내는가』 리뷰 이벤트 당첨자 발표
- [이벤트 당첨자 발표] 10월 모두의 서가 이벤트 당첨자 안내
- [공지사항] 추석 연휴 전국 지점 영업시간 안내
















