핸즈온 머신러닝

b9267655530_l

이 책은 아마존 베스트 셀러인 오렐리앙 제롱Aurélien Géron의 ‘Hands-On Machine Learning with Scikit-Learn and TensorFlow‘의 번역서입니다.

이 책에는 머신러닝의 이론과 실용적인 가이드라인이 많이 포함되어 있습니다. 간혹 내용이 조금 어렵다고 하는 이야기를 듣습니다. 만약 처음 머신러닝을 접하신다면 ‘파이썬 라이브러리를 활용한 머신러닝‘을 추천합니다. 하지만 이 분야의 발전 속도는 너무 빠르고 방대해서 한 권의 책으로 감당하기는 어렵습니다. 이런 면에서는 여전히 이 책은 또 다른 입문서입니다(정말 이 분야는 엄청나게 커지고 있습니다). 이 책이 딥러닝 전문가로 가는 좋은 출발점의 역할을 할 수 있다면 성공이라 생각합니다. 다시 한번 책을 만드는 데 도움을 주신 모든 분들에게 감사드립니다.

  • 온라인/오프라인 서점에서 판매중입니다. [YES24], [교보문고], [한빛미디어], [리디북스]
  • 672 페이지, 종이책: 33,000원—>29,700원, 전자책: 26,400
  • 한빛미디어 홈페이지에서 책 내용의 일부를 미리보기할 수 있습니다.
  • 이 책에 실린 코드는 깃허브에서 주피터 노트북으로 볼 수 있습니다. [github], [nbviewer]
  • 이 책의 코드는 scikit-learn 0.19.1, tensorflow 1.7, 1.8 버전에서 테스트 되었습니다.
  • 작업에 대한 간단한 후기를 여기에 적었습니다.
  • 교보문고 Dev READIT 2018에 선택되어 이 책에 대한 칼럼을 기재했습니다.

저자 오렐리앙도 아주 기뻐하네요. 🙂

이 페이지에서 책의 에러타와 scikit-learn과 tensorflow 버전 변경에 따른 바뀐 점들을 계속 업데이트 하겠습니다. 구글 그룹스 도서 메일링 리스트에 가입하시면 책의 에러타나 수정사항을 자동으로 수신할 수 있습니다.

이 책에 대해 궁금한 점이나 오류가 있으면 이 페이지 맨 아래 ‘Your Inputs’에 자유롭게 글을 써 주세요. 또 제 이메일을 통해서 알려 주셔도 되고 구글 그룹스 머신러닝 도서 Q&A에 글을 올려 주셔도 좋습니다.

적바림(미처 책에 넣지 못한 내용을 추가하고 있습니다)

감사합니다! 🙂


Outputs (aka. errata)

  • 1~10: 2쇄에 반영되었습니다.
  1. (p506) 주석 21번에 옮긴이의 주석에서 “앞의 코드는 zero_state( ) 함수가 없는 것을 제외하고는 DeviceWrapper 클래스와 거의 동일합니다.”를 “앞의 코드는 셀 상태를 0으로 초기화하는 zero_state( ) 함수가 없는 것을 제외하고는 DeviceWrapper 클래스와 거의 동일합니다. DeviceWrapper 클래스는 텐서플로 1.2에서 tf.nn.rnn_cell.DeviceWrapper로 바뀌었습니다.“로 변경합니다.
  2. (식 4-7, p305 9.6.1절 두 번째 목록, 식 10-2, 식 E-1) 수식에 있는 “(next step)” 윗첨자를 “(다음 스텝)”으로 바꿉니다.
  3. (p585) 코드 실행시 경고 문구를 없애기 위해 페이지 중간에 위치한 q_value를 계산하는 코드에서 “keep_dims” 매개변수를 “keepdims“로 변경합니다. 넘파이(NumPy) API와 맞추기 위해 텐서플로 1.5에서 keep_dims 매개변수가 keepdims로 바뀌었고 향후 keep_dims는 삭제될 예정입니다.
  4. (p11) 두 번째 문단에서 파이썬의 공식 튜토리얼 주소를 ‘https://docs.python.org/3/tutorial/‘에서 한글 문서 주소인 ‘https://docs.python.org/ko/3/tutorial/‘로 변경합니다.
  5. (p73) <표기법> 사이드 노트에서 마지막에서 두 번째 목록의 끝에
    \hat{y}^{(i)} = y^{(i)} = 2,000
    \hat{y}^{(i)} y^{(i)} = 2,000 으로 정정합니다.
  6. (p90) 주석 25번에서 “매개변수를 True로 설정하면 넘겨진 데이터프레임 자체를 수정하고”를 “매개변수를 True로 설정하면 호출된 데이터프레임 자체를 수정하고”로 수정합니다.
  7. (p95) CAUTION_ 박스의 두 번째 줄에서 매끄러운 문맥을 위해 “예를 들어 x가 0에 가까워지면 y가 증가합니다“를 “예를 들어 x가 0에 가까워지면 y가 증가하는 경우“로 바꿉니다.
  8. (p107) 2.5.4 특성스케일링 아래 세 번째 문단에서 “이를 정규화normalization라고 부릅니다.”의 끝에 누락된 소괄호를 “이를 정규화normalization라고 부릅니다).”와 같이 추가합니다.
  9. (p171) 주석 21번에서 “eta0, power_t 두 매개변수를 사용한”에서 “eta0, power_t 두 매개변수(기본값은 각각 0.01, 0.25)를 사용한”으로 내용을 추가합니다.
  10. (p359) 주석 9번에서 “ELU 함수의 도함수는 z < 0 일 때 \alpha(z)이고”를 “ELU 함수의 도함수는 z < 0 일 때 \alpha(\text{exp}(z))이고”로 정정합니다.
  11. (p130) 아래에서 5번째 줄에서 “1,077개를 ‘5 아님’으로 잘못 분류했고(거짓 양성false positive)”를 “1,077개를 ‘5 아님’으로 잘못 분류했고(거짓 음성false negative)”로 정정합니다.(me****ge 님)
  12. (p135) NOTE의 4번째 줄에서 “반면 재현율은 임곗값이 내려감에 따라”를 “반면 재현율은 임곗값이 올라감에 따라”로 정정합니다.(me****ge 님)
  13. (p175) 두 번째 줄에서 \hat{y}=0.56x^2_1+0.93x_1+1\hat{y}=0.56x^2_1+0.93x_1+1.78 로 정정합니다.(me****ge 님)
  14. (p180) 4.5.1절 두 번째 줄에서 \alpha \sum^n_{i=1}\theta^2_1\alpha \sum^n_{i=1}\theta^2_i 로 정정합니다.(me****ge 님)
  15. (p185) 식 4-12의 마지막에 \theta^2_1\theta^2_i 로 정정합니다.(me****ge 님)
  16. (p305) 주석 15번 첫 번째 줄에서 “경사 하강법에서 지역 최솟값으로 빠르게”를 “경사 하강법에서 전역 최솟값으로 빠르게”로 변경합니다.
  17. (p88) 아래에서 3번째 줄에 “ceil 함수를 사용하여 반올림해서”를 “ceil 함수를 사용하여 올림해서”로 정정합니다. (wnghdcjfe 님)
  18. (p340) 주석 23번 끝에 “텐서플로 1.3 부터는 tf.estimator 아래에 DNNClassifier를 포함하여 사전에 정의된 다양한 모델들이 추가되고 있습니다.“를 추가합니다.
  19. (p228) 식 6-1 바로 위 문장의 수식에서 1-(0/54)^2-(49/54)^2 \approx 0.168 를 1-(0/54)^2-(49/54)^2-(5/54)^2 \approx 0.168 로 정정합니다.(me****ge 님)
  20. (p256) 식 7-4에서 \sum 기호 아래 첨자가 i = 1 이 아니고 j=1 입니다.(me****ge 님)
  21. (p177) 첫 번째 문장에서 “단순 선형 회귀 모델([그림 4-15]의 직선)의 학습 곡선을 살펴봅시다.”를 “단순 선형 회귀 모델(직선)의 학습 곡선을 살펴봅시다(그림 4-15).”로 정정합니다.(me****ge 님)
  22. (p181) 마지막 문장에서 “…가까워지는 것을 볼 수 있습니다. 값을 줄이면 모델의 분산은 줄지만..”을  “…가까워지는 것을 볼 수 있습니다. 즉, 모델의 분산은 줄지만..”으로 정정합니다.(me****ge 님)
  23. (p459) 식 13-1에서 x_{i',j',k'} \cdot w_{u,v,k',k} 를 x_{i',j',k'} \times w_{u,v,k',k} 로 정정합니다.

 


Your Inputs

 

핸즈온 머신러닝”에 대한 8개의 생각

  1. 어!이사람아

    1쇄를 엄청나게 본건 아니고 1회독 정도 한상태라… 어떤점이 바뀌었나 궁금해서 한빛 사이트가서
    책의 색인 부분을 살펴봤는데 .. 1쇄에서 보지못한 단어들이 무지하게 나오더군요ㅠㅠ
    이정도면 2부 딥러닝 파트는 대부분이 바뀌었다고 봐도 될정도 인데.. 정말 고생 많으셨습니다!

    Liked by 1명

    응답
    1. 박해선 글의 글쓴이

      네, 맞습니다. 2부 파트가 좀 많이 바뀌었습니다. 여러 실수도 있고 또 텐서플로가 많이 변경된 탓도 있었던 것 같습니다. 덕담해주셔서 감사드립니다! 🙂

      좋아요

      응답
  2. gonigoni

    앗 한가지만 더 여쭤보겠습니다.
    전자책은 위 오류사항 수정 같은 것들이 지속적으로 반영이 되는건가요~?

    좋아요

    응답
      1. 박해선 글의 글쓴이

        아 그런데 구매하신 후에도 계속 업데이트된 전자 문서를 받을 수 있는지는 구매처의 정책에 따라 다를 것 같아 문의해 보시는게 좋을 듯 하네요.

        좋아요

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중