성장通

[리뷰] 머신러닝 실무 프로젝트 2판 본문

리뷰/도서 리뷰

[리뷰] 머신러닝 실무 프로젝트 2판

백악기작은펭귄 2022. 4. 14. 15:08

* 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

머신러닝 실무 프로젝트 (Machine Learning at Work) 2판

아리가 마치아키, 나카야마 신타, 니시바야시 다카시 저 / 김모세 역

 

머신러닝 실무 프로젝트 - YES24

어디서든 환영받는 ‘실무형 머신러닝’ 비법온라인 강의, 책, 대학 연구만으로는 실제 비즈니스에 머신러닝을 어떻게 적용할 것인지, 어떤 경우에 머신러닝 기법과 데이터 분석 방법을 적용해

www.yes24.com


간단 서평

소규모 스타트업에서 ML Engineer로 일을 하며 모델 학습부터 배포까지 전반을 다루게 되었고, 이로부터 단순 연구를 벗어난 '머신러닝 실무'에 관심을 가지게 되었다. 그러나 MLOps 관련 서적들은 다소 허들이 높았고, DevOps 지식이 부족한 나에게는 꽤나 큰 로드가 되었다. 기본적인 틀은 전부 잡혀있다는 전제하에 쓰여진 책들은 마치 징검다리가 중간 부분만 연결되어 있는 느낌을 주었고, 이를 해결하기 위해서는 더 많은 자료와 노력이 필요했다.

 

머신러닝을 실무에서 사용하기 위해서는 여러 어려움이 있었지만, 그중 하나만 꼽으라면 전체 플로우를 어떤 식으로 설계하고 구축해야할지였다. 그런 나에게 이 책은 친절한 가이드가 되어주었다. '실무' 책을 자청하는 책 중 가장 친절하면서도 알찬 책이 아닐까 싶다.

 

서론을 잠시 옮겨보겠다.

 

누구를 위한 책인가

* 머신러닝 입문서를 떼고 실무에 활용하려는 엔지니어

* 대학에서 배운 머신러닝을 제품에 적용하려는 주니어 엔지니어

* 소프트웨어 개발자는 아니지만 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 담당자

 

이 책은 머신러닝 이론보다는 이를 서비스화하기 위한 아키텍쳐에 더 집중하고 있다. 하지만 그만큼 허들은 더욱 낮아지고 대상은 더 늘어나지 않았나 싶다. 머신러닝은 잘 모르지만 소프트웨어적인 지식을 기반으로 간단한 머신러닝을 도입해보고 싶은 소프트웨어 엔지니어, 나처럼 기본적인 머신러닝 지식을 기반으로 모델을 만들어 이를 배포해보고 싶은 ML 엔지니어에게는 두 말할 것도 없이 도움이 될 것이고, 많은 ML 연구자들이 주니어들에게 가장 추천하고 싶은 공부 중 하나로 MLOps를 꼽고 있는 최근에는 ML 연구자를 목표하는 사람들에게도 큰 도움이 될 것이다.

 

머신러닝으로 무엇을 할 수 있느냐에 대해 고민하고 있는 사람이라면 이 책을 꼭 읽어보길 바란다. 그런 당신의 의문에 답을 줄 것이다.


목차

PART1 머신러닝 실무 노하우

CHAPTER 1 머신러닝 프로젝트 처음 시작하기
1.1 머신러닝은 어떻게 사용되는가
1.2 머신러닝 프로젝트 과정
1.3 운용 시스템에서의 머신러닝 문제점 대처 방법
1.4 머신러닝 시스템을 성공적으로 운영하기 위한 조건
1.5 정리

CHAPTER 2 머신러닝으로 할 수 있는 일
2.1 머신러닝 알고리즘 선택 방법
2.2 분류
2.3 회귀
2.4 클러스터링과 차원 축소
2.5 기타
2.6 정리

CHAPTER 3 학습 결과 평가하기
3.1 분류 평가
3.2 회귀 평가
3.3 머신러닝을 통합한 시스템의 A/B 테스트
3.4 정리

CHAPTER 4 기존 시스템에 머신러닝 통합하기
4.1 기존 시스템에 머신러닝을 통합하는 과정
4.2 시스템 설계
4.3 훈련 데이터를 얻기 위한 로그 설계
4.4 정리

CHAPTER 5 학습 리소스 수집하기
5.1 학습 리소스 수집 방법
5.2 공개된 데이터셋이나 모델 활용
5.3 개발자가 직접 훈련 데이터 작성
5.4 동료나 지인에게 데이터 입력 요청
5.5 크라우드소싱 활용
5.6 서비스에 통합해서 사용자가 입력
5.7 정리

CHAPTER 6 지속적인 머신러닝 활용을 위한 기반 구축하기
6.1 머신러닝 시스템만의 독특한 어려움
6.2 지속적인 학습과 MLOps
6.3 머신러닝 인프라 구축 단계
6.4 지속적인 예측 결과 서빙
6.5 정리

CHAPTER 7 효과 검증: 머신러닝 기반 정책 성과 판단하기
7.1 효과 검증
7.2 인과 효과 추정
7.3 가설 검정 프레임
7.4 A/B 테스트 설계 및 수행
7.5 오프라인 검증
7.6 A/B 테스트를 수행할 수 없을 경우
7.7 정리
7.8 쉬어가기: 무조건 성공하는 A/B 테스트, A/B 테스트 모집단 조작

CHAPTER 8 머신러닝 모델 해석하기
8.1 구글 콜랩에 설치된 라이브러리 버전 업데이트
8.2 학습용 파일 업로드 및 확인
8.3 선형 회귀 계수를 이용한 원인 해석
8.4 로지스틱 회귀 계수로 원인 해석
8.5 회귀 계수 p값 구하기
8.6 결정 트리를 시각화해 원인 해석
8.7 랜덤 포레스트의 Feature Importance 시각화
8.8 SHAP을 활용한 기여도 시각화
8.9 SHAP을 활용한 직원 만족도 시각화
8.10 정리

PART2 머신러닝 실무 프로젝트

CHAPTER 9 킥스타터 분석하기: 머신러닝을 사용하지 않는 선택지
9.1 킥스타터 API 확인하기
9.2 킥스타터 크롤러 만들기
9.3 JSON 데이터를 CSV로 변환하기
9.4 엑셀로 데이터 살펴보기
9.5 피벗 테이블로 다양하게 파악하기
9.6 목표를 달성했지만 취소된 프로젝트 확인하기
9.7 국가별로 살펴보기
9.8 보고서 작성하기
9.9 이후 작업
9.10 정리

CHAPTER 10 업리프트 모델링을 이용한 마케팅 리소스 효율화
10.1 업리프트 모델링의 사분면
10.2 A/B 테스트 확장을 통한 업리프트 모델링
10.3 업리프트 모델링용 데이터셋 만들기
10.4 두 가지 예측 모델을 이용한 업리프트 모델링
10.5 AUUC로 업리프트 모델링 평가
10.6 실제 문제에 적용
10.7 업리프트 모델링을 서비스에 적용
10.8 정리

CHAPTER 11 슬롯머신 알고리즘을 활용한 강화 학습 입문
11.1 슬롯머신 알고리즘 용어 정리
11.2 확률분포에 관한 사고
11.3 사후 분포에 관한 사고
11.4 사후 분포의 신뢰 구간 상한을 이용한 구현 사례
11.5 UCB1
11.6 확률적 슬롯머신 알고리즘
11.7 다양한 슬롯머신 알고리즘 비교
11.8 부트스트랩 알고리즘을 이용한 콘텍스트 기반 슬롯머신 구현
11.9 현실 과제
11.10 A/B 테스트, 업리프트 모델링, 슬롯머신 알고리즘의 관계
11.11 정리

CHAPTER 12 온라인 광고에서의 머신러닝
12.1 온라인 광고 비즈니스
12.2 문제 정식화
12.3 예측의 역할 및 구현
12.4 광고 송출 로그의 특징
12.5 머신러닝 예측 모델 운영
12.6 정리