[서평]머신러닝을 다루는 기술 with 파이썬, 사이킷런
길벗 출판사에서 나온 “머신러닝을 다루는 기술 with 파이썬, 사이킷런” 책에 대한 서평단에 뽑히는 기회를 운 좋게 얻어, 이 책을 읽어본 느낌을 기술하고자 합니다.
머신러닝을 산업계 구분없이 데이터가 있는 영역이라면 다양하게 활용되고 있는 기술입니다. 이미지 처리, 자연어 분석, 시계열 데이터 분석 등등, 자동으로 동영상 자막도 달고, 카메라 영상으로 부터 차량, 사람, 바이크 등등 구분하기도 합니다. 머신러닝의 성능은 의심의 여지는 없는 것 같습니다. 어떻게, 어떤 결과를 얻기위해 잘 활용하는냐가 관건입니다.
최근 머신러닝은 주로 CNN, LSTM, GAN과 같은 최신 딥러닝 기술이 인기입니다. 최신의 딥러닝 알고리즘을 배우고 따라가기도 힘들만큼 많은 연구가 이루어 지고 있습니다.
이 책은 최신 딥러닝 기술을 다루지는 않습니다. 그래서 처음 책을 펼쳤을 때 ‘어.. 뭐지’ 하는 느낌을 받았습니다. 하지만 딥러닝을 계속 공부하시는 분은 느끼시겠지만, 하면 할 수록 기본기에 대한 갈증을 느끼게 됩니다. 특히나 기존에 통계/확률/수치처리 등에 대한 전공이 아니라면 더욱 그러 합니다. 기본적인 가중 평균, 분산, 표준편차, 공분산, 확률밀도함수, 가우시안분포, 정규화 등등. 결국은 알아야 할 내용이더군요. 그런 부분에 대한 필요성을 느끼시는 분은 이 책이 상당히 도움이 될 것으로 판단됩니다.
책을 읽어 가면서 python script를 jupyter notebook을 통해 실행시켜 볼 수 있으므로 데이터 셋들은 다루는 방법, 고전전인 머신러닝 기법들, 전처리 방법, 하이퍼파라메터 조절 기법, 모델 평가 방법들을 배울 수 있습니다. Anaconda로 가상 환경을 설정하여 필요한 패키지들을 설치 하면 무리 없이 따라 할 수 있습니다. 단, code by code 로 설명되어 있지는 않기 때문에 생소한 함수는 구글링 하면서 봐야 합니다. python 중급 정도 실력이면 편하게 보실 것 같네요.. 저는 초급이라서. -_-;;
머신러닝 관심 있으신 분이면 Andrew Ng 교수의 강의를 들어 보셨을 겁니다. 훌륭한 강의인데 아무래도 인기 있는 python 대신 octave로 실습하는 부분이 저는 좀 아쉬웠습니다. octave가 안 좋다는 건 아니지만, 기왕이면 python으로 했으면 좀 더 좋았을 걸 하는 생각이 있었는데, 이 책을 보면서 머신러닝 기본기를 python으로 실습해 볼 수 있는 부분이 좋았습니다. 또한 주로 numpy, sklearn과 panda를 이용하기 때문에 관련된 데이터 처리, 내장 함수들 사용법을 익히기에도 괜찮습니다. 저는 개인적으로 제가 잘 몰랐던 하이퍼파라메터 튜닝, 앙상블, PCA등의 개념을 잡을 수 있어 좋았습니다.
번역서이다 보니 일부 한글화한 부분이 영문용어와 좀 어색한 부분이 있고 어색한 미국식 조크가 좀 지루하게 느껴질 수 있는 부분도 있기는 합니다만, 급속히 발전해가는 머신러닝 기술의 홍수 속에서 잠시 빠져나와서, 이 코로나 시국에 조용히 집에 앉아서 기계학습의 기본이 되는 개념들을 견고히 하는 시간으로 활용했으면 합니다.