티스토리 뷰

"머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로"는 세바스찬 라시카(Sebastian Raschka)와 바히드 미자리리(Vahid Mirjalili)가 쓴 아마존 베스트셀러 ‘Python Machine Learning 2nd Ed.’의 번역서이다.

 

머신러닝 입문자의 머신러닝 교과서 리뷰

나는 머신러닝을 이제 막 공부하기 시작했다. 나는 공학을 전공하고 있고 선형대수학, 수치해석, 미적분학 등의 과목을 수강한 적이 있다. 하지만 부끄럽게도 이해도는 낮은 편이다. 대학을 졸업하고 나서는 다시는 이런 수학을 하고싶지 않고, 그럴일은 없을 것이라고 생각하고 있었다. 게다가 파이썬은 아무래도 익숙하지 않아서 언젠가 따로 공부해야지 하며 미뤄오던 언어였다.

그러던 내가 덜컥 머신러닝 책을 공부하게 되었다.

 

졸업논문 주제로 머신러닝을 활용하고 싶어서 공부해야겠다는 생각을 하던 중에 길벗출판사에서 개발자리뷰어를 모집한다는 글을 보고 신청을 했는데 그게 당첨이 된 것이다. 이 책을 받고 나서 책을 쓱 펼쳐보았을 때, 생각보다 수식이 많아서 조금 당황하긴 했지만 이번기회에 좀더 공부하며 읽어보기로 마음먹고 지금은 재미있게 읽고 있다.

 

다 읽으려면 시간이 걸릴것 같지만, 좀더 공부해보면서 블로그에 학습 후기를 다시 올려보려고 한다.

 

 

 

개념, 수식, 코드를 다 아우르는 책.

강의를 하는 교수님들 중에서 보면, 열의를 불태우며 모든 내용을 다 알려주려는 교수님이 있다.

열심히 내용을 따라가고 나면   "그런데 여러분. 사실 실습이 제일 중요한거 알죠..?"

라면서 실습까지 과제로 내주시려는 교수님.

 

이 책은 이런 교수님 같은 책이다. 시작부터 끝까지의 내용들을 어떻게 하면 다 알려줄지를 고민하면서 내용을 구성한 것이 느껴졌다. 자주 쓰이는 머신러닝 알고리즘을 배경과 함께 먼저 소개하고, 수식으로 풀어 다시 설명하고, 마지막으로 소스 코드와 함께 다시 설명한다. 개념과 수식, 코드를 다 아우르는 구성이다.

 

이 책의 다른 리뷰에서 공통으로 꼽히는 점이 "이론과 실습이 적절히 분배되어있다", "실용적인 예제 코드를 제공한다"는 점을 이 책의 장점으로 꼽는데, 나도 이 책을 읽으며 공감할 수 있는 점이었다.

내가 마음에 들었던 것은 "설명하는 방식"에 있다. 어떤 개념을 설명하기 위해 배경에 대한 설명을 같이 해준다.

매 Chapter마다, 무엇을 설명 할 것이며 앞 단원 내용과의 관계는 어떤지 설명하는데, 예를 들어 알고리즘을 설명하기에 앞서, 알고리즘의 배경이 되는 이론, 알고리즘이 생긴 배경, 다른 알고리즘과 비교하여 장단점, 알고리즘이 쓰일 법한 데이터 모델 등을 제시 해주니 내용이 좀더 흡수가 잘 되고 재미있게 느껴 졌다. 그리고 이런 설명의 방식은 예제 코드를 설명할 때나 수식을 설명할 때에도 묻어나 있다.

구체적인 내용이 이해가 안되더라도 전체적인 흐름을 파악할 수 있게 설명이 되어있어서, 여러번 읽으면서 이해도를 높이는 식으로 읽을 수 있어서 좋았다.

 

 

 

옮긴이가 장점인 책.

이 책의 옮긴이인 박해선님는 텐서플로 블로그를 운영하고 있으며, 이미 머신러닝 관련도서를 몇 권 번역하신 적도 있다.

이 책의 후기에서 유독 옮긴이에 대한 언급이 많아서 특이하다고 생각했는데, 책을 읽어보니 왜 그런지 알수 있었다.

책 중간중간에 독자가 헷갈릴 여지가 있는 내용에 대해 역주가 군데군데 쓰여 있는데, 독자에 대한 배려를 느낄수 있었다. 또 원서가 작성된 시점과 번역서가 출간된 시점이 다르다보니 라이브러리 버전이 다른데, 최신 버전을 기준으로 작성이 되었다고 한다. 

 

블로그(텐서플로우 블로그)를 통해 꾸준히 유용한 자료를 공유하고 계시고, 번역한 자료를 공유하고 있어서 더 믿음이 가는 것 같다.

 

1) 헷갈릴 만한 내용에 친절하고 꼼꼼한 역주가 달려있다.

2) 최신 버전의 라이브러리 기준으로 작성됨 + 깃허브 업데이트 제공

3) 블로그를 통해 유용한 자료를 제공

 

 

 

추천 대상

개념을 차근차근 파악하며 읽기를 원하는 사람이라면 이 책을 좋아할 것 같다.

하지만, 배경지식이 부족하고,  빨리 뭔가 만들어보는 것을 원하는 사람이라면 이 책이 적합하지 않을수도 있다.

 

머신러닝에 대해서는 몰라도 되지만 파이썬과 파이썬 라이브러리(Scipy, numpy, matplotlib, pandas, tensorflow, scikit-learn 등)에 대해서는 어느정도 알고 있거나 스스로 레퍼런스를 보면서 이해할수 있는 능력이 되어야 실습 코드를 이해할 수 있다. 실습 코드에서도 파이썬이나 라이브러리 사용법에 관련된 설명은 많이 생략 되어있다보니 무작정 읽으면서 이해하기 쉬운 내용은 아닌것같다.

 

그렇다고 입문자에게 이 책을 꼭 비추하는 것은 아니다. 입문자라고 하더라도 차근차근 공부할 수 있는 가이드는 충분히 제공되는 책이다.

입문 단계에 맞게 쉽게 설명된 책들도 따로 나오고 있기때문에, 그런 책을 먼저 보고 이 책을 본다면, 더 효과적일 것 같다. 

나도 입문자이지만 이책을 기준으로 재미있게 공부하고 있다. 이해가 잘 안되는내용은 다른 자료를 참고해가면서 보고있다.

 

머신러닝과 관련된 이론이나 알고리즘을 어느정도 접해본적이 있고, 파이썬 언어와 라이브러리 사용이 익숙한 사람이라면, 

재미있고 유익하게 공부할수 있을 것 같다.

이 책의 실습 코드는 깔끔하고, 아주 잘 작동한다. 실습코드를 잘 활용하여 공부하면 좋을 것 같다.

 

이 책이 아우르는 내용은 분명히 어렵고 많지만, 이 내용을 어떻게든 잘 전달하기 위해 저자와 역자 그리고 출판사의 배려가 느껴져서 더 재미있게 읽을 수 있는 책이다. 

 

텐서플로우 블로그 "어떤 책을 봐야 하나요?"라는 글에 박해선님이 번역하신 도서가 잘 비교되어있으니 참고하면 좋을 것 같다.

반응형
댓글