
단행본에이콘 데이터 과학 시리즈 7Data mining practical machine learning tools and techniques
데이터 마이닝: 데이터 속 숨은 의미를 찾는 기계 학습의 이론과 응용
- 저자
- Frank, Eibe | Hall, Mark A. | Witten, Ian H. | 이승현
- 발행사항
- 의왕 : 에이콘출판, 2013
- 형태사항
- 815 p. : 삽화, 도표 ; 25 cm
- 총서사항
- 에이콘 데이터 과학 시리즈 = 7
- 서지주기
- 참고문헌과 색인수록
소장정보
위치 | 등록번호 | 청구기호 / 출력 | 상태 | 반납예정일 |
---|---|---|---|---|
이용 가능 (1) | ||||
자료실 | E205299 | 대출가능 | - |
이용 가능 (1)
- 등록번호
- E205299
- 상태/반납예정일
- 대출가능
- -
- 위치/청구기호(출력)
- 자료실
책 소개
★ 이 책의 특징 ★
■ 기계 학습 기법에 사용되는 입력 데이터와 출력 결과를 변환해 성능 개선을 이끄는 구체적인 팁과 기법들을 제공한다.
■ 웨카 소프트웨어 툴킷을 다운로드해 실습할 수 있다. 이 툴킷은 데이터 마이닝 작업을 위한 기계 학습 알고리즘을 모아놓은 집합체로, 인터페이스가 더욱 인터랙티브하게 개선됐다.
■ 이 툴킷은 데이터 전처리, 분류, 회귀, 군집화, 연관 규칙, 시각화 등의 알고리즘을 다룬다.
★ 이 책의 대상 독자 ★
이 책은 데이터 마이닝을 현실적으로 다루는 데 필요한 개념과 원리에 관심 있는 일반 기술자를 대상으로 한다. 또한 데이터 마이닝이라는 새로운 기술을 알아야 하는 정보 과학 전공 관련 전문가들과 기계 학습이 포괄하는 기술적인 내용을 상세하게 얻고자 하는 이들도 대상 독자다. 정보 시스템 관련 종사자, 프로그래머, 컨설턴트, 개발자, 정보 과학 매니저, 전문 분야 기고가, 특허 심사원, 그리고 호기심 많은 사람들뿐만 아니라 학생, 교수 등 데이터 마이닝의 어떻게 동작하며, 어떻게 사용하는지, 무엇을 수행하는지, 기계 학습의 주요 기법은 무엇인지에 대해 다양한 그림으로 설명하는 읽기 간편한 책을 찾는 독자들에게도 흥미로운 책이 될 것이다. 실질적으로 이 책은 '어떻게?'라는 의문을 갖기를 좋아하는 사람들의 성향에 맞춰져 있으며, 알고리즘과 코드, 구현 내용들을 담고 있다. 이와 같은 모든 실질적인 데이터 마이닝 자료들을 이 책에서 설명한 기술들과 직접적으로 이용할 수 있다. 학술적이거나 뭔가 있어 보이는 것보다는, 부차적인 설명 없이 곧바로 기계 학습의 실질적인 내용을 알고 싶은 독자도 대상에 포함된다. 박스로 둘러 따로 설명한 몇 개 절을 제외하면 이 책에서는 특별한 이론적 내용이나 수학적 내용을 최대한 배제했다. 박스로 감싼 내용들은 수학적이나 이론적으로 좀 더 상세히 알고 싶은 독자를 위해 수록한 것이며, 그냥 넘어가도 무관하다.
★ 이 책의 구성 ★
1부는 데이터 마이닝에 대한 소개 부분에 해당한다. 독자는 세 개의 장에 걸쳐 데이터 마이닝의 기본적인 개념과 가장 중요한 내용을 공부한다. 1장은 예제들을 통해 기계 학습이 무엇인지, 어디에 사용되는지 설명하며, 실질적인 적용 사례를 다룬다. 2, 3장은 서로 다른 종류의 입출력이나 '지식 정보 표현(knowledge representation)'을 다룬다. 4장은 이해를 돕기 위해 난이도를 낮춰 간단한 예제를 만들어 기본적인 기계 학습 이론을 설명한다. 다양한 알고리즘에 관련된 원리들을 복잡할 정도로 상세히 소개하거나 어지럽게 구현하는 일은 하지 않았다. 특정 데이터 마이닝 문제에 기계 학습 기술을 적용하는 과정을 진행하기 위해 반드시 독자가 얼마나 내용을 잘 알고 있는지 파악할 수 있어야 한다. 5장은 순서와 상관없이 읽을 수 있으며, 기계 학습을 통해 얻은 결과를 평가할 수 있는 방법을 알려주고, 중간 중간 성능 평가와 관련된 복잡한 문제들도 다룬다.
2부 좀 더 세련된 데이터 마이닝 기술을 다룬다. 가장 하위의, 그리고 가장 상세한 수준에서 6장은 실질적으로 기계 학습 알고리즘이 제대로 동작하기 위해 필요한 복잡한 내용들을 포함해 여러 가지 내용들을 구현하는 핵심 사항들을 빠짐없이 상세하게 소개한다(물론 몇몇 알고리즘을 뒷받침하는 방대한 수학적 수식 전개나 메커니즘은 생략했다). 수많은 독자가 이런 상세 정보를 무시할지라도 동작이 철저히 검증된 기계 학습 스킴(scheme)의 자바 코드는 이 정도 수준을 기반으로 구현했다. 7장은 기계 학습의 입출력을 제작하는 일과 관련된 실질적인 주제를 다룬다(예를 들어 속성을 선택하고 분류하는 작업 등을 설명한다). 8장에서는 서로 다른 기계 학습 기술을 사용해 얻은 출력 값을 조합하는 '앙상블 학습(ensemble learning)' 기술을 다룬다. 9장은 데이터 마이닝의 미래를 전망하는 내용을 다룬다.
이 책은 실질적인 기계 학습에서 사용되는 대부분의 이론들을 서술한다. 하지만 강화 학습법(reinforcement learning)이나 유전 알고리즘(genetic algorithm)적 접근법은 실제 데이터 마이닝에 적용되는 일이 거의 없기도 하거니와 이런 기법은 최적화 기법이나 관계 학습 이론(relative learning)과 귀납적 논리 프로그래밍(ILP, inductive logic programming)에 가깝기 때문에 다루지 않는다(대체로 실제 데이터 마이닝에 잘 적용되지 않는다).
3부는 웨카(WEKA) 데이터 마이닝 툴에 대해 설명하며, 이 툴은 1, 2부에서 설명한 거의 모든 개념을 구현할 수 있게 도와준다. 1, 2부와는 별도로 웨카를 어떻게 사용하는지 실질적으로 알아보는 3부를 따로 구성해 책의 구성을 명확하게 했다. 1, 2부의 각 장 마지막 부분은 3부의 웨카 알고리즘과 연관된 지시 사항들이므로 무시하고 넘어가도 무방하며, 학습하면서 하나씩 짚거나 혹은 독자가 원하는 것이 독자의 데이터를 분석하는 데 필요한 지식이지 관련 알고리즘이 어떻게 동작하는지 상세한 내용을 알 필요가 없다면 곧바로 3부로 넘어가도 좋다.
★ 이 책에 쏟아진 각계의 찬사 ★
이 책의 저자들은 실질적인 응용 사례에 적용할 수 있도록 충분한 이론적 설명을 제공하며, 기계 학습과 데이터 마이닝에 관한 전부는 아니더라도 기존 책들과는 차원이 다른 실질적인 안목을 보여준다.
- 도리언 파일(Dorian Pyle) / 뉴메트릭스(Numetrics) 사의 모델링 책임자이자 『Data Preparation for Data Mining』, 『Business Modeling for Data Mining』의 저자
이 책이 앞으로 기술적인 데이터 마이닝 교육 과정에서 강력한 도전자가 될지도 모르겠다. 이런 부류의 책들 중 최고의 책이라 칭할 만하다.
- 허브 에들슈타인(Herb Edelstein) / 투 크로우 컨설팅(Two Crows Consulting)의 책임 데이터 마이닝 컨설턴트
이 책은 내 서재에 소장 중인 데이터 마이닝 책들 중에서 가장 즐겨 읽는 책이다.
- 톰 브뢰르(Tom Breur) / 네덜란드 티뷔르흐에 위치한 XLNT 컨설팅 사의 책임 연구원
★ 저자의 말 ★
컴퓨팅 기능과 사람 간의 소통이 결합되면서 이제는 정보가 재생산되는 사회가 됐다. 하지만 이런 정보의 대부분은 가공되지 않은 형태의 데이터다. 이런 데이터를 기록된 '사실(fact)'로 분류하고, '정보(information)'는 패턴이나 데이터를 기반으로 한 예측치의 집합이라 정의할 수 있다. 데이터베이스(잠재적으론 중요하지만 표면상으로는 그 중요성이나 사실이 발견되지 않거나 조작되지 않은 정보)에 잠들어 있는 엄청난 양의 정보들이 있다. 우리가 해결할 과제는 이와 같은 데이터의 잠재성을 밝혀내는 일이다.
데이터 마이닝이란 암묵적이고 과거에 알려지지 않았으며 '데이터'로부터 잠재적으로 유용한 의미를 가진 '정보'를 추출하는 것이다. 핵심 개념은 데이터베이스의 데이터 선별 작업을 자동으로 수행하며 데이터의 정규 패턴을 찾는 프로그램을 만드는 것이다. 자주 등장하는 패턴을 발견하면 다음 데이터를 정확히 예측하기 위해 일반화한다. 물론 이 부분에 문제점도 있다. 별 의미 없이 그저 그런 패턴들이 자주 나타날 수도 있다. 아니면 특정 데이터 군집으로부터 발견한 오염된 패턴이 사실과 다른 예측을 유도하는 잘못된 결과를 이끌 수도 있다. 데이터 자체가 불완전(imperfect)할 수도 있다. 일부분은 생략되거나 왜곡될 수도 있다. 발견한 정보는 무엇이든 정확하지 않다. 모든 규칙에는 예외가 있기 마련이며, 어떤 규칙이든 모든 경우의 수를 고려할 수는 없다. 알고리즘은 불완전한 데이터로도 정확하진 않지만 유용한 정규 패턴을 추출할 수 있게 충분히 탄탄해야 한다.
기계 학습은 데이터 마이닝의 기술적 기반을 제공한다. 데이터베이스에 있는 원본 데이터에서 '정보'를 추출하는 데 이 기술을 사용한다(여기서 정보는 사람이 이해할 수 있는 형태로 표현되며 다양한 목적에 맞춰 사용할 수 있다). 추출 과정은 추상적이다(데이터를 가져와서 그로부터 구조를 추론하는 것). 이 책은 실제 데이터 마이닝을 수행할 때 데이터에서 구조적 패턴을 찾고 서술하는 데 사용되는 기계 학습 기법과 도구들에 대해 다룬다.
이제 막 새로 생긴 기술이 대개 그렇듯이 데이터 마이닝 사용법도 매우 과장된 기술적 포장에 휩싸여있다(때론 언론이 나서기도 한다). 과장된 보도 자료들은 데이터가 넘치는 바다에서 기계 학습 알고리즘을 풀어놓음으로써 밝혀질 수 있는 비밀들을 드러낸다. 하지만 기계 학습에는 보도 자료와 달리 아무런 마법도 없고, 숨겨진 신비한 힘이나 연금술도 없다. 대신 간단명료하고 실질적인 정보 추측 기술만이 있을 뿐이다. 이 책은 이런 기술들을 설명하면서 어떻게 동작하는지 설명한다.
예제를 통해 구조적으로 설명하고 지식을 습득해나가며 기계 학습을 해석한다. 발견한 서술문(description)은 예측, 설명, 이해에 사용할 수 있다. 어떤 데이터 마이닝은 정보 예측에 적용하는 데 초점을 둔다. 이럴 경우에는 새로운 예제들이 어떤 클래스에 속하는지 추측해 과거의 상태를 말해주는 데이터로부터 미래의 새로운 상황에 대해 어떤 상태가 될지 예견한다. 하지만 우리는 하나같이(어쩌면 그 이상으로) '학습(learning)'을 통해 예제들을 분류하는 데 사용될 수 있는 구조의 실제 서술문이 어떠한 결과물을 만드는지에 관심이 있다. 발견한 서술문의 종류에는 '예측(prediction)'뿐만 아니라 '설명(explanation)'과 '이해(understanding)'를 위해 사용할 수 있다. 경험으로 비춰보자면 사용자로부터 얻어진 통찰(insight)이 갖는 대부분의 관심은 대다수의 데이터 마이닝 기술을 적용한 실질적인 사례에 있다. 사실 통찰은 고전적인 통계 모델링보다 우월한 기계 학습의 핵심 사항 중 하나다.
이 책은 광범위한 기계 학습 방식들을 설명한다. 일부 방식들은 교육자적 입장에서 동기 부여를 받을 만한 내용이다. 기본 개념이 어떻게 동작하는지 명확하게 설명하기 위한 간단한 스킴을 제공한다. 나머지 부분은 오늘날 사용되는 실제 시스템 등 실질적인 사용법을 위주로 다룬다. 대개의 시스템들은 현대적이며, 개발된 지 몇 년 되지 않은 것들이다.
이 책에서는 이런 기본 개념들을 설명하기 위해 종합적인 소프트웨어 리소스를 만들어왔다. 일명 정보 분석용 와이카토 환경(Waikato Environment for Knowledge Analysis) 혹은 줄여서 웨카(Weka)라고 불리는 소프트웨어 리소스는 www.cs.waikato.ac.nz/ml/weka에서 자바 코드 형태로 찾아볼 수 있다. 이 리소스는 산업에서 쓸 수 있는 수준으로 완전하며, 이 책에서 다루는 모든 기술들을 다룬다. 그 중에는 책의 내용을 이해하기 쉽게 하기 위한 코드와 기계 학습 이론을 효과적으로 구현한 것들도 있고, 관련 메커니즘을 쉽게 이해할 수 있게 가장 간단한 기법들을 명확하게 구현했다. 또한 실질적인 데이터 마이닝이나 관련 연구를 위해 쓸 수 있는 다양한 인기 학습 스킴들을 효과적이면서도 완전히 동작하게 예술적으로 구현한 워크벤치를 제공한다. 마지막으로, 자바 클래스 라이브러리 형태의 프레임워크를 제공해 내장된 기계 학습을 사용하는 애플리케이션을 지원하고, 심지어 새로운 학습 스킴을 구현할 때 사용 가능하다.
이 책의 목적은 데이터 마이닝에 사용하는 기계 학습의 기법과 관련 소프트웨어 도구들을 소개하는 것이다. 이 책을 읽고 나면 독자는 이런 기계 학습 기법들이 어떤 것인지 이해할 수 있으며, 각 기법이 갖고 있는 실용성과 장점을 알 수 있다.
이 책에서는 데이터 마이닝의 사례 연구를 제공하는 등 실용적인 접근 방식과 기계 학습에 대해 이론적으로 접근하는 방식을 모두 포괄한다(이 책에 대해 짤막한 설명은 1장 마지막 부분에 소개된 '참고 문헌'절에 있다). 내용이 상당히 광범위하다. 기계 학습 기법을 실질적으로 적용하려면 동작 원리의 완전한 이해가 필수다. 주먹구구식으로 적용해선 좋은 결과를 기대할 수 없다. 다양한 문제들은 각각 해당 기법을 적용해야 하지만, 주어진 상황에서 어떤 기법을 적용해야 할지는 사실 명확하지 않다. 반드시 어떤 결과들이 나올 수 있는지 범위를 예측해둬야 한다. 다른 책과는 달리 이 책은 특정 상용 소프트웨어나 접근 방식을 홍보하는 성격의 내용을 담지 않았기 때문에 광범위한 기법들을 모두 다룬다. 이 책에 담긴 방대한 예제들은 원리를 설명하기 위해 존재하는 데이터 집합들을 사용하며, 내부적으로 어떤 일들이 일어나는지 추론할 수 있을 정도의 적당한 규모다. 실제 데이터 집합은 너무 커서 내부적인 동작을 알 수도 없다(회사 기밀이라 사용하기도 힘들다). 우리가 사용하는 데이터 집합은 실제 대규모의 실질적 문제를 설명하기 위해 선택한 것이지만, 데이터 마이닝이 어떻게 동작하고 마이닝 방식마다 어떻게 다른지, 그리고 각 방식이 적용될 수 있는 범위는 어떠한지 이해하는 데 충분하다.
이 책은 기초적인 지식을 습득하고자 하는 독자를 위한 기본 개념부터 좀 더 자세한 내용뿐만 아니라, 이 책에서 다루는 기법들에 대한 완전한 설명을 얻고자 하는 독자를 위한 내용까지 단계별로 구성됐다. 우리는 기계 학습을 공부하려는 독자들이 해당 알고리즘이 어떻게 동작하는지 개념을 알고 싶어 한다고 가정한다. 종종 데이터 모델이 그 모델을 다루는 데이터 분석가에게만 유용하며, 이런 사람들은 해당 마이닝 기술의 강점과 한계점을 평가하기 위해 어떻게 모델이 만들어지는지 알고 싶어 하는 경우를 봤다. 하지만 모든 사용자가 꼭 마이닝 알고리즘을 매우 상세한 수준까지 알아야 할 필요는 없다.
★ 옮긴이의 말 ★
데이터 마이닝과 기계 학습에 대해 알게 된 지 벌써 2년 정도 된 것 같다. 처음 연관 규칙을 시작으로 패턴 인식에 대해 공부할 때만 해도 이렇게 훌륭한 책을 번역하게 될 줄은 상상조차 못했다. 전공의 한계로 인해 모든 것을 독학의 노력으로 깨달음을 얻어야 했던 그때, 이 책은 나에게 기계 학습의 의미에 대한 많은 정보를 알려줬다. 『DATA MINING: Practical Machine Learning Tools and Techniques』라는 이 책의 원서는 기계 학습 기법을 공부하는 사람이라면 전공이 무엇이든 종사하고 있는 분야가 무엇이든 간에 대부분 널리 알고 있으리라 생각한다. 즉, 기계 학습 분야의 바이블이라 할 수 있다. 이 책을 이미 알고 관련 분야를 공부하고 있는 사람이라면 패턴 인식 개론 수준의 지식은 갖췄을 것이라 생각한다.
알고리즘의 발전뿐만 아니라 데이터 마이닝의 적용 분야도 빅데이터의 물결에 힘입어 빠르게 발전 중이다. 요즘 이슈가 되고 있는 기계 학습 알고리즘과 영상 처리 알고리즘이 접목돼, 방대한 양의 이미지가 담겨 있는 데이터 하우스에서 안면 이미지의 식별 알고리즘을 통해 특정 인물의 얼굴을 인식하는 일도 그 적용 사례 중 하나라 볼 수 있다. 뿐만 아니라 현재는 주로 웹 마이닝이 활발하게 발달 중이지만 차후 스마트카의 발달로 인해 사물 간 통신(M2M) 기술이 널리 보급되면 자동차 산업이나 로봇 산업에도 데이터 마이닝과 기계 학습 알고리즘이 큰 영향을 미칠 것으로 보인다.
사람은 살아가면서 어디서든 그 흔적을 남기게 돼 있으며, 오늘날처럼 최첨단의 IT 기기들이 널리 보급된 시대에서는 그러한 흔적이 온전한 데이터의 형태로 남을 가능성이 더욱 높다. 전 세계를 대상으로 데이터 검색과 관리를 하고 있는 구글 역시 데이터 마이닝 기술자들을 모집하는 데 투자를 아끼지 않는 것을 보면 앞으로 데이터 마이닝 기술의 전망은 아주 밝다고 할 수 있다.
IT 업계는 상황이 매우 급변하고 있으며, 안드로이드나 애플의 iOS의 대결은 이제 어느덧 과거 공룡들의 싸움처럼 느껴지기도 한다. 언제가 될지 모르지만, 앞으로는 빅데이터를 위주로 데이터를 최적으로 처리하는 플랫폼들 간의 대결도 있지 않을까 한다. 아무쪼록 이 번역서의 출간이 대한민국의 데이터 마이닝 기술 발전에 조금이나마 이바지할 수 있기를 바란다.
■ 기계 학습 기법에 사용되는 입력 데이터와 출력 결과를 변환해 성능 개선을 이끄는 구체적인 팁과 기법들을 제공한다.
■ 웨카 소프트웨어 툴킷을 다운로드해 실습할 수 있다. 이 툴킷은 데이터 마이닝 작업을 위한 기계 학습 알고리즘을 모아놓은 집합체로, 인터페이스가 더욱 인터랙티브하게 개선됐다.
■ 이 툴킷은 데이터 전처리, 분류, 회귀, 군집화, 연관 규칙, 시각화 등의 알고리즘을 다룬다.
★ 이 책의 대상 독자 ★
이 책은 데이터 마이닝을 현실적으로 다루는 데 필요한 개념과 원리에 관심 있는 일반 기술자를 대상으로 한다. 또한 데이터 마이닝이라는 새로운 기술을 알아야 하는 정보 과학 전공 관련 전문가들과 기계 학습이 포괄하는 기술적인 내용을 상세하게 얻고자 하는 이들도 대상 독자다. 정보 시스템 관련 종사자, 프로그래머, 컨설턴트, 개발자, 정보 과학 매니저, 전문 분야 기고가, 특허 심사원, 그리고 호기심 많은 사람들뿐만 아니라 학생, 교수 등 데이터 마이닝의 어떻게 동작하며, 어떻게 사용하는지, 무엇을 수행하는지, 기계 학습의 주요 기법은 무엇인지에 대해 다양한 그림으로 설명하는 읽기 간편한 책을 찾는 독자들에게도 흥미로운 책이 될 것이다. 실질적으로 이 책은 '어떻게?'라는 의문을 갖기를 좋아하는 사람들의 성향에 맞춰져 있으며, 알고리즘과 코드, 구현 내용들을 담고 있다. 이와 같은 모든 실질적인 데이터 마이닝 자료들을 이 책에서 설명한 기술들과 직접적으로 이용할 수 있다. 학술적이거나 뭔가 있어 보이는 것보다는, 부차적인 설명 없이 곧바로 기계 학습의 실질적인 내용을 알고 싶은 독자도 대상에 포함된다. 박스로 둘러 따로 설명한 몇 개 절을 제외하면 이 책에서는 특별한 이론적 내용이나 수학적 내용을 최대한 배제했다. 박스로 감싼 내용들은 수학적이나 이론적으로 좀 더 상세히 알고 싶은 독자를 위해 수록한 것이며, 그냥 넘어가도 무관하다.
★ 이 책의 구성 ★
1부는 데이터 마이닝에 대한 소개 부분에 해당한다. 독자는 세 개의 장에 걸쳐 데이터 마이닝의 기본적인 개념과 가장 중요한 내용을 공부한다. 1장은 예제들을 통해 기계 학습이 무엇인지, 어디에 사용되는지 설명하며, 실질적인 적용 사례를 다룬다. 2, 3장은 서로 다른 종류의 입출력이나 '지식 정보 표현(knowledge representation)'을 다룬다. 4장은 이해를 돕기 위해 난이도를 낮춰 간단한 예제를 만들어 기본적인 기계 학습 이론을 설명한다. 다양한 알고리즘에 관련된 원리들을 복잡할 정도로 상세히 소개하거나 어지럽게 구현하는 일은 하지 않았다. 특정 데이터 마이닝 문제에 기계 학습 기술을 적용하는 과정을 진행하기 위해 반드시 독자가 얼마나 내용을 잘 알고 있는지 파악할 수 있어야 한다. 5장은 순서와 상관없이 읽을 수 있으며, 기계 학습을 통해 얻은 결과를 평가할 수 있는 방법을 알려주고, 중간 중간 성능 평가와 관련된 복잡한 문제들도 다룬다.
2부 좀 더 세련된 데이터 마이닝 기술을 다룬다. 가장 하위의, 그리고 가장 상세한 수준에서 6장은 실질적으로 기계 학습 알고리즘이 제대로 동작하기 위해 필요한 복잡한 내용들을 포함해 여러 가지 내용들을 구현하는 핵심 사항들을 빠짐없이 상세하게 소개한다(물론 몇몇 알고리즘을 뒷받침하는 방대한 수학적 수식 전개나 메커니즘은 생략했다). 수많은 독자가 이런 상세 정보를 무시할지라도 동작이 철저히 검증된 기계 학습 스킴(scheme)의 자바 코드는 이 정도 수준을 기반으로 구현했다. 7장은 기계 학습의 입출력을 제작하는 일과 관련된 실질적인 주제를 다룬다(예를 들어 속성을 선택하고 분류하는 작업 등을 설명한다). 8장에서는 서로 다른 기계 학습 기술을 사용해 얻은 출력 값을 조합하는 '앙상블 학습(ensemble learning)' 기술을 다룬다. 9장은 데이터 마이닝의 미래를 전망하는 내용을 다룬다.
이 책은 실질적인 기계 학습에서 사용되는 대부분의 이론들을 서술한다. 하지만 강화 학습법(reinforcement learning)이나 유전 알고리즘(genetic algorithm)적 접근법은 실제 데이터 마이닝에 적용되는 일이 거의 없기도 하거니와 이런 기법은 최적화 기법이나 관계 학습 이론(relative learning)과 귀납적 논리 프로그래밍(ILP, inductive logic programming)에 가깝기 때문에 다루지 않는다(대체로 실제 데이터 마이닝에 잘 적용되지 않는다).
3부는 웨카(WEKA) 데이터 마이닝 툴에 대해 설명하며, 이 툴은 1, 2부에서 설명한 거의 모든 개념을 구현할 수 있게 도와준다. 1, 2부와는 별도로 웨카를 어떻게 사용하는지 실질적으로 알아보는 3부를 따로 구성해 책의 구성을 명확하게 했다. 1, 2부의 각 장 마지막 부분은 3부의 웨카 알고리즘과 연관된 지시 사항들이므로 무시하고 넘어가도 무방하며, 학습하면서 하나씩 짚거나 혹은 독자가 원하는 것이 독자의 데이터를 분석하는 데 필요한 지식이지 관련 알고리즘이 어떻게 동작하는지 상세한 내용을 알 필요가 없다면 곧바로 3부로 넘어가도 좋다.
★ 이 책에 쏟아진 각계의 찬사 ★
이 책의 저자들은 실질적인 응용 사례에 적용할 수 있도록 충분한 이론적 설명을 제공하며, 기계 학습과 데이터 마이닝에 관한 전부는 아니더라도 기존 책들과는 차원이 다른 실질적인 안목을 보여준다.
- 도리언 파일(Dorian Pyle) / 뉴메트릭스(Numetrics) 사의 모델링 책임자이자 『Data Preparation for Data Mining』, 『Business Modeling for Data Mining』의 저자
이 책이 앞으로 기술적인 데이터 마이닝 교육 과정에서 강력한 도전자가 될지도 모르겠다. 이런 부류의 책들 중 최고의 책이라 칭할 만하다.
- 허브 에들슈타인(Herb Edelstein) / 투 크로우 컨설팅(Two Crows Consulting)의 책임 데이터 마이닝 컨설턴트
이 책은 내 서재에 소장 중인 데이터 마이닝 책들 중에서 가장 즐겨 읽는 책이다.
- 톰 브뢰르(Tom Breur) / 네덜란드 티뷔르흐에 위치한 XLNT 컨설팅 사의 책임 연구원
★ 저자의 말 ★
컴퓨팅 기능과 사람 간의 소통이 결합되면서 이제는 정보가 재생산되는 사회가 됐다. 하지만 이런 정보의 대부분은 가공되지 않은 형태의 데이터다. 이런 데이터를 기록된 '사실(fact)'로 분류하고, '정보(information)'는 패턴이나 데이터를 기반으로 한 예측치의 집합이라 정의할 수 있다. 데이터베이스(잠재적으론 중요하지만 표면상으로는 그 중요성이나 사실이 발견되지 않거나 조작되지 않은 정보)에 잠들어 있는 엄청난 양의 정보들이 있다. 우리가 해결할 과제는 이와 같은 데이터의 잠재성을 밝혀내는 일이다.
데이터 마이닝이란 암묵적이고 과거에 알려지지 않았으며 '데이터'로부터 잠재적으로 유용한 의미를 가진 '정보'를 추출하는 것이다. 핵심 개념은 데이터베이스의 데이터 선별 작업을 자동으로 수행하며 데이터의 정규 패턴을 찾는 프로그램을 만드는 것이다. 자주 등장하는 패턴을 발견하면 다음 데이터를 정확히 예측하기 위해 일반화한다. 물론 이 부분에 문제점도 있다. 별 의미 없이 그저 그런 패턴들이 자주 나타날 수도 있다. 아니면 특정 데이터 군집으로부터 발견한 오염된 패턴이 사실과 다른 예측을 유도하는 잘못된 결과를 이끌 수도 있다. 데이터 자체가 불완전(imperfect)할 수도 있다. 일부분은 생략되거나 왜곡될 수도 있다. 발견한 정보는 무엇이든 정확하지 않다. 모든 규칙에는 예외가 있기 마련이며, 어떤 규칙이든 모든 경우의 수를 고려할 수는 없다. 알고리즘은 불완전한 데이터로도 정확하진 않지만 유용한 정규 패턴을 추출할 수 있게 충분히 탄탄해야 한다.
기계 학습은 데이터 마이닝의 기술적 기반을 제공한다. 데이터베이스에 있는 원본 데이터에서 '정보'를 추출하는 데 이 기술을 사용한다(여기서 정보는 사람이 이해할 수 있는 형태로 표현되며 다양한 목적에 맞춰 사용할 수 있다). 추출 과정은 추상적이다(데이터를 가져와서 그로부터 구조를 추론하는 것). 이 책은 실제 데이터 마이닝을 수행할 때 데이터에서 구조적 패턴을 찾고 서술하는 데 사용되는 기계 학습 기법과 도구들에 대해 다룬다.
이제 막 새로 생긴 기술이 대개 그렇듯이 데이터 마이닝 사용법도 매우 과장된 기술적 포장에 휩싸여있다(때론 언론이 나서기도 한다). 과장된 보도 자료들은 데이터가 넘치는 바다에서 기계 학습 알고리즘을 풀어놓음으로써 밝혀질 수 있는 비밀들을 드러낸다. 하지만 기계 학습에는 보도 자료와 달리 아무런 마법도 없고, 숨겨진 신비한 힘이나 연금술도 없다. 대신 간단명료하고 실질적인 정보 추측 기술만이 있을 뿐이다. 이 책은 이런 기술들을 설명하면서 어떻게 동작하는지 설명한다.
예제를 통해 구조적으로 설명하고 지식을 습득해나가며 기계 학습을 해석한다. 발견한 서술문(description)은 예측, 설명, 이해에 사용할 수 있다. 어떤 데이터 마이닝은 정보 예측에 적용하는 데 초점을 둔다. 이럴 경우에는 새로운 예제들이 어떤 클래스에 속하는지 추측해 과거의 상태를 말해주는 데이터로부터 미래의 새로운 상황에 대해 어떤 상태가 될지 예견한다. 하지만 우리는 하나같이(어쩌면 그 이상으로) '학습(learning)'을 통해 예제들을 분류하는 데 사용될 수 있는 구조의 실제 서술문이 어떠한 결과물을 만드는지에 관심이 있다. 발견한 서술문의 종류에는 '예측(prediction)'뿐만 아니라 '설명(explanation)'과 '이해(understanding)'를 위해 사용할 수 있다. 경험으로 비춰보자면 사용자로부터 얻어진 통찰(insight)이 갖는 대부분의 관심은 대다수의 데이터 마이닝 기술을 적용한 실질적인 사례에 있다. 사실 통찰은 고전적인 통계 모델링보다 우월한 기계 학습의 핵심 사항 중 하나다.
이 책은 광범위한 기계 학습 방식들을 설명한다. 일부 방식들은 교육자적 입장에서 동기 부여를 받을 만한 내용이다. 기본 개념이 어떻게 동작하는지 명확하게 설명하기 위한 간단한 스킴을 제공한다. 나머지 부분은 오늘날 사용되는 실제 시스템 등 실질적인 사용법을 위주로 다룬다. 대개의 시스템들은 현대적이며, 개발된 지 몇 년 되지 않은 것들이다.
이 책에서는 이런 기본 개념들을 설명하기 위해 종합적인 소프트웨어 리소스를 만들어왔다. 일명 정보 분석용 와이카토 환경(Waikato Environment for Knowledge Analysis) 혹은 줄여서 웨카(Weka)라고 불리는 소프트웨어 리소스는 www.cs.waikato.ac.nz/ml/weka에서 자바 코드 형태로 찾아볼 수 있다. 이 리소스는 산업에서 쓸 수 있는 수준으로 완전하며, 이 책에서 다루는 모든 기술들을 다룬다. 그 중에는 책의 내용을 이해하기 쉽게 하기 위한 코드와 기계 학습 이론을 효과적으로 구현한 것들도 있고, 관련 메커니즘을 쉽게 이해할 수 있게 가장 간단한 기법들을 명확하게 구현했다. 또한 실질적인 데이터 마이닝이나 관련 연구를 위해 쓸 수 있는 다양한 인기 학습 스킴들을 효과적이면서도 완전히 동작하게 예술적으로 구현한 워크벤치를 제공한다. 마지막으로, 자바 클래스 라이브러리 형태의 프레임워크를 제공해 내장된 기계 학습을 사용하는 애플리케이션을 지원하고, 심지어 새로운 학습 스킴을 구현할 때 사용 가능하다.
이 책의 목적은 데이터 마이닝에 사용하는 기계 학습의 기법과 관련 소프트웨어 도구들을 소개하는 것이다. 이 책을 읽고 나면 독자는 이런 기계 학습 기법들이 어떤 것인지 이해할 수 있으며, 각 기법이 갖고 있는 실용성과 장점을 알 수 있다.
이 책에서는 데이터 마이닝의 사례 연구를 제공하는 등 실용적인 접근 방식과 기계 학습에 대해 이론적으로 접근하는 방식을 모두 포괄한다(이 책에 대해 짤막한 설명은 1장 마지막 부분에 소개된 '참고 문헌'절에 있다). 내용이 상당히 광범위하다. 기계 학습 기법을 실질적으로 적용하려면 동작 원리의 완전한 이해가 필수다. 주먹구구식으로 적용해선 좋은 결과를 기대할 수 없다. 다양한 문제들은 각각 해당 기법을 적용해야 하지만, 주어진 상황에서 어떤 기법을 적용해야 할지는 사실 명확하지 않다. 반드시 어떤 결과들이 나올 수 있는지 범위를 예측해둬야 한다. 다른 책과는 달리 이 책은 특정 상용 소프트웨어나 접근 방식을 홍보하는 성격의 내용을 담지 않았기 때문에 광범위한 기법들을 모두 다룬다. 이 책에 담긴 방대한 예제들은 원리를 설명하기 위해 존재하는 데이터 집합들을 사용하며, 내부적으로 어떤 일들이 일어나는지 추론할 수 있을 정도의 적당한 규모다. 실제 데이터 집합은 너무 커서 내부적인 동작을 알 수도 없다(회사 기밀이라 사용하기도 힘들다). 우리가 사용하는 데이터 집합은 실제 대규모의 실질적 문제를 설명하기 위해 선택한 것이지만, 데이터 마이닝이 어떻게 동작하고 마이닝 방식마다 어떻게 다른지, 그리고 각 방식이 적용될 수 있는 범위는 어떠한지 이해하는 데 충분하다.
이 책은 기초적인 지식을 습득하고자 하는 독자를 위한 기본 개념부터 좀 더 자세한 내용뿐만 아니라, 이 책에서 다루는 기법들에 대한 완전한 설명을 얻고자 하는 독자를 위한 내용까지 단계별로 구성됐다. 우리는 기계 학습을 공부하려는 독자들이 해당 알고리즘이 어떻게 동작하는지 개념을 알고 싶어 한다고 가정한다. 종종 데이터 모델이 그 모델을 다루는 데이터 분석가에게만 유용하며, 이런 사람들은 해당 마이닝 기술의 강점과 한계점을 평가하기 위해 어떻게 모델이 만들어지는지 알고 싶어 하는 경우를 봤다. 하지만 모든 사용자가 꼭 마이닝 알고리즘을 매우 상세한 수준까지 알아야 할 필요는 없다.
★ 옮긴이의 말 ★
데이터 마이닝과 기계 학습에 대해 알게 된 지 벌써 2년 정도 된 것 같다. 처음 연관 규칙을 시작으로 패턴 인식에 대해 공부할 때만 해도 이렇게 훌륭한 책을 번역하게 될 줄은 상상조차 못했다. 전공의 한계로 인해 모든 것을 독학의 노력으로 깨달음을 얻어야 했던 그때, 이 책은 나에게 기계 학습의 의미에 대한 많은 정보를 알려줬다. 『DATA MINING: Practical Machine Learning Tools and Techniques』라는 이 책의 원서는 기계 학습 기법을 공부하는 사람이라면 전공이 무엇이든 종사하고 있는 분야가 무엇이든 간에 대부분 널리 알고 있으리라 생각한다. 즉, 기계 학습 분야의 바이블이라 할 수 있다. 이 책을 이미 알고 관련 분야를 공부하고 있는 사람이라면 패턴 인식 개론 수준의 지식은 갖췄을 것이라 생각한다.
알고리즘의 발전뿐만 아니라 데이터 마이닝의 적용 분야도 빅데이터의 물결에 힘입어 빠르게 발전 중이다. 요즘 이슈가 되고 있는 기계 학습 알고리즘과 영상 처리 알고리즘이 접목돼, 방대한 양의 이미지가 담겨 있는 데이터 하우스에서 안면 이미지의 식별 알고리즘을 통해 특정 인물의 얼굴을 인식하는 일도 그 적용 사례 중 하나라 볼 수 있다. 뿐만 아니라 현재는 주로 웹 마이닝이 활발하게 발달 중이지만 차후 스마트카의 발달로 인해 사물 간 통신(M2M) 기술이 널리 보급되면 자동차 산업이나 로봇 산업에도 데이터 마이닝과 기계 학습 알고리즘이 큰 영향을 미칠 것으로 보인다.
사람은 살아가면서 어디서든 그 흔적을 남기게 돼 있으며, 오늘날처럼 최첨단의 IT 기기들이 널리 보급된 시대에서는 그러한 흔적이 온전한 데이터의 형태로 남을 가능성이 더욱 높다. 전 세계를 대상으로 데이터 검색과 관리를 하고 있는 구글 역시 데이터 마이닝 기술자들을 모집하는 데 투자를 아끼지 않는 것을 보면 앞으로 데이터 마이닝 기술의 전망은 아주 밝다고 할 수 있다.
IT 업계는 상황이 매우 급변하고 있으며, 안드로이드나 애플의 iOS의 대결은 이제 어느덧 과거 공룡들의 싸움처럼 느껴지기도 한다. 언제가 될지 모르지만, 앞으로는 빅데이터를 위주로 데이터를 최적으로 처리하는 플랫폼들 간의 대결도 있지 않을까 한다. 아무쪼록 이 번역서의 출간이 대한민국의 데이터 마이닝 기술 발전에 조금이나마 이바지할 수 있기를 바란다.
목차
I부 데이터 마이닝의 소개
1장 데이터 마이닝의 개요
2장 입력 데이터: 개념, 인스턴스 속성
3장 출력 데이터: 지식 표현
4장 알고리즘: 기본 마이닝 알고리즘
5장 신뢰성: 학습 내용 평가
II부 고급 데이터 마이닝 알고리즘
6장 구현: 실질적인 기계 학습 스킴
7장 데이터 변환
8장 앙상블 학습 알로리즘
9장 계속되는 발전: 현재와 미래 적용 범위
III부 웨카 데이터 마이닝 워크벤치
10장 웨카 입문
11장 익스플로러 인터페이스
12장 지식 플로우 인터페이스
13장 Experimenter
14장 커맨드라인 인터페이스
15장 내장된 기계 학습 기능
16장 새로운 학습 스킴 개발
17장 웨카 익스플로러를 위한 튜토리얼 예제
참고 문헌