테키테크 TEKITECH

O'Reilly 머신러닝 실무 프로젝트 2판 / 한빛미디어 출판 / 2022년 출간 본문

그리고/책

O'Reilly 머신러닝 실무 프로젝트 2판 / 한빛미디어 출판 / 2022년 출간

TEKI 2022. 4. 24. 22:10

머신러닝을 실무에서 활용하기 위해서는 생각보다 많은 기술이 필요하다. 특히 모델을 연구하는 것과 이를 실서비스에 적용하는 것의 간극은 아직은 낯선 개념이기 때문에 머신러닝과 엔지니어링을 균형 있게 이해하는 능력이 중요하다고 생각한다.

머신러닝과 엔지니어링을 다 잘하는 ML 계의 풀 스택 엔지니어도 실제로 존재하지만, 꼭 둘 다 완벽하게 잘해야 하는 건 아니다. 보통은 한 분야의 전문가가 다른 한 분야를 공부하면서 균형을 찾아가는 것 같다.

이 책은 여느 전공 책보다 얇아서 쉽게 다가갈 수 있었던 것 같다. 모든 것을 자세하게 설명해주지는 않지만, 필요한 개념은 빠짐없이 언급한다. 그리고 실무에서 상황에 따라 어떤 고민이 필요한 지 제시해준다. 예를 들어, 'Java로 구현해야 한다'라고 하지 않고, '이러한 상황에는 R을, 저러한 상황에는 Java를 사용한다면 이러저러할 수 있다. 그러니 이거저거에 따라 판단해야 한다'와 같은 식이다.

그래서 빠르게 훑어보면서 생태계를 이해하고, 필요한 부분에서는 다른 자료를 찾아볼 수 있도록 가이드를 제시해주는 식으로 실질적인 도움을 주기 위해 노력한 구성이라고 느꼈다.

덧붙여서 저자는 '어느 정도는 이론을 익힌 소프트웨어 개발자에게 적합한 실무서'라고 했다는 점을 참고하면 좋겠다.

 


 

머신러닝 실무 프로젝트 (2판) 실전에 필요한 MLOps, 머신러닝 모델 검증, 슬롯머신 알고리즘, 온라인 광고에서의 머신러닝
아리가 미치아키, 나카야마 신타, 니시바야시 다카시지음 | 김모세 옮김 | 한빛미디어 | 2022년 03월 10일 출간

이 책은 크게 네 가지 내용을 다룬다.

1. 머신러닝 프로젝트를 시작하는 방법
2. 기존 시스템에 머신러닝을 통합하는 방법
3. 머신러닝에 사용할 데이터를 수집하는 방법
4. 가설을 수립하고 분석하는 방법

전반적인 구성을 보면 <Machine Learning for Work>라는 제목에 굉장히 충실하고 있다. 한달 전(2022년 3월)에 출간된 만큼 내용이 업데이트가 많이 되어있다. 2018년에 출간되었던 1판과 비교하면 모델 학습 결과의 수학적 판단이나 MLOps 환경 구축, 온라인 광고에서의 머신러닝 등에 대한 내용이 새롭게 추가되었다.

↓1판(2018년 출간)과 달라진 점은 더보기를 참고해주세요

더보기

※2판에서 추가된 내용

- CHAPTER 6 데이터 변경에 대응하고 장기적으로 머신러닝을 운용하기 위한 MLOps 환경 구축
- CHAPTER 7 머신러닝에 기반한 시행 결과 판단
- CHAPTER 8 수학적 관점(선형 회귀, 로지스틱 회귀, 결정 트리, 랜덤 포레스트, SHAP)에서 머신러닝 모델의 학습 결과를 해석
- CHAPTER 11 온라인 광고 콘텍스트에서 자주 사용되는 슬롯머신 알고리즘을 이용한 강화 학습
- CHAPTER 12 온라인 광고의 구성 방식, 운영 방식, 전환 효과 예측 등 각 단계에 적용할 수 있는 머신러닝의 원칙과 기법들을 설명

​아래 목차 중 2판에서 새롭게 추가된 챕터는 로 표시했습니다.


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 정리

 

 

이 책은

 

✔️ 서비스에 머신러닝을 무조건 적용하라고 조언하는 책이 아니다.

AI가 해내는 놀라운 일을 보다 보면 마치 AI가 마법처럼 문제를 해결해줄 수 있는 것처럼 생각하는 경우가 있다. 하지만 항상 강조하는 것처럼 머신러닝을 사용하지 않는 것이 더 좋은 경우도 있다. 이 책은 그러한 통찰력을 기를 수 있도록 도와주는 책이다.

✔️ 뭐부터 봐야할 지 모를 때 봐야할 책이다.

머신러닝 강의로 기초 이론을 공부하고, 실무에서 처음 접하는 개념이 있으면 그때그때 공부하는 편이다. 하지만 숲을 보려면 체계적인 자료가 도움이 된다. 두꺼운 전공 서적을 공부하는 것이 부담스럽다면 이 책으로 큰 흐름을 파악한 뒤에 필요한 부분을 더 공부하는 방법을 추천한다. 책이 얇아서 한 손으로 둘둘 말아 들고 출퇴근길에 봐도 된다.

책이 얇아서 한 손으로 둘둘 말아 들고 출퇴근길에 봐도 된다.

✔️ 머신러닝에 관심이 있는 개발자에게 추천한다.

실무에서 필요한 개념만 다루기 때문에 효율적으로 공부할 수 있다. 만약 따로 기초 이론을 공부하지 않았거나 더 깊이 있는 이해가 필요한 경우에는 이 책으로는 부족할 수 있다. 기술 면접 예상 질문과 답변 모음집 공부하듯 모르는 게 무엇인지 이 책을 통해 찾고, 나머지는 다른 루트로 정보를 구했다. 

✔️ 실무자 뿐만 아니라 진로를 고민중인 학생과 취준생에게도 추천한다.

최근 데이터 활용 직군에 대한 관심이 늘면서 본인이 하고 싶은 일을 하려면 어떤 직무로 가야 할지에 대한 고민을 많이 하는 것 같다. 가장 흔한 질문 중에는 'AI를 하고 싶은데 무엇을 해야 할까요?'가 있다. 질문을 받는 입장에서는 답변의 범위가 너무 광범위해서 당황스러운 질문이다. 이는 관련 산업에 대한 정보가 부족해서라고 생각한다. 실무에서 머신러닝을 어떤 관점으로 사용하고, 어떤 방법을 사용하고 있는 지 이 책을 통해 먼저 공부해본다면 궁금증을 해결할 수 있을 것 같다. 무엇보다 설명이 어렵지 않아 진입 장벽이 높지 않다는 장점이 있다.

✔️ 레퍼런스가 대부분 일본어 자료이다.

책 특징 상 길게 설명하는 대신 도움이 될만한 논문 등 참고자료를 많이 추천해주는데 그중에 일본어 자료가 많다. 일본어책의 번역본이라서 당연히 감안해야 하는 부분이지만 읽다 보면 조금 아쉽다. 그래도 일본어 자료는 따로 표시를 해주거나 한국어 자료를 추가해주는 등 배려가 엿보인다.

 

 

책 구성

책은 크게 두 부분으로 구성된다. [1부 머신러닝 실무 노하우]에서는 머신러닝 알고리즘, 머신러닝 프로젝트 수행 과정 등 머신러닝 프로젝트를 수행하기 위해 알아야 할 기본 지식을 소개한다. [2부 머신러닝 실무 프로젝트]에서는 1부의 내용과 실제 사례를 기반으로 탐색적 분석, 업리프트 모델링, 머신러닝 활용 및 최적화 활용 방안 등을 소개한다.

 

 

참고문헌 & Index

레퍼런스가 대부분 일본어 자료이고, 한국어 자료가 있는 경우 첨부해주고 있다. 어떤 느낌인 지 공유해보면 좋을 것 같아서 인덱스와 함께 참고문헌도 첨부하였다.

 

반응형
Comments