데이터마이닝과 기계학습
본 게시글은 학교 탐구 보고서로 제출한 내용의 일부입니다.
데이터마이닝의 정의에 대해 알아본 후 데이터마이닝이 찾아내는 패턴의 종류와 그 과정, 데이터마이닝의 방법에 대해 다양한 사례들과 함께 알아보려고 한다. 본격적으로 들어가기에 앞서, 데이터마이닝의 패턴이나 방법에 대해서는 여러가지 견해가 존재하는데, 본 탐구에서는 책 ‘데이터마이닝(덜선 델렌)’를 기준으로 하였다. 데이터 마이닝이란 빅데이터를 분석하고 데이터 내에 존재하는 관계, 패턴, 규칙을 탐색하고 모형화하여 유용한 정보를 추출하는 기술을 말한다.
데이터마이닝에서는 크게 3가지 종류의 패턴을 찾아낸다. 첫번째는 연관분석이다. 예를 들어 빵과 버터, 고구마와 김치같이 더불어 발생하는 개체들의 패턴을 인식한다. 두번째는 예측이다. 과거에 발생했던 사건과 그 사건의 결과를 토대로 기계학습을 진행하여 사건의 원인과 결과 사이의 패턴을 찾고 미래 특정 사건의 결과를 예측하는 것이다. 세번째는 군집이다. 이미 알려진 기준에 근거하여 비슷한 특징을 가진 객체끼리 패턴을 찾아 묶는 것이다.
데이터 마이닝의 방법에는 대표적으로 기계학습이 있다. 기계학습이란 빅데이터를 이용해 기계가 스스로 학습하도록 하는 방법으로 지도학습, 비지도학습, 강화학습으로 나뉜다. 첫번째, 지도학습은 입력값과 출력값(정답)을 짝지어 컴퓨터에게 학습시키는 방법이다. 지도학습의 알고리즘으로는 서포트벡터머신(SVM), 의사결정트리, k-최근접이웃, 로지스틱 회귀가 있다. 두번째, 비지도학습은 정답이 없는 데이터를 학습시키는 것으로 기계가 스스로 비슷한 특징을 가진 데이터를 모아 군집시킨다. 비지도학습의 알고리즘에는 k-평균화 알고리즘이 있다. 세번째, 강화학습은 입력값에 대해 기계가 출력한 결과값을 기반으로 상점이나 벌점을 주는 방식을 반복하여 높은 상점을 받을 수 있는 출력 값을 산출하도록 유도하는 방식이다.
여러가지 기계학습 방식 중에서도 눈에 띄고 공부해보고 싶은 알고리즘은 ‘유전 알고리즘(GA)’이었다. GA는 생물체가 환경에 적응하며 진화하는 모습을 모방해 최적의 해를 구하는 방법론이다. 대략적인 알고리즘 작동 방식은 다음과 같다. 먼저 초기 염색체 집합을 생성한 뒤, 원하는 결과값과 염색체들을 비교하여 염색체들에 대한 적합도를 계산한다. 현재 염색체들로부터 자손엽색체들을 생성하고 적합도를 계산하는 것을 반복한다. 이 과정에서 원하는 결과값이 등장하면 알고리즘이 종료된다. 여기에서 자손 염색체를 생성하는 연산이 핵심인데, 주요 방법으로는 첫째, 적합도를 기준으로 자손을 산출하는 룰렛 휠 선택방법이 있다. 아래 사진처럼 적합도가 높은 염색체의 면적이 넓어져 적합도가 높은 염색체 간의 조합이 이루어질 확률이 높아지는 것이다.
둘째, 선택된 특정 염색체들로부터 자손 염색체들을 생성하는 연산으로 Crossover이라는 연산이 있다. 그러나 초기 생성된 염색체 안에서만 연산이 이루어지므로 모든 경우를 통틀어 최적인 결과값이 아니라 정해진 범위 내에서의 최적값만 도출될 수 있다는 단점이 있다. 이러한 문제점을 해결하기 위해 적용할 수 있는 것이 셋째, 돌연변이 연산이다. 여기에는 각 유전자의 0을 1로 바꾸고, 1을 0으로 바꾸는 reverse와 특정 위치의 두 숫자를 바꾸는 exchange 등의 방법이 있다. 적용하는 방법이 있다. 각 연산의 자세한 방법은 옆 링크를 참고하였다. (https://techblog-history-younghunjo1.tistory.com/92).
데이터 마이닝의 과정은 아래 사진자료의 단계를 기준으로 이루어진다.
그 중에서도 가장 널리 알려진 CRISP-DM이라는 ‘산업 간 데이터마이닝 표준 프로세스’에 대해 알아보겠다.
-
비즈니스 문제에 대한 이해 – 데이터마이닝을 통해 무엇을 알아낼 것인가?
-
데이터에 대한 이해 – 비즈니스 문제와 데이터들이 올바르게 매칭되는가? 관련성이 높은가?
-
데이터 준비 – 데이터마이닝의 80%를 차지하는 과정이다. 2단계에서 선정된 범위의 데이터를 수집한다.
-
모형 수립 – 군집화, 분류 등 데이터마이닝 알고리즘을 선택하여 데이터를 분석하고 모델링을 진행한다.
-
시험 및 평가 - 4단계에서 수립된 모델이 전체 데이터로부터 일반화된 패턴을 잘 추출했는지 확인한다.
-
적용
다음으로 데이터 마이닝이 사용된 예시를 살펴보자. 최근에는 ‘생물정보학’이라는 컴퓨터과학의 데이터 마이닝과 생명과학이 만난 학문이 등장하기도 하였는데, 생물정보학은 데이터 마이닝 기술을 활용하여 유전자의 발현 등과 같은 생명 현상을 이해하기 위한 학문이다. 특히 DNA의 특정 서열이 생명체의 어떤 형질에 영향을 주는지 그 인과를 찾는 과정이 유전자 연구의 핵심인데, 컴퓨터에 생물체의 유전자 정보와 발현된 형질 정보가 있는 빅데이터를 입력하면 데이터 마이닝을 통해 학습된 컴퓨터가 빅데이터를 분석하여 어떤 위치의 유전자가 어떤 형질의 발현에 관여하는지 인과관계를 추측하는 것이다. DNA의 경우 A, G, C, T의 4가지 염기 32억개개가 한 줄로 구성된 것이 DNA이므로 한 DNA에 저장된 정보는 4의 32억 승인데, 이러한 방대한 양의 정보 속에서 패턴을 찾고 의미있는 패턴을 추출해야 하므로 컴퓨터 알고리즘과의 연계는 연구에 엄청난 진전을 이룰 수 있었다.
데이터 마이닝 방식이 생물정보학에 적용된 구체적 사례는 다음과 같다.
- 손태권 박사, 김규원교수의 ‘생물정보학을 이용한 담관암과 췌장암의 분자적 특징 비교’
오믹스(유전자)데이터 베이스인 TCGA와 GEO의 담관암과 췌장암 자료를 활용해 유전체 패턴 분석을 진행한 결과 HIATL1 유전자가 암환자들의 생존기간에 영향을 미친다는 것을 밝혀냈다.
- 손태권 박사, 김규원 교수의 ‘위장관 미생물 정보 데이터베이스 구축 및 통합분석’
위장관 미생물에 대한 데이터를 군집, 군집 스펙트럼, 최단거리 스펙트럼의 기법을 이용하여 미생물의 질병, 환경 요인, 화학물질 간 관계 정보를 바탕으로 미생물과 관련 질환을 군집으로 구분하였다. 이 과정에서 인공지능이 사용되었으며, 이미지 데이터를 기계에 학습시켰다고 한다.
이와 같은 생물정보학에서 데이터마이닝의 사용은 DNA의 특정 서열이 생명체의 어떤 형질에 영향을 주는지 그 인과를 찾아내 유전자 조작 기술의 발전과 더불어 유전병 유전자 조기치료 시스템, 암세포 유발 유전자 조작을 통한 치료법 개발, 신종감염병 예측 등 생명분야 전체에 걸쳐 큰 영향력을 행사할 수 있도록 할 것이다.
데이터 마이닝은 생물정보학 분야 외에도 기업의 마케팅이나, 게임 등 빅데이터 분석이 필요한 모든 곳에서 사용되고 있다. 빅데이터에 빠른 연산능력을 가진 컴퓨터와 효율적인 데이터 마이닝의 방법론이 만나 발전을 거듭해 나간다면 현대 디지털사회의 정보의 호수 속에서 의미 있는 패턴을 토대로 유용한 정보를 창출해낼 수 있을 것이다.
주요 참고자료:
-
책 - 데이터마이닝: 데이터를 정보로, 정보를 지식으로 변환(더선 델렌)
-
교과서 - 인공지능 기초
-
논문 - 바이오지능(Biointelligence) = 생물정보학 + 인공지능(정보학회지 제18권, 장병탁)
-
인터넷 뉴스 – 생명과학분야에서 생명정보 빅데이터 활용 연구(전세미 기자)
-
개인 블로그 – GA 알고리즘(https://techblog-history-younghunjo1.tistory.com/92)