[리뷰] 데이터 과학을 위한 통계



한빛미디어 출판사의 "데이터 과학을 위한 통계(피터 브루스, 앤드루 브루스, 피터 게데크 저/이준용 역)"를 읽고 작성한 리뷰입니다.

표지


통계의 관점에서, 통계를 중심으로 데이터 과학의 핵심을 정리한 책이다. 통계 중심이라는 특성 덕분에 다른 데이터 과학 도서와는 달리 몇 가지 도드라진 특징을 가지고 있어 이를 중심으로 책을 리뷰해보겠다. 통계중심


  • 통계와 머신러닝의 미묘한 경계

예를 들면 머신러닝으로 데이터 과학을 접한 컴퓨터 공학 출신의 연구자 혹은 개발자들이 잘 알지 못하는 혹은 관심 없는 영역에 대해 살펴볼 수 있는 기회를 제공한다. 카이제곱 검정이나 피셔의 검정은 사실 예측 중심의 머신러닝 모델에선 관심 있게 바라보는 스킬이 아니다.

하지만 본 도서를 읽으며 이런 통계적 지식이 데이터 과학에 어떤 기여를 하는지 명확히 이해할 수 있다는 것이 장점이 된다. 위 두 검정은 어떤 효과가 실제인지 우연인지 가려내기에 유용하다. 대표적 예로 웹 실험에 적합한 표본크기를 판별하기에 유용하게 활용될 수 있다.

이런 류의 실험은 클릭률이 낮기 때문에 집계 비율이 낮아 실험으로 확실한 결론을 내리기 어렵다. 위 두 검정을 활용하면 검정력이나 표본크기를 계산하는데 유용할 수 있다. 작은 부분이지만 대세가 아니라는 이유로 무작정 옛 통계 기술을 바라보지 않고 다른 방법을 찾기 보다는 통계의 핵심 특성과 필요성을 잘 이해해 두었다가 적시에 활용한다면 보다 정확한 예측에 한발 다가갈 수 있을 것이다. 바로 이런 점이 통계 중심의 데이터 과학을 다룬 본 도서 최고의 장점이라고 할 수 있겠다.

그 외에도 이 책은 통계와 데이터 과학의 미묘한 경계선을 명확히 이해하는 데 많은 도움을 준다. 빅데이터 시대가 오며 모집단과 표본집단의 경계선은 예전만큼 중요하지 않은 것 같다. 모집단에 가까운 데이터가 현실에 축적되고 있기 때문이다.

비록 내가 얕은 수준이긴 하지만 확실히 경험해보니 특히 추정이나 검정은 상대적으로 덜 중요해졌다. 큰수의 법칙이라는 시원한 그늘에 숨어 데이터 양으로 밀어 붙이고 그 안에 가져야 할 통계 모델링의 전제 조건을 눈감아 주기도 한다. 그렇다보니 추정, 검정을 활용할 일도 적어진다.

하지만 위의 웹 클릭 실험의 예시 처럼 정확도를 끌어올리기 위해 부분 부분마다 통계 지식을 활용할 일이 반드시 존재한다. 통계를 활용하여 새로운 것을 얻어내지 못할지는 몰라도 적어도 부정확성에 대한 근거와 방어 자료를 갖출 수 있으며 때로는 데이터 분포 및 샘플링에 대한 가설의 확신을 얻을 수도 있기 때문에 개인적으로 통계는 아주 유용한 학문이라고 생각한다.

특히 컴퓨터 공학 출신인 나로써는 화려한 프로그래밍 스킬과 수많은 기여자들이 쌓아온 편리한 통계, 머신러닝 라이브러리 혹은 플랫폼 뒤에 숨어 모르는 것을 관심없는 척 포장하는 것은 아닌지 늘 경계하고 있다.

통계의 핵심 개념을 어떻게든 상황에 따라 이해해보고 나아가 수리통계학적 학문까지 길게 연결해보곤 하는데 그런 점이 확실히 다음 프로젝트에 도움이 될 뿐만 아니라 다른 데이터 분석과와의 차별화된 내공을 향상시켜 준다고 믿는다.

이런 주제의 연장선으로 몇가지 더 언급하자면 데이터 분포를 확실히 아는 것은 정말 중요하다. 지금도 고수라고 할 수 없지만 머신러닝 초보시절 특히 늘 어려웠던 진입장벽이기도 하다. 또, 자유도 n-1의 명확한 개념도 그렇다.

소위 빅데이터의 특성상 n이 크다. n이 너무 커지면 n-1과 큰 차이가 없기에 사실 자유도가 가지는 중요성이 많이 퇴색했다. 하지만 n-1이 아닌 n을 택할 경우 분산 과소평가로 편향 추정이 될 수 있음은 늘 알아둬야 한다. 상황별로 어떤 시나리오와 모델은 n이 작을 수 있기 때문이다.

이런 기초적인 통계 지식을 모른채 스스로의 경력년수만 믿고 머신러닝의 지식만 소화하려고 노력했다가 답을 빠른 시간 내에 찾지 못하게 되는 실수를 범할 수 있다. 늘 겸손하고 데이터 과학의 영역 특성 상 타 영역의 지식을 흡수하고 본받을 수 있도록 노력해야 한다고 생각하며 그런 점에서 통계와 머신러닝의 차이를 분명하게 비교 설명해주는 이 책은 상당히 가치가 있다 할 수 있다.


  • 통계 중심이기에 부족할 수 있는 부분들

이번엔 통계 중심으로 데이터 과학을 바라보는데서 발생하는 몇가지 트레이트 오프를 살펴보겠다. 먼저 신경망은 다루지 않는다. 신경망은 컴퓨터 공학 위주로 발전해왔고 설명 불가능 등의 이유로 수학 중심적인 학문에서 변방 취급을 받아왔기 때문이다.

또한 다루는 예제 데이터는 주로 정형데이터이다. 테이블 데이터를 위주로 다루기에 그래프 혹은 공간 정보 데이터 등은 다루지 않는다.

또 통계 중심의 책들의 공통점 중 하나가 이론 중심의 서술이다. 이 책은 그럼에도 핵심 주제별로 코드를 실고 있어 통계 중심의 책 중에는 가장 컴퓨터 공학의 영역에 가까운 책이다. 그럼에도 핵심코드만 담겨 있기에 하나의 솔루션을 눈으로 확인하기 까지의 전 과정을 구현하는 식의 예제는 없다. 물론 경험이 어느 정도 있는 사람들이 완전판 코드를 구성하기 용이할 것이다.

이는 구성상의 트레이드 오프일 뿐 단점은 아니다. 하지만 본 도서가 본인이 찾고 있는 도서가 맞는지 독자가 확인하는데 도움을 주기 위해 언급해 보았다.


이 책은 2판이자 개정판이다. 독자층이 넓지 않은 AI, 컴퓨터 분야의 서적이 일단 2판까지 나왔다는 것은 어느 정도는 믿고 볼만한 책이라는 의미이기도 하다. 입소문을 타고 수요층이 많다는 의미이기 때문이다. 집단지성은 항상 완벽하진 않지만 대체로 늘 쓸만하다.

2판이 되고 나서 눈에 띄는 특징은 무엇보다 R, Python 코드를 병기한 구성이다. R, Python을 비교한 책은 결코 흔치 않다. 책을 좋아해 많이 읽어온 나로써도 “머신러닝과 통계(에이콘)”라는 책을 제외하고는 이 책이 처음이다. python병기

두 언어를 함께 습득하고 싶은 이라면 두 언어간 미묘한 차이를 빠르게 비교하여 두 언어를 흡수할 수 있다는 점에서 좋은 책이라 할 수 있다. 때로는 한쪽 진영만 갖고 있는 여집합에 속하는 멋진 라이브러리들이 있기 때문에 개인적으로 두 언어를 모두 익히는 것이 보다 차별화 된 데이터 분석가가 되는 지름길이라 생각한다.

또 하나 언급하고 싶은 책의 장점은 저자들의 내공이다. 저자들은 통계 분야에서 머신러닝으로 선회한 이력이 있으며 30년 이상 경력을 지니고 있어 전체적인 시야에서의 접근을 시도한다. 책을 읽다보면 체계적으로 정리되는 느낌을 받을 수 있으며 당연해 보이는 것에도 지속적인 물음표를 던진다.

심지어 A/B test는 왜 C/D test로 명명하지 않았을까에 대한 의문을 던질 정도이다. 별 것 아닌것 처럼 보일지는 몰라도 데이터 과학 분야에서 새로운 시각과 비판적인 사고의 생활화는 매우 중요하다고 생각하기에 이런 저자들의 사고법이나 접근법은 많은 영감을 준다.

이런 의문문에 이어 위에서 언급했듯 머신러닝과의 경계를 명확히 짚어보고 핵심 주제별 덜 중요한 것들과 더 중요한 것이 무엇인지 또 그렇게 나눈 이유는 무엇인지 알려주고 있기에 데이터 과학을 접하는 모든 이에게 꼭 추천하고 싶은 도서이다. 특히, 머신러닝에 비해 통계 분야에 취약한 데이터 과학 분야 종사자에게 가장 추천하고 싶다.


YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.






© 2019.04. by theorydb

Powered by theorydb