빅데이터 vs. 스몰데이터

0
423

언론사 기자 분이 취재 요청이 왔다. 요청 내용 중에 빅데이터 시대가 끝나고 스몰데이터 시대가 온다는 주장에 대한 코멘트를 해달라고 하시더라. 모르는건 모른다고 시원하게 지르고, 전화를 끊으면서 스몰데이터가 뭔지 구글링을 해 봤다. 이미 단순 대용량 데이터가 빅데이터가 아니라는 주장, 개인화 + 동적 데이터가 결합되어서 Multi-pattern을 추적할 수 있는 데이터일 때 “빅데이터”라는 Label을 붙일 수 있다는 주장을 했었던 만큼, 제대로 오지도 않았던 빅데이터 시대가 끝난다고 주장하는 건 또 무슨 소리일까, 이번엔 누가 스몰데이터라는 이름으로 대형 사기를 치고 있을까 궁금해졌다.

어느 백인 마케터 아저씨 한 분이 스몰데이터로 책을 냈는데, 레고가 망할뻔하다가 기사회생한 이유가, 레고 마니아 + 스케이트 보드 마니아인 소년이 가장 자랑하는 물건이 다 헤어진 신발이었다는 사실을 직접 미팅으로 알게 되었고, 덕분에 스케이트 보드 전문가가 되기 위해서 얼마나 노력을 많이 했는지 자랑할 수 있는 상징물을 찾아내는 관점으로 마케팅 전략을 변경했기 때문이라며 스몰데이터는 이런 데이터란다.

그 마케터 아저씨의 기준에 따르면, 빅데이터는 DB에 찍혀있고, 사무실에서 모니터 스크린으로만 보는 (별 쓸모없는) 데이터고, 스몰데이터는 직접 고객과 스킨쉽을 하면서 얻게되는 직감같은 (매우 중요한) 데이터일 것이다.

일단 빅데이터에 대한 정의를 제대로 모르니까, 반대 이름이라고 붙여놓은 스몰데이터에 대한 정의도 엉망으로 끼워넣어놨는데, 수학, 통계학은 커녕 IT의 기본도 모르는 전형적인 백인 마케터가 입으로 뭔가를 강조하려고 붙인 이름이라고 보면 된다. (이게 딱 경제학 하는 사람들이 사회학을 보는 관점이기도 하다.)

어그로성 Naming이 좀 불편하기는 하지만, 스몰데이터의 중요성을 주장하는 맥락들을 보면 왜 밖에 알려진 빅데이터라는 정의 (대용량, 빠른 속도…)가 잘못되었고, 필자가 정하는 정의 (Multi pattern, 개인화)가 좀 더 산업 연관도가 높은지 설명할 수 있을 것 같아 보인다.

 

1. Insight 가 풍부한 데이터

위의 레고 예제에서 다 헤어진 신발에 집착하는 어린 아이의 마음을 빅데이터에서는 찾을 수 없을 것이라고 하는게 스몰데이터의 논거일 것이다.

일단 여기서 2가지 포인트를 지적할 수 있는데, 1.정말 다 헤어진 신발에 집착하는 어린 아이의 마음을 DB에 기록된 데이터로 볼 수 없어서 직접 방문을 해야한다면, 그 방문 정보는 “데이터”인가? 그냥 인터뷰 정리자료 아닌가? 왜 “스몰”데이터라고 부르는거지?

2.빅데이터로 정말 그런 개인의 감정 정보를 찾는건 불가능할까? 빅데이터를 단순한 대용량 데이터, (단순 무식하게) 대형 Neural Net에 입력하면 뭔가 대단한 Insight가 툭 튀어나올 데이터라고만 생각했다면 불가능하게 보일 것이다.

근데, 그 어린아이가 다니는 (온라인) 쇼핑몰에서 모든 구매 데이터를 다 갖고 있으면 정말 그런 정보를 못 찾았을까? 스케이트 보드를 샀으면 신발을 교체하는 주기가 빨라질텐데, 안 빨라진 유저들 대부분은 스케이트 보드를 방치하는 사람들일 것이고, 그 소년처럼 스케이트 보드를 험하게 타고 있으면 유지 및 보수를 위한 여러 관리 제품을 사게 될 것이다. 그렇게 관리 제품을 계속 샀으면 분명히 신발을 교체해야할텐데, 왜 교체 안 하는걸까? 뭔가 이상하다고 판단할 수 있을만큼의 데이터가 쌓이지 않았을까?

물론 실생활에서는 구매하는 채널이 여러가지고, 소년의 부모님이 구매를 대신해주는 바람에 포괄적인 정보를 모으지 못할 수는 있다.

(같은 맥락으로 “스몰데이터”를 모으겠답시고 저런 방문 이벤트로 다 헤어진 신발을 애지중지하는 소년을 만날 수 있는 가능성은 얼마나 될까?)

요컨데, 데이터 베이스에 쌓여있는 빅데이터로는 못하는 작업이고, 실제 현장에서 고객의 소리를 들은 스몰데이터로는 얻을 수 있는 그런 정보는 아니라는 뜻이다. 굳이 따지자면 그런 Insight를 찾아내는 작업을 빅데이터로 훨씬 더 논리적으로 진행할 수 있다. 이전 글에 기업 강의 요청에서 겪는 답답한 점을 정리하면서 언급했던 온라인 쇼핑몰에서 빅데이터를 이용해 수요곡선을 정확하게 계산해낼 수 있는 예제가 딱 여기에 해당 될 수 있다.

본인이 실력이 없어서 빅데이터의 장점을 활용 못 해놓고, 모니터 속에서만  찾을 수 있는 데이터는 안 좋은 데이터라고 공격할 필요는 없지 않을까? 고객과의 만남 시간 잡고, 솔직한 이야기를 찾아 듣는게 얼마나 힘들고 돈이 많이 드는 일인지 겪어본 사업가라면 다 알꺼라고 생각한다.

 

2. 핵심적인 action을 찾아낼 수 있는 데이터

빅데이터가 쓸데없이 용량만 많고, 정작 중요한 정보는 거의 없다는 식의 폄하하는 발언도 봤었는데, 정말 그럴까?

빅데이터는 기본적으로 여러가지 행동 패턴 정보가 섞여있는 데이터 셋을 말한다. 스몰데이터가 어떤 데이터인지 모르겠지만, 정말 학교 교실에서나 만날 수 있는 그런 간단한 데이터라면, 그런 데이터를 다룰 수 있는 능력이 있어야 “빅”데이터도 다룰 수 있게 된다는 어느 통계 전문가의 이야기는 좋은 설명이라고 할 수 없다. 1개의 결과값에 이르는 K개의 다른 방식을 찾아내는 작업을 기존의 통계학에서 다루지 않기 때문이다.

통계학은 1개의 Action에 대한 설명에 초점이 맞춰져 있다. 그게 과거 데이터에서 R-squared 값을 구하는 작업이건, 미래에 대한 예측이건 상관없이.

빅데이터는 N개의 Action을 Chain으로 묶은 다음, 그 중 도달점이 같은 Chain들이 얼마나 자주 나타나는지를 쳐다보는 관점이다. 물론 데이터로 작업을 하고 있기 때문에 기본 통계학을 정확하게 알고 있어야하겠지만, 그와는 별개로 새로운 계산법을 새로운 철학으로 공부해야할 부분이 분명히 존재한다.

근데 빅데이터가 쓸모없다고 주장하려면, 그렇게 Chain으로 엮은 데이터가 아무런 쓸모가 없다는 결론이 났다고 주장해야지, 본인이 데이터 처리도 하지 않고 단순하게 아무 모델이나 넣어봤는데 잘 안 되더라는 이유를 들이대서는 안 되는거 아닐까? 애시당초 빅데이터의 정의를 제대로 알고 있었다면….

 

3. 기초 통계학이 중요하다는 데이터

위의 논리를 좀 더 확대해보자. 어느 블로그에서 만난 글인데, 미국내 대표적인 배달앱 면접 중에 그 회사 데이터를 받아서 이런저런 작업을 해 보는 경쟁을 붙었는데, 다른 면접자들은 별다른 생각없이 Random Forest 하나 돌려서 실패한 데이터 분석 작업에, 일부 지원자들은 Time Series decomposition을 해서 효과를 봤다는 이야기였다.

습관적으로 알고리즘을 대입하기만 하면 좋은 결과를 얻을 수 없다는 결론을 내면서 스몰데이터를 강조하던데, 필자의 관점으로는 스몰데이터를 이야기할게 아니라, 기초 통계학도 모르고, 데이터 전처리의 중요성도 모르고 Data Scientist 면접을 봤던 사람들을 놀리고 비웃고 무시하고 경멸해야되는 상황이 아닌가 싶다.

요즘이야 머신러닝 붐이 불어서 너도나도 (구시대적인 지식이라는) 통계학은 내팽겨치고 머신러닝 계산법(Random Forest도 그 중 하나)을 배우고 있지만, 필자처럼 통계학으로 첫 발을 뗀 사람 입장에서 Time Series decomposition은 꽤나 기초적인 영역에 속한다. 내 데이터가 Stationarity를 (최소한 Weakly Stationary를) 만족하는지 확인해보고, 그게 깨질 때 데이터를 필터링 해줘야한다는 건 시계열 수업 초반부에 만나는 지식이다. 필터링의 가장 기본이 Seasonal decomposition인데, 그걸 해볼 생각도 안 한 상태에서 바로 Random Forest를 쓸 생각을 했다는건 Data Scientist 자격이 없다고 봐야한다.

더 어이없는 사실은, Linear programming을 배우고 난 다음에 Non-linear programming을 배우는게 맞는 순서일텐데, Linear programming에서 좀 고급 지식에 해당하는 Time Series decomposition은 아예 모르는 상태에서 다음 레벨 지식인 Non-linear programming 중에서도 꽤나 높은 수준의 지식에 해당하는 Random Forest를 쓸 줄 안다(?)는 것이다. 머신러닝이라고 불리는 응용통계학 모델군은 모두 Non-linear programming 작업의 일환이라는 사실, 그런 작업에 적합한 데이터 그룹이 따로 정해져 있다는 사실, 그런 방법론을 이용하기 위해서는 통계학을 착실하게 다져야한다는 사실을 제대로 인지하지 못한채 80% 정확도, 90% 정확도, 95% 정확도 같은 숫자만 보는 아마추어이 회사 면접에 나타난다는 사실이 황당할 뿐이다.

사실 많은 (짝퉁) Data Scientist들, 특히 통계학 기초 실력 없이 그냥 Non-linear programming 모델들에 해당하는 머신러닝 테크닉 몇 개만 주워들은 수 많은 사람들이 위와 같은 문제점을 가진 채 일을 하고 있을 것이다. 글을 쓰던 중에 0~100 scale로 움직이는 종속변수(y)를 0~50으로 줄였더니 RMSE가 줄었다고 환호하는 대기업 Data Scientist의 질문도 받았다. y값 범위를 줄였으니 오차 크기도 당연히 줄어드는거 아닌가?? 그래도 지적해주니 바로 잘못을 인지하시는거보고 다행이라고 생각했었다. 경험상 그런걸 지적해줘도 모를 정도로 심각한 사람도 (대부분 “전산”직렬 사람들이다..) 국내 초일류 지식인 집단에서 Data Scientist 타이틀 달고 있는 경우가 널려있는 판국이니까….(Pabii 직원이었으면 그런 “아마추어” Data Scientist는 물론이고, 뽑은 부서장도 해고할꺼다.)

아마 제대로 훈련을 받은 Data Scientist에게는 “해보고 싶은게 너무 많아보이는” 데이터 셋을 들고 있는 많은 회사들이 “빅데이터 해봐야 소용없더라”는 이야기를 하는 가장 큰 이유는 그 회사에 재직 중인 Data Scientist들의 역량이 부족한 부분이 제일 클 것이다.

 

나가며 – 차라리 빅데이터를 제대로 정의하자

스몰데이터를 정의할 수 있는 여러가지 Context를 한번 정리해보자.

  • Insight 가득한 데이터,
  • 핵심적인 Action을 찾아낼 수 있다는 데이터,
  • 기초 통계학이 중요하다는 데이터

위에서 지적했듯이, 빅데이터에 대한 정의를 대용량에서 Multi-pattern을 담고 있는 개인 데이터의 집합으로 바꾸면 위의 맥락들은 모두 빅데이터에서 해결이 된다. 실제로 필자가 오랫동안 Pabii 블로그에서 주장해왔던 내용, 이런 데이터가 진짜 빅데이터라고 했던 그 내용이기 때문이다.

스몰데이터라는 새로운 컨셉이 나와서 그걸 또 배워야하는게 아니라, 기존의 빅데이터 활용한다는 Data Scientist들의 역량이 부족하기 때문에, 나아가 빅데이터라는 용어가 잘못 정의되어 있기 때문에 저런 비판이 나왔다고 생각된다. 데이터를 다루는데 통계학을 모른다는 것은 말이 안 되는 이야기인데도 불구하고 통계학은 구시대 기술이라고 폄하하면서 대충대충 배우는 사람들이 많지 않았다면 저런 이야기가 나올 이유가 없었을 것이다.

괜히 새로나온 컨셉이라고 쫄지말고, 지금처럼 통계학 공부만 착실하게 하시면 된다.