메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

머신러닝 실무 프로젝트(2판)

실전에 필요한 MLOps, 머신러닝 모델 검증, 슬롯머신 알고리즘, 온라인 광고에서의 머신러닝

한빛미디어

번역서

판매중

  • 저자 : 아리가 미치아키(有賀 康顕) , 나카야마 신타(中山 心太) , 니시바야시 다카시(西林 孝)
  • 번역 : 김모세
  • 출간 : 2022-03-10
  • 페이지 : 320 쪽
  • ISBN : 9791162245323
  • 물류코드 :10532
  • 구판정보 :이 도서는 <머신러닝 실무 프로젝트>의 개정판입니다. 구판 정보 보기
  • 초급 초중급 중급 중고급 고급
4.6점 (31명)
좋아요 : 1

어디서든 환영받는 ‘실무형 머신러닝’ 비법

 

온라인 강의, 책, 대학 연구만으로는 실제 비즈니스에 머신러닝을 어떻게 적용할 것인지, 어떤 경우에 머신러닝 기법과 데이터 분석 방법을 적용해야 하는지 알기 어렵다. 해결해야 하는 문제를 정의하고 시스템을 설계하는 방법 역시 배우기 쉽지 않다. 가설 수립, 탐색적 분석 수행 방법 등 저자들이 경험하고 학습했던 노하우를 아낌없이 담아냈다. 2판에서는 지속적인 학습을 위한 MLOps와 슬롯머신 알고리즘을 활용한 강화 학습 등의 내용도 추가했다. 실무에서 통하는 머신러닝을 구현하고 싶다면 이 책으로 갈증을 해소할 수 있을 것이다. 

 

아리가 미치아키(有賀 康顕) 저자

아리가 미치아키(有賀 康顕)

 

전자 회사의 연구소와 레시피 서비스 회사를 거쳐 지금은 Cloudera 소속의 필드 데이터 과학자다. 데이터 활용과 머신러닝 지원 업무를 담당한다. 소프트웨어 개발자로 머신러닝을 이용하기 위한 플랫폼과 고객 데이터 플랫폼을 개발하고 있다.

 

- https://twitter.com/chezou

- https://www.slideshare.net/chezou

- https://chezo.uno/

 

 

 

나카야마 신타(中山 心太) 저자

나카야마 신타(中山 心太)

 

일본 최대 이동통신사의 연구소, 소셜 게임 개발사, 머신러닝을 활용한 웹 마케팅 프리랜서를 거쳐 지금은 (주)Next Int를 창업했다. 자사 서비스 개발 외에도 게임 기획과 머신러닝 기획을 수행한다. 머신러닝 게임 디자인, 사업 설계, 신규 사업 기획 등을 두루 진행한다.

 

- https://twitter.com/tokoroten

- https://www.slideshare.net/TokorotenNakayama

- https://medium.com/@tokoroten/

 

 

니시바야시 다카시(西林 孝) 저자

니시바야시 다카시(西林 孝)

 

독립 SIer 소프트웨어 벤더를 거쳐 지금은 (주)VOYAGE GROUP 소속 소프트웨어 엔지니어다. 인터넷 광고 서비스 전달 로직을 개발한다.

 

- https://twitter.com/hagino3000

- https://hagino3000.blogspot.jp/

- https://speakerdeck.com/hagino3000

 

 

김모세 역자

김모세

대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하도록 돕는 일에 보람을 느껴 2019년부터 번역을 시작했다. 옮긴 책으로는 『인간 vs. AI 정규표현식 문제 풀이 대결』(제이펍, 2023), 『실무에 바로 쓰는 일잘러의 마이크로카피 작성법』(제이펍, 2023), 『애자일 개발의 기술 2/e』(에이콘, 2023), 『타입스크립트, 리액트, Next.js로 배우는 실전 웹 애플리케이션 개발』(위키북스, 2023), 『플레이어를 생각하는 게임 UI 디자인 노하우』(한빛미디어, 2023) 등이 있다. 이 책은 옮긴이 소개를 작성하는 시점으로 44번째 번역서이다.

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

머신러닝을 실무에 활용하고 싶은데 

어떻게 하면 좋을지 모르겠다면 바로 이 책!

 

머신러닝이 보급되면서 인과 효과 추론, 지속적인 학습, 머신러닝 기반 운영 등 새로운 문제에 직면하는 경우가 늘어났다. 머신러닝 시스템은 다양한 역할, 조직 체제 속에서 데이터라는 불확실한 대상이 만들어낸 결과를 통계와 운영을 포함해 다루어야만 한다. 실무에 필요한 가설 수립, 탐색적인 분석 수행 방법 등 필자들이 경험하며 학습한 머신러닝 지식을 2판에 아낌없이 추가했다. 머신러닝을 독학으로 익히느라 이런 주제를 접할 기회가 없던 독자들에게 이 책이 머신러닝을 활용하는 데 미력하나마 도움이 된다면 더할 나위 없이 기쁠 것이다.

 

 

 ★2판에 추가된 내용

 

- 6장 데이터 변경에 대응하고 장기적으로 머신러닝을 운용하기 위한 MLOps 환경 구축

- 7장 머신러닝에 기반한 시행 결과 판단

- 8장 수학적 관점(선형 회귀, 로지스틱 회귀, 결정 트리, 랜덤 포레스트, SHAP)에서 머신러닝 모델의 학습 결과를 해석

- 11장 온라인 광고 콘텍스트에서 자주 사용되는 슬롯머신 알고리즘을 이용한 강화 학습

- 12장 온라인 광고의 구성 방식, 운영 방식, 전환 효과 예측 등 각 단계에 적용할 수 있는 머신러닝의 원칙과 기법들을 설명

 

 

★이 책에서 다루는 내용

 

1부에서는 머신러닝 프로젝트를 수행하기 위해 알아야 할 기본 지식을 소개하고 9장부터 시작하는 2부는 앞서 설명한 내용을 포함한 실제 사례를 통해 실무에 도움이 되도록 내용을 구성했다. 각 장의 내용은 1부에서 소개한 내용을 포함하고 있으니 앞서 설명한 내용을 떠올리면 읽으면 도움이 될 것이다.

 

1장 머신러닝 프로젝트가 수행되는 과정

2장 머신러닝으로 할 수 있는 일과 다양한 머신러닝 알고리즘

3장 오프라인에서 예측 모델을 평가하는 방법

4장 컴퓨터 시스템에 머신러닝 구조를 통합하는 주요 패턴

5장 머신러닝 분류 태스크에서 정답 데이터 수집

6장 지속 학습을 위한 머신러닝 기반 MLOps

7장 통계 검정, 인과 효과 추론, A/B 테스트

8장 머신러닝을 통해 얻은 예측 결과를 설명하는 방법

9장 탐색적 분석 과정과 이를 기반으로 한 보고서 발행

10장 업리프트 모델링을 사용해 더욱 효과적인 마케팅 수행

11장 슬롯머신 알고리즘을 이용한 강화 학습

12장 실제 시스템에 적용된 머신러닝 최적화

 

 

★누구를 위한 책인가

 

다음 독자를 대상으로 머신러닝 데이터 분석 도구를 어떻게 비즈니스에 활용하는지, 불확실성이 높은 머신러닝 프로젝트는 어떻게 진행하는지 다룬다.

 

- 머신러닝 입문서를 떼고 실무에 활용하려는 개발자

- 대학에서 배운 머신러닝을 제품에 적용하려는 주니어 개발자

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

머신러닝 알고리즘은 이미 다른 책에서 많이 다루고 있으니 이 책에서는 머신러닝 프로젝트를 처음 시작하는 방법, 기존 시스템에 머신러닝을 통합하는 방법, 머신러닝에 사용할 데이터를 수집하는 방법 등 실무에 유용한 내용을 중점적으로 다룬다. 

머신 러닝 프로젝트를 진행 중인 상황에서 매우 도움이 되는 책입니다. 시작 단계에서 비즈니스 모델의 이해와 MVP 선정 등 지속적인 관리를 A/B TEST 등 실무에 필요한 내용이 많습니다.

1. 이 도서는 어떤 책인가?

이 책은 실무 프로젝트에 관점에서 부딪히게 되는 문제를 어떻게 해결할 수 있는지 설명하는 책이다. 머신러닝 알고리즘을 잘 만드는 것도 중요하지만, 비즈니스와 연계해서 업무를 하는 것은 또 다른 일이다.

 

 

2. 장점은?!

이 책은 다른 도서에서 보지 못한 실무 관점의 내용을 많이 접할 수 있다는 점이다.

세부 내용에 대해 다른 참고문헌을 잘 소개하고 있다는 것도 장점이다. 책을 보다가 더 궁금한 내용은 다른 참고문헌을 통해 추가 공부할 수 있도록 잘 소개돼 있다.

책에서 사용한 코드를 github를 이용해 쉽게 실용해 볼 수 있다는 장점도 있다.

 

 

3. 이 도서를 추천하고 싶은 대상

머신러닝 업무를 실제 해 본 사람이면 누구나 재미있게 볼 수 있을 것 같다. 자신이 고민해 본 내용이 있다면 반갑기도 하다.

입문서를 이제 막 공부한 사람에게도 좋겠다. 실제 프로젝트를 하면서 문제에 부딪힐 때 이 책의 내용을 다시 한 번 살펴보면 유용하겠다.

이 책은 제목에서와같이 실무 프로젝트를 진행하기에 앞서 반드시 읽어야 할 책이 아닌가 한다.

 

머신 러닝에 관한 책을 여러 권 읽었지만, 사실 프로젝트나 개발에 있어서 어떻게 적용해야 하는지에 대한 궁금증이

항상 머릿속을 떠나지 않았다.

 

시중에 나온 책 대부분이 머신러닝에 대한 입문서라고 한다면, 그 이후 실제로 프로젝트에 적용하기 위한 지침서로는 제격인 책이다.

뿐만 아니라 프로젝트 책임자와 관계자도 읽으면 반드시 도움이 될 책이다.

그 이유는 머신 러닝 프로젝트의 장단점과 어려움을 함께 알고 있어야 할 것이기 때문이다.

절대적으로 머신러인응 은탄환이 아니다.

 

책의 구성은 1부(머신 러닝 기본 이론 지식과 실무에서 필요한 지식), 2부(실무 예시)로 나눠서 설명하고 있으며

개인적으로는 처음부터 읽는 것보다 입문서를 먼저 읽고 실무에 적용하고자 할 때 읽는 것이 더 효과적일 것이다. 

다루는 내용이 방대하고 사전 지식이 전제되기 때문이다.

실무 프로젝트에서는 교과서적인 책임이 틀림없다.

 

실제 현업에서 머신러닝 프로젝트가 어떻게 이뤄지는지 과정을 자세하게 설명하고 있으며,

늘 이슈가 되는 학습 결과 평가 방법, 데이터 수집 방안, MLOps, 학습 결과를 정책으로 이어서 판단하는 방법, 

마지막으로 설명 가능한 머신 러닝 기법까지... 프로젝트에서 머신 러닝 모델을 구현하기에 필요한 모든 부분을 설명하고 있다.

 

사실 프로젝트에서 머신 러닝 모델 구현은 전체 프로젝트에서 10~20%비중이며, 

위의 과정이 프로젝트의 거의 대부분이기 때문이다.

데이터 수집 및 전처리, 가설 검증, EDA 작성, 보고서 작성, 결과 검증 등등...

 

따라서 머신러닝으로 진로를 선택했다면, 이 책은 사전에 반드시 읽어 봐야 할 책이다.

 

다만, 책에서 여러 추천 책이나 글이 많은데, 상당 부분 일본어로 된 예시가 많아서 이해하는 부분도 있지만 아쉬웠다. 

물론 한글 추천 책도 많이 있다. ^^

 

마지막으로 책에서 개인적으로 마음에 드는 구절로 마무리 하고자 한다.

  • 머신러닝은 은탄환이 아니다.
  • 머신러닝은 항상 블랙박스는 아니다. 
  • 상관관계가 있다고 인과관계가 있는 것은 아니다. 
  • 머신러닝을 사용하지 않는 선택지도 고려하자.

 

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

 

 

책의 앞머리에서 밝히는 바대로 어느 정도 실무를 하는 사람 입장에서 읽어보면 좋을 책이다.

팁도 일본인 저자들이 그렇듯이 꽤 상세하게 곁들여져 있어서 참고하기도 괜찮다.

확실히 이런 쪽은 방법이나 이론, 논문 등을 공부하고 습득하는 것도 중요하다. 그런데 또 동등하게 중요한게 하나의 실험을 통해 유의미한 결과를 활용한다는 측면에서 봐보자. 그 실험을 어떻게 설계하고 유지하며 좋은 결과를 내기 위해서 지속적으로 필요한 부분은 무엇인지 또한 중요하다. 이런 경우 이미 툴이나 기본적인 이론은 알고 있고, 이를 실무에 더 잘 활용하기 위해서는 또 그 부분에 대한 팁이나 다른 회사나 팀은 문제를 어떻게 해결하였는가가 궁금할 때가 있다. 정답은 없기 때문에 막힌 부분에 대한 참고를 통해 자기가 처한 상황에 더 나은 해답을 찾는 데에 길잡이가 될 수도 있기 때문이다. 그런 점에서 이런 책이 도울 수 있는 부분이 있다.

 

읽으면서 내가 막연히 막혔던 부분에서 떠오른 고민들이 텍스트로 적혀있어서 공감되는 부분이 있었다. 그리고 책 중간중간 삽입된 도표도 내용을 이해하는 데에 도움이 될 만큼 적절하게 삽입되어 있었다. 확실히 이론만 읽고 공부할 때보다 실무가 같이 적힌 내용을 읽는 것을 더 선호하는 타입이라는 걸 이번 기회에 다시 느꼈다. 실무에서 사용하는 툴들이 언급되면서 전체 그림을 그려주니까 내가 어디에 있는지도 파악하기 쉬웠고 연관되어서 도전해볼 만한 업무 부분 또한 찾기에 용이했다. 이곳저곳에서 들리던 데이터 관련 툴들도 책에서 어느 부분에 속하는지 분류된 정리 내용으로 살피니까 큰 그림으로 구조화하기도 좋았다. 몇 개 궁금한 데이터 툴이 눈에 보여 이 책은 몇 번 더 보기로 했다. 지금 하고 있는 일에도 적용할 부분이 보였다.

 

관리라는 측면에서 ML 또한 예외는 아니다. 여기 또한 인프라가 날로 중요해지고 있다. 획기적인 ML알고리즘은 소수의 실리콘밸리 박사님들에게 토스하고 잘 운영하는 법을 배우는 게 더 실무적이라고 생각한다. 

책의 6장 지속적인 머신러닝을 활용을 위한 기반 구축하기 에 나온 내용도 공감이 갔다. 만약 들어오는 데이터의 성격이 바뀌거나 로직을 바꿔야 한다면.. 그리고 그런 상황이 '빈번하게' 일어난다면 어떻게 할 것인가? 이를 위해서 기민한 머신러닝 인프라가 필요하다. ML은 한번 만들고 끝이 아니다. 데이터가 살아있는 한 실험 또한 계속 업데이트 되어야 한다. 소프트웨어와 같으면서도 다른 맥락에서 말이다. 사실 그래서 이 6장이 실무적으로는 굉장히 중요하지 않나 생각한다. '지금 잘 하고 있나'를 평가하는 것은 실험에서도, 그리고 실험 이후에서도 매우 중요한 부분이다. 조금 시간이 지나다 보니까 이 6장의 내용을 재미있게 잘 읽을 수 있었다. 

그리고 2부에서 머신러닝 실무 프로젝트를 통해 실제 문제를 어떻게 해결하는지에 대한 일본인 저자의 사고를 따라갈 수 있었다. 확실히 실무는 경험자가 어떤 생각으로 어떻게 문제를 해결하는가 그 관점을 참고할 수 있다는 것에서 장점이 있다. 

매우 유용한 책이었고 핵심코드가 포함되어 있지만 코드를 몰라도 읽을 수 있는 머신러닝 실용서이다.

인상깊었던 & 알게되었던 부분

사실 이커머스 IT 회사에서 머신러닝 엔지니어로 근무하면서 생각했던것들이 많이 있어서 조금 놀랐습니다. 머신러닝 모델의 성능이 잘 나오는것도 중요하지만 결국 가장 중요한것은 회사에 이익을 줄 수 있어야 하는 것이기 때문에 우리 이러저러해서 성능이 좋아졌어요! 해도 그게 실제로 클릭률(CTR)이나 전환률(CVR) 그래서 최종적으로 매출에 영향을 줘야하기 때문이죠. 

모델 학습이나 평가까지는 어느 머신러닝 관련 교재에서 흔한 내용이니까 생략하고, 개인적으로 굉장히 유용했던 파트는 머신러닝 정책 성과 판단 부분인데요, 비즈니스적 평가 지표로 머신러닝 모델을 평가하자~ 이 내용은 언제나 머신러닝을 서비스하려는 회사들에게는 관건인 부분이라고 생각합니다. 실제로 저희도 계속해서 A/B 테스트를 통해서 cvr, ctr, 매출액 등을 비교하고 판단하고 있습니다. 데이터를 다루다보면 예측 성능에만 집중하게되는 경우가 있는데 그런것보다 전체적인것을 알려주는 느낌이어서 인상깊었습니다. 

또한 뒤에 머신러닝 모델 해석하는 부분도 마음에 들었는데요, 머신러닝 모델이라는게 블랙박스가 아니라 언제나 설명 가능한 모델이 되어야 한다고 생각하기 때문에 그런것들에 대한 개념을 익힐 수 있어서 좋았습니다. 

그런 부분들을 언급하고 있어서 매우 좋았고, 또 되게 신기하게 보고서까지(!!ㅋㅋㅋ) 작성한 예시도 같이 있어서 매우 신기했습니다. 

 

아쉬웠던 점

MLOps쪽에 설명을 잘 해놓고 있었지만 예제 코드나.. 그런 예시가 없어서 조금 아쉬웠습니다. ^^;; 아직 옵스쪽으로 개념이 많이 부족하고, aws나 에져의 옵스 서비스를 이용하고있지도 않아서 궁금한 부분이었는데 조금 아쉬웠습니다. 

 

추천하는 독자

확실히 머신러닝 실무를 하고있는 머신러닝 엔지니어가 읽으면 좋을 것 같아요. 개발자의 입장 뿐만 아니라 기획자, 유저의 입장으로 머신러닝 모델을 바라볼 수 있게 되는 책인 것 같습니다.

  •  회사에 머신러닝 모델을 서비스하려고 시도하는 사람
  • 머신러닝 모델을 비즈니스 평가 지표로 평가하려고 하는 사람

머신러닝 모델이 실제 시스템에서 차지하는 비중은 5%밖에 되지 않는다고 한다.  그만큼 모델 이외에도 고려할 요소가 많다는 것이다.  이 책에서는 프로젝트로 머신러닝을 활용하기 위해서 어떠한 요소들이 필요하고, 실제 사례들을 바탕으로 중요한 개념과 테크닉등을 배워나갈 수 있다. 

또한 단순히 이론적인 설명에 그치지 않고, A/B테스트를 통한 마케팅 인과효과 추정, 머신러닝을 위한 시스템 설계와 같은 부분은 다른 머신러닝 책에서는 주로 다루는 주제가 아니었기 때문에 새로운 것을 배울 수 있어서 매우 흥미로웠다.



추천 대상

  • 광고 업계에서 머신러닝을 사용하여 업무를 하고 싶은 사람
  • 회사에서 머신러닝으로 프로젝트를 해야 하는 실무자
  • 머신러닝 뿐 아니라, 결과 분석도 잘 하고 싶은 실무자

 

책은 머신러닝을 실무에서 써야 하는 사람들을 위해

  • 머신러닝 모델에 대한 간단한 소개
  • 머신러닝으로 할 수 있는 일
  • 학습 결과 평가
  • 기존 시스템에 머신러닝 통합, 로그 설계
  • 실무에 유용할 학습 리소스 수집 방법
  • 머신러닝의 효과를 검증하는 방법
  • 머신러닝 모델을 해석하는 방법
  • 마케팅 리소스 효율화

등을 다룬다.

모델을 해석하는 방법에서는 시각화를 중심으로 유용한 라이브러리를 소개하고 있다. 모델을 사용하고 나서 모델에서 어떤 점이 중요하게 작용했는지, 그래서 어떤 효과가 있었는지는 깔끔하게 시각화로 정리해야 하는 항목이니만큼 필수적인 내용들로 잘 구성되어 있다.

마케팅 리소스 효율화를 다루는 부분이나, 머신러닝을 쓰지 않고도 데이터를 살펴보며 분석할 수 있는 예제를 엑셀로 구성한 것도 특이했다. 보통의 회사의 다니는 실무진이라면 이 책으로 머신러닝 실무를 입문하면서 업무에 프로젝트를 적용하는 데 큰 도움이 되지 않을까 생각한다.

또한 머신러닝의 효과를 검증하는 방법이 세세하고 알차다. 통계적인 방법론들이 들어가 있어 정확한 검증을 할 때 필수적으로 고려해야 할 요소라고 생각된다. 이런 내용을 모르고 머신러닝 실무를 처음 한다면 실수하고, 본의 아니게 결과를 왜곡하거나 성과를 부풀리기 딱 좋을 것이다.

책을 읽으며 로그 데이터를 다루는 데이터 엔지니어의 입장에서 흥미로웠다. 회사에서 새 서비스가 오픈된다면 로그 데이터를 기획하는 과정에도, 머신러닝 프로젝트를 염두에 두며 참여해야겠다는 생각이 들었다.

온라인 광고 데이터 중심의 예제가 많아, 광고 데이터를 다뤄야 하거나, 관련 업계에 종사하고 있다면 꼭 추천하고 싶다. 내가 다니는 회사의 도메인도 잠깐 언급되어서 흥미롭게 책을 읽을 수 있었다.

 

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

 

 

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

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

이 책은 여느 전공 책보다 얇아서 쉽게 다가갈 수 있었던 것 같다. 모든 것을 자세하게 설명해주지는 않지만, 필요한 개념은 빠짐없이 언급한다. 그리고 실무에서 추구해야 하는 목적에 따라 인사이트를 제공해준다.

 

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

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

 

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

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

 

 

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

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

 

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

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

 

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

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



출처: https://teki.tistory.com/83 [테키테크 TEKITECH]

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

 

 

지은이의 말에서 가설 수립, 탐색적인 분석 수행 방법, 일반 소프트웨어 개발과는 다른 난관들을 경험하며 학습했던 것이 아직 많이 알려지지 않았다고 생각했다. 2판을 통해 필자들이 경험하면서 익혀온 것을 전달하고 싶었다고 한다. 머신러닝을 독학하여 익히느라 이런 주제를 접할 기회가 없단 독자들에게 이 책이 머신러닝을 활용하는데, 미력하나마 도움이 될 거라고 했다. 이책은 막 머신러닝에 관심을 갖고 첫발을 내딛고자 하는 분, 머신러닝에 익숙하지 않지만 머신러닝과 관련된 업무를 당장 해야 하는 개발자에게 딱 맞는 책이라고 김모세 역자분은 강조한다.  

 

출판사의 서평에서는 ... 온라인 강의, 책, 대학 연구만으로는 실제 비즈니스에 머신러닝을 어떻게 적용할 것인지, 어떤 경우에 머신러닝 기법과 데이터 분석 방법을 적용해야 하는지 알기 어렵다. 해결해야 하는 문제를 정의하고 시스템을 설계하는 방법 역시 배우기 쉽지 않다. 가설 수립, 탐색적 분석 수행 방법 등 저자들이 경험하고 학습했던 노하우를 아낌없이 담아냈다. 2판에서는 지속적인 학습을 위한 MLOps와 슬롯머신 알고리즘을 활용한 강화 학습 등의 내용도 추가했다. 실무에서 통하는 머신러닝을 구현하고 싶다면 이 책으로 갈증을 해소할 수 있을 것이다.

 

이 책에서 다루는 내용는 다음과 같다.
< 1부에서는 머신러닝 프로젝트를 수행하기 위해 알아야 할 기본 지식을 소개 >

1장 머신러닝 프로젝트가 수행되는 과정
2장 머신러닝으로 할 수 있는 일과 다양한 머신러닝 알고리즘
3장 오프라인에서 예측 모델을 평가하는 방법
4장 컴퓨터 시스템에 머신러닝 구조를 통합하는 주요 패턴
5장 머신러닝 분류 태스크에서 정답 데이터 수집
6장 지속 학습을 위한 머신러닝 기반 MLOps
7장 통계 검정, 인과 효과 추론, A/B 테스트
8장 머신러닝을 통해 얻은 예측 결과를 설명하는 방법


<2부는 앞서 설명한 내용을 포함한 실제 사례를 통해 실무에 도움이 되도록 내용 구성>

9장 탐색적 분석 과정과 이를 기반으로 한 보고서 발행
10장 업리프트 모델링을 사용해 더욱 효과적인 마케팅 수행
11장 슬롯머신 알고리즘을 이용한 강화 학습
12장 실제 시스템에 적용된 머신러닝 최적화

 

 

 

이른 아침... 남들보다 일찍 출근해서 모닝커피 한잔과 함께 머신러닝의 세계로 빠져 보는 것은 어떨까... 



출처: https://plmis.tistory.com/1318 [맵으로 풀어가는 디지털혁신스토리텔링]

KakaoTalk_20220424_183106516.jpg

 

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

 

일반적인 데이터분석, 머신러닝에 대한 이해도가 있으면,,항상 궁금했던 부분이 있었다. “실무에서는 도대체 어떤식으로 쓰일까??” 의문을 가지고 있었지만, 실무에 오기전 까지는 판단을 할 수가 없었다. 기본적인 머신러닝 이론부터(깊이가 깊지는 않음.) 프로젝트 예시, 데이터 수집 방법, MLOps까지 정말 다양한 내용을 다루고 있다. 앞서 말한 것처럼 깊이있는 접근은 힘들 수 있어도, 컨셉에 대한 이해를 할 수 있는데 아주 도움이 많이 되는 책이다.

실무 준비를 하는 취준생에게 적합한 책으로 보인다. 유익하게 읽었고, 특히 MLFlow 부분에 대한 궁금증은 항상 있었는데 흥미롭게 잘 읽었다.

 

 

 

KakaoTalk_20220424_163945316_03.jpg

머신러닝 실무 프로젝트(2판)은 크게 1부, 2부로 나뉘어있다. 1부는 머신러닝 초심자를 위한 내용이 포함되어 있다.

2장에서는 분류, 회귀, 클러스터링과 차원 축소 등의 내용, 3장에서는 학습 결과 평가로 분류평가와 회귀평가, 4장은 시스템 설계, 5장은 데이터 수집, 6장은 기반 구축, 7장은 정책 성과 판단, 8장은 모델 해석 내용을 담았다. 2부에서는 실제 적용 사례를 다루고 있다.

part1. 머신러닝 실무 노하우

KakaoTalk_20220424_163945316_02.jpg

 

노하우라고 해서 마냥 응용만을 담지는 않았는데, 머신러닝 프로젝트의 상세한 과정과 예시를 담았다. 2장부터 본격적으로 머신러닝에 대한 설명이 나오는데, 2장 머신러닝으로 할 수 있는 일에서는 크게 분류, 회귀, 클러스터링, 차원축소로 나누어서 머신러닝을 설명한다.

KakaoTalk_20220424_163945316_01.jpg

 

 

 

 

 

kNN에 대한 직관적이고 간단한 (수식 없는!!) 설명이 눈에 띈다.

 

KakaoTalk_20220424_163945316.jpg

주요 용어가 나올때면 굵은 글씨로 처리하고, 자세한 설명이 따라와서 입문자도 이해할 수 있다.

part2. 머신러닝 실무 프로젝트

9장. 킥스타터 분석하기 : 머신러닝을 사용하지 않는 선택지

개인적으로 인상깊었던 소제목이었다. 요즘 수업하는 방향과 어느정도 비슷한 느낌이 들기도 하고.. JSON데이터를 CSV로 변환해서 "엑셀로 데이터 살펴보기"의 과정을 강조한다. 가공하지 않은 데이터를 직접 보는 것이 분석 효율에 큰영향을 주므로 머신러닝 전에 해야하는 필수 과정이라고 한다. 그 과정에서 이용하는 것이 피벗테이블이다. 2부가 실무 프로젝트인 만큼 보고서 작성하기 섹션에서 '상사에게 설명한다'는 상황을 가정하는 등 지인짜 '실무'에 초점을 맞춘 점이 흥미롭다. 머신러닝을 다룬 여러 책에서 이렇게 구체적으로 다루진 않았던 것 같은데, 실무와 관련없는 사람도 흥미롭게 읽을 수 있었다.

10장에서는 업리프트 모델링을 소개 및 구현하는데, 업리프트 모델링은 무작위 비교 시험 데이터를 분석해 효과를 분석하고 예측한다.

11장에서는 슬롯머신 알고리즘을 소개하며 확률분포와 사후분포를 다룬다.

책 제목만 봤을 때에는 머신러닝 실무 프로젝트라, 입문자가 범접하기 어려운 느낌이 드는 것은 사실이지만...

오히려 이론부터 그 최종 목적인 실무 프로젝트까지 한 권의 (그렇게 두껍지 않은)책에 모두 담겨있어 오히려 전체적인 큰 그림을 볼 수 있게 만들어준다고 생각했다. 이론 부분도 수식 없이 직관적으로 설명이 되어있어, 여러 번 반복해서 읽다가 수식이 필요하다고 느낄 때! 찾아가며 덧붙이는 것도 좋을 것 같다. 진짜 '실무' 프로젝트에 대한 책!

 

KakaoTalk_20220424_163945316_04.jpg

 

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

 

책의 제목처럼 이 책은 머신러닝으로 실무 프로젝트를 진행할 때 생길 수 있는 문제점이나 대처법 그리고 방법론 등에 대해서 다루고 있다.

 

책의 첫 시작은 비즈니스 문제를 머신러닝으로 정의하는 법 먼저 시작한다. sklearn, tensorflow, pytorch등 ML/DL 라이브러리가 상용화 되면서 알고리즘에 대한 접근성 자체는 충분히 높아졌지만, 알고리즘을 실제 비즈니스에 접목시키는 또 다른 문제이다. 책에서는 소비 전력 예측(ML 문제) - 공장 전력 소비량 최적화(비즈니스 문제), 사용자별 추천 상품 제시(ML 문제) - 매출 향상(비즈니스 문제)를 그 예시로 들고 있다.

 



비즈니스 문제와 관련된 항목을 지나면 "머신러닝을 사용하지 않는 방법 검토"에 대한 얘기가 나온다. 저자는 머신러닝 시스템이 다른 시스템보다 "기술 부채"가 크다는 얘기를 하고 있다. 즉, 비즈니스 관점에서 ML은 추가적인 비용을 수반하기 때문에 만약, ML을 사용하지 않고 해결할 수 있는 방법이 있다면 그걸 먼저 사용하라는 의미이다. 

 

2, 3장에서는 머신러닝 알고리즘 및 평가 방법 등에 대한 얘기가 나온다. 개인적으로 "머신러닝으로 할 수 있는 일"이라는 제목 보다는 "머신러닝 알고리즘 소개"라는 제목이 더 잘어울리지 않나 싶다. 알고리즘에 대한 깊은 얘기는 하지 않고 기본적인 알고리즘 및 알고리즘 평가 방법 등에 대한 얘기를 한다. 머신러닝 학습자보다는 기존에 머신러닝에 대한 개념이 대략적으로 잡혀있는 사람이 한번쯤 살펴보고 지나가면 좋을 것 같은 챕터이다.

 

4장에서는 기존 시스템에 머신러닝 방법론을 통합하는 방법에 대해서 얘기가 나온다. 여기서 통합의 영역은 "데이터 처리"이다. 주로 기존에 수집하던 데이터를 어떤 단위로 처리해서 어떻게 학습시킬지에 대한 얘기가 나온다. 한가지 특이한점은 이 책에서는 배치 학습과 온라인 학습에 대한 용어를 재정의 했다는 것이다. 배치 학습은 "일괄 학습"으로 온라인 학습은 "순차 학습"으로 표현하고 있다. 아마, 배치(저장된 데이터를 일괄 처리 - 데이터 사이즈에 따라 학습시간 많이 소요될 수 있음)/온라인(실시간으로 처리되는 데이터를 순차적으로 학습) 두 학습 방법에서 데이터를 처리하는 방식이 다르기 때문에 이렇게 구분한 것 같다. 

 

최종적으로 저자는 일괄 학습/순차 학습 한 가지만 이용하기 보다는 두 기법을 적절히 사용하는 것을 권장하고 있다.

 

일괄 학습 - 임의 간격 동안 쌓인 데이터를 통해 모델 학습후 베이스 라인 업데이트

순차 학습(미니 배치) - 추가 학습을 통해 모델 최적화

 

6장에서는 지속적 학습과 그 수단으로 MLOps에 대한 얘기를 하고 있다. 지속적 학습이 필요한 이유는 시간이 흐름에 따라 입력 데이터의 특성이 달라질 수 있기 때문이다. 이어서 "지속적 학습이 잘 이루어지고 있는지"에 대해 저자가 어떤 지표를 통해 판단하는지에 대한 얘기가 나온다. 저자는 단순 AUC나 로그 손실 체킹 보다는 RIG(상대적 정보 획득)을 추적한다고 한다. 평균 값만을 이용해 추정했을 때 RIG값이 0이 된다고 하는데 이 0을 기점으로 상대적으로 정보 획득이 더 용이한지/불리한지를 판단하는 것 같다. 주관적이 생각이지만 회귀 분석의 R^2와도 유사하다는 생각이 든다.

 

7장에서는 머신러닝 기반 정책 성과 판단하기에 관련된 내용이 나온다. 관련하여 평균처리효과(ATE), 무작위 비교 시험(RCT)등에 대한 용어를 설명하다. 데이터 분석의 주요 활용처 중 하나가 효과 검증이기 때문에 7장의 내용은 머신러닝 적용의 관점 뿐만 아니라 데이터 분석의 관점에서도 한번쯤 자세히 읽어보면 좋을 것 같다. 

 

특히, A/B테스트에 대한 종료 시점을 어디서 판단해야할지에 관련된 내용이 있어서 실무에 도움이 될 것 같았다. 책에서는 개입군과 대조군의 추정량을 비교해서 baseline(10%성능 향상)을 넘어가는 지점을 종료 시점으로 설명하고 있다.

 

8장은 모델 해석과 관련된 내용으로 아무래도 해석력이 높은 모델 몇 가지를 예시로 들어 설명하고 있다. 해석력이 높은 대표적인 모델은 회귀분석이 있다. 왜냐하면, 회귀분석의 경우 회귀계수를 구할 수 있기 때문이다. 회귀계수의 부호만 살펴보더라도 종속 변수에 어떤 영향을 끼쳤는지를 알아볼 수 있다. 더불어, Feature Importance의 단점을 개선한 SHAP Value에 대해서도 소개하고 있다.

 

파트2에서는 머신러닝 실무 프로젝트에 대한 사례가 자세히 나온다. ML을 실행하지 않고 진행할 수 있는 프로젝트 먼저 시작한다는 점이 개인적으로 마음에 들었다. 왜냐하면, 그만큼 가볍고 간단하게 시작할 수 있기 때문이다.

특히, 킥스타터라는 플랫폼의 API를 활용해 성공하는 프로젝트와 실패하는 프로젝트를 비교해보고 성공할 수 있는 전략을 마련하는 점이 인상깊었다. 이런 프로젝트는 관심있는 분야 + 약간의 코딩 지식만 있으면 언제든지 적용해볼 수 있을 것 같다.

 

또한, 업리프트 모델링을 이용한 마케팅 리소스 효율화에 관련된 얘기도 있어 인과추론에 관심이 있으신 분들도 한번쯤 재밌게 읽어볼 수 있을 것 같다.

 

총평

이 책 역시 지난 시간에 리뷰한 SQL쿡북과 마찬가지로 Learner보다느 User에게 걸맞는 책이다. 이제 막 머신러닝 알고리즘 및 데이터 분석에 입문한 사람들이 프로젝트를 시작하기 전에 참고 서적으로 활용해보면 좋을 것 같다. 그 외에 현업에서 실제 데이터 관련된 업무를 진행하시는 분들도 업무를 진행하기전 프로젝트 사례 혹은 체크 사항들에 대해 한번쯤 확인해보면 많은 도움이 될 것 같다. 최신 기법에 대한 내용은 없으나, 과거 그리고 현재까지도 유용하게 사용하고 있는 기법들을 실무 혹은 프로젝트에 어떻게 녹여야할지에 대해 잘 다루고 있는 책이다. 만약, 시간이 없다면 파트2라도 한번 읽어보시길 추천드린다.

 

 


머신러닝 실무 프로젝트인만큼 머신러닝 학습 과정뿐만 아니라 학습 전후로 비즈니스에 활용하는 과정까지 담고 있다. 각 과정을 chap 1 ~ chap 8 까지 각각 하나의 챕터로 실무에 유용한 내용들을 담고 있다.  얇은 책 두께에 비해 각 과정에서 활용할 수 있는 알고리즘, 도구, 발생할 수 있는 문제 등 생각보다 자세하게 설명하고 있으며 추가적인 학습을 위한 링크, 책들도 다수 소개한다. 생각보다는 자세하게 각 개념에 대해 설명하고 있지만 수식 등 확실한 이해를 위해서는 추가적인 검색 및 학습이 필요하다.  제목을 보고 프로젝트에 초점을 맞춘 책으로 생각해서 이론적인 부분에 대해서는 기대를 안했지만, 생각과 달리 프로젝트 부분 보다는 프로젝트에 필요한 이론들을 설명하고 있는 부분의 비중이 더 커서 프로젝트 실습을 해보기 전 관련내용을 학습하고 정리할 수 있어 좋았다.

 

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

대량의 데이터를 쉽게 수집할 수 있고, 수집한 데이터를 처리하는 하드웨어의 성능은 좋아졌으며, 최신 알고리즘이 구현된 오픈소스 프레임워크를 손쉽게 사용할 수 있게 된 시대이다!

덕분에 머신러닝을 도입하기 위한 장벽은 한층 낮아졌다. 

하지만 이를 실제 비즈니스에 적용하는 문제는 다르다. 해결해야 하는 문제를 스스로 정의하고 시스템을 설계하는 방법은 조금 더 고차원적이기 때문이다.

이 책은 머신러닝 입문서를 떼고 실무에 활용하려는 개발자, 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 담당자 같은 독자를 대상으로 머신러닝과 데이터 분석 도구를 비즈니스에 활용하는 방법을 알려주고 있다.  

책의 구성은 크게 1부와 2부로 나뉜다. 1부에서는 머신러닝 프로젝트를 수행하기 위해 알아야 할 지식을 다루고 있으며, 2부에서는 실제 사례 연구를 살펴볼 수 있다. 

1부

  • 1장 ->  머신러닝 프로젝트가 어떤 과정을 거쳐 수행되는지 정리한다.
  • 2장 -> 머신러닝으로 할 수 있는 일과 다양한 머신러닝 알고리즘을 소개한다. 각 알고리즘의 특성을 카탈로그 형태로 정리하고 있어 알고리즘 선택 요령 및 알고리즘의 결정 경계 형태를 쉽게 확인할 수 있다.
  • 3장 -> 머신러닝 결과 평가 방법을 설명한다. 네 가지 주요 평가 지표들의 개념(정확도(accuracy), 정밀도(precision), 재현율(recall), F값(f-measure))과 해당 지표들을 고려할 때 중요한 개념들(혼동행렬(confusion matrix), 마이크로 평균(micro-average), 매크로 평균(macro-average))을 알 수 있다.
  • 4장 -> 기존 시스템에 머신러닝을 통합하는 방법과 머신러닝에 사용할 훈련 데이터를 얻기 위한 로그 수집 방법을 알아본다.
  • (5장 -> 머신러닝 분류 태스크에서의 정답 데이터를 수집하는 방법에 관해 설명한다.)
  • 6장 -> 장기적으로 운용/학습을 계속하는 지속적 학습을 위한 머신러닝 기반과 MLOps에 관해 설명한다.
  • 7장 -> 도입한 정책이 실제로 효과가 있는지 성과를 검증하는 통계 검정, 인과 효과 추론, A/B 테스트를 소개한다.
  • 8장 -> 머신러닝을 통해 얻은 예측 결과를 파악한다.

2부

  • 9장 ->  실제 데이터를 분석해보며 생각해야 할 점과 분석 결과로 만들 수 있는 보고서를 작성해본다.
  • 10장 -> 업리프트 모델링(uplift modeling)을 살펴보고 이를 활용해 더욱 효과적인 마케팅을 수행하는 방법을 알아본다.
  • 11장 -> 온라인 광고 콘텍스트에서 자주 사용되는 슬롯머신 알고리즘을 이용한 강화학습을 다룬다.
  • 12장 -> 온라인 광고를 소재로 실제 시스템에 어떤 머신러닝이 최적화되어 적용되었는지 살펴본다. 

 

1부를 통해 머신러닝 실무 노하우를 파악하고, 2부에서는 이를 활용해 실무 프로젝트를 직접 따라해보는 경험을 해볼 수 있다.

<머신러닝 실무 프로젝트 2판> 책과 함께 머신러닝 실무 경험치를 쌓아올려보자:)

 


 

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

머신러닝, 딥러닝 공부의 기술적 이론을 다루는 책들은 정말 무수히 많다. 그 많고 많은 개념 도서들을 보면 사실 그 책이 그 책 같고, 저 책이 저 책 같다. 설명만 다르거나, 전체 챕터에서 한 챕터만 정말 새로운 기술/트렌드에 대해서 설명하거나 그런 보급형(?) 책들이 많다. 이번에 내가 고른 '머신러닝 실무 프로젝트' 도서는 그런 책들과는 다소 다른 흐름으로 내용들이 구성됐길래, 궁금하여 책을 열어봤다. Part1과 Part2로 나뉘어 part1은 개념을, part2는 실무와 가까운 주제를 다룬다. part1의 각 챕터와 담고 있는 내용들은 대략 아래와 같다.

chapter1. 머신러닝 프로젝트 처음 시작하기

- 프로젝트 과정, 문제점이 발생했을 때 대처 방법, 파이프라인 설계 등

chapter2. 머신러닝으로 할 수 있는 일

- 분류, 회귀, 클러스터링, 기타(추천, 강화 학습 등)

chapter3. 학습결과 평가하기

- 평가 척도들, ab 테스트하는 법

chatper4. 기존 시스템에 머신러닝 통합하기

- 배치 처리, 배치 학습, 실시간 처리, 로그 설계

chpater5. 학습 리소스 수집하기

- 데이터 수집 방법

chapter6. 지속적인 머신러닝 활용을 위한 기반

- mlops, 인프라 구축, 서빙 방법

chapter7. 효과 검증

- 인과 관계 추정, 가설 검정, 오프라인 테스트

그리고 part2에서는 실제로 코드를 짜고, 데이터를 돌려보면서 어떤 식으로 의사결정을 내리는지에 대한 흐름을 보여준다.

정말 말 그대로 데이터를 바탕으로 A부터 Z까지의 흐름에 대해서 보여주고 있다. 추천하고 싶은 대상 데이터 기반의 업무를 할 때 앞에서 배울 수 있는 사수가 부재한다거나, 데이터 기반의 시스템을 처음 도입하려는 회사의 실무자들에게 도움이 될 것 같다. 아무래도 방대한 내용을 짧은 책에 담으려다 보니 아쉬운 부분들이 있을 수도 있지만, 각 꼭지마다 keyword를 확인하고 궁금한 부분들은 더 딥하게 공부하는 것도 좋을 것 같다.

제목답게 특정 기술에 대한 깊은 지식, 이론을 쌓기보다는 '실무'에서 어떤 식으로 이걸 '적용'할까에 초점을 맞춰서 책을 읽는 걸 추천드린다.

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

  • 머신러닝 입문서를 떼고 실무에 활용하려는 개발자.
  • 대학에서 배운 머신러닝을 제품에 적용하려는 주니어 개발자.
  • 소프트웨어 개발자는 아니지만 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 개발자.

-> 누구를 위한 책인가에 잘 맞춘 책인 것 같다는 느낌이 너무 들었다.

<머신러닝 프로젝트 과정>

  1. 비즈니스 문제를 머신러닝 문제로 정의한다.
  2. 논문을 중심으로 유사한 문제들을 찾자.
  3. 머신러닝을 사용하지 않은 방법은 없는지 검토하자.
  4. 시스템 설계를 고려하자.
  5. 특징량, 훈련데이터와 로그를 설계한다.
  6. 실제 데이터를 수집하고 전처리 한다.
  7. 탐색적 데이터분석과 알고리즘 설정.
  8. 실제 데이터를 수집하고 전처리
  9. 시스템을 통합
  10. 예측 정확도, 비즈니스 지표를 모니터링 한다.
  • 프로젝트 과정이 잘 정리가 되어 있고, 책도 이러한 형식으로 진행되고 있어, 프로젝트 과정을 좀 더 이해하기 쉬웠고, 실제 프로젝트 진행방안처럼 잘 작성이 되어 있습니다. 특히나 비즈니스 관점에서도 고려하여서 매우 좋았습니다.

<머신러닝으로 해결한 사례 찾기>

  1. 어떤 알고리즘을 사용하였는가?
  2. 어떤 데이터를 특징량으로 사용했는가?
  3. 머신러닝 부분을 어떻게 통합하였는가?

엔지니어로서 "머신러닝은 기술 부채 중 이자율이 높은 신용카드다" 라는 말이 매우 신선하였습니다.

어렴풋이 알고 있는 것을 글로 잘 정리가 되어 있고, 해결한 사례들을 제시해주면서 이해력을 올리려는 독자의 마음이 보여서 좋았습니다.

실무를 하면서 겪었던 문제들을 직접적으로 봐서 그런지 책을 읽으면서 공감이 너무 많이 되었고, 동의를 많이 하면서 봤던 부분들이 많았다.머신러닝 프로젝트를 수행하는 과정들을 전반적으로 보여주면서, 그 과정에서 적용가능한 추가적인 태스크까지 소개를 하고 있어 앞으로의 공부 방향이나 업무 방향을 제시하는 것 같아 매우 좋았습니다.

읽으면서 좋았던 점은 다양한 사례를 접해볼 수 있고 실습을 할 수 있었던 점이고, 아쉬웠던 점은 요즘 최신 트렌드를 따라가지 않았던 점은 매우 아쉬웠다.


 

목차

PART1 머신러닝 실무 노하우

 

CHAPTER 1 머신러닝 프로젝트 처음 시작하기

CHAPTER 2 머신러닝으로 할 수 있는 일

CHAPTER 3 학습 결과 평가하기

CHAPTER 4 기존 시스템에 머신러닝 통합하기

CHAPTER 5 학습 리소스 수집하기

CHAPTER 6 지속적인 머신러닝 활용을 위한 기반 구축하기

CHAPTER 7 효과 검증: 머신러닝 기반 정책 성과 판단하기

CHAPTER 8 머신러닝 모델 해석하기

 

 

PART2 머신러닝 실무 프로젝트

 

CHAPTER 9 킥스타터 분석하기: 머신러닝을 사용하지 않는 선택지

CHAPTER 10 업리프트 모델링을 이용한 마케팅 리소스 효율화

CHAPTER 11 슬롯머신 알고리즘을 활용한 강화 학습 입문

CHAPTER 12 온라인 광고에서의 머신러닝

 

본문

  • 실무 내용 수록 및 도형으로 시각화

  • 책에 수록하지 못한 참고 사항은 다른 도서 추천

  • 구체적인 알고리즘을 제시하여, 실무에 쉽게 적용 할 수 있도록 구성

  • 설명 밑에 바로 코드 수록

 

책의 특징

  • 머신러닝 데이터 분석 도구를 어떻게 비즈니스에 활용하는지, 불확실성이 높은 머신러닝 프로젝트는 어떻게 진행하는지 다룬다.
  • 머신러닝 프로젝트를 처음 시작하는 방법, 기존 시스템에 머신러닝을 통합하는 방법, 머신러닝에 사용할 데이터를 수집하는 방법 등 실무에 유용한 내용을 중점적으로 다룬다.
  • 지속적인 학습을 위한 MLOps와 슬롯머신 알고리즘을 활용한 강화 학습 등의 내용을 다룬다.

추천 독자

  • 머신러닝을 실무에 활용하려는 개발자
  • 머신러닝을 제품에 적용하려는 주니어 개발자
  • 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 담당자

 

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

한빛미디어에서 출간된 머신러닝 실무 프로젝트(2판) 책은 기존 내용에 MLOps 및 슬롯머신 알고리즘을 활용한 강화학습 등의 내용을 추가하여 2판을 출간했다고 한다. 1장에서는 머신러닝을 어떻게 프로젝트에 적용하는지에 대해 배우며, 머신러닝 프로젝트 진행과정을 다음과 같이 명료하게 나누어 두었다. 

 

1. 비즈니스 문제를 머신러닝 문제로 정의

2. 논문을 중심으로 유사한 문제들을 조사

3. 머신러닝을 사용하지 않는 방법은 없는지 검토

4. 시스템 설계를 고려

5. 특징량, 훈련 데이터와 로그를 설계

6. 실제 데이터를 수집하고 전처리

7. 탐색적 데이터 분석과 알고리즘을 설정

8. 실제 데이터를 수집하고 전처리

9. 시스템 통합

10. 예측 정확도, 비즈니스 지표 모니터링 

 

 

이러한 관점에서 "머신러닝 실무 프로젝트" 책은 머신러닝으로 할 수 있는 일에 대해 명료하게 알려주는 것 부터 시작하여, 머신러닝과 관련된 다양한 개념들, 평가 방법, 기존 시스템에 머신러닝을 통합하는 과정, 학습 리소스 수집하는 방법, 지속적인 머신러닝 활용을 위해 기반을 구축하는 방법, 머신러닝 기반 정책 성과를 판단하는 방법 등을 배우며 실전에 필요한 갖가지 방법들에 대해 배울 수 있게 도와준다. 즉, 한마디로 말하자면 머신러닝 프로젝트를 성공적으로 수행하기 위한 실무적인 모든 것을 담고있으므로 머신러닝 프로젝트를 수행하는 사람이라면 한번쯤 정독하면 좋을 것 같다!


이 책을 읽어보면, 프로젝트의 생명주기와 구성요소를 파악하듯이 머신러닝의 생명주기를 PMP 처럼 정리해놓았다는 생각이 들었습니다.

 

어느정도 머신러닝의 기술에 대한 경험이 있는 독자를 대상으로, 실제 업무에서 필요한 사항을 

다시한반 Reminder하고, 중요한 포인트를 집어준다는 느낌이 들었습니다. 

1장에서 처음시작할때, 순서 및 Process / 시스템 구성을 어떻게 하는지 가이드 합니다.

1부의 2장부터 8장까지 전체적인 실무에서 머신러닝을 도입하기 위한 큰 Process 및 구성요소에 대해서 설명되어 집니다.

  → 4장에서 기존서비스 환경에서 통합하는 과정은 누구나 고민하는 부분이라고 생각이 되어집니다.

  → 7장의 A/B테스트 모델을 머신러닝에 적용한 내용도 도움이 많이 될 것 같습니다.

이 책은 자신이 경험한 만큼 더 많이 보이고, 많은 것을 얻어갈수 있는 책이라는 생각이 듭니다.

자신이 업무에서  동일한 고민을 해본 독자분이라면, 조금더 현실적인 답을 얻을 수 있는 책이라고 생각합니다.

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

책표지

TL;DR

  • 마켓팅 관련 업무 및 담당 팀원이라면 이 책을 적극 권장한다.

    • 책의 가장 큰 장점은 ‘코드’가 아니라 ‘설계와 절차’를 중심으로 내용을 전개하고 있다는 점이다. 그리고 예제가 마켓팅팀에서 주로 활용하는 A/B 테스트 뿐만 아니라 데이터 수집에 관련된 설계를 다루고 있다.
    • 코드를 어떻게 작성해야 하는지에 대한 내용보다는 서비스를 어떻게 구성하고 프로젝트를 어떻게 진행해야 하는지에 대해서 간결하게 설명하고 있다.
    • 머신러닝을 사용해서 서비스를 ‘개발’하는게 아니라 설계 하거나 데이터를 수집/분석 해야 한다면 참고할 내용이 많을 것으로 예상된다. 담당하시는 일이 마켓팅 관련 업무라면 강력하게 추천하다.
  • 개발자 중에서 데이터 분석이나 머신러닝에 관심이 있다면 1장, 3장, 4장, 12장을 먼저 읽어보고 나머지 챕터는 선택적으로 읽어보길 권한다.

    • 개발자의 경우 책에 소개된 내용 중 대부분을 곧바로 적용하기 쉽지 않을지도 모른다. RNR(Role & Responsibility)이 명확한 조직이라면 책에 나온 대다수의 내용은 협의를 통해서 진행해야 하는 일이기 때문이다.
    • 뒤집어 생각하면 함께 일하는 동료나 관련 부서와 협의를 하는 내용중에서 절반 이상은 이 책에 나온 내용들이라 할 수 있다. 개발자 입장에선 머신러닝 프로젝트를 진행할 때 어떤 점을 신경써야 하는지 미리 알수 있다.
    • 그러니 책 전체를 순서대로 읽기 보다는 1장, 3장, 4장, 12장을 먼저 읽어보고 흥미가 있으면 책 전체를 읽어보면 좋을 듯 싶다. 그리고 세부적인 알고리즘이나 시스템 설계에 관련된 내용은 다른 책을 찾아보면 좋을 듯 싶다.
  • 데이터 분석을 처음 접하거나, 개인 프로젝트를 진행하신다면 1장, 3장, 8장, 9장, 10장을 주로 참고하시면 좋을 듯 싶다. 초급 개발자나 해당 업무를 담당하게 된 초급 실무자라면 핸즈온 머신러닝 2판이나, 파이썬 라이브러리를 활용한 머신러닝 등을 함께 참고하시며 파이썬 코드 및 머신러닝 라이브러리를 연습하시길 권장한다.

1

벌써 전자책이?

한빛미디어의 리뷰어로 활동하기 때문에 고맙게도 한빛미디어에서 해당 책을 택배로 보내준다. 그런데 택배사 사정으로 책을 조금 늦게 배송받게 되었다. 리뷰어로 활동하는데 시간이 없어서 책을 못 읽었다고 리뷰를 할 수 없었기 때문에 구글 플레이에서 전자책을 구매했다. 조금 서둘렀던 이유는 예전에 이 책으로 진행되는 강의를 들을 수 있는 기회가 있었는데, 파트타임이라서 참여하지 못했던 아쉬움이 있었기 때문이다.

전자책을 구매하고 iPad의 Play Book을 통해서 가볍게 읽기 시작했다. 9장 까진 하루만에 다 읽었다. 각 장에서 다루고 있는 핵심 내용을 짧고 간결하게 소개하기 때문에 개별 챕터가 쉽게 쉽게 읽혀졌다. 물론 9장까진 실습을 해야될 코드가 많이 없는것도 한 몫 했다고 할 수 있다.

개별 장에서 다루는 내용이 간결하기 때문에 내용이 어렵지 않았다. 그것을 프로젝트나 서비스에 녹여내기 위해선 꽤나 지난한 과정을 거쳐야 되긴 하지만 핵심적인 주제와 내용을 적절한 분량으로 잘 설명하고 있기 때문에 쉽게 읽을 수 있었다.

2

어렵다면 어렵지만...

9장 이후는 실제 데이터를 가지고 앞서 소개했던 내용 중에서 실습이 가능한 부분을 코드를 작성하면서 진행된다. 기초적인 파이썬 코드와 간단한 scikit-learn을 사용하기 때문에 초급자도 어렵지 않게 진행할 수 있는 수준이다.

11장에 강화학습과 관련된 예제가 난이도가 있을 수 있으나, 어려우면 건너띄고 12장으로 곧바로 진행해도 내용 전개에 영향이 없다. 하지만 이 책의 가장 큰 장점은 ‘코드’가 아니라 ‘설계와 절차’를 중심으로 내용을 전개하고 있기 때문에 될 수 있다면 나중에라도 내용은 꼭 읽어보길 권한다.

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

 

 

 

 

 

 

나는 머신러닝 실무자다. 그래서 머신러닝 실무 프로젝트 그러니까 내가 평소에 하게되는 프로젝트말고 다른 사람들의 프로젝트는 어떻게 돌아가는지 궁금하던 찰나에 한빛 미디어에게 이 책을 받게 되었다. 난 3학년이 끝나자마자 취업해서 제대로 안들은 수업이 1년치나 있었다(예를 들면 소프트웨어공학). 근데 회사에서는 스크래치부터 해야되는 일을 몇 개 맡았었다. 챗봇 빌더를 개발할 때는 심지어 백엔드 개발자 한 분과 나와 같이 디비와 전체 시스템을 논의하며 만들정도로 스크래치였다. 이렇게 하면 맞겠지 정도만 생각하고 개발하였기 때문에 정말 정석적으로 남들이 어떻게 하는지 궁금했었다.

 

어떤 사람들이 이 책을 읽을까? 나같은 사람일까? 책의 예상 독자는 다음과 같았다.

  • 머신러닝 입문서를 떼고 실무에 활용하려는 개발자
  • 대학에서 배운 머신러닝을 제품이 적용하려는 주니어 개발자
  • 소프트웨어 개발자는 아니지만 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 담당자

Advanced 단계로 넘어가는 사람들에게 딱이란 생각이 들었다. 내가 머신러닝 실무 프로젝트를 읽으며 중점적으로 본 것은 실제로 내가 일하면서 이 책과 어떤 다른 점들을 가지고 있는지였다.

 

Chapter 3까지는 거의 머신러닝 이론과 관련된 것이었고 4장부터가 진짜 머신러닝 모델을 서비스하기 위한 어떤 일련의 과정들을 보여준다. 나는 예전에 안드로이드와 연동하는 API를 flask로 개발한 적이 있는데 물론 좀 다르지만 아래의 [그림 2]와 어느 정도 비슷하게 나와있어서 오 실무와 꽤나 비슷하군 싶었다.

 

 

[그림 2]

 

 

Chapter5의 학습 리소스 수집하기에서도 내가 해본 방법이 있었다ㅋㅋㅋㅋ 바로 5.4 동료나 지인에게 데이터 입력 요청인데 내 경우에는회사의 동료들에게 부탁하여 데이터를 모았다. 내가 했던 프로젝트 중 장문인식(손바닥인식)을 시작했을 때는 회사사람들에게 데이터를 부탁해서 약 50-100명의 데이터로 시작을 했었다. 물론 데모도 회사사람들의 손바닥으로했었다. 딥러닝 모델을 돌려본다고해서 무조건 성공하진 않는다. 그렇기 때문에 회사에게 마냥 데이터를 요청하기도 쉽지 않다. 이게 현실인 것 같다.

 

뒤로 갈수록 결정 트리를 시각화해 원인 분석, SHAP을 활용한 기여도 시각화 등 머신러닝 아웃풋의 결과를 설명할 수 있는 방법이 나온다. 난 아무래도 이미지데이터를 주로 사용하니까 아주 친근하지는 않은데 재밌었다.

 

읽으면서 좋았던 점은 다양한 사례와 심지어 코드까지 있었던 점이고, 아쉬웠던 점은 다양한 사례임에도 불구하고 요즘 얼굴인식, 기계번역, 객체인식 등 다양한 기술이 서비스되고 자주 사용하고 있는데 그런 딥러닝 모델의 서비스에는 비중을 많이 두지 않았다는 것이다.

 

하지만 모델 서비스라는 전체적인 큰 틀을 보고 싶은 사람들과 만든 모델을 실무에 사용해보고 싶은데 어떻게 해야될지 감이 안오는 사람들에게 좋은 책이 될 것 같다.

Machine Learning at Work (책표지)

 

> 책의 구성 및 내용

이 책은 머신러닝을 실무에 적용할 때,
어떤 모델을 쓸지, 어떤 과정을 통해 진행해야 될지
상세히 설명해주고 있어 읽기 편합니다.

지도 학습의 분류와 회귀, 비지도 학습의 클러스터링과 차원 축소 등 알고리즘을 설명하고 있어
초심자에게 친절한 설명을 제공하고 있습니다.

간단한 예시들도 제공하고 있어, 이해가 편했습니다.

흥미로웠던 부분은 머신러닝 프로젝트 과정을 설명할 때, 10개의 진행과정을 설명하고 있는데
그 과정에 [3. 머신러닝을 사용하지 않는 방법은 없는지 검토한다.] 가 있어 흥미로웠습니다.

머신러닝 프로젝트 진행 과정

1. 비즈니스 문제를 머신러닝 문제로 정의한다.
2. 논문을 중심으로 유사한 문제들을 조사한다.
3. 머신러닝을 사용하지 않는 방법은 없는지 검토한다.
4. 시스템 설계를 고려한다.
5. 특징량, 훈련 데이터와 로그를 설계한다
6. 실제 데이터를 수집하고 전처리한다.
7. 탐색적 데이터 분석과 알고리즘을 선정한다.
8. 실제 데이터를 수집하고 전처리한다.
9. 시스템에 통합한다.
10. 예측 정확도, 비즈니스 지표를 모니터링한다.

 

AI, 머신러닝에 대한 관심과 사례가 늘어나며
다양한 난제의 해결법으로 등장하고 있는 와중에
엔지니어로서 "머신러닝은 기술 부채 중 이자율이 높은 신용카드다" 라는 말이 신선하기도 하였습니다.

"머신러닝은 기술 부채 중 이자율이 높은 신용카드다" 
 - 기술 부채 : https://ko.wikipedia.org/wiki/기술_부채

7장 효과 검증도 재미있게 읽을 수 있었습니다.
근래 개인적으로 읽은 책들은 머신러닝을 통한 결과를 어떻게 해석할지에 대한
설명이 부족하다고 많이 느꼈는데, 이 책에서는 머신러닝을 통한 결과 해석에 대해서도 
다양한 사례를 들어 상세히 설명해 주고 있어 흥미롭고 재미있게 읽을 수 있었습니다. 

> 장점

  • 초심자를 위해 상세히 설명되어 있는 머신러닝
  • 간단히 테스트 가능한 github 예제코드 제공

> 단점

  • 없음

책읽기 필요사항

머신러닝에 대한 기초, 파이썬/사이킷런/주피터 사용법을 미리 알고있으면 좋습니다.

추천 독자

기초 머신러닝을 실무에 적용하고 싶은 개발자

> 정보

저자: 아라가 미치아키, 나카야마 신타, 니시바야시 타카시
옮긴이 : 김모세
출판사: 한빛미디어
가격: 24,000원
전체 페이지: 319페이지

예제소스 : https://github.com/moseskim/ml-at-work

 

GitHub - moseskim/ml-at-work: 머신러닝 실무 프로젝트 (2판) 샘플 코드 저장소입니다.

머신러닝 실무 프로젝트 (2판) 샘플 코드 저장소입니다. Contribute to moseskim/ml-at-work development by creating an account on GitHub.

github.com


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

대상 독자는?

AI 업무를 하면서 느끼는 것은 빠른 트랜드의 변화인 것 같다. 게임에서도 그렇듯 처음 게임을 시작하는 뉴비가 있는 반면 고인물들 또한 있다. 방대한 게임 시스템을 이해하는 것조차 뉴비들에겐 버거운 일인데, 트랜드까지 빠르게 변화한다면 휴식을 취하기 위해 게임을 했는데, 게임을 하기 위해서 공부를 해야되는 샘이다. 게임에 흥미를 느끼지 못할 것이다. 이러한 문제를 해소하기 위해서는 기존의 중요 정보트랜드 모두를 간단히 알려주는 가이드라인이 필요하다. 이책은 AI 초심자에 대해 비즈니스에 어떻게 활용되는지와 어떤 점을 주의해야하는지, 어떤 점을 관심있게 보아야하는지에 대한 통찰력을 키워주는 책인 것 같다.

 

그림1.jpg

 

추가된 내용은?

1판을 구매하신분들은 어떤내용이 변경되었지가 궁금할 것이다.  밑바닥부터 시작하는 딥러닝과 같이 판마다 주제가 바뀌는 책들도 있고, 특정 내용만 추가되는 책들도 있다. 이 책은 아래와 같이 MLOps에 대한 내용들이 중점적으로 추가되었다. 최근에 MLOps나 DevOps가 트랜드가 되면서 해당분야 책들이 쏫아져나오고 있다. 많은 책들이 MLOps나 DevOps의 구현에 중점적인 반면, 해당 책에서는 구현보다는 MLOps에서 핵심사항을 잘 설명해주고 있다. MLOps는 머신러닝의 개발과 운영을 의미하므로 구현만큼이나 사전설계가 중요하므로 읽어보면 도움이 되지 않을까 싶다.

참고 : DevOps는 development (Dev) and IT operations (Ops)의 약어로 개발 및 운영을 함께  설계하는 것을 의미한다.
 

 

그림2.png

추가된 내용

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

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

 

 

 

 

본 도서는

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

 

이 책은 실제 비지니스에 머신러닝을 어떻게 적용할 것인지, 어떤 경우에 머신러닝 기법과 데이터 분석 방법을 적용해야하는지 알려준다.

 

머신러닝을 공부한 사람은 한 번쯤은 고민해보았을 것이다.

"Iris Datasets, Wine Datasets, Penguin Weights Datsets 등으로 머신러닝을 했는데,

실전 프로젝트에서는 어떻게 사용되는걸까?"

이 책은 그런 가려운 고민들을 긁어준다.

.

.

.

시스템 운용 및 문제해결 방법과 과적합 등을 어떻게 해결하는지 알려준다.

Classification, Regression Metrics에 대한 개념도 알려주는데 수식과 함께 2~3줄의 개념설명 그리고 코드를 작성하여 개념을 빠르게 상기시켜준다.

그러고 그런 Metric을 실전 프로젝트에 적용해봄으로써 실무 프로젝트 다루기에 한 층 업그레이드 해준다.

.

.

.

필자는 특히 Chapter 7, 효과 검증 부분을 반복적으로 읽어보았다.

"새로운 정책 덕분에, 지난 주보다 매출이 20% 상승했다!"

이것이 인과관계로 이어지는 것이 맞을까?

 

사실 우리는 이런 효과를 검증하기 위해서는 고려할 것이 많다.

잠재변수는 고려했는가? 교란 요인은 없는가? 모집단의 특성을 대표하는 표본을 두고 실험을 했는가?

통제 요인은 잘 다루었는가? 상관관계를 인과관계로 인식한 것은 아닌가?

이 챕터에는 효과적인 정책을 판단하기 위해서 실험법, 선택 편향, 가설검정 알려준다.

통계를 하는 사람에게도 좋은 책일 것이며, 머신러닝, AI만 다룬 사람들에게도 많은 도움이 될 것이라 생각한다.

다만 반사실 다루기, Off Policy Evaluation, 차이의 차이 등 생소한 단어들을 많이 접할 것이다.

그러나 걱정할 필요없다.

스토리텔링과 상황 시뮬레이션을 통해서 실전과 같은 느낌을 들게 하여 각 단어의 의미를 바로 이해하게 해준다.

undefined

 

 

 

 

이번 글은 Machine Learning at Work : 머신러닝 실무 프로젝트 라는 책의 리뷰입니다.

한빛미디어의 나는 리뷰어다 활동을 위해서 책을 제공받아 작성했습니다.

이 책을 리뷰하는 저는

  • 대학원때 머신러닝과 딥러닝을 잠깐 공부했지만 많이 활용하지는 않았고, 통계적인 접근으로 새로운 “통계치” 를 활용해서 인사이트를 찾는 연구를 했던 사람입니다.
  • 업무에는 Decision Tree 같은 간단한 수준의 머신러닝을 “로컬 수준”에서 분석에 활용했던 사람입니다.

요약

예전에 비하면, 기술 서적이 정말 다양한 분야를 다루고, 동시에 비전공자를 위한 이해할 수 있는 IT 지식 과 같이 다양한 독자들을 타겟으로 하고 있습니다. “데이터” 관련 서적도 마찬가지 인데요. 제게 항상 있던 개인적인 아쉬움은 “이렇게 하면 된다” 의 책을 넘어서서 “이렇게 하면 이런 문제가 생긴다”를 담는 실전 책에 대한 것이었습니다.

그에 대해 이 책은 리뷰로 제공 받았지만 상당히 만족했던 책인데요, 머신러닝 실무 프로젝트 보다는 영어 제목 Machine Learning at Work가 조금 더 와닿는 내용으로, 머신러닝에 대한 이론은 어느정도 아는 사람들이 Machine Learning Product를 만들어가야 할때 알아야할 팁들을 담은 책입니다.

300페이지 정도의 분량임에도 불구하고 상당히 넓은 분야를 다루고 있습니다. (당연히 모든 분야를 꽉꽉 다루진 않습니다)

개인적으로는 PM들이 인스파이어드를 보는 것처럼 Data PM들이 이 책을 보면 좋겠다 라고 생각했어요.

마지막으로 22년 3월에 1쇄를 찍은 개정판으로 적어도 2–3년 동안은 충분히 유효할 내용들이라고 생각합니다.

권장 독자

  • 1. 요즘 머신러닝이 좋다더라 우리 비즈니스에도 적용해볼 수 있지 않을까? 라는 의견을 내고 싶은 리더십
  • 2. 머신러닝이 뭔지 알겠고 이제 실제로 굴러가는 프로덕트에 머신러닝을 끼얹고 만들고 싶은 DS / MLE
  • 단, Data Engineer는 이 책을 읽으면 당연히 좋겠지만, 더 우선적으로 필요한 책이 있을 것이라고 생각합니다.

이 책의 장점

  • 머신러닝을 Silver Bullet의 관점으로 보는 것이 아닌, 비즈니스 문제를 풀어내는 “방법론 중 하나” 로써 실무에 적용할때 어떤 것들을 고려해야 하는 지 잘 설명해주고 있습니다.
많은 “실무” 데이터 교육에서 다루는 부분은 사실 6–8이라는 기술적인 부분이라고 생각하며 현실은 “실패 리스크를 책임지는 책임자” 를 설득하는 것 조차도 있어야 합니다. (저도 경험해봄)
  • 모든 부분을 자세하게 다루고 있지는 않지만, 대신 이 내용은 이런 책들을 보면 좋다 와 같은 레퍼런스 도서나 자료들을 첨부해주었습니다. (단점으로는. 일본 저자가 서술한 책이라 번역이 되지 않은 일본 서적도 꽤 있는 편)
  • (아마도 번역하신 김모세님의 노력으로) 참고 자료 / 이미지들도 거의 재창조 수준의 번역이 되어있습니다.
  • 많은 건 아니지만, 당연히 사용 코드는 github에 공개되어있습니다.
  • 머신러닝을 실무에 적용하면서 나오는 문제와 해결법 이라는 컨셉에 맞게 다양한 경험들이 책에 녹아있습니다.
무조건 성공하는 A/B 테스트 ㅋㅋ

개인적으로 아쉬운 점

  • 책의 Part 2는 머신러닝 실무 프로젝트 라는 이름으로 몇가지 데이터 분석 프로젝트들을 소개 하는 부분입니다. (책의 1/3 정도) 그렇지만 세부 내용은 이전의 빨간 그림 부분. 즉 데이터 분석 자체에 한정되어 있다고 생각했습니다.
  • (Part 2) 추가로 강화학습이나 업리프트 모델링애드테크 (AdTech)에 대한 부분을 설명하고 있어서 “실무 프로젝트”의 관점에서는 빈약하다는 생각이 들었습니다. 물론 실제로 진행했던 프로젝트를 제가 기대했던 기술세미나 정도의 단계로 책에 다루는 것은 어려울 수도 있다고 생각합니다.
실제 프로젝트 진행시 겪는 어려움을 를 다루는 부분이 빈약하다고 생각할 뿐, 전체 로드맵을 설명하는 부분에는 충분합니다.

내용

  • 1장: 데이터 분석 프로젝트 현실
  • 2–3장: 머신러닝 개론
  • 4장: 데이터 엔지니어링 약간
  • 5장: 데이터 수집
  • 6장: MLOps 개론
  • 7장: 인과관계, 가설검증, A/B테스트
  • 8장: 머신러닝 결과 해석
  • 9–12: 데이터 분석 예시

진짜 넓은 부분의 로드맵을 다루고 있어서 참고서 처럼 구비 해두면 좋을 책이라고 생각해요.

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

 

 

Book_Review_Machine_Learning_At_Working.png

 

 

0. 소개Permalink


이제는 전공자가 아니어도 뉴스나 방송을 통해 Machine Learning / Deep Learning이라는 말을 너무 흔하게 들을 수 있는 상황이 되었다.

음성인식 , 추천 시스템 , 이미지 생성 등은 이미 우리의 일상에서 너무나 흔한 일이고, Tensorflw / PyTorch / Scikit-learn같은 우수하고 훌륭한 Framework은 너무나 쉽게 우리들을 AI의 세계로 발을 들여놓게 만들어 준다.

하지만, 이렇게 현실속에 깊게 들어와 있는 Machine Learning / Deep Learning이지만, 정작 내가 하는 일에 이 기술을 적용하려고 하면 관련 전공자라고 해도 절대 쉬운 일이 아니다.

‘우리 회사의 서비스에 Machine Learning 기법을 적용하고 싶은데, 무엇부터 시작해야 하지? ‘

‘팀장님께 수집한 사용자 Log를 통해서 효과적인 마케팅 방안을 제안하고 싶은데, 어떤 분석 방법을 써야 할까?’

이 책은 Machine Learning 개론을 공부하고 Machine Learning 으로 무엇을 할 수 있는지는 알고 있지만,

이를 실전에 적용하는데 어려움을 겪고 있는 분들, Machine Learning / Deep Learning 교육을 많이 듣고 Coursera에서 관련 수업도 많이 들었지만, 정작 실무에 이를 어떻게 적용하면 좋을지 난감하신 분들에게 이 책은 큰 도움이 될 것입니다.

실제 Biz.에 어떻게 Machine Learning 기법을 적용할 것인지, Machine Learning 기법에 EDA 등과 같은 방법을 접목해 다양한 Insight를 도출하는 방법등을 소개해 줍니다.

뿐만 아니라, Machine Learning 으로 해결해야할 문제를 정의하고 적절한 방법론을 찾아서 시스템을 설계하고 유지보수하는 방법까지 소개해 드릴 것입니다.

1. 대상 독자Permalink



앞서 살짝 언급했지만, 이 책은 Machine Learning / Deep Learning 이론적인 부분은 어느 정도 익혔다고는 생각하지만,

이를 실무에 적용하려고 하는 개발자뿐만 아니라 관련 분야 전공자는 아니지만, Machine Learning 기법과

Machine Learning으로 어떤 것을 이룰 수 있는지를 이해하고 있는 Biz. 담당자들이 참고하면 좋은 책이라고 생각합니다.

이런 분들에게 이 책은 Machine Learning Project를 어떻게 시작하며 기존 System에서 Machine Learning의 Train에 사용할 Log Data를 어떻게 수집할 것이며,

수집된 Log Data로 잘 Train된 Machine Learning Model을 기존 System에 어떻게 적용할 것인지 등을 상세한 설명과 예제를 통해서 Know-How를 전달해 줄 것입니다.

2. 장점Permalink


  • 어떤 독자들에게는 단점으로 여겨질 수도 있겠지만, 꼭 필요한 부분이 아니고는 수식이 거의 없습니다.

    그 만큼 비전공자 / Machine Learning 관련 지식이 없어도 읽을 수 있지만 좀 더 깊이 있는 지식을 얻고자 하는 독자들에게는 단점이라고 여겨질 수도 있습니다.

  • 다양한 관련 지식의 소개들이 많이 있습니다. 책에서 자세하게 다루지 못하는 부분들에 대해서는 Link와 함께 같이 참조하면 좋은 다양한 글들을 소개해줍니다.

    저는 개인적으로 이 부분이 가장 마음에 들었습니다.

  • 총 2부로 나누어져 있으며, 1부에서는 이론적인 이야기를 주로 하고 있으며, 2부에서는 이론적은 배경을 바탕으로 실무에 적용하는 방법을 예제를 통해 전달해 주고 있습니다.

  • Machine Learning을 잘 모르는 독자들을 위하여 많이 사용되는 Machine Learning Algorithm에 대해서 설명을 잘 해주고 있습니다.

  • Machine Learning Model을 기존 System에 통합하는 방법에 대해서 잘 설명합니다.

    다양한 Case에 대해서 각 Case별로 적절한 방법들을 제시해 주는데, 이와 같이 실무 적용에서 어려움을 겪을만한 것에 대해서 자세한 설명은 이 책의 큰 장점이라고 생각합니다.

  • 또한, Data Log를 수집하고 이를 Machine Learning Train에 사용하기 위한 Labeling 작업에 대한 조언도 아낌없이 해주고 있습니다.

  • Machine Learning Model의 성능 평가 방법에 대해서도 상세히 다룹니다.

    열심히 Data 수집하고 Labeling해서 Train 후 실제 적용을 했는데, 잘 동작하고 있는지 판단하기 어려울 때 큰 도움이 될 것 입니다.

  • Machine Learning & EDA를 통해 Insight를 도출하고 이를 Report로 작성하는 일련의 단계를 소개해 주는 부분은 많은 영감을 줍니다.



3. 단점Permalink


  • 처음 책을 보았을 때 들었던 생각은 ‘이 주제를 다루기에 책이 너무 ‘얇은거 아닌가?’라는 생각이었습니다. 전체 300 Page정도 되는데,

    실제로 보다보면 좀 더 깊이 있고 다양한 이여기를 생각보다는 많이 다루고 있지는 못하는 것 같습니다.

    하지만, 이런 부분은 앞서 장점에서 설명했듯이 다양한 관련 정보 Link로 어느 정도는 극복을 하는 모습입니다.

  • 1부 이론적 설명 부분에서는 Machine Learning / Deep Learning 관련 지식이 어느 정도 바탕이 되어야 이해할 수 있는 부분들이 많습니다.

    하지만, 이런 부분들에 대해서는 깊이 있게 다루지 못하고 있습니다.

  • Machine Learning / Deep Learning 분야에서 자주 사용되는 용어들에 대해서 억지 번역을 한 듯한 느낌을 조금 받았습니다.

    ( Feature를 ‘특징량’이라고 번역하기 보다는 그냥 ‘Feature’라고 하는 것이 더 낫지 않았을까 생각합니다. )

  • 간혹 뜬금없이 ‘이 내용이 여기에 왜 있지?’라고 생각되는 부분이 있습니다.

    예를 들면, 강화학습 부분이 갑자기 나오는 부분에서는 이 내용이 실제로 필요한가 라는 의구심이 들었습니다.

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

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

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

서론을 잠시 옮겨보겠다.

누구를 위한 책인가

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

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

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

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

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

학교에서 머신러닝 및 데이터 분석 관련 수업을 들을때 항상 아쉬운 점은 실무에서 머신러닝 프로젝트를 적용하는데 있어서 어떠한 어려운 점과 분석을 이행하기 위하여 어떤 툴들이 쓰이는지 그리고 휴리스틱하게 해석해야 하는 부분에 있어서는 어떠한 실무적인 테크닉을 이용해야 하는지 항상 궁금하였습니다.

내용들은 쉽게 한번 훑어볼 수 있게 짧게 기재되어 있으며, 책 안에 있는 전반적인 이론 내용과 실습내용은 조금 부족하여 인터넷으로 찾아가면서 부족한 부분은 따로 공부해야 되는 점이 다소 아쉬웠습니다.

 

책을 통하여 머신러닝 모델이 실무에서 어떻게 배포하고 관리하는지 또한 기재되어 있어서 실용적이였습니다.

 

 

 

마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 5월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.

 

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

회사에 속하면서 인공지능을 공부한지 몇 개월이 되었다. 하나씩 배워나가면서 차근차근 하고 있지만 아직까지 배울점이 무척 많다고 느껴진다. 특히 가장 어려운 부분이 공부할 때는 별 문제가 없던 것이 실제 실무에서는 너무나 크게 부딪혀서 작업이 진행안 될 정도로 막히는 문제가 참 많다는 것이다. 생각해보면 깔끔한 데이터에 공식처럼 전처리만 해서 모델을 넣으면 되기에 오롯이 모델에만 초점을 두어서 진행했던것과 달리 실무에서는 데이터부터 하나하나 고려할 부분이 너무 많다보니 생기는 문제가 많다고 느껴진다.

 

 

그런 문제를 잘 짚어주고 정리한 책이 이번에 읽은 책이라고 생각이 든다. 앞서 실무에서 겪은 문제를 직간접적으로 봐서 그런지 이 책의 내용이 열실히 공감되고, 고개를 끄덕이며 읽은 부분이 무척 많았다. 머신러닝 프로젝트를 수행하는 과정 전반적인 문제를 소개하면서 그 속에 적용가능한 추가적인 태스크까지 소개를 하고 있어 노하우를 쌓기에 무척 좋다고 생각이 들었다.

 

 

전반적으로 내용을 보면, 프로젝트를 진행하면서 생기는 문제와 그에 대한 솔루션. 그리고 실제 이용한 실무와 비슷한 실습 예제를 보여주고 있어 실제 머신러닝이 어떻게 실무에 적용되고, 어떤 걸 주의를 기울여야하는지를 잘 보여주고 있어서 책의 소개처럼 어디에서 볼 수 없는 실무형 머신러닝을 매우 잘 배울 수 있다고 느껴졌다.

 

 

특정 독자를 타겟으로 한다기 보단 머신러닝/딥러닝을 배우는 모든 독자라면 한번쯤 읽어볼만한 책이라고 생각한다. 좋은 모델을 만드는 것도 중요하지만, 전체적인 프로세스를 이해하고 각 단계에 맞는 지식들도 필요하다고 생각한다. 그 프로세스를 가장 잘 이해할 수 있도록 도와주는 책은 현재 이 책이라고 생각하고, 그만큼 얇지만 강력한 아주 좋은 책이라고 느껴진다.

 

 

 

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

 

중급자를 대상으로 좀 더 기본적인 지식보다는 심화적인 내용을 다루고 있습니다.

 

머신러닝 내용을 실무에 적용하고 싶은 사람들에게 적합한 책입니다.

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
머신러닝 실무 프로젝트(2판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
머신러닝 실무 프로젝트(2판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
머신러닝 실무 프로젝트(2판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실