Learning & Reasoning

데이터사이언스, 머신러닝, 통계학, 빅데이터가 어떻게 모였나?

이현봉 2014. 2. 26. 22:22

스탠포드 T. Hastie 통계학 교수가 사람들에게 처음엔 자신이 통계학을 한다고 하다가, 나중에는 Machine Learning, 근래에는 데이터 사이언스를 한다는 얘기를 듣고 Tibshirani 교수의 머신러닝 vs. 통계학 용어집 생각이 났다.

glossary.pdf

Tibshirani 교수님의 용어집에 조금 문제가 있는데, 머신러닝에서도 모델, test set performance, classification, clustering이라는 말을 무지 일반적으로 사용한다.  Fitting이라는 말은 그래픽스나 solid modeling 과목에서 B-Spline, NURB 같은 것을 할 때 지겹도록 많이 쓰던 용어이고.  Regression이나 density estimation 같은 말은 안 쓴 것 같다.

100% 사실은 위 두 교수님들이 쓰신 stat learning같은 교재는 완전 machine learning 교재로 쓸 수 있다는 점이다방법에 있어서 차이가 없다두 분야가 다른 것은 출발점과 목적이다데이터 사이언스, 빅데이터 모두 데이터라는 말이 들어간다. 통계학은 데이터 자체를 다루는 분야다따라서 데이터 사이언스나 빅데이터에 대해 본질적으로 관계가 깊어야한다.

인공지능은 전산학(CS) 시작과 함께 있었고 그 주요 요소인 학습도 그랬다.  하지만, 지금과 같은  Machine Learning(ML) 1980년도 즈음에나 본격적으로 연구되었고, 그 바탕은 전부터 전기전자에서 패턴인식, 신호처리, 통신 , 자동제어, 레이다/소나시스템에서 매우 널리 쓰이던 내용이다미국, 소련같은 나라가 서로 으르렁거릴 때 똘똘한 친구들에게 돈 많이 주고 하라고 했으니 좋은 결과도 많이 나왔다

CS 특히 인공지능(AI)하는 사람들의 특성이 AI 만들기에 유용할 것 같은 이론이나 기술들을 전혀 꺼리낌없이 다 갖다 쓰는 점이다이 말은 어떤 배경을 갖고 있는 사람도 AI를 할 수 있다는 말도 된다실제로 전산, 전자, 생물학, 수학, 철학, 심리학은 물론이고 뇌신경세포간의 정보처리를 양자역학으로 묘사하는 시도도 있었다.  80년대 중반 즈음부터 CS에서 인공지능의 주요 요소인 학습에 당시 패턴인식이라고 불리던 기술들을 이용하기 시작했다신경회로망도 이 때 많이 인기를 끌었다.  

CS에서 ML을 한 이유는 데이터분석이 아니다지능 그 자체를 만드려는데 쓸 목적이었다고객 데이터를 분석해 어떤 고객이 캠페인에 더 잘 반응할 것 같아 그들에게 쿠펀을 보내면 돈을 더 많이 벌 수 있을까를 생각하며 시작한게 아니다물론 예전 전기과 선배들도 그런 꿈 꾸지 않았다. 90년대 들어 CS에서 ML이 생각보다 인공지능 만드는데 그리 도움이 안된다는 생각이 널리 퍼져, 이제껏 익힌 이 재주를 그럼 어디에 쓸 수 있을까 궁리하다 나온 것이 옆 방 Data Base와 눈맞은 Data Mining(DM)이다

이렇게 Data Mining은 그 시작부터가 좀 데데하다처음에 얼마나 헛소리같이 들렸는가 하면, 태고적부터 전기전자 선배들이 유사한 기술로 데이터분석을 하고 있었지만 그 데이터는 거의 다 신호였다신호는 물리적 데이타다그런데 DM은 사람들로부터 수집한 데이터들에 많이 적용된다고 한다. 어찌 그런 경박한 데이터를 믿을 수 있나데이터수가 아보가드르수 정도의 숫자도 아니고, 게다가 샘플링한 것이라 하니

전기전자에서 샘플링한다는 것은 아나로그 신호를 어떤 Nyquist rate로 디지털 샘플링함이다디지털 샘플링을 하는 이유는 디지털로 만들어야 컴퓨터로 고급 처리을 할 수 있기 때문이다이때 아나로그 신호가 통계학에서 말하는 population이다. 높은 Nyquist rate로 샘플링할수록 더 충실히 원래 아나로그 신호를 모사하지만 컴퓨터 성능이 안되고 돈이 많이 드니 필요한 정도로만 한다신호는 널려있는데 신호처리 능력이 안되는 것이 문제다그리고 이런 신호들은 그 자체로 변덕을 안부린다. 특정 물체에 특정 레이더파를 쏘면 매번 똑같이 반응이 나온다.  DM 나아가 통계학에서 비물리적인 population을 샘플링하면서 초래되는 모든 이슈, 그리고 이를 극복하기 위해 생겨난 많은 기술들이 물리적 데이터를 다루는 사람들에게는 대부분 무관한 내용이다통계학에서 검증을 하고, resampling을 할 때 전기전자 친구들은 그럴 여유있으면 심플하게 Nyquist rate를 올린다. 이런 환경에서 성장한 사람들이 인간적, 경제/경영 데이터를 다루는 DM ML 알고리즘을 적용한다고 들었을 때의 황당함이란데이터마이닝한다고 하면 당시엔 좋게 생각해줘야 "뭘 좀 모르는 친구" 이고 비판적으로 생각하면 "사기꾼" 이었다. 하지만 ML이 원래부터 지능ž학습을 이루기위함이기에 DM이 많이 다루는 비정형적이고 변덕 많은 데이터에 대해서도 그럭저럭 작동한다는 것을 인정하게 되었다. 이렇게 ML Data Science와 인연을 맺기 시작했다.

머신러닝에서 시작한 사람들은 통계학의 어려움을 모른다. 처음엔 이해도 못한다샘플링부터 다르다통계학은 데이터를 구하기가 퍽 어렵고, 그나마 그리 믿을 만하지 않다는 가정에서 출발한 것 같다. 데이터를 소중히 다루고, 의심을 하면서도 믿을만한 것을 추리고, 거기에서 유용한 정보를 가능한 쥐어짜내도록 발전했다. 그래서 머신러닝보다 더 엄밀하고 조심스럴지 모른다그처럼 노력하고도 통계학 사람들이 툭하면 통계적조작, 통계적착시 그런 소리를 듣는 것이 안됐다한편, 단순하게 설명가능한 모델로 데이터를 보려하는 통계학자들의 노력은 인정하지만, 머신러닝 사람들은 근본적으로 이 접근이 틀렸다고 생각한다. 학습이라는 개념 자체와 안 맞는다고 생각한다. 모델이나 가설이 먼저 있고 그것에 수집한 데이터의 분석 결과가 합당하냐, 하지 않느냐를 따지면서 학습이 진행된다고 생각하지 않기 때문이다. 통계학에서 언제부터 학습에 대한 열의가 생겼는지 궁금하다. 

ML이 궁극적으로 강력한 AI에 큰 돌파구가 될 것이라 생각하는 사람들이 이젠 많지 않다.  그렇지만 작은 AI에는 쓸 만하다고 생각한다. 데이터만 충분하다면.

The Unreasonable effectiveness of data.pdf

빅데이터시대를 연 것이 구글이다. 전세계 수백억이 넘는 URI 노드들로 웹 그래프를 만들고, 그것을 이용해 centrality들을 구했고, 유용성을 보였고, 웹을 먹었다구글을 보고 그런 거대한 빅계산을 할 용기도 배웠다. 판도라상자가 열렸다.  Page, Brin, Bezos 이 친구들의 배경이 모두 머신러닝이다. 이후 빅데이터를 취해 빅컴퓨터로 적당한 알고리즘을 돌리면 또 다른 구글이 될 수 있다고 생각하는 사람들이 많이 생겼다문제는 what 빅데이터, what 빅컴퓨터, what algorithm이다

빅데이터 분석의 효용성 중에 데이터 예외치들과 오류들의 영향이 크지 않다는 것이 있다기본적으로 맞는 말이다하지만 빅데이터 시대에는 또 역시 빅데이터 규모와 속도에 걸맞은 합리적, 비합리적인 데이터들의 전파, 동조도 발생한다아무리 데이터가 많더라도 조심스런 접근, 심도 있는 분석과 판단, 빅브레인이 필요한 이유