본문 바로가기
컴퓨터 지식/서평(독후감)

[도서리뷰📖]머신 러닝을 다루는 기술 with 파이썬, 사이킷런 ✨

by 서상혁 2021. 1. 10.



별점 : ★★★★☆

출처 : http://www.yes24.com/Product/goods/90706572?art_bl=13613104 

 

'딱딱함은 질색, 코드로 익히면서 배우는 개념'

 


 저는 블로그 내용을 봐도 알 수 있듯이, 머신러닝에 대한 견문이 전혀 없는 상태에서 이 책을 접하게 되었습니다. 학부 수업에서 들었던 머신러닝에 대한 복잡한 수식과 머신러닝 특유의 '학습'이라는 낯선 개념들은 거부감을 엄청 주었고, 자연스레 멀리하게 되었습니다. 그런데 이번에 좋은 기회로 카카오 추천팀에서 일하게 되었습니다. 당연히 웹 쪽만 주구장창 공부했고, 머신러닝, 데이터 처리에 대한 사전지식이라고는 학부 수업때 꼴랑 한두번 해본게 다였던 저는, 발등에 불이 떨어지는 심정으로 이것저것 알아보기 시작했습니다. 그 첫 번째 시도가 이 책이었죠! 그런데 저는 이 책이 딱 저같은 부류의 사람들과 잘 맞는 책이라는 것을 단번에 느꼈습니다. 그 이유가 어떤 것인지 하나하나 살펴보죠.

 
 첫째, 이 책은 머신러닝을 파이썬으로 구현하고 있지만, 파이썬 문법이나 언어 특성에 대한 내용은 거의 다루지 않는다는 점입니다. 사람마다 장단점으로 작용할 수 있겠지만, 저는 이 부분에 대해서 매우 좋게 느꼈습니다. '파이썬' 이라는 언어에 집중하는 것 보다, 머신러닝을 구현할 때 파이썬이 활용하는 라이브러리들에 대한 정보에 집중해, 보다 많은 내용을 담을 수 있었던 것이죠. 그리고 개인적으로 파이썬 문법에 대한 내용들은 책이나 블로그, 인터넷 등에서 무수히 많은 정보들이 있고 찾아보면 다 나오니, 이런 책에 담기는 것은 낭비라고 생각합니다.

 

 둘째, 선 개념, 후 실습의 비율이 매우 적절합니다. 이 책을 펼쳐보면, 코드 example 이 없는 페이지를 찾기 힘들 정도로 많은 예제들이 들어 있습니다. 그래서 얼핏 보면 그냥 실습이나 코드 적용에 거의 몰두한 책이 아닌가 싶은 생각이 듭니다. 하지만 직접 읽어보면, 이는 오산이라는 것을 알 수 있습니다. 이 책은 개념 또한 example 코드로 설명합니다. 예를들어 loss function, 즉 손실에 대한 개념을 설명할 때, 그것에 대한 설명과, 수식을 잔뜩 늘어놓는 지루한 방법을 쓰지 않습니다.

 

def traning_loss(loss, model, training_data): 

'모델과 전체 학습 데이터를 이용한 학습 손실의 총합' 

 
~~~~~생략.

 



와 같이 직접 함수부터 제시해서, 이 개념이 코드에 어떻게 적용되는지 부터 보여줘서 독자로 하여금 빠른 직관적 이해를 가능하게 하는 것이죠!

 

셋째, 가벼운 설명입니다. 가볍게 대략적으로 설명한다는 것이 아닌, 최대한 딱딱하지 않게 설명하려고 노력하는 모습을 볼 수 있습니다. 어느정도로 이 부분에 집착하신면, 수식이 나오게되면 글쓴이께서 독자들에게 사과를합니다... 이는 독자들이 이해를 쉽게쉽게 하게끔 하려는 노력을 볼 수 있습니다.

 

수식 한줄 쓰시고 사과를 하시는 모습..

 앞서 말씀드린 개념을 설명할 때도 코드를 이용한다는 점도, 이런 부분에서 나온게 아닌가 생각이 듭니다. 또한, visualization 부분에도 엄청 힘을 쓰시고, 개념에 대한 마인드맵이나 그림, 실생활에서의 예제를 중간중간 삽입해서, 보다 가볍게 접할 수 있습니다.

 

 


위 세 가지는 제가 느낀 이 책의 특색, 장점들입니다. 하지만 쉽게 설명하려고 하기 때문에 때로는 그냥 받아들여야 하는 부분이 있고, 파이썬이나 기본 라이브러리들에 대한 설명은 하지 않기 때문에, 이 부분에 대해서는 직접 공부를 해야 한다는 점은 책을 구매하는 분으로 하여금 고려해보셔야 할 것 같습니다! 

 



요즘은 CS 전공자가 아닌 사람들도 머신러닝이 뭔지는 다 알고있을 정도로, 머신러닝이 핫해지고 중요성이 높아지는 시대입니다. 그런데도 인터넷에서의 머신러닝에 대한 reference 들은 정작 CS의 다른 분야에 대한 정보에 대하면 턱없이 부족하다고 생각합니다. 웹 공부를 한 저의 입장으로서는 웹은 정말 구글에만 검색해도 쉽게쉽게 정보를 구할 수 있거든요. 이 책은 뭔가 온라인 게시글에 올려도 좋겠다, 혹은 e-book으로 적합하겠다 같은 느낌이 들더군요. 책 읽을 때의 딱딱함보다는, 온라인 블로그에서 읽는 게시글의 가볍고 좀 트렌디한 느낌? 을 받았던 것 같습니다.


 

아무튼 아직 읽는 중이지만, 무언가 저와 비슷한 특성을 가진 사람들에게 잘 맞을 것 같다는 생각이 듭니다. 저처럼 개념이나 수식만 보는 것보다, 직접 실습을통한 인식 이후의 직관적인 이해를 원하시는 분, 파이썬과 CS 지식은 있지만 머신러닝에 대해서는 잘 모르는분들에게 적합한 책인 것 같습니다.

 

저는 인턴 생활을 하는 데에 머신러닝 기초 base 지식 측면에서 도움을 많이 받았고, 앞으로도 개념서 + 실전적용서 두 가지 모두의 역할로 저에게 도움을 줄 책입니다!😃

728x90

댓글