자바로 작성된 예제 코드를 중심으로, 복잡한 데이터에서 신속하게 필요한 정보와 인사이트를 얻기 위한 다양한 기술과 도구를 소개한다. 데이터 과학의 공통 임무라 할 수 있는 분류, 예측, 마켓 바스켓 분석, 클러스터링과 같은 머신 러닝 기법에 대해 살펴보고, 이상 행동이나 사기 행동의 감지, 동작 인식, 이미지 인식, 텍스트 분석 방법을 설명한다. 책의 후반부에서는 머신 러닝과 관련된 주요한 자료원, 각종 글로벌 경진대회, 관련 기술을 소개한다.
★ 이 책에서 다루는 내용 ★
■ 응용 머신 러닝 기법의 기초와 다양한 머신 러닝 기법 간의 차이 이해
■ 자바 기반 주요 머신 러닝 라이브러리의 종류와 특성 및 해결할 수 있는 문제 유형
■ 분류, 회귀분석, 클러스터링 알고리즘 구현 방법
■ 재구매 고객의 예측을 통해 지속 가능한 고객 관계 전략 개발
■ 아파치 마홋(Apache Mahout)을 이용한 대규모 추천 엔진 개발
■ 머신 러닝을 통한 사기, 이상 행동, 이상점 감지
■ 딥 러닝 또는 심층 학습의 개념과 알고리즘, 구현 도구
■ 스마트폰 센서를 활용한 동작 인식 모델의 개발 및 eHealth 애플리케이션 구현
★ 이 책의 대상 독자 ★
데이터를 통해 인사이트를 얻고자 하는 사용자를 위해 자바 기반 머신 러닝 라이브러리의 사용 방법을 설명하기 위한 책이다. 자바를 사용해본 적은 없지만 머신 러닝의 개념을 아는 사람도 있을 것이고, 그와 반대로 머신 러닝에 대해서는 잘 모르지만 자바를 잘 아는 사람도 있을 것이다. 어떤 경우든, 실생활에 활용할 수 있는 머신 러닝 애플리케이션을 성공적으로 만들고, 수정하고, 배포할 수 있는 방법을 빠른 시간 내에 배울 수 있도록 구성했다. 기본적인 프로그래밍 기법과 데이터 마이닝의 개념에 대해 알고 있다면 이 책을 읽기가 좀 더 쉬울 것이지만, 데이터 마이닝을 모른다고 해도 큰 어려움은 없을 것이다.
★ 이 책의 구성 ★
1장, ‘응용 머신 러닝의 개요’에서는 머신 러닝의 공통 콘셉트, 머신 러닝 구현 원칙, 응용 머신 러닝 업무 흐름 등 머신 러닝의 기본 개념을 소개한다.
2장, ‘머신 러닝을 위한 자바 라이브러리와 플랫폼’에서는 머신 러닝을 위해 만들어진 다양한 자바 라이브러리와 플랫폼을 소개하며, 각 라이브러리의 주요 기능과 이들을 통해 어떤 문제를 해결할 수 있는지 설명한다. 주요 라이브러리로서 Weka, 자바-ML, Apache Mahout, Apache Spark, deeplearning4j, Mallet을 소개한다.
3장, ‘기본 알고리즘: 분류, 회귀분석, 클러스터링’에서는 머신 러닝 알고리즘의 핵심 수행 임무인 분류, 회귀분석, 클러스터링 알고리즘을 간단하고 이해하기 쉬운 데이터세트를 이용해 설명한다.
4장, ‘앙상블을 이용한 고객 관계 예측’에서는 실제 기업의 마케팅 데이터베이스를 활용해서 churn, upsell, cross-sell 등 기업의 마케팅 활동에 대한 고객의 반응 행동을 예측하는 모델을 만든다. 이번 예제는 KDD 컵 우승 해법인 앙상블 기법을 이용해서 문제를 해결한다.
5장, ‘친밀도 분석’에서는 연관 규칙 마이닝을 통해 동시 발생 관계를 분석한다. 고객의 구매 행동을 이해하기 위한 마켓 바스켓 분석 방법을 살펴보고 친밀도 분석과 관련된 다른 영역의 접근 방식에 대해서도 알아본다.
6장, ‘아파치 마홋을 이용한 추천 엔진 구현’에서는 추천 엔진의 원칙을 이해하기 위한 기본 개념을 설명하고, 콘텐트 기반 필터링, 협업적 추천 알고리즘 등 아파치 마홋을 이용한 두 개의 애플리케이션을 만든다.
7장, ‘사기와 이상 행동 감지’에서는 이상 행동, 의심 행동 패턴 감지의 배경에 대해 설명하며, 사기에 의한 보험 청구 행위의 감지, 웹사이트 트래픽에서의 이상 행동 감지 등 두 개의 실용적인 애플리케이션 개발 방법에 대해 알아본다.
8장, ‘Deeplearning4j를 활용한 이미지 인식’에서는 이미지 인식과 신경망 구조에 대한 기본 지식을 설명한다. deeplearning4j 라이브러리를 이용해서 심층 학습 구조를 구현하고, 이를 통해 수기로 작성된 숫자 인식 기법에 대해서도 알아본다.
9장, ‘스마트폰 센서를 활용한 동작 인식’에서는 센서 데이터를 이용해서 패턴 인식 문제를 해결한다. 동작 인식의 절차와 안드로이드 기기에서 데이터 수집 방법, 일상적인 동작의 인식을 위한 분류 모델 구현에 대해 알아본다.
10장, ‘멜릿을 이용한 텍스트 마이닝: 토픽 모델링과 스팸 감지’에서는 텍스트 마이닝의 기본 개념에 대해 소개하고 텍스트 처리 파이프라인을 통해 토픽 모델링과 문서 분류라는 실무 문제를 해결하는 방법에 대해 알아본다.
11장, ‘머신 러닝을 향한 다음 여정’에서는 모델의 배포에 대한 실용적인 조언과 머신 러닝 학습을 위한 자료원, 온라인 강의 사이트, 컨퍼런스, 관련 기술에 대해 소개한다.