별점 : ★★★★☆
'딱딱함은 질색, 코드로 익히면서 배우는 개념'
저는 블로그 내용을 봐도 알 수 있듯이, 머신러닝에 대한 견문이 전혀 없는 상태에서 이 책을 접하게 되었습니다. 학부 수업에서 들었던 머신러닝에 대한 복잡한 수식과 머신러닝 특유의 '학습'이라는 낯선 개념들은 거부감을 엄청 주었고, 자연스레 멀리하게 되었습니다. 그런데 이번에 좋은 기회로 카카오 추천팀에서 일하게 되었습니다. 당연히 웹 쪽만 주구장창 공부했고, 머신러닝, 데이터 처리에 대한 사전지식이라고는 학부 수업때 꼴랑 한두번 해본게 다였던 저는, 발등에 불이 떨어지는 심정으로 이것저것 알아보기 시작했습니다. 그 첫 번째 시도가 이 책이었죠! 그런데 저는 이 책이 딱 저같은 부류의 사람들과 잘 맞는 책이라는 것을 단번에 느꼈습니다. 그 이유가 어떤 것인지 하나하나 살펴보죠.
첫째, 이 책은 머신러닝을 파이썬으로 구현하고 있지만, 파이썬 문법이나 언어 특성에 대한 내용은 거의 다루지 않는다는 점입니다. 사람마다 장단점으로 작용할 수 있겠지만, 저는 이 부분에 대해서 매우 좋게 느꼈습니다. '파이썬' 이라는 언어에 집중하는 것 보다, 머신러닝을 구현할 때 파이썬이 활용하는 라이브러리들에 대한 정보에 집중해, 보다 많은 내용을 담을 수 있었던 것이죠. 그리고 개인적으로 파이썬 문법에 대한 내용들은 책이나 블로그, 인터넷 등에서 무수히 많은 정보들이 있고 찾아보면 다 나오니, 이런 책에 담기는 것은 낭비라고 생각합니다.
둘째, 선 개념, 후 실습의 비율이 매우 적절합니다. 이 책을 펼쳐보면, 코드 example 이 없는 페이지를 찾기 힘들 정도로 많은 예제들이 들어 있습니다. 그래서 얼핏 보면 그냥 실습이나 코드 적용에 거의 몰두한 책이 아닌가 싶은 생각이 듭니다. 하지만 직접 읽어보면, 이는 오산이라는 것을 알 수 있습니다. 이 책은 개념 또한 example 코드로 설명합니다. 예를들어 loss function, 즉 손실에 대한 개념을 설명할 때, 그것에 대한 설명과, 수식을 잔뜩 늘어놓는 지루한 방법을 쓰지 않습니다.
def traning_loss(loss, model, training_data):
'모델과 전체 학습 데이터를 이용한 학습 손실의 총합'
~~~~~생략.
와 같이 직접 함수부터 제시해서, 이 개념이 코드에 어떻게 적용되는지 부터 보여줘서 독자로 하여금 빠른 직관적 이해를 가능하게 하는 것이죠!
셋째, 가벼운 설명입니다. 가볍게 대략적으로 설명한다는 것이 아닌, 최대한 딱딱하지 않게 설명하려고 노력하는 모습을 볼 수 있습니다. 어느정도로 이 부분에 집착하신면, 수식이 나오게되면 글쓴이께서 독자들에게 사과를합니다... 이는 독자들이 이해를 쉽게쉽게 하게끔 하려는 노력을 볼 수 있습니다.
앞서 말씀드린 개념을 설명할 때도 코드를 이용한다는 점도, 이런 부분에서 나온게 아닌가 생각이 듭니다. 또한, visualization 부분에도 엄청 힘을 쓰시고, 개념에 대한 마인드맵이나 그림, 실생활에서의 예제를 중간중간 삽입해서, 보다 가볍게 접할 수 있습니다.
위 세 가지는 제가 느낀 이 책의 특색, 장점들입니다. 하지만 쉽게 설명하려고 하기 때문에 때로는 그냥 받아들여야 하는 부분이 있고, 파이썬이나 기본 라이브러리들에 대한 설명은 하지 않기 때문에, 이 부분에 대해서는 직접 공부를 해야 한다는 점은 책을 구매하는 분으로 하여금 고려해보셔야 할 것 같습니다!
요즘은 CS 전공자가 아닌 사람들도 머신러닝이 뭔지는 다 알고있을 정도로, 머신러닝이 핫해지고 중요성이 높아지는 시대입니다. 그런데도 인터넷에서의 머신러닝에 대한 reference 들은 정작 CS의 다른 분야에 대한 정보에 대하면 턱없이 부족하다고 생각합니다. 웹 공부를 한 저의 입장으로서는 웹은 정말 구글에만 검색해도 쉽게쉽게 정보를 구할 수 있거든요. 이 책은 뭔가 온라인 게시글에 올려도 좋겠다, 혹은 e-book으로 적합하겠다 같은 느낌이 들더군요. 책 읽을 때의 딱딱함보다는, 온라인 블로그에서 읽는 게시글의 가볍고 좀 트렌디한 느낌? 을 받았던 것 같습니다.
아무튼 아직 읽는 중이지만, 무언가 저와 비슷한 특성을 가진 사람들에게 잘 맞을 것 같다는 생각이 듭니다. 저처럼 개념이나 수식만 보는 것보다, 직접 실습을통한 인식 이후의 직관적인 이해를 원하시는 분, 파이썬과 CS 지식은 있지만 머신러닝에 대해서는 잘 모르는분들에게 적합한 책인 것 같습니다.
저는 인턴 생활을 하는 데에 머신러닝 기초 base 지식 측면에서 도움을 많이 받았고, 앞으로도 개념서 + 실전적용서 두 가지 모두의 역할로 저에게 도움을 줄 책입니다!😃
'컴퓨터 지식 > 서평(독후감)' 카테고리의 다른 글
[IT 도서리뷰📘] 풀스택 서버리스 / AWS Amplify (0) | 2021.08.15 |
---|---|
[독서 기록장] 2021.06 ~ 07 월 (0) | 2021.07.24 |
[IT 도서리뷰📘] 도메인 주도 설계로 시작하는 마이크로서비스 개발 (DDD와 MSA) (0) | 2021.06.29 |
[도서리뷰📘] TDD - 테스트 주도 개발 (0) | 2021.05.29 |
[도서리뷰📘] 함께 자라기 - 애자일로 가는 길 🍀 (2) | 2021.05.02 |
댓글