jin***
2019-06-09

현업에서 머신러닝을 연구하고 인공지능 서비스를 개발하기 위해 꼭 학위를 받을 필요는 없습니다. 사이킷런(scikit-learn)과 같은 훌륭한 머신러닝 라이브러리가 복잡하고 난해한 작업을 직관적인 인터페이스로 감싸주는 덕분이죠. 이 책에서는 사이킷런의 핵심 개발자가 복잡한 수학을 동원하지 않고 실용적으로 머신러닝을 구축하는 모든 단계를 설명합니다. 미적분, 선형대수, 확률 이론을 공부하지 않았어도 이 책을 통해 머신러닝을 활용할 수 있게
요즘 PyTorch나 TensorFlow같은 딥러닝 프레임워크들이 큰 인기를 끌면서, 많은 입문자들이
딥러닝으로 머신러닝을 입문하고 있다. 과거의 다양한 머신러닝 기법들과 비교하여, 딥러닝
은 이론적인 이해가 수월하고 (물론 신경망의 특성과 연산 종류, Optimizer등 최적화를 위한
방법들을 제대로 이해하기 위해서는 수학적/통계학적 배경지식이 많이 요구된다) 상황이 잘
갖춰졌을때 성능이 더 뛰어나기 때문에, 딥러닝을 요술방망이처럼 생각하는 사람들도 많이
증가하고있다.
하지만, 현실의 문제들을 해결할 때는 상항에 따라 제약사항들이 있고, 그 안에서 문제를 해결
해야하므로, 모든 문제들을 하나의 기법으로 해결할 수는 없다. 그렇기때문에 이책을 읽어보는
것을 추천한다. 머신러닝을 실제 문제에 적용하는 것이 머신러닝에서 가장 어려운 부분이다. 이
책을 읽으면서 다양한 알고리즘들을 Scikit-learn을 통해서 학습하고, 그 과정에서 현실의 문제
들에 대해 머신러닝을 적용할 수 있는 기반을 다질 수 있다.
이 책은 파이썬 라이브러리인 Scikit-learn을 이용하여 다양한 머신러닝 알고리즘들을 설명
한다. 크게 설명하는 부분은 아래의 세가지다
1. 머신러닝 알고리즘
2. 피쳐 엔지니어링 및 모델 최적화
3. 머신러닝 파이프라인
머신러닝 알고리즘들은 데이터에 타겟 값이 주어지는 지도학습과 그렇지 않은 비지도 학습으로
나누어 설명을 한다. 지도학습의 알고리즘들의 모델 복잡도에 따른 일반화와 적합에 대한 개념
을 자세히 설명하며, 비지도 학습에서는 데이터 전처리기법과 전처리된 데이터에서 특성을 인식
하는 알고리즘들을 설명한다.
이를 통해서 독자는 자신이 해결하려는 문제를 모델링하고, 어떤 알고리즘을 이용할 수 있
는지에 대한 기초를 다지게 된다. 그리고 그 해결과정에서 피쳐 엔지니어링과 모델 최적화를
통해 더 나은 결과를 얻는 방법들을 알게되며, 최종적으로 머신러닝 파이프라인을 구축하여
실제 복잡한 문제를 다양한 알고리즘들로 풀어낼 수 있는 방법을 배울 수 있다.
이 책은 입문서로 매우 적절하며, 이 책을 읽은 이후에 흥미에 따라 머신러닝 알고리즘들을
직접 구현해보거나, 실제 문제에 적용해보는 것도 재밌는 과정이 될 것이다. 또한 머신러닝
관련 연구를 위해서 배경지식을 쌓기에도 매우 적절한 책이다.