rick***
2019-06-18

현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없습니다. 사이킷런(scikit-learn)과 같은 훌륭한 머신러닝 라이브러리가 복잡하고 난해한 작업을 직관적인 인터페이스로 감싸주는 덕분이죠. 이 책에서는 사이킷런의 핵심 개발자가 복잡한 수학을 동원하지 않고 실용적으로 머신러닝을 구축하는 모든 단계를 설명합니다. 미적분, 선형대수, 확률 이론을 공부하지 않았어도 이 책을 통해 머신러닝을 활용할 수 있게
0. R은 뭔가 한계가 있다
R은 빠른 통계분석을 지원합니다. 특히 dataframe과 vector 연산은 간단한 스크립트 언어를 통해 다양한 모델링을 가능하게 지원합니다. 회귀분석, SVM, Random Forest 등과 같은 모델을 쉽게 처리할 수 있죠. 그러나 신경망이나, 딥러닝을 하는 과정에서는 많은 제약을 가지고 있습니다. 가장 하나가 tensorflow 문제입니다. 물론, keras를 이용해, 사용하는 방법도 있지만, 여전히 python에 비해서는 많은 한계가 있습니다. 특히 R은 Single Core Single Thread를 이용하기 때문에, 복잡한 연산과 시뮬레이션이 필요한 경우에 많은 제약을 가지게 됩니다.
1. 파이썬 기반의 머신러닝 입문서
이 책은 Python을 기반으로 하는 머신러닝을 입문서 입니다. 그러므로 당연히 파이썬의 기본문법을 다루지는 않습니다. 하지만, 이 책은 다양한 머신러닝 알고리즘을 충실한 설명하고 있습니다. 특히 이런부분이 좋습니다.
[분류와 회귀의 차이]? [일반화, 과대적합, 과소적합]?
보통 머신러닝을 공부할 때 분류와 회귀의 차이를 모르고 공부하는 경우가 허다합니다. 그러나 이 책은 아주 기본이 되는 이러한 정보를 차근차근 제시하고 있습니다. 여러분들은 알고계신가요?
*회귀의 경우, 하나의 실수값을 예측하는데 이용됩니다. 반대로 분류는 하나의 값을 찾는 것이 아니라, 예/아니오(이진 분류)나 종류를 나누는 예를들어 자동차의 소형, 중형, 대형(다중분류) 등과 같은 분류작업을 가리킵니다.
또한 일반화, 과대적합, 과소적합에 대해서도 반드시 잘 이해하고 있어야 됩니다. 이 책은 이처럼 머신러닝에 필요한 기본지식을 이해하기 쉽게 설명하고 있습니다.
2. 센스있는 한국어판 부록
이번 번역 개정판에는 한국어판 추가부록이 있습니다. 지도학습에서 [배깅, 엑스트라 트리, 에이다부스트], 데이터 전처리와 스케일 조정에서 [QuantileTransformer와 PowerTransformer], 교차검증에서 [반복 교차검증] 등 국내 독자들을 위해, 필요한 정보를 더 첨부해 보강시켜 주었습니다. 특히 Scikit-learn의 최신버전에 맞춘 코드와 풀컬러 인쇄는 이점은 개정판의 가치를 한층더 높여주었습니다.
3. 다양한 예제
요즘 시장에서는 비정형데이터(텍스트, 음성 데이터 등)를 머신러닝을 응용해 원하는 결과를 얻기위한 시도가 다양하게 이뤄지고 있습니다. 실제 회사에서 일하는 실무자들은 이러한 처리가 필요하기 때문에 머신러닝을 공부합니다. 그러나, 보통 책들은 이미지면 이미지, 오디오면 오디오, 텍스트면 텍스트만을 다루기 때문에 다양한 예제를 접하는게 쉽지 않습니다. 그러나 이 책은 영상, 텍스트 분석 등 다양한 분석을 통해 머신러닝을 학습할 수 있도록 지원하고 있습니다.
4. 보기드문 기본서
요즘 머신러닝과 관련해 다양한 책들이 나오고 있고, 저도 실제 다양한 책을 사서 공부하고 있습니다. 그러나 이 책은 다른 책과 달리 계속 옆에 두고 보게 됩니다. 보통 하나의 알고리즘을 제시하면, 그 용례를 설명하는 것으로 그칩니다. 그러나 이 책은 그 용례를 보다 더 진화시켜, 세부적으로 다루고 있으며, 다양하게 알고리즘을 활용할 수 있도록 그 예시나 이론을 설명하고 있습니다. 즉 그 만큼 머신러닝 내용을 충실히 다루고 있습니다. 또한 구현된 모델을 절차를 통해, 검증하고, 평가해 실무에 활용할 수 있도록 내용을 충실히 구성하고 있습니다. 물론 머신러닝 알고리즘은 생각보다 엄청나게 많은 종류가 있습니다. 하지만 활용하는 절차는 이 책에서 다루는 것과 거의 대부분 유사합니다. 또한 빅데이터 분석 강의에서 다루는 머신러닝 알고리즘을 충분히 다루고 있어, 중급에서 고급지식이 필요한 사람들에게 잘 맞는 책이라고 생각듭니다.