통계적 머신러닝은 통계적 추론 대신 상식에 기초한 일반화(generalization)와 규제화(regularization)를 사용하여 통계학적 지식이 부족하거나 심지어 없는 사람도 광범위한 통계분석을 가능하게 만들었다. 파이썬을 이용한 통계적 머신러닝을 설명하는 책으로, 장마다 파이썬 프로그램이 제공되며 부록에는 파이썬의 사용법과 이를 실행할 수 있는 anaconda 설치법이 나와 있다.
'통계적 머신러닝이 전통적인 통계학과 가장 크게 다른 점은 통계적 추론에 대한 지식이 없어도 된다는 것이다. 물론 새로운 머신러닝 기법을 개발하기 위해서는 여전히 통계적 지식이 요구되지만 통계의 사용자 입장에서 통계적 지식 없이 통계분석을 하고 해석하는 것은 획기적이라고 할 수 있다. 통계적 머신러닝은 통계적 추론 대신 상식에 기초한 일반화(generalization)와 규제화(regularization)를 사용하여 통계학적 지식이 부족하거나 심지어 없는 사람도 광범위한 통계분석을 가능하게 만들었다.
통계적 머신러닝과 딥러닝은 손실함수, 일반화, 규제화 방법에 공통점을 가지고 있다. 딥러닝은 이미지, 언어, 소리 등 비정형데이터에 강점이 있지만 통계적 머신러닝은 정형데이터에 강점이 있다. 통계적 머신러닝은 모형이 간단하여 해석이 용이하지만 딥러닝 모형은 작게는 수백 개, 많게는 수천만 개의 모수가 있어 해석이 불가능하다. 좀 더 자세한 비교는 제1장을 읽어보기를 바란다.
이 책을 통한 여행을 시작하기 전에 독자들은 스스로를 평가해야 한다. 기준은 간단하다. 통계적 · 수학적 지식이 있는지를 알아보는 것이다. 측정은 제2장 을 통해서 스스로 하면 된다. 최적화에 대한 수식의 전개를 이해할 수 있다면 통계적 · 수학적 지식이 있다고 생각하면 된다. 이렇게 통계적 · 수학적 지식이 있는 사람을 통지자라는 약자로 지칭하겠다. 이제 통지자와 비통지자에 맞춰 각 장의 내용을 소개하겠다.
제1장은 머신러닝을 전반적으로 정의하고 머신러닝 분류, 분석 절차, 모형 등을 다룬다.
제2장은 사전과정과 최적화에 대해 나오는데, 통지자 여부와 관계없이 제공된 프로그램을 하나씩 실행하면서 모두 이해해야 한다. 특히 최적화는 비통지자도 두세 번 읽어보면 이해할 수 있으니 어려워 말고 꼭 숙지하고 넘어가도록 한다. 제2장은 통계적 머신러닝뿐만 아니라 딥러닝에도 동일하게 요구되는 사항이며 최적화는 통계적 머신러닝과 딥러닝의 엔진에 해당하므로 작동원리를 이해해야 한다.
제3장은 KNN을 다루는데, 통지자든 아니든 관계없이 쉽게 이해할 수 있을 것이다. 그러나 몇 개의 수식이 이해되지 않으면 그냥 넘어가도 전체를 이해하는 데 문제가 없을 것이다.
제4장은 로지스틱 회귀를 소개한다. 딥러닝에서도 빈번하게 사용되므로 어떤 논리로 분류에 사용되는지 이해하면 된다. 통지자는 수식을 따라가면서 이해하면 되지만 비통지자는 로지스틱 함수가 왜 등장하는지, 어떻게 적용되어 분류를 하는지만 이해해도 된다. 규제화에 대한 설명이 나오는데 비통지자는 제공된 그림만 이해하면 된다.
제5장은 판별분석과 단순베이즈모형을 공부한다. 처음부터 수식이 나와서 비통지자는 좀 당혹스러울 수도 있다. 그러나 그냥 정의라고생각하고 넘어가되, 제공된 두 개의 그림으로 그 원리를 이해하면 될 것이다.
제6장은 회귀나무와 분류나무를 다룬다. 이해하는 데 큰 어려움이 없겠지만, 의사결정나무는 원리가 간단하더라도 Kaggle에서 여러 번 우승을 한 앙상블러닝의 핵심이 되므로 원리를 꼼꼼하게 이해하길 바란다.
제7장은 써포트벡터머신을 소개하며 수식이 가장 많은 장 중 하나이다. 비통지자는 그림을 중심으로 이해하고 수식은 넘어가도 된다. 통지자인 경우, 수식을 따라가면 써포트벡터머신의 원리를 이해할 수 있을 것이다.
제8장은 차원축소를 다루는데, 비통지자가 가장 괴로운 장이 될 것이다. 그림을 통해 이해하되 수식은 그냥 이상한 부호라고 생각하면서 일독하고 무엇을 하려고 하는지 감만 잡으면 되며 제공된 프로그램으로 이해하면 된다. 통지자에게 쉬운 말로 설명해 달라고 하면 금방 이해할 수 있을 것이다. 가까이 아는 통지자가 없으면 저자에게 이메일로 문의하면 쉽게 설명해 줄 수 있다. 제8장의 차원축소는 2차 분석에 매우 유용하고 딥러닝에서도 개념적으로 유용하므로 차원축소의 의미를 이해하도록 하자.
제9장은 통계적 머신러닝과 딥러닝의 핵심에 해당하는 부분이다. 전통적인 통계학과의 차이점인 일반화에 대한 논의를 하고 있다. 직관적이므로 이해하는 데 큰 어려움이 없을 것이다. 프로그램을 통해 교차검증, 일반화, 과대적합의 의미를 완벽하게 이해하도록 하자.
제10장은 회귀분석에 대한 내용이다. 회귀분석에 대한 기본개념을 가지고 있으면 이해할 수 있을 것이다. 비통지자의 경우, 써포트벡터머신은 수식을 따라가지 말고 관련된 그림으로 이해하는 것이 좋다.
제11장은 앙상블학습이 나오는데, 통계적 머신러닝의 꽃이라고 할 수 있다. 그러나 비통지자가 따라가기에는 수식이 너무 많고 통지자들에게도 쉽지 않을 것이다. 비통지자는 수식을 따라가지 말고 글로 설명된 부분과 그림으로 개념을 이해하도록 하자. 그리고 GBM과 XGBoost의 원리는 제2장의 최적화와 연계되어 있지만 이해하기 쉽지 않으니 GBM과 XGBoost를 실행하는 프로그램을 익히고 해석에 집중하는 것이 더 좋다.
제12장은 비지도학습으로 수식을 따라가지 않더라도 이해할 수 있도록 구성하였다. 개념과 원리만 이해하고 프로그램을 통해 구현하다 보면 익숙해질 수 있을 것이다.
제13장은 비정형데이터의 수량화 과정을 보여 주고 있다. 이러한 수량화 과정은 딥러닝을 이해하고 적용하는 데 필수적이다. 그러므로 제13장은 딥러닝의 마중물로 이해하면 될 것이다. 이 책은 장마다 파이썬 프로그램이 제공되어 있다. 통지자 여부와 관계없이 하나씩 실행해 보아야 한다. 특히 비통지자는 제공된 프로그램을 실행해 공부함으로써 부족한 통계적 · 수학적 이해를 보완할 수 있을 것이다. 부록에는 파이썬의 사용법과 이를 실행할 수 있는 anaconda 설치법이 나와 있다. 독자 본인의 컴퓨터에 설치하여 제공된 프로그램을 돌려보면서 하루에 3시간씩 2 ~ 4일만 투자하면 머신러닝을 배우는 데 필요한 파이썬을 익힐 수 있을 것이다.
좋은 책을 위해 최선을 다했지만 부족한 부분이 있을 수 있다. 이 점은 양해를 바라며, 책에 나오는 파이썬 실습 프로그램과 출간 후 나올 수 있는 수정사항 등은 자유아카데미 홈페이지(www.freeaca.com) 자료실을 통해 제공할 예정이니 참조하기를 바란다.
정보제공 :