본문 바로가기

도서,강의 리뷰

'핸즈온 비지도학습' 리뷰


[ 한빛미디어에서 주관하는 '나는 리뷰어다' 활동에서 제공받은 책을 통해 작성된 서평입니다 ] 

 



머신러닝과 딥러닝 책을 좀 봤다면, 비지도학습을 다루는 챕터를 분명히 보았을 거라고 생각한다. 
보통 국내 책마다 2,3챕터정도는 비지도학습의 기법에 대한 설명과 핸즈온으로 구성된 게 많은 걸로 안다. 
이 책은 철저하게 비지도학습에 초점을 맞춘다. 사용하는 라이브러리는 사이킷런, 텐서플로(1.xx), 케라스을 이용한다. 

이 책은 머신러닝 입문자들이 보기는 부적합하다. 다른 책이나 강의로 조금 공부를 한 사람이 보기에 적합하다고 본다.
책의 초반이나 챕터마다 초반에 기본적인 개념에 대한 정리를 해주지만 몇 장 되지 않는다. 그러니, 다른 머신러닝 책을 1,2권 정도 공부해본 사람이 보길 권한다. 물론 여기에는 케라스나 텐서플로우도 기본을 조금은 해놓는 거까지가 전제다. 

1,2장까지는 머신러닝에 대한 기본적인 개념과 지도학습에 대한 설명과 실습을 진행한다. 왜냐면 비지도학습을 제대로 이해하려면 지도학습을 명확히 알아야 하기 때문이다. 헌데, 한 챕터로 정도로는 지도학습에 맛만 조금 볼 수 있기에 다른 책들을 통해 지도학습에 대한 좀 더 다양한 챕터와 실습을 해본 뒤에 비지도학습으로 넘어가는 것이 좋다고 본다.

 

 

 



3장부터 6장까지는 사이킷런을 이용해서 비지도학습의 굵직한 기법들을 하나씩 설명하고 핸즈온한다. 
차원 축소, 이상치 탐지, 클러스터링 등이다. 다루는 데이터셋은 캐글에서 다운받을 수 있는 데이터이며 mnist처럼 오래된 데이터들이다. 
역자의 깃허브에 가면 데이터셋을 쉽게 받을 수 있다. 리뷰어의 경우는 git lfs pull 에서 뭔가를 자꾸 purchase 하라는 에러가 나오길래 그냥 데이터셋 링크 가서 다운로드 했다. 

 

 

 

 


챕터 7부터는 딥러닝 프레임워크들을 이용한 비지도학습을 설명한다. 
이 책에서 다루는 tensorflow 는 1 버전이다. 최근 나오는 책들은 2 버전들인데 아마 원서가 최소 1년 전에 출간되서 그 간격에서 tf1 으로 한 게 아닐까 싶다. 헌데, 케라스도 사용하니 tensorflow 1 버전을 안 사용했어도 크게 문제 안될 거라고 생각한다. 왜냐면, 이 책에서 비지도학습에 대한 여러가지 api 사용법을 핸들링하기 좋은 데이터셋으로 다루기에 tensorflow 1 어려운 모델을 구현하거나 하지 않는다. 나 역시 tensorflow 1 버전은 예전에 잠깐 공부한 수준인데 거기서 크게 더 깊어지지는 않는다. 그러니 api 사용법은 걱정하지 말자. 그냥 그대로 따라치면 된다.  

정리하자면, 책에서는 비지도학습에 관련된 흩어진 인공지능의 부분들을 다 모아놓은 책이다. 마지막 챕터까지 가면 GAN, 시계열 클러스터링 등 조금은 어려울 수 있는 부분까지 핸즈온을 한다. 그리고 그렇게 깊게 들어가지는 않는다. 이후의 깊이는 공부하는 사람이 여러 구글링과 논문, 더 심도있는 책들을 통해서 하면 될 것 같다. 여하튼, 머신러닝과 딥러닝 책들에 흩어져있는 비지도학습들을 잘 모아서 정리해놓은 책이라는 느낌이다. 정리해놓은 책이기에 깊이가 엄청나지 않은 느낌이니 부담없이 읽어도 된다고 본다. (물론 기본서 1,2권정도 보고 공부한 사람이라는 전제하이다) 

비지도학습은 업무에서 데이터의 샘플이 부족하거나 라벨이 없거나 하는 경우가 대다수이기에 무조건적으로 고려해야 되는 옵션 중 하나라고 본다. 그러니 비지도학습에 대한 큰 기법들과 API 사용법을 정리한 이 책은 현업에 있는 사람들에게 큰 도움이 된다고 본다.