데이터마이닝 - Data mining

개요 - overview

금광에서 귀금속을 채광하는 것과 같이 데이터로부터 가치있는 무엇인가를 찾는 일을 데이터마이닝이라고 말한다. 채광이 영어로 “Mining"이며 데이터에서 가치 있는 것을 찾아내기 때문에 “Data Mining"이라고 조합해서 용어를 만들었으며 “자료채굴” 또는 “가치채굴”이라고 하지 않고 흔히 영어 표현 그대로 데이터마이닝이라고 부른다.

가치 - value

데이터마이닝에서의 “가치”라는 단어는 정의가 매우 중요한데 가치라는 단어는 그 자체로는 의미가 매우 광범위하여 확대 해석하거나 곡해할 여지가 매우 많다.

데이터마이닝에서의 가치란 데이터로 부터 찾아낸 어떤 사실과 그것을 기반으로 모형을 만들어 비즈니스를 개선하거나 비즈니스 아이템까지도 창출하는 것을 가치의 범주에 넣는 것이 일반적이다. 즉, 돈이 되는 비즈니스 모델을 만들거나 비즈니스 모델을 획기적으로 바꿀 수 있는 것까지도 상상하게 되는데 그런것까지 할 수도 있겠지만 그럴 수 있는 경우와 성공한 사례는 그리 많지 않다.

기술적인 관점에서의 데이터마이닝에서 말하는 가치란 데이터로 부처 찾아낸 통찰(insight)을 검증과 확신을 거치고 만든 기술적 모델과 모델의 실제 적용까지를 말한다. 즉, 모델을 작성하는 것 뿐 아니라 모델을 전개하고 결과를 확인해서 개선을 해야 하는 것까지이다.

데이터마이닝의 기술 분류

데이터마이닝에서 기술할 수 있는 알고리즘이나 단위 연구 분야는 대략 아래와 같이 분류할 수 있다. 여기서 패턴 인식의 경우 데이터마이닝에 포함되는 것이 아니라 동급의 범주로 분류할 수 있다. 하지만 기술을 공유하는 것이 많아 원래 계열이 다르지만 같이 포함했음을 알려둔다.

데이터마이닝과 패턴인식에서 공통으로 다루는 기술은 주로 기계학습(Machine Learning)의 기술들이다. 데이터마이닝의 모든 기술이 기계학습은 아니지만 상당수가 기계학습이다.

인공지능, 패턴인식, 기계학습, 데이터마이닝이 모두 공유 되는 기술 영역은 기계학습 관련내용이고 기술의 원리나 공리를 상당히 많이 공유하고 있기도 하다.

추천 시스템 (Recommendation System)

흔히 생각할 수 있는 온라인마켓에서의 상품추천등을 해주는 시스템이나 모형을 말한다. 가장 많이 알려진 것이 비슷한 속성을 가진 사람들이 많이 구매한 제품을 아직 제품을 구매하지 않은 비슷한 유형의 사람들에게 추천하는 개념이다. 결과적으로 보유한 상품(Product Inventory)을 더 잘 팔도록 하는 것이다. 널리 알려진 알고리즘은 다음과 같은 것이 있다.

  • Collaborative Filtering
  • LDA 추천시스템의 목적이 추천을 잘 해서 상품을 잘 팔아사 이윤을 창출하는 것이다. 즉 돈과 관련된 문제로 추천시스템의 대상은 보통 사람을 대상으로 하게 되며 사람은 돈문제에 있어서는 항상 많은 생각과 고려를 하고 민감한 반응을 하기 때문에 쉽지 않으며 고려해야 할 사항이 많다. 단순히 좋은 추천 알고리즘을 선택해서 추천 시스템을 만든다고 해서 추천시스템이 항상 성공하지 않는 것은 사용자의 반응과 관련된 문제이기 때문이다.

분류 (Classification, Supervised Learning)

예측(Prediction)의 한 범주로 데이터를 자동으로 분류하는 것을 말하는데, 흔히 예로드는 것이 신용대출 평가시스템에서 고객의 정보를 기반으로 연체가 일어날 고객인지 아닌지를 분류하는 등과 같은 문제를 해결한다. 대부분의 데이터마이닝 모델에서 선호하는 방식으로 정확도를 추정할 수 있는 방법이 있으며 해석하는데 큰 부담이 없다. 널리 알려진 알고리즘은 다음과 같다.

결정 나무(Decision Tree)

“결정 나무” 또는 “결정 트리”라고 부르기도 하지만 너무 어색하기 때문에 “디씨젼 트리”라고 원어를 그대로 읽는 경우가 많다.

지지벡터기계(Support Vector Machine)

지지벡터기계라고 부르지는 않고 “서포트 벡터 머신” 또는 “SVM"이라고 원어를 그대로 읽는다.

최근접이웃(K-Nearest-Neighbor)

“KNN"이라고 읽는다. 최근접이웃이라는 단어가 주는 어감이 썩 와닿지 않으며 어색하기 때문이다.

지정한 데이터 포인트와 근접한 데이터포인트 K를 보고 다수결로 지정한 포인트의 속성을 판단하는 방법이다. 굉장히 로버스트(robust, 튼튼하며 무식한)한 방법이지만 연산량(computation power)가 많이 소모된다는 단점이 있다.

데이터 포인트가 많아지면 많아질 수록 가장 가까운 K개를 찾는데 연산자원을 많이 사용하게 된다.

회귀 (Regression)

전통적인 통계에서 말하는 회귀분석의 계열을 말한다. 회귀는 그 범위와 활용도가 가장 높으며 가장 원초적이며 궁극의 모형 중 하나이다.

베이지안(Bayesian)

확률 기반의 모형이다. 로버스트하지만 깊이 들어갈 수록 난이도가 높아진다.

앙상블모형(Ensemble Model)

앙상블 모형은 여러 모델을 합친 것을 말한다. 같은 종류의 모형을 여러개 결합해서 판단하게 되는데 병렬로 결합하기도 하고 직렬로 결합하기도 한다. 보통은 병렬결합이나 혼합결합도 있으며 직렬결합이 더 어려운 기술이다.

군집화 - Clustering, Unsupervised Learning

군집화는 학습데이터(Training set)을 사용하지 않고 주어진 데이터를 구분하는 것을 말한다.

학습데이터를 사용하지 않기 때문에 원하는대로 분류가 되지 않을 수 있다는 단점이 있으며 반복작업을 통해 적절하게 분리된 것을 찾아야 한다는 문제점이 있다.

대표적인 알고리즘으로는 다음과 같은 것이 있다.

K중심값(K-means)

“케이민즈”라고 읽는다.

계층군집화(Hierarchical Clustering)

방식에 따라 크게 2가지로 구분하는 경향이 많다.

  • top-down 방식
  • bottom-up 방식

군집화는 패턴인식 분야에서는 벡터양자화(Vector Quantization)라고 부르기도 하며 대표적인 벡터양자화는 K-means이다. 벡터양자화는 패턴인식의 용어이며 K-means를 흔히 동영상 압축에도 사용하기 때문이다. 군집화는 일종의 압축 또는 요약 기술이라고 볼 수 있다.

연관규칙 - Association Rule

규칙을 찾는다고 하지만 패턴을 찾는 것이고 패턴을 찾는 다는 말은 공통으로 출현한 아이템을 찾는다는 말이다.

공통으로 출현한 아이템들은 서로 연관관계가 있다는 의미이며 이 연관관계는 correlation을 의미하는 것은 아니다.

시간에 따른 선후관계를 볼 수도 있으며 이 경우 연산량이 많아진다. 장바구니 분석(Market Basket Analysis)으로 많이 알려진 것으로 흔히 마트같은 곳에서의 기저귀와 맥주의 연관성에 대한 예로 많이 언급된다. 아이템 중에 같이 출현하는 것을 찾아내고 이런 것들이 서로 연관성이 있을 것이라고 생각하는 분석 기법이며 이것을 활용해서 상품을 추천하거나 매장의 진열을 바꾸거나 새로운 상품을 구성하는데 이용한다. 널리 알려진 알고리즘으로 다음과 같은 것들이 있다.

  • Apriori(“에이 프라이어리”라고 읽는다)
  • FP-growth(FP-tree라고도 한다)

네트워크 분석 - Network Analysis

네트워크 분석은 데이터마이닝갈래에 넣기는 하지만 자체로 범위도 넓고 복잡해서 최근에는 별도로 구분해서 다루는 경향이 많다.

텍스트 마이닝 - Text Mining

텍스트 마이닝이 데이터마이닝에서 빠질 까닭이 없다.

패턴인식 - Pattern Recognition

주로 공학적으로 문제를 해결하는데 쓰이는 데이터처리 기술 및 인공지능 기술을 통칭하는 것이다. 데이터마이닝과도 연관이 있으며 일부 기술은 겹치긴 하지만 데이터에서 가치 있는 것을 찾는다기 보다는 기계학습을 통해 무엇인가 색출하거나 판별하는 원초 기술에 더 집중하는 분야이며 흔히 기계공학, 로봇공학, 전자기기 등의 산업과 결합된 기술분야이다.

  • 신호처리
  • 얼굴인식
  • 이미지분류
  • 영상분류
  • 영상압축
  • 행동인식
  • 센서데이터처리

등과 관련된 모형등을 만드는 것을 중점적으로 다루는 분야이다. 데이터마이닝에서 사용하는 기술들이 함께 쓰이고 알고리즘이나 모형을 만드는 기법들이 같이 사용되어 분류하는 것이 모호하나, 주로 대상이 되는 데이터가 기계로 부터 발생되며 이런 데이터를 고속으로 처리하는데 중점을 둔다. 실생활에 가장 많이 알려진 것은 대표적으로

  • 광학문자 판독 - OCR
  • 군사 기술(미사일 추적 이나 레이더 등등 매우 많다)
  • 얼굴 인식(안면 인식)
  • 동영상 인식
  • 음성 인식

등과 같은 것이 있다.

데이터마이닝의 현실적인 문제점

데이터마이닝은 단어 그 자체가 주는 환상적인 느낌 때문에 기반지식이 없는 비전문가에게는 공상과학 소설에서나 나올 법한 상상을 안겨주기 쉽지만 실상은 그렇지 않기 때문에 환상을 깨는 것이 먼저 필요하다.

IT비용의 문제

데이터마이닝은 일반적으로 데이터가 분량이 많고 분석을 수행하면 쓸만한 사실들이 도출되고 잘만 하면 어떤 모형까지도 만들어 자동화하여 서비스를 만들거나 현재의 비즈니스를 고도화할 수 있을 것이라는 기대에서 시작한다. 하지만 실제로는 시간이 매우 많이 소요되고 단기간에 성과가 나오기 어렵다는 것이 문제이며 대부분 전공자가 아니면 이런 부분을 간과하여 실패하는 경우가 많다.

데이터마이닝은 소량의 데이터가 아닌 많은 양의 데이터가 있다는 전제로 시작하는데 여기서 많은 양에 대한 정량화된 기술적인 기준은 없으며 많으면 많을 수록 좋다는 전제로 시작한다. 즉, 데이터를 보유하고 있어야하며 데이터를 보유하고 있다는 것의 의미는 기존의 데이터가 운영과정을 거쳐, 적재, 기초 통계, 기초 분석등이 수행되고 있다는 것을 말한다.

비즈니스 창출의 문제

데이터마이닝이 데이터를 처리하여 어떤 사실을 발견하고 비즈니스에 활용하는 것을 기본으로 한다고 하지만 비즈니스 전략자체를 다 만들어 주는 것은 아니다. 비즈니스 전략을 뒷받침하고 전술을 찾아주는 것이 데이터마이닝 또는 데이터사이언스의 최종 목표이다. 하지만 현실저으로 새로운 비즈니스에 대한 단위 아이템을 만들어 줄 수 있으나 비즈니스의 전략을 바꾸게 하는 경우는 매우 드물고 시행착오와 결정이 필요하다. 온라인기업이 아니 경우 기업의 운영 구조나 문화등에 따라 그렇게 되는 경우는 많지 않다. 흔히 가지는 환상으로 데이터마이닝을 수행한 후에 바로 비즈니스 아이템이 창출되리라고 상상하는데 이는 매우 위험한 것인데 현실에서는 환상을 가진 사람들이 많으므로 실제 업무에서 커뮤니케이션을 할 때 매우 세심한 주의가 필요하다.

프로젝트를 수행할 때 비즈니스 아이템에 대한 제안은 할 수 있지만 비즈니스 아이템이 도출된다는 말은 매우 위험한 결과를 초래할 수 있다.