[리뷰] 비즈니스 데이터 과학
in Review on Review, Book, 데이터, 과학, 분석, Ai, 빅데이터, 통계학, 경제학, 불확실성, 회귀, 정규화, 분류, 실험, 제어, 인수분해, 테스트, 비모수, 인공지능
한빛미디어
출판사의"비즈니스 데이터 과학(맷 태디 저/이준용 역)"
를 읽고 작성한 리뷰입니다.
널리 알려진 데이터 과학 알고리즘들의 “왜, 무엇”에 초점을 맞추는 책으로, 다양한 실무 예제와 질문 및 개선 시도 등의 독특한 접근법으로 학습할 수 있다는 점이 일품이다.
그동안 데이터 과학이라 불리는 넓은 범위의 책을 제법 많이 읽어왔다고 생각했는데 이 책에는 그동안 다른 책에서 볼 수 없던 새로운 개념과 인사이트들이 담겨있었다.
보통 Python, R의 코딩 중심 책이거나, Pytorch나 Tensorflow와 같은 프레임워크를 활용하는 법이나, 주어진 예제의 성격에 따라 일반적인 패턴을 배우거나, 수학 중심의 이론을 살피거나, 기본 알고리즘을 배우는 책 정도로 분류할 수 있겠다.
그렇기에 대부분 마치 정해진 것처럼 당연히 그래야 하는 것 처럼 의문을 가지지않고 비슷한 예제를 참조해가며 모델링하고 왜 이 모델은 정규화를 적용해도 적용하지 않아도 비슷한 성능이 나오는지 등 제대로 이해하지 못한 채 넘어가는 스킬만 쌓여왔다.
제대로 된 모델링은 위해서는 주어진 데이터의 질감을 제대로 느끼고 데이터들의 상호 관계를 파악하며 세간에 알려진 기법을 적용하기에 어떤 무리나 한계점이 있는지 파악할 줄 알아야 한다.
그런 문제를 해결할 줄 알아야 뛰어난 예측 성능을 자랑하거나 변화하는 데이터에 유연하게 적응할 수 있는 모델을 설계할 수 있을 것이다.
그럼에도 풍부한 경험이 부족한 것은 차치하더라도 늘 그렇듯 써오던 모델이나 알고리즘을 정확하게 제대로
이해하지 못하니 설계할 때마다 어디서부터 시작해야 할지 막막했던 경험이 잦았는데 그럴때마다 이제 비벼볼만한 희망을 얻게 된 것은 이 책 덕분이라고 할 수 있다.
즉, 다른 책들이 “어떻게”에 초점을 맞춰왔다면 이 책은 "왜", "무엇"
에 초점을 맞춘다고 정리해 볼 수 있다.
각 데이터의 상황이 어떤지 알고리즘의 한계가 무엇인지 명확하게 이해하고 있다면 모델을 설계하는데 적시적소 적절한 도구를 활용할 수 있음은 물론 예측과 다른 결과가 나왔을 때 문제 해결 방법이 무엇인지 감을 잡을 수 있다. 이 책은 그런 근원적인 내공을 쌓는데 많은 도움을 준다.
도입부인 “CHAPTER 0 들어가며”부터 첫인상이 범상치 않았다. 다음은 시간의 흐름에 따른 개별 주식 종목들의 수익률 분포도로 평균도 표기되어 있다.
유용한 정보이지만 특정 기간이 왜 더 불안정하게 수익률이 분산하는지, 언제 다시 발생할지
에 관련된 답은 구할 수가 없다.
데이터로부터 원하는 것을 얻는 과정이 결코 쉽지 않음을 보여주는 현실에서 자주 맞닥드리는 문제로 포문을 여니 호기심이 샘솟았다.
데이터 과학의 큰 축 중 하나가 업무 도메인인만큼 여기서 전통적으로 오래 사용된 모델을 하나 들고 온다. CAPM
이라는 모델인데 데이터 개별 주식 수익률을 시장 평균과 연결하는 모델이다.
아래 첫번째 그림은 CAPM의 산점도 인데 이것만으로는 직관적인 의사결정이 어렵다.
두번째 그림은 의사결정에 중요한 정보를 저차원 공간에 투영한 결과이다. 즉, 전체 원칙이나 모델을 훼손하지 않으면서도 의사결정을 가능하게 하는 소수의 변수
를 찾는 과정이 소개되고 있고 그것이 이 책이 나온 이유라 설명하고 있다.
이즈음부터 이 책은 뭔가 다르구나라는 생각으로 정신없이 읽게 되었다. 물론 그림I-3이 나오기 위해 알파, 베타값이 어떤 의미를 담고 있는지 더 나아가 활용해볼만한 것이겠구나 느낄 수 있는 안목이 필요할 것이다.
다만 이를 위해서는 앞서 설명한 바와 같이 세간에 널리 알려진 뻔한 알고리즘이나 방법론들의 “왜”, “무엇”에 초점을 맞춰 학습할 필요가 있다. 뒷부분에 이어지는 내용들은 “왜”, “무엇”에 초점을 맞출 수 있는 학습을 도와준다.
일례로 부트스트랩의 주제도 다른 책에서 활용 방법이나 효과만 얻었던 반면 이 책에서는 중심극한정리와 비교하며 설명한다.
둘을 비교해가며 부트스트랩
이 고전 공식으로 설명 불가능한 변수 선택, 계산 근사에 적용할 수 있다는 점이나 파라미터 수가 데이터 수보다 많을 때 적용하기 용이하다는 점 등을 알 수 있었다.
예제를 통해 리샘플링해가며 R언어를 코딩해가는 과정에서 데이터의 질감을 느끼며 이에 종속된 각 알고리즘들이 어떻게 변화하고 작동하는지 느낄 수 있다는 점이 신기했다.
실제 왜 그런지 느끼고 이해하는 과정을 통해 고전 모델이나 부트스트랩의 장, 단점을 명확하게 파악하게 되기 떄문에 다른 모델을 설계하거나 문제점을 보완할 때 적절히 활용할 수 있게 되는 것이다.
단순히 이에 그치지 않고 새로운 과제를 자꾸 던져주는 점이 매력적이다. 부트스트랩으로 설명을 계속 이어가자면 추정량이 편향될 염려가 있을 때 신뢰구간을 고려한 더 복잡한 알고리즘을 적용해 볼 수 있음을 보여준다. 각 상황에 맞게 문제 해결 능력을 키울 수 있는 유연성
을 키울 수 있게 도와준다.
뻔히 알고있는 줄로만 알았던 개념들을 새로운 각도
로 정의하는 것 또한 신기했다. 몇년 동안 수도 없이 돌렸던 회귀의 개념이 새롭게 보이기 시작했다. 같은 사물이라도 여러 각도로 보면 더 이해도가 늘어나는 법이다.
회귀를 x에 대한 y의 조건부 확룔분포라고 정의한 책은 거의 보지 못한 것 같다. 달리 생각하면 당연한 말인가 싶으면서도 이런 사고나 접근법 덕분에 모델 설계에서 반짝이는 아이디어의 또 다른 진입로를 얻을 수 있다 생각한다.
개인적으로는 CHAPTER 5 실험 파트와 CHAPTER 6 제어 파트가 가장 마음에 들었던 부분이다. 그동안의 실무 궁금증을 상당부분 해소할 수 있었다. 고수
에게 어깨너머로 혹은 간신히 사정해서 배울 수 있었던 스킬들이 상당히 많이 담겨있다.
고차원 교란 조정 스킬을 설명하는 하트가 그런 예이다. 간간히 통계 전문가가 아니더라도 설명하기 쉬운 기법이나 팁도 얻을 수 있다.
데이터를 기반으로 끊임없이 질문
을 던지는 저술방식도 마음에 든다. PCA를 직관적으로 이해하는데 이만한 예를 찾기 어렵다.
통계학 교수로서의 탄탄한 이론과 전달력, 아마존 부사장이 되기까지의 실무 경험이라는 든든한 양대산맥이 아니면 이런 직관적인 질문과 알고리즘의 논리적 비약과 전개, 적절한 예제 선택 및 활용, 실무적인 관점에서 필요한 만큼의 이론 전달 등이 결코 쉽지 않을것이다.
예제 언어로는 R을 활용한다. 개인적으로는 Python이 마음에 들지만 이 책에 적합한 언어는 확실히 R이다. 범용 언어가 아닌 만큼 확실히 Python의 예열 과정이 없이 코드가 짧고 직관적이다. 책이 전달하고자 하는 개념을 빠르게 실습하며 이해할 수 있을거라 본다.
책 제목의 비즈니스는 무시하면 될 것 같다. 어느 데이터 과학분야에서도 큰 도움이 될만한 책이다.
데이터 과학이라는 용어에서 과학이라는 용어가 왜 끼어들었는지 실감나게 해주는 책이다. 그동안 당연히 그렇게 하라고 해서 그대로 따라하다 데이터 과학 분야의 영혼없는 껍데기가 된 느낌이라면 꼭 이 책을 읽어볼 것을 추천한다.