매닝Manning 출판사의 텐서플로우 책인 “Machine Learning with TensorFlow“가 거의 원고를 마무리하고 곧 출간될 예정입니다. 이 책의 최신 MEAP 버전을 바탕으로 간략히 리뷰를 작성합니다.
이 책은 텐서플로우를 이용하여 머신 러닝 알고리즘을 작성하는 챕터들로 구성되어 있습니다. 머신 러닝의 관점에서도 텐서플로우의 관점에서도 모두 입문서에 해당합니다. 크게 세가지 파트로 나뉘어져 있으면 첫 번째는 머신 러닝과 텐서플로우의 소개, 두 번째 파트는 회귀, 분류, 군집, 히든 마코브Hidden Markov 모델을 소개합니다. 마지막 세 번째 파트에서는 오토인코더autoencoder, 강화 학습, CNN, RNN을 다룹니다.
1장에서 대부분의 다른 책들 처럼 머신 러닝에 대한 개괄적인 소개를 하고 있습니다. 모델, 파라미터, 학습, 추론(여기서 말하는 추론은 통계의 추론이 아니고 머신 러닝의 예측을 말합니다), 특성 등을 포함합니다. 그리고 L1, L2 노름을 포함하여 일반화된 노름norm에 대해서 잘 설명하고 있습니다. 그리고 세가지의 큰 머신 러닝 분류인 지도 학습, 비지도 학습, 강화 학습을 사례를 들어 차이를 설명합니다. 씨아노Theano, 토치Torch, 카페Caffe에 대해 간략히 소개하고 텐서플로우를 사용하려는 이유와 소개를 합니다. 그런데 scikit-learn이 비교적 저수준(?) 라이브러리이기 때문에 텐서플로우 같은 고수준(?) 라이브러리를 쓴다는 말이 좀 어색하네요. 이 챕터의 마지막에는 책 전체에서 챕터별로 각각 어떤 알고리즘들을 다룰 것인지를 그림과 표로 요약해서 보여주고 있습니다. 이런 정리는 책의 전체 내용을 쉽게 파악하게 도와주므로 아주 좋은 것 같습니다.