[번역] 더 많은 데이터가 더 좋은 알고리즘을 이긴다 #1

[번역] 더 많은 데이터가 더 좋은 알고리즘을 이긴다 #1

이 글은 데이터 마이닝을 공부하던 중, The Mining of Massive Datasets의 저자인 Datawocky의 블로그 글(More data usually beats better algorithms)을 읽고 인상 깊어서 번역한 글입니다. 해당 글은 원 저자에게 허락을 맡고 게시하였습니다.

저는 스탠포드에서 데이터 마이닝 수업을 가르칩니다. 수업에서 학생들에게 간단하지 않는 데이터 마이닝 프로젝트를 진행하도록 시킵니다. 많은 학생들은 넷플릭스챌린지 (넷플릭스가 개발한 영화 추천 알고리즘 보다 더 좋은 알고리즘을 만드는 자가 승리하는 대회)에 도전해 보기도 합니다.

그 대회가 진행되는 원리는 다음과 같습니다. 넷플릭스에서 도전자에게 대량의 데이터를 제공해 줍니다. 그 데이터에는 1만 8천개 가량의 영화에 대해서 약 50만 명의 사람들이 어떤 평점을 매겼는지에 대한 정보가 담겨져 있습니다. 이러한 데이터를 기반으로 평점이 매겨지지 않은 영화에 대해서 사람들이 어떤 점수를 줄 지 예측해야 합니다. 이때, 가장 먼저 넷플릭스가 보유하고 있는 알고리즘 보다 일정 수준 이상(약 10%) 성능을 향상 시키는 팀이 100만 달러의 상금을 가지게 됩니다. 가지각색의 학생들이 이미 나와 있는 방법과 새롭고 신선한 아이디어를 가지고 여러가지 방향으로 문제를 접근해 나갔습니다. 이들 중에, 큰 차이를 보여주는 팀들이 있었습니다. A팀은 넷플릭스 데이터를 가지고 아주 정교한 알고리즘을 만들었습니다. B팀은 간단한 알고리즘을 사용한 대신 넷플릭스가 제공한 정보 외의 추가적인 정보를 덧붙혔습니다.(예를 들어 IMDB(Internet Movie Database)에서 영화 장르와 같은 정보) 어느 팀이 더 잘했을까요?

B팀이 훨씬 더 우수한 결과를 보였습니다. 그들이 넷플릭스 대회의 상위권에 가장 근접하였습니다!! 저는 매우 기뻐했고 그들은 우승에 도전해 보기 위해 알고리즘을 손 볼 예정입니다. 하지만 더 중요한 요점으로는, 통상적으로 독립적인 데이터(independent data)를 더 추가하는 것이 아주 정교하고 잘 설계한 알고리즘을 이용하여 주어진 데이터를 분석하는 것보다 더 잘 동작합니다. 저는 종종 비즈니스나 학계에 종사하는 많은 사람들이 이러한 사실을 잘 알지 못한다는 것에 놀라곤 합니다. 이러한 원리를 잘 설명해 주는 또 다른 예제로써 구글이 있습니다. 많은 사람들은 구글의 성공이 그들의 훌륭한 알고리즘에 있다고 생각합니다. 특히 PageRank 알고리즘이 대표적입니다. 하지만 실제로는 1998년에 Larry와 Sergey가 제시한 두개의 큰 혁신이 검색 분야를 다음 단계의 발전으로 이끌었다고 생각합니다. 그 두개의 혁신은 :

  • hyperlink가 웹 페이지의 인기도를 측정하는데 중요한 치수인 것을 발견한 것. (특정 웹 페이지로 가는 링크를 하나의 투표라 생각할 수 있습니다.)
  • anchor text를 웹 인덱스하는데 페이지 제목과 상응하는 중요도로 이용한 것.

1세대 검색 엔진은 단지 웹 페이지 자체의 텍스트만 사용하였습니다. 추가적인 두개의 정보, 즉, hyperlink와 anchortext의 추가가 구글 검색 엔진을 다음 단계로 끌어 올렸습니다. 페이지랭크 알고리즘 그 자체는 작은 부분입니다. 페이지랭크의 절반 정도 성능을 가진 어떠한 알고리즘이라도 두개의 추가적인 정보를 이용한다면 지금과 비슷한 결과를 보일 것입니다.

똑같은 원리를 이용하여 다른 분야에서 구글이 성공한 것이 있습니다. 바로 AdWords 키워드 경매 모델입니다. 사실 Overture사가 이미 광고주에게 키워드를 경매하는 것이 잘 작동한다는 것을 증명하였습니다. Overture사는 순수하게 광고주들의 입찰 가격만을 이용하여 순위를 매겼습니다. 구글은 추가적인 정보를 더하였습니다. 각 광고주들의 광고에CTR(Click Through Rate – 얼마나 자주 클릭을 하는지의 비율)을 매겼습니다. 그리하여 구글은 입찰 가격과 CTR의 곱으로 순위를 매겼습니다.(실제 AdWords의 초기 모델은 이러하였습니다. 지금은 더 많은 것들을 고려하여 계산합니다.) 이 간단한 변화가 구글의 광고 시장을 Overture사보다 더 효율적이게 만들었습니다. 여기서도 알 수 있듯이 알고리즘 자체는 매우 간단합니다. 추가적인 정보를 더한 것이 차이를 만들어 냈습니다.

정리하자면, 만약 자원이 한정되어 있다면 멋진 기계학습 알고리즘을 정교하게 만드는 것보다는 정보를 더 추가하십시오. 물론 어떤 정보를 당신의 데이터 집합에 추가할지는 잘 판단하셔야 합니다.


포스팅 이후의 추가된 내용들

Update 1: 여러 의견들 감사합니다. 어떤 분들은 흥미로운 사안을 제기하셨습니다. 조만간 해당 사안에 대해서 다시 포스팅하겠습니다.

Update 2: 해당 사안에 대한 후속 포스팅을 하였습니다.

Update 3: 똑같은 관점에서 또 다른 예시가 있습니다: 구글의 이익을 예측하는데에 comSore의 분석보다 많은 데이터와 간단한 수학을 이용하는 것이 더 정확하였습니다.


개인적인 소감

저는 이 글을 읽고 다음과 같은 생각을 하였습니다.

  • 정보에도 빈익빈 부익부 현상이 생길 것이다.
  • 해당 도메인의 지식을 잘 아는 사람이 중요해 질 것이다.

먼저 첫번째 생각, 정보의 빈익빈 부익부 현상에 대해서 생각해 봅시다. 자본주의는 현재 많은 국가에서 채택하고 있는 경제 체제입니다. 하지만 여기에도 문제가 있습니다. 자본의 빈익빈 부익부가 심화되는 현상이 있습니다. 많은 자본을 가진 자본가는 남들보다 더 많은, 좋은 제품을 생산할 수 있습니다. 이로 인해 더 많은 수익을 얻게 되어 결과적으로 더 많은 자본을 가질 수 있게 됩니다.

똑같이 정보화 시대에 맞춰서 생각해 봅시다. Datawocky는 일반적으로 정교한 알고리즘을 설계하는 것보다 많은 데이터를 이용하는 것이 더 정확한 예측 결과를 낳는다고 말합니다. 다시 말해, 많은 정보를 보유한 주체(기업이나 기관)가 더 좋은 서비스를 제공할 수 있다고 볼 수 있습니다. 예를 들어, 더 나은 추천 서비스, 더 정확한 데이터 분류(Google Photo처럼) 서비스 등이 있습니다. 사람들은 더 좋은 서비스를 선택하게 되고 결과적으로 해당 주체는 더 많은 데이터를 얻을 수 있게 됩니다.

이러한 사실로부터, 미래에는 정말로 정보를 갖는 자가 시장을 잡을 수 있다는게 맞는 것 같습니다. 이제는 기업들이 단순히 자신들의 제품 혹은 서비스를 잘 판매하는 것을 넘어 양질의 데이터를 어떻게 잘 모아야할 지도 잘 생각해야 겠습니다.

두번 째, 해당 도메인의 지식을 가진 사람이 중요해 진다는 것을 봅시다. Datawocky는 구글의 검색 엔진이 다음 단계(next level)로 올라선 이유로, 훌륭한 알고리즘이 아닌, 특정 정보(여기서는 하이퍼링크, 앵커 텍스트)를 중요한 정보로 인식할 수 있었던 능력이라고 말하였습니다. 다시 말해, 해당 도메인(여기서는 웹)을 잘 이해하여 데이터의 중요도를 파악하여 중요한 feature를 뽑을 수 있는 능력이 중요해 진다고 볼 수 있습니다. 그렇게 되면 한 분야에서 꾸준히 일을 하여, 그 분야의 특징과 현상을 잘 아는 사람이 중요한 역할을 할 것 같습니다. 21세기 새로운 디지털 장인이 존경 받는 사회가 오지 않을까요? 미래 사회에서 경쟁력 있는 사람이 되기 위해선 IT 기술뿐만 아니라 특정 분야의 장인이 되어야 할 것 같습니다.