[Data Science] 인사이트(Insight)! 다시 기본으로


개요

본 포스팅은 시리즈로 계획되어 있으며, 인사이트와 기본의 중요성을 다시금 새기고 긴 여정의 출발에 대한 각오를 다지는 글입니다. 차후 EDA, CDA 등 데이터 분석을 통해 인사이트를 도출하고 모델링을 거쳐 예측 및 설명의 자동화에 이르기까지 전체 과정을 실무에 즉시 적용할 수 있도록 기술해 나갈 예정입니다.

인사이트(Insight), 다시 기본으로


데이터 사이언스, 빅데이터 분석의 최종 목적은 인사이트 도출일 것이다. 우리는 인사이트를 도출해야 하는 분명한 목표를 가지고 있음에도 때로는 목표를 잃고 방황하여 모델의 파라미터 수치를 최적화하는데 집중하기도 하고, P, Z, T값 등을 분석하는데 혈안이 되기도 하며, DQN 등 새로 등장하는 기술을 수학적으로 해석하려고 하거나, Tensorflow, Keras 코드 구현에 집중하며 우리가 왜 이것을 만들고 있는지 망각하기도 한다.

물론 이런 현상이 나 자신에게 부여된 임무가 데이터 엔지니어나 비지니스에 특화된 데이터 분석에 한정되어있다면 큰 문제가 없을지도 모르나, 데이터 분석 조직 전체에서 각 역할을 책임지는 구성원들이 한곳의 목표의식 즉, 인사이트를 구체적으로 이해하고 바라볼 수 있다면 조직이 발휘할 시너지와 역량이 더욱 커져 목표 이상의 성과를 내는데 큰 도움이 될 것이라 생각한다. 그렇기 때문에 그 어떤 분석기법과 수학적 모델링 구현을 넘어 가장 중요한 것은 기본기. 즉, 쉽고 구체적이고 정량화된 인사이트 도출일 것이다.

이 글은 필자가 데이터 분석을 하는데 있어 - 분석 목적이 업(業)에 있든 사적인 목적에 있든간에 - 실무를 해결하기 위한 직접적인 방법론을 기술하고, 당초 수립한 목표(관심사)를 잊지않기 위한 반면교사로 삼고자 작성하는 글이다.

인사이트(Insight)


인사이트.. 만능 키워드이다. 단어만 언급해도 차도남이 된 것 같고 뭔가 멋있어진 느낌이다. 중요한 것도 알겠고 이게 우리의 목표인 것 또한 알겠는데, 도대체 어떻게 얻을 수 있을지 생각하기 시작한 그 순간부터 왠지 부담되고 별로 친해지고 싶지 않은 마음이 든다.

인사이트를 사전에서 찾아보면 “통찰력”이라고 번역되며, 통찰력은 “사물을 통찰하는 능력”이라고 표기되어 있다. 하여 필자는 특정 분야에 대하여 전체 현상을 이해하는 능력으로 가장 효율적인 방식을 판단할 수 있음은 물론 미래 예측에 도움이 되는 능력이라고 스스로 정의하고 있다.

이를 조금 더 구체적으로 빅데이터 분야와 연관지어 본다면 인사이트가 도출될 경우, 전부에 가까운 데이터에 존재하는 패턴을 인식할 수 있기에 향후 의사결정의 방향을 정하는데 결정적인 역할을 담당하게 될 것이라 생각한다. 구성원들이 숲을 보지 못하고 나무만 바라볼 때 우물안에서 개구리를 꺼내주는 역할을 담당할 것이다.

너무 추상적인데.. 보다 구체적으로!


구체적인 예시를 통해 데이터 분석에 쓰이는 인사이트의 개념을 익혀보자.

    "10일 이내 친구 7명을 사귄 사용자는 서비스를 오래 이용한다."

Facebook의 인사이트이다.

세계 트렌드를 이끄는 실리콘밸리 굴지의 기업, 그리고 거창하고 멋있는 인사이트라는 단어와는 사뭇 다르게 뭔가 조촐하지 않은가? 초딩도 이해하기 아주 쉬운 문장이므로 약간의 의구심이 든다.

하지만 의외로 유용한 인사이트는 굉장히 심플하다. 그래서 모든 구성원들이 목표를 정확하게 이해할 수 있게된다. 덕분에 구체적으로 컨트롤하고 싶은 관심사를 분명히 인지할 수 있다.

위의 인사이트가 발견되기까지 Funnel Model 등을 통해 페이스북 결제페이지 도달까지의 유입 경로를 사용자 관점에서 분석하였을 것이다. 더불어 10일, 7명과 같은 구체적화 된 숫자에(정량화, 계량화 되었다고 한다.) 주목해보자. 구체적인 수치가 나오기까지 얼마나 많은 데이터가 전처리되고 시각화 되었을지 생각한다면 데이터분석의 실제가 어느정도 보일것이다.

페이스북의 인사이트를 바라보며 사실 우리가 실무에서 맞닥드리게 될 대부분의 전투는 머신러닝 알고리즘을 어떻게 사용할까도 아니고, 수리통계학을 이용해서 데이터 특성을 반영한 멋진 수식과 모델을 세우는 것도 아니라는 것이다. 오히려 완벽주의 또는 범죄를 수사하는 탐정에 가까울 정도로 수집된 데이터의 측정시기와 배경조사, 본질파악, 오류가능성, Feature 엔지니어링, 전처리 등 디테일과의 싸움의 연속과 맞닥드리게 될 것이다. 전처리

학사 vs 석박사

데이터 사이언스 분야의 커리어로 전환하고 싶다는 마음에 관련 채용시장을 조사해보았다. 최근 몇년간 재미있는 구인구직 트렌드 변화를 몇 가지 발견하였는데 최소 석사 이상을 선호한다는 것, 프로그래머 중심의 채용에서 연구자 중심의 채용, 마지막으로 정작 인재들은 그토록 핫한 데이터 사이언티스트의 시장을 걷어차고 보다 딥러닝의 세상으로 도망(?)가는 느낌이 들었다는 것이다. (어디까지나 필자의 주관적인 생각이다.)

이런 현상이 시사하는 바가 무엇인지 나의 상황과 비추어 고민을 해보았다. 적어도 필자와 같이 20년 전 대학을 다니고 학사를 끝으로 취업전선에 뛰어든 사람이라면, 대학원이란 그저 지식의 양과 수준을 조금 더 높이고 인맥 좀 늘리고 커리어 스펙을 한단계 올리는 수단 정도로 생각하기 쉬울 것이다. 필자 역시 마찬가지였다.

필자가 뒤늦게 대학원에 진학하고 싶어 알아본 바 지식의 양이 늘어나는 것은 연구의 최종 목적이 아니라는 것. 지식의 양은 과정일 뿐 최종 목적은 세상에 없었던 지식의 영역을 본인이 최초로 개척해 나간다는 데 있다는 것이다. 인맥이니 커리어니 이런 것들은 사실 다 과정에서 부수적으로 얻는 것이지, 본질이 아니므로 이를 대학원의 목적으로 삼고 진학한다면 좋은 결과를 맞이하긴 힘들겠다는 생각이 들었다. (이때 깨달은 것이 많아 추후 별도 포스팅으로 정리해보겠다.)

대학원과 데이터 분석의 공통점이 있다면 그동안 존재하지 않았던 지식을, 방법론을, 인사이트를 얻어가는 과정이라는 것이다. 그저 미적분 빨리 풀 수 있고 프로그래밍 코드를 빠르게 구현하며 또는 두꺼운 서적을 암기하는 과정이 아니라는 것이다. 즉, 남이 개척해놓은 길을 따라가는 것이 아닌, 남의 개척한 길을 이용해서 새로운 길을 개척하는 것이 이 업(業)의 본질이라는 결론을 얻었다.

그런데 새로운 길을 개척해 나가는 과정이 그저 암기와 단편적인 지식의 결합으로 가능할까? 학사라면 그 정도면 충분했겠지만 석사, 박사의 경우는 완전 다른 방식의 사고가 훈련되어야 할 것이다.

최소 2년 ~ 5년 혹은 그 이상의 오랜시간을 데이터를 직접 특정 수집하며 그 안에 숨은 여러 속성 그리고 상황별로 달라질 수 있는 뉘앙스를 느끼고 변인 통제에 관련하여 시행착오를 여러번 반복하며, 데이터를 느낄 줄 아는 일종의 Sixth sense가 생겼을 것이다. 더불어 통계학 혹은 유사기법을 통해 가설을 세우고 실험을 반복하며 검증, 요약하는 과정을 수없이 반복하며 수많은 고민을 뚫고 사색하여 마침내 학위를 취득하며 연구 능력이 무쇠와 같이 단련되지 않았을까? Ph.D.의미 ※출처 : PhD pitfalls: Part I – The reality of your contribution

그 똑똑한 사람들이 수년동안 고민하며 사색해 온 과정을 학사 출신들이 퇴근하고 몇개월 공부하고 고민한다고 쫓아갈 수 있는 것일까? 이런 이유로 필자는 대학원의 필요성을 느끼고 진실되게 고민을 하게 되었다. 위에서 언급했던 채용 트렌드가 최소 석사 이상으로 이동하는 것, 프로그래머에서 연구자 중심으로 이동한다는 것은 어쩌면 같은 이유이지 않을까?

그리고, 프로그래머 vs 연구자

아마도 기본 연구능력이 없는 상태에서는 데이터 사이언스 프로젝트 수행 시 구성원 간 의사소통 능력이 떨어지고 - 필자 생각으로는 논문을 중심으로 하는 연구 중심의 의사소통 방식은 일종의 별도 언어라고 생각하고 있으며, 한국어나 영어 보다도 더 중요한 인생에서 배워야 할 가장 중요한 언어라고 생각한다. 부끄럽게도 그걸 깨달은 지 5년이 채 안되었다. - 기본적인 통계 및 수학적 지식이 없는 상태에서 새로운 모델을 세우는 것이 가능할까? 프로그래머는 알고리즘 중심으로 데이터 속성의 위대함과 디테일을 경시할 것이고, 연구자들은 프로그래밍 스킬은 본질이 아니라는 것을 강조하다가 계층간 갈등이 생길 우려도 있다.

결코 학사출신 프로그래머 분들을 비하하는 것은 아니다. 그냥 정황을 파악해보며 주관적으로 판단해 본 상상일 뿐이다. 필자 역시 학사 출신 프로그래머이기 때문이다. 스스로 누워서 침 뱉기 하고 싶지는 않다.

하지만 우리 같은 출신들도 데이터 사이언스가 되기 위해 위에서 열거한 데이터의 뉘앙스를 이해하는 능력을 실무에서 키워왔고, 개인 시간을 쪼개어 열심히 수리 통계학을 익혀왔으며, 논문과 연구중심의 의사소통을 위한 스터디를 진행해왔다면…

그동안 우리가 닦아 온 수십년간의 백전노장으로서의 프로젝트의 현실과 실제에 대한 현장감각, 프레임워크 및 패턴의 설계/활용 능력, 수많은 계층과 갈등을 겪으며 발전해 온 의사소통 능력, 프로젝트를 효율적으로 완성시킬 수 있는 프로그래밍 스킬 등을 활용해 더 뛰어난 데이터 사이언티스트가 될 수 있을 것이라 생각한다.

못해도 안드레이 카패시가 작성한 스프트웨어 2.0 같은 멋진 세계에서 활동하는 인재는 되지 않을까?

인사이트(Insight)를 도출하기 위하여

데이터 사이언티스들이 시장을 걷어차고 AI, 딥러닝 분야로 이직이 발생하는 이유 또한 독특한 현상이라고 생각한다. 아마도 데이터가 가진 속성이 너무 다양하고, 적용되는 업무 도메인 분야 또한 다양하며, 데이터 측정 당시 발생하는 본질의 다양성과 사람과의 커뮤니케이션 관계가 한몫하지 않았을까?

딥러닝은 확실히 모델이 이해하기 쉬운 이미 가공된 데이터를 수집하여 활용하며 때문에 영상, 음성인식, NLP 등 한정된 분야에 좋은 성능을 발휘한다. 즉, 위에서 언급한 소프트웨어 2.0과 같은 개념의 프로그래밍 환경이 구성되어있다. 보다 높은 소득을 얻기 쉬운 가시적인 성과를 내기에 투입한 노력 대비 효과가 분명하다.

다시 데이터 분석 본연의 관점으로 돌아와 보자. 훌륭한 데이터 사이언티스트라면 프로젝트를 효율적으로 실행가능하게 만드는 설계능력과 프로그래밍 스킬은 물론 위에서 언급한 데이터의 뉘앙스를 읽을 줄 알고 연구중심의 의사소통능력을 갖춰야 한다.

그런점에서 가설 > 실험 > 검증,분석,요약으로 이어지는 통계 분석적 접근 방법이 필요하다. 그런데 현실은 가설 하나 건지기도 녹록지 않다.

오히려 일반적인 사업도입 관점으로 접근하여 빅데이터를 도입하겠다는 명분아래 하둡, 스파크, NoSQL, 클라우드 등 인프라 도입을 먼저 추진하며 소득없는 비용을 지출하는 경우가 허다하며, 도입 후에도 업무만 늘어나고 의미있는 인사이트는 발견이 안된다.

왜 그럴까?

이유는 간단하다. 관심있는 목표를 명확히 하지 않았기 때문이다. 관심사를 명확히 설정하고 구체적으로 정량화하여 측정가능한 가설을 세웠어야 하고 그러기 위해 조직 내 심도깊은 고민과 인터뷰, 브레인 스토밍 과정이 생략되었기 때문이다.

심도있는 고민끝에 관심사를 끄집어내고 이를 설명할 수 있거나(즉, 컨트롤하여 향상시킬 수 있는) 예측할 수 있는 수백개 이상의 가설을 모은 후 다음 단계에서 기술할 EDA 과정을 통해 가설을 분석할 만한 가치가 있는지? 데이터는 보유하고 있는지? 보유한 데이터는 정말 우리가 알고 원하는 데이터인지? 등을 확인해가며 최종 의미있는 가설을 채택할 수 있게 될 것이다.

인사이트는 그렇게 디테일한 진흙탕에서 구르며 진주를 찾는 과정이다. 단어의 뉘앙스처럼 그저 깔끔한 양복입고 하늘을 바라보고 드라마 한편 찍다 생기는 것이 아니다.

진정한 인사이트를 얻기 위해 우리는 관심사(목표)가 무엇인지를 명확히 하는것을 시작으로 위에서 언급한 단계를 가급적 모든 구성원이 모든 아이디어(그것이 옳던 그르던)를 총동원하여 꽤 오랜 시간 고민해야 할 것이다.




© 2019.04. by theorydb

Powered by theorydb