Gossip: What is Data Science?
데이터 과학은 '데이터 문제를 해결'하는 것이 아니다. '데이터로 문제를 해결'하는 것이다. 편의상 ‘데이터 문제’라는 표현을 종종 사용했지만, 이는 데이터를 이용하고 그 속에 숨은 의미를 찾기 위해서 수학이나 논리, 알고리즘을 적용해서 해결하는 문제를 뜻한 것이지, 단지 잘 알려진 알고리즘을 잘 정제된 데이터에 적용해서 어떤 수치를 얻어내는 문제를 뜻한 것이 아니다. 크게 보면 잘 정리된 방법론이 존재하는 듯하지만 또 문제와 상황을 자세히 검토하면 정해진 순서라는 게 존재할 수 없는 게 데이터 과학이다. 주변에 스스로 데이터 과학자라 칭하면서 그저 잘 정의, 정리된 데이터에 유명한 알고리즘을 기계적으로 적용하는 이들을 간혹 본다. 특히 state-of-the-art 방법론을 매우 좋아햐는 경향이 있다. 현존하는 가장 뛰어난 알고리즘을 사용하고 있다는 자부심 정도일까? 그냥 아무 생각 없는 바보에 불과하다. 데이터가 문제가 아니라 문제를 해결하기 위해서 데이터가 필요한 거다.
데이터로 문제를 해결하는 것과 그저 유명한 알고리즘을 데이터에 적용하는 것은 — 긴 설명이 필요 없이 — 그냥 다르다. 유명한 알고리즘을 내 문제에 적용하면 좋은 결과를 가져올 가능성은 높다. 이를 부인할 수는 없다. 다만 그 알고리즘이 내 문제에 가장 적합한 것인지 여부는 판단할 수 있어야 한다. 문제에 대한 고민이 가장 우선이고, 그 결과 이를 해결하기 위한 적합한 데이터를 정의, 수급하고 그 속을 파헤치기 위해서 알고리즘을 검토해야 한다. 물론 인류의 지혜가 집약된 가장 최신의 알고리즘이 가장 좋은 방법으로 판정될 가능성이 가장 높다는 걸 부인하지는 않는다. 다만 그 결론에 이르는 과정이 무시돼서는 안 된다는 얘기다. 간혹 A라는 알고리즘을 사용해서 문제를 해결했습니다라는 얘길 듣는다. 그러면 왜 그 알고리즘을 사용했고 어째서 그 알고리즘이 잘 동작했나?라고 되물었을 때 만족할만한 답변을 얻은 적이 별로 없다.
최근 다양한 알고리즘들이 등장하고 — 어쩌면 딥러닝 이후에 새로운 알고리즘이란 게 존재하기는 했는지가 의문임 — 다양한 실제 데이터를 사용할 수 있게 되면서 데이터 과학이 좀 더 저변화됐다. 10여 년 전에는 그 영애를 넷플릭스에게 돌리겠지만, 최근에는 카글 Kaggle의 영향 크다. 경력이 길지 않거나 전무한 지원자들을 인터뷰해보면 카글을 통해서 데이터 과학을 익힌 사람들이 대부분이다. 그런 점에서 카글의 공로를 인정한다. 하지만 다른 측면에서 보면 카글이 데이터 과학을 망치고 있다. 이미 잘 정의된 문제와 잘 정제된 데이터에서 그저 수치적 높음만을 추구하고 있다. 이 문제가 어떤 문제이고 왜 생겨났는지 그리고 주어진 데이터를 어떤 고민에 의해서 제공되는지에 대한 사고보다는 그저 최신의 알고리즘을 — 그리고 가능하면 복잡하게 — 적용해서 어떤 평가 메트릭에서 고득점을 얻는 것에서 끝난다. 그 문제와 데이터를 제공한 측에서는 다양한 사람들의 다양한 시도를 보면서 소기의 성과를 얻었겠지만, 그걸 향해 돌진한 개미들은 허울 좋은 카글 몇 등이라는 타이틀 — 그래서 이력서에 수상 경력 한 줄 — 을 얻은 것 외에 실질적으로 데이터 과학자로 성장했다고 말하긴 어렵다.
‘사람 있고 돈 있지 돈 있고 사람 있냐?’라는 표현을 종종 듣는다. 똑같이 문제 있고 데이터와 알고리즘이 있지, 알고리즘을 위해서 문제가 존재하는 것이 아니다. 데이터 과학자라고 해서 무조건 데이터로 문제를 해결해야 하는 것도 아니다. 복잡한 알고리즘으로 문제를 해결하는 데이터 과학자는 삼류 (하수)고, 간단한/쉬운 로직 또는 휴리스틱으로 문제를 해결하는 데이터 과학자는 이류 (중수)고, 데이터 없이도 문제를 해결하는 데이터 과학자는 일류 (고수)다. (나는 이류 정도는 될 듯ㅎㅎ) 다양하고 어려운 알고리즘들을 많이 알고 잘 다루는 것은 데이터 과학자로서 좋은 무기를 많이 보유한 것과 같다. 하지만 알고리즘을 잘 다룸으로써 장인 (테크니션)이란 타이틀은 얻을 수 있지만 아티스트란 칭호를 얻을 수는 없다. (기술을 예술적으로 다룬다면 ㅇㅈ) 좋은 무기가 좋은 데이터 과학자를 보장하지 않는다. 진정 고수는 맨손으로도 호랑이를 잡는다. 현실적인 데이터 과학자라면 문제에 적합한 도구를 잘 활용해야 한다.
나를 포함한 많은 저자들이 데이터 과학자의 필수 능력치로 도메인 지식, 수학 지식, 그리고 프로그래밍 기술을 공통적으로 꼽는다. 현실적으로 도메인 또는 비즈니스 지식은 사회/회사 생활이란 경험을 통해서 얻는 경우가 많다. 생물학이나 금융 등을 전공하다가 나중에 데이터 과학자로 전향하면서 수학과 개발 언어를 익히는 경우도 왕왕 있지만, 보통은 수학과 컴퓨터를 전공하다가 회사에 들어가면서 도메인을 익힌다. 현장 경험 없는 어린 친구들에게서 현상을 읽고 문제를 찾아내고 정의하는 능력을 기대하는 것은 문제가 없다 할 수 없다. 하지만/그렇기 때문에 문제를 더 깊이 고민하고 이해하려는 노력을 전략적으로 익혀야 한다. 사람에 따라서 -- 언젠가는 -- 자연스레 익혀지기도 하지만, 나쁜 버릇이 들기 전에 문제를 진지하게 대하는 태도부터 배웠으면 한다.
글이 결론으로 향하지 않고 딴 길로 계속 세는 바람에 급하게 마무리… 원래는 다른 기술적인 글(들)을 준비하고 있었지만 최근 팀에 들어온 인턴들을 생각하며 문득 데이터 사이언스 또는 데이터 사이언티스트에 관해서 고민하게 됐다. 내가 전적으로 맞다는 건 아니다. 어린 친구들이 길게 그리고 높게 갔으면 좋겠다.