728x90

안녕하십니까, 간토끼입니다.

오늘은 길벗 출판사에서 받은 머신러닝을 다루는 기술 with 파이썬, 사이킷런에 대한 서평을 작성해보도록 하겠습니다.


어쩌다보니 서평을 쓰는 책들의 대부분이 머신러닝에 관한 것 같습니다.
그도 그럴 것이 블로그 이름도 "데이터마이닝랩(DataMining Lab)"이잖아요 ㅎㅎ
사실 제가 블로그에서 다루고자 하는 Topic들도 통계학, 데이터과학, 머신러닝(또는 딥러닝), 인공지능 등 다양한 주제들이나, 이러한 것들은 모두 "데이터를 바탕으로 한 패턴 학습"이라고 함축하여 칭할 수 있습니다.
이러한 패턴 학습에 접근하는 방법은 다양합니다.

수학적으로, 혹은 통계학적인 방법론을 이용하여 이론적으로 접근할 수도 있고, 많은 사람들이 접근하는(혹은 그러기를 원하는) 프로그래밍적인 방법도 있죠.
개인적으로 전자를 선호하지만, 후자를 선호하는 사람들이 대부분인 것 같긴 합니다. 최근 트렌드도 그러한 것 같고요.
이 책은 그러한 트렌드에 부합하는 책입니다.
"다양한 분야의 독자들이 빠르게 지식을 쌓아 머신러닝에 도전할 수 있게 하는 책"입니다.


Q. 이 책은 어떤 책인가요?
이 책은 "데이터를 바탕으로 한 패턴 학습" 중에서 "머신러닝(Machine Learning)"에 초점을 맞춘 책입니다.
사실 이 길벗에서 출간한 책 중 "머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로"라는 비슷한 책이 있는데요.
처음 이 책을 보았을 때 이 둘 간의 차이점이 무엇일까 궁금했었습니다.

표지도 거의 비슷합니다. ㅋㅋㅋㅋ
차이점부터 말하자면 "머신러닝 교과서"는 머신러닝부터 딥러닝까지 포함하며 좀 더 수리적으로 접근하는 책입니다.
그러나 제가 지금 리뷰하는 "머신러닝을 다루는 기술"은 머신러닝에 좀 더 집중하는 대신, 머신러닝에 대해 아무것도 모르는 초보자가 쉽게 진입할 수 있도록 수리적인 내용보단 코드를 통한 이해에 중점을 두었습니다.

간단하게 책 구성을 소개해보죠.
1부에서는 머신러닝의 기초를 쌓습니다.
1장은 머신러닝의 개념, 2장은 머신러닝에서 반복적으로 등장하는 수학적 내용 등을 소개하고, 3장과 4장에서는 사례를분류와 회귀의 기초 개념에 대해 소개합니다.

이후 2부에서는 응용 머신러닝 시스템의 가장 중요한 측면을 살펴봅니다.
즉 머신러닝의 알고리즘을 이용해 직접 만든 모델을 평가하고 성능을 개선할 수 있도록 성능 측정 방법을 제공합니다.

3부에서는 추가적인 기법에 대해서 다룹니다.
분류와 회귀의 더 많은 알고리즘인 서포트 벡터 머신, 로지스틱 회귀, 판별분석 등을 배우고, 피쳐 엔지니어링과 하이퍼파라미터 튜닝 과정에 대해서 학습합니다.

마지막으로 4부에서는 최신 머신러닝 기법을 소개합니다.
핫한 앙상블 기법과 자동화된 피쳐 엔지니어링, 그리고 이미지와 텍스트 등 비정형데이터를 피쳐 엔지니어링 하는 방법론 등에 대해서 다룹니다.

이처럼 오직 머신러닝에 주목하여 초심자들에게 "머신러닝"을 효과적으로 배우고, 입문할 수 있도록 도와주는 책이라고 할 수 있습니다.


Q. 그럼 누구에게 추천하는 책인가요?
개인적으로 이미 머신러닝을 공부해본 사람보다는 머신러닝을 배워보려는 입문자들에게 추천합니다.
특히 파이썬 프로그래밍 역량은 갖추었으나 수학적 지식이 충분하지 않음에도 머신러닝을 배워보려는 개발자들에게 추천하는 책입니다.
이 책의 저자 또한 이 책을 쓰면서 초점을 둔 부분은 "수학적인 내용을 최소화하면서 가장 널리 사용하는 머신러닝 도구와 기법에 숨어있는 개념을 소개하는 것"이라고 언급하였습니다.

이렇게 귀여운 일러스트도 있습니다.
독자의 초점이 "입문자 수준"에 있는 만큼, 전반적으로 책이 딱딱하지 않고 굉장히 부드럽습니다.
어느정도의 기초 지식(그래도 통계학, 수학에 대한 기초 개념은 있어야겠죠...^^)만 있다면 충분히 읽으실 수 있을 거라 생각합니다.


Q. 이 책의 장점은 무엇인가요?
첫째, 수학을 최소화하고 직관적 이해를 키웠다는 것입니다.
책을 읽다 보면 수식이 정말 없습니다.
놀라울 정도로 없습니다.
제가 위에서 언급했던 것처럼 파이썬 프로그래밍 역량은 갖추었으나 수학적 지식이 충분하지 않음에도 머신러닝을 배워보려는 개발자들에게 추천하는 책입니다.
물론 그럼에도 불구하고 "수학적 직관"은 제공합니다.
즉 수식 없이도 여러 알고리즘을 누구나 이해할 수 있도록 잘 풀어서 설명한다는 게 이 책의 장점이라고 할 수 있습니다.

이처럼 나이브 베이즈에 대해서 설명하면서도 수식 없이 직관적 이해를 돕는 설명만 제공합니다.
물론 장점일 수도 있고, 단점일 수도 있겠죠?

그리고 둘째, 오로지 "머신러닝(Machine Learning)"에 집중한 책입니다.
제가 위에서 비교한 '머신러닝 교과서' 책의 경우, 머신러닝뿐만 아니라 딥러닝, 그리고 텐서플로우의 내용 또한 포함되어 있습니다.
따라서 초심자 입장에서는 다소 혼란스럽고 어려울 수 있습니다. 책 한 권에서 다양한 주제를 다루기 때문이죠.
그러나 이 책은 처음부터 끝까지 보편적인 머신러닝 프로세스에 대해서 다루고 있으므로, 집중하여 한 권을 읽기 좋습니다.
그러한 의미에서 초심자에게 추천하는 겁니다. ㅎㅎ


정리하자면 이 책은 전문적인 내용을 소개하면서도 독자가 흥미를 잃지 않게끔 비유와 다양한 예시, 그리고 직접 해볼 수 있는 구현 코드까지 적절하게 소개하며 초심자들에게 알맞는 구성을 갖추고 있는 책입니다.
초심자라면 긴 말 할 것 없이 이 책을 추천합니다.

감사합니다.


- 간토끼(DataLabbit)
- University of Seoul
- Economics, Data Science

728x90

+ Recent posts