이 글은 서울대학교 Open Courseware의 데이터마이닝개론 강의 자료를 읽고 풀어쓴 글입니다.
서울대학교 OCW 홈페이지 -> SNU OPEN COURSEWARE | SEOUL NATIONAL UNIVERSITY
왜 데이터 마이닝인가
오늘날 쏟아지는 데이터에는 지식과 가치가 숨어있다.
생성된 데이터에서 지식을 추출해내기 위해서는, 그 전에 데이터를 저장하고 처리하고 분석하는 과정을 거쳐야한다.
데이터 마이닝은 이 중 '분석' 단계에 집중하는 분야이다.
데이터 마이닝이란
데이터 마이닝은 대용량 데이터에서 패턴과 모델을 찾는 기법과 이론을 의미한다.
이때 분석은 타당성(valid), 유용성(useful), 독창성(unexpected), 이해 가능성(understandable)을 갖추어야 한다.
타당성(valid)은 새 데이터에도 어느 정도 확실하게 적용되어야 한다는 것을 의미하고,
유용성(usful)은 분석 결과를 바탕으로 실행하는 것이 가능해야 한다는 것이다.
독창성(unexpected)은 시스템에 영향을 주지 않아야 한다는 것이며,
마지막으로 이해 가능성(understandable)은 데이터를 사용하는 사람이 도출된 패턴을 이해하고 해석할 수 있어야 한다는 것이다.
이를 바탕으로 데이터 마이닝을 할 때는 늘 데이터의 의미(meaningfulness)를 고려해야 한다.
의미있는 데이터에서 그에 맞는 분석을 도출하는 것이 아니라, 의미없는 데이터에서도 일정한 패턴을 발견할 수 있는데 이를 주의하라는 것이다.
통계학에서는 이를 본페로니 원리(Bonferroni's principle)이라고 한다.
데이터셋이 커지면, 패턴이 없는 무작위적인 현상의 데이터에도 규칙성이 더 자주 관측될 수 있다.
본페로니 법칙(Bonferroni's principle)은 현상에서 실제 규칙성을 판단하는 기준을 세우도록 돕는다.
이 기준은 N_find < N_random이면, N_find에 소요된 패턴은 의미없는 패턴이라는 것이다.
이때 N_find는 어떤 명제에 대해 데이터 분석으로 얻어낸 패턴의 경우의 수이고,
N_random은 어떤 명제에 대해 랜덤 패턴으로 뽑아서 얻어낸 경우의 수를 의미한다.
데이터 마이닝에는 두 가지 유형이 있다.
첫째는 현상을 기술하기 위해 분석하는 과업이다(Descriptive method)
클러스터링과 같은 기법을 사용해서 현재 있는 데이터를 설명하는 패턴을 찾아내는 일을 말한다.
둘째는 예측을 위한 과업이다(Predictive method)
이 과업에서는 추천 시스템과 같이 현재 데이터를 이용해서 미래를 예측하고 미래에 취할 행동을 결정한다.
데이터 마이닝의 주제
데이터 마이닝에서는 고려할 척도가 많다.
우선 데이터의 사용(usage), 질(quality), 맥락(context), 흐름(streaming), 확장성(scalability) 부분에서 도전적일 수 있다.
또한 데이터 조작(operator)에서 데이터를 수집하고(collect), 처리하고(prepare), 표상하고(represent), 모델링하며(model), 추론하고(reason), 시각화(visualize)하는 것이 필요하다.
데이터 모델의 질을 위해서는 데이터에 대해 합의된 개념(ontologies)과 구조화됨, 네트워크, 텍스트, 멀티미디어, 시그널 등이 고려되어야 한다.
이렇게 복합적인 데이터 마이닝은 데이터베이스, 머신러닝, 그리고 컴퓨터공학 이론에 기반을 두고 있다.
데이터베이스는 쿼리, 확장성 있는 데이터를 다룰 때 등장한다.
머신러닝은 작은 데이터로도 복잡한 모델을 만들어낼 때 주로 쓰인다.
컴퓨터공학 이론이 데이터마이닝의 알고리즘 전반에 응용된다.
그래서 어느 쪽에서 데이터마이닝을 보느냐에 따라 데이터마이닝의 의미가 달라지기도 한다.
예를 들면, 머신 러닝 분야에서는 데이터 마이닝이 모델을 만들기 위한 전 단계일 수 있으며,
데이터베이스 분야에서는 분석을 진행하는 단계일 것이다.
앞으로 진행될 내용에서는 확장성(scalability), 알고리즘(algorithms), 컴퓨팅 구조, 자동화에 주목할 것이다.
이를 바탕으로 다룰 주제는 다음과 같다.
- 다양한 유형의 데이터를 분석하기(mine)
- 고차원 데이터
- 그래프
- 무한한 데이터
- 서로 다른 계산 모델 사용하기
- 맵리듀스
- 스트리밍, 온라인 알고리즘
- 단일 메모리
- 현실 세계의 문제 해결하기
- 추천 시스템
- market basket analysis
- 스팸 추적기
- 복제 문서 탐지
- 여러 도구 사용하기
- 선형대수학(SVD, communities, 추천 시스템)
- 다이나믹 프로그래밍
- 해싱
데이터 마이닝의 적용 분야
데이터 마이닝은 웹 검색, 추천 시스템, 사기 탐지, 사이버 보안 등에 활용되고 있다.
이 응용 분야는 모두 데이터 마이닝의 각 분야에서 출발한 것이다.
데이터 마이닝의 기반과 응용이 어떻게 연결되는지 알아보자.
고차원 데이터 분야(High dim. data)는 클러스터링, 차원 축소(dimensionality reduction), LSH(Locality Sensitive Hashing, 유사한 데이터를 찾는 알고리즘)과 관련이 있다.
그래프 데이터 분야는 페이지랭크(PageRank, 웹 페이지에 가중치 부여-구글 검색에 사용), 심랭크(SimRank, 유사성 측정 알고리즘), 커뮤니티 탐지(Community detection, 연결 밀도가 높은 집단끼리 묶는 알고리즘), 스팸 처리(spam detection)과 연결된다.
Infinite data는 Filtering data streams, web advertising, queries on streams에 쓰인다.
데이터 마이닝의 응용 분야에는 추천 시스템, 연관 규칙(Association rule), 중복 문서 검색(duplicate document detection, 검색 결과에 중복 결과 없도록 하는 기술)이 있다.
[참고] 본페로니 법칙(Bonferroni Principle): 빅데이터 맹신에 대한 경고 (tistory.com)
'Data Science > Data Mining' 카테고리의 다른 글
인공지능 #8-3 | CNN 시각화하기 (0) | 2023.03.13 |
---|---|
MLOps | MLOps의 필요성, 개념과 MLOps 관련 상용 서비스(MakinaRocks Link) (0) | 2022.11.09 |