데이터 과학 분야의 중급 및 고급 개발자 알아야 할 데이터 분석, 러닝 알고리즘, 모델 성능 평가, 지도식 및 비지도식 학습, 클러스터링과 이상점 감지, 반지도 학습 등 다양한 주제를 상세히 소개하며, WEKA, RapidMiner, Smile API, ELKI, JKernelMachines, KEEL, JCLAL, OpenMarkov, MALLET, KNIME, H2O, Spark MLLib, SAMOA 등 주요 오픈 소스 자바 도구의 활용 방법을 소개한다. 분석 예제로 UCI HorseColic 데이터세트, MNIST 손글씨 이미지 데이터세트, ELEC 전기 데이터세트, UCI Breast Cancer Wisconsin 데이터세트, UCI Adult 데이터세트, Reuters-21578 데이터세트, UCI Covertype 데이터세트를 이용한다.
펼쳐보기
★ 이 책에서 다루는 내용 ★
■ 자바 머신 러닝 라이브러리 마스터
■ 각각의 머신 러닝 기법이 해결할 수 있는 문제의 종류 파악 및 관련 기초 이론과 실무 적용 방법
■ 머신 러닝의 주요 분야라 할 수 있는 분류, 클러스터링, 이상점 감지, 확률적 그래프 모델링, 텍스트 마이닝 기법
■ 실제 데이터에 적용 가능한 머신 러닝의 방법론, 프로세스, 애플리케이션, 분석 방법
■ 최신 머신 러닝 연구 주제라 할 수 있는 딥러닝, 스트림 데이터 마이닝, 능동 학습, 반지도 학습 기법과 이들을 이용한 실무적인 실험
■ 고성능의 실시간 적응형 예측 모델을 통해 배치형 및 스트림 기반 빅데이터를 분석하는 방법론과 자바 기반 도구들
■ 사이버 보안, 금융 범죄, 사물인터넷, 소셜 네트워킹 등의 문제를 해결할 수 있는 AI에 대한 깊이 있는 이해
★ 이 책의 대상 독자 ★
이 책의 첫 번째 대상 독자는 데이터를 다루는 전문가, 데이터 분석, 시각화, 변환 책임자, 그리고 자바 기반의 예측적, 기술적, 규범적 분석을 목적으로 하는 머신 러닝에 의한 훈련, 검증, 테스트, 평가 등의 업무를 수행하는 데이터 분석 담당자다.
또한 이 책의 독자는 머신 러닝의 도구로 자바를 선택했으며, 자바 프로그래밍에 대한 일정 수준 이상의 프로그래밍 경험을 갖췄다고 가정한다. 그렇지 않은 경우, 데이터 분석 및 연구 환경, 그리고 회사 정책상 자바 언어로 작성된 서드파티 도구를 사용하는 독자라고 가정한다. 또 다른 경우, 자바 프로그래밍 경험이 전혀 없는 예비 독자도 있을 텐데, 이 책은 자바 전문가용으로 작성됐다는 점을 기억해주기 바란다.
이 책의 두 번째 독자는 지적 호기심에서 머신 러닝을 학습하며, 머신 러닝의 기본 개념과 실무적 기법, 활용 도구까지 관심을 가진 경우다. 이런 독자라면 수학 공식 부분은 생략하고 가장 대표적인 지도식 및 비지도식 학습 알고리즘의 기본 개념과 도구 활용 방법에만 집중하길 바란다.
실무 예제와 도구를 집중적으로 익히고 싶은 독자는 (머신 러닝에 대한 이론적 토대가 강조된) 1, 2, 3, 7장을 생략하고 실무적으로 즉시 적용할 수 있는 데이터세트와 분석 기법을 중심으로 살펴보길 바란다.
이 책에 실린 다양한 데이터세트와 머신 러닝 실험을 통해 궁금한 부분에 대한 해답을 찾을 수 있다. 3장, ‘비지도식 머신 러닝 기법’에서 소개하는 어피니티 전파 알고리즘, 7장, ‘딥러닝’에서 소개하는 LSTM 아키텍처, 그리고 5장, ‘실시간 스트림 머신 러닝’에서 소개하는 실시간 학습에서의 이상점 감지를 위해 거리 기반 클러스터링 기법을 사용할 때의 장점 및 단점 등, 다양한 이론과 사례를 신속하게 접근할 수 있는 참조 자료처럼 활용할 수 있다. 이 책에 실린 대부분의 내용은 머신 러닝에 흥미를 느끼는 독자라면 이해하기 쉽게 구성했으며 다양한 예제를 통해 실무적인 접근 방식도 파악할 수 있도록 했다.
★ 이 책의 구성 ★
1장, ‘머신 러닝 개론’에서는 『머신 러닝 인 자바』(에이콘, 2016) 등 관련 서적에 소개된 머신 러닝의 기본 개념과 기법에 대해 설명한다. 머신 러닝에 대한 이해를 위해 필수적인 데이터, 데이터 변환, 표본추출, 편향성, 특성의 개념 및 중요성, 지도식 및 비지도식 학습, 빅데이터 학습, 실시간 학습, 확률적 그래프 모델, 반지도 학습 등의 개념에 대해 알아본다.
2장, ‘지도식 학습에 대한 실무적인 접근’에서는 지도식 학습의 개념과 이를 구현한 다양한 기법에 대해 알아본다. 특성 선택과 특성 감소, 선형 모델, 로지스틱 모델, 비선형 모델, SVM과 커널, 배깅과 부스팅 등 앙상블 학습 기법, 검증 기법과 성능 평가 지표, 그리고 모델 선택 기법에 대해 알아본다. 실무 예제 분석에서는 WEKA와 RapidMiner를 이용해서 데이터 분석에서부터 모델 성능 분석까지의 과정을 살펴본다. 이후 장에서도 실무 예제 분석을 통해 해당 장에서 소개한 주요 머신 러닝 기법과 모델을 실무적으로 적용하는 과정을 설명한다. 예제에서는 UCI HorseColic 데이터세트를 사용한다.
3장, ‘비지도식 머신 러닝 기법’에서는 클러스터링, 이상점 감지 기법과 애플리케이션에 대해 알아본다. 비지도식 데이터에서의 특성 선택과 특성 감소, 클러스터링 알고리즘, 클러스터링의 평가 기법, 통계 기법, 거리 기반 기법, 분포 기반 기법 등을 이용한 이상점 감지 등에 대해서도 살펴본다. 마지막, 실무 예제 분석에서는 MNIST의 실제 이미지 데이터세트를 이용하며, 차원 감소를 위해 Smile API를 사용하고, 학습을 위해 ELKI를 사용한다.
4장, ‘반지도식 학습과 능동 학습’에서는 소량의 라벨 데이터를 이용한 알고리즘 및 학습 기법에 대해 알아보며 자가 훈련, 생성적 모델, 전이 SVM, 공동 훈련, 능동 학습, 다중 뷰 학습 등에 대해 소개한다. 사례 분석에는 UCI Breast Cancer Wisconsin 데이터세트를 이용하며 JKernelMachines, KEEL 그리고 JCLAL 등의 도구를 사용한다.
5장, ‘실시간 스트림 머신 러닝’에서는 실시간 데이터 스트림이 전통적인 배치형 데이터와 어떤 점에서 다른지, 그리고 문제 해결 방식은 어떻게 다른지에 대해 알아본다.
스트림 머신 러닝과 애플리케이션, 지도식 스트림 학습, 비지도식 클러스터 스트림 학습, 비지도식 이상점 학습, 스트림 학습 모델의 평가 기법과 평가 지표 등에 대해 소개한다. 사례 분석에서는 ELEC의 전기 데이터세트를 이용하며, 모델 구현 도구로 MOA 프레임워크를 사용한다.
6장, ‘확률적 그래프 모델링’에서는 다차원 공간상의 복합 결합 확률 분포를 통해 현실 세계의 문제를 해결하는 방법에 대해 알아본다. 확률적 그래프 모델은 확률의 시각적 표현, 추론에 의한 결론 도출, 효과적인 학습 방법을 제공한다. 이 장에서 다루는 대표적인 내용은 PGM, 베이지안 네트워크, 마코프 네트워크, 그래프 구조 학습, 은닉 마코프 모델, 그리고 추론 기법 등이다. 사례 분석에서는 UCI Adult(가구당 소득 통계조사) 데이터세트를 이용하며 OpenMarkov와 WEKA의 Bayes network를 사용한다.
7장, ‘딥러닝’에서는 가장 복잡한 AI 문제를 풀 수 있으며, 오늘날 머신 러닝의 총아라 할 수 있는 딥러닝에 대해 알아본다. 이 장에서 다루는 대표적인 내용은 신경망, 신경망과 관련된 주요 난제, 심층 신뢰망, 제한 볼츠만 머신, 컨볼루션 네트워크, 롱숏텀 메모리 유닛, 노이즈 감소 오토인코더, 리커런트 네트워크 등이다. 사례 분석에서는 딥러닝의 구현 방식, 파라미터 튜닝에 대한 이해를 돕기 위해 MNIST 이미지 데이터세트에 대해 DeepLearning4J 프레임워크를 적용한다.
8장, ‘텍스트 마이닝과 자연어 처리’에서는 텍스트 마이닝을 위한 다양한 기법, 알고리즘, 도구에 대해 소개한다. 이 장의 대표 주제는 텍스트 마이닝, 텍스트 데이터의 대표값, 차원 감소 기법, 토픽 모델링, 텍스트 클러스터링, 개체명 인식, 그리고 딥러닝 등이다. 분석 실무에서는 비정형 텍스트 데이터(Reuters-21578 데이터세트)를 이용해서 토픽 모델링과 텍스트 분류 기법의 구현 과정을 살펴보며, MALLET 그리고 KNIME 도구를 사용한다.
9장, ‘빅데이터 머신 러닝’에서는 매우 큰 용량의 데이터, 혹은 매우 빠른 속도로 증가하는 데이터를 통해 어떻게 학습할 것인가? 확장성 문제는 어떻게 해결할 것인가? 등과 같이 오늘날 가장 중요시되는 질문에 대한 답을 찾는다. 주요 주제는 빅데이터 클러스터 배포 프레임워크, 빅데이터 저장 옵션, 배치형 데이터 처리, 배치형 데이터 머신 러닝, 실시간 머신 러닝 프레임워크, 실시간 스트림 학습 등이다.
실무 분석에서는 배치형 및 실시간형 빅데이터 분석 기법에 대해 알아보기 위해 UCI Covertype 데이터세트를 이용하며 H2O, Spark MLLib 그리고 SAMOA 등의 빅데이터 전문 라이브러리를 사용한다.
부록 A, ‘선형 대수학’에서는 선형 대수학의 개념을 소개하고, 잊었던 기본 이론을 복습한다. 부록에서 모든 내용을 다룰 수는 없지만, 이 책에서 소개하는 머신 러닝의 주요 개념을 이해하기에는 부족하지 않으리라 생각한다. 주요 주제는 벡터, 행렬, 행렬의 기본 연산, 연산 규칙, 행렬의 선형 변환, 역행렬, 에이젠 분해, 정치행렬, 특이값 분해 등이다.
부록 B, ‘확률’에서는 확률의 핵심 개념을 정리한다. 주요 주제는 확률의 공리, 베이즈 이론, 확률 밀도 측정, 평균, 분산, 표준편차, 가우시안 표준편차, 공분산, 상관관계 상관계수, 이항분포, 푸와송 분포, 가우시안 분포, 중심극한정리, 오류 전파 등이다.
펼쳐보기
우다이 카마스
BAE 시스템 응용 지능 부서의 책임 데이터 과학자로서, 확장성 높은 머신 러닝을 주로 연구하며 AML, 금융 범죄 관련 사기 행동 감지, 사이버 보안, 생체정보학 등의 분야에서 20년간 종사해 왔다. BAE AI 부서에서 소비자 행동, 소셜 네트워킹, 빅데이터 머신 러닝에 특화된 다수의 핵심 제품 개발 팀을 이끌고 있다. 조지 메이슨 대학교에서 빅데이터 머신 러닝과 자동화된 시퀀스 마이닝 분야의 석학인 케네스 드 용 교수(Dr. Kenneth De Jong)의 지도하에 박사 학위를 받았다.
저자 : 크리슈나 쵸펠라
20년차 자바 개발자로서, BAE 시스템 응용 지능 부서에서 분석용 클라이언트 솔루션을 개발하며 데이터 과학, 기능적 프로그래밍, 분산 컴퓨팅 환경에 대해 연구한다.
역자 : 동준상
2010년 이후 ICT 혁신기술 사업화 프로젝트에 참여해 왔으며, AI, 클라우드 기반 서비스와 플랫폼 구현 및 사업화와 관련된 리서치, 심사, 컨설팅 업무를 한다. 2015년 이후 국가정보자원관리원, 한국정보화진흥원 등 주요 정보화 기관에서 AI 기반 프로젝트 수행을 주제로 강연을 하고 있다. 『머신 러닝 인 자바』(2017, 에이콘), 『스위프트 데이터 구조와 알고리즘』(2017, 에이콘) 외 십여 권의 번역서가 있다.
홈페이지: http://www.nextplatform.net/
옮긴이 동준상
2010년 이후 ICT 혁신기술 사업화 프로젝트에 참여해 왔으며, AI, 클라우드 기반 서비스와 플랫폼 구현 및 사업화와 관련된 리서치, 심사, 컨설팅 업무를 한다. 2015년 이후 국가정보자원관리원, 한국정보화진흥원 등 주요 정보화 기관에서 AI 기반 프로젝트 수행을 주제로 강연을 하고 있다. 『머신 러닝 인 자바』(2017, 에이콘), 『스위프트 데이터 구조와 알고리즘』(2017, 에이콘) 외 십여 권의 번역서가 있다.
홈페이지: http://www.nextplatform.net/
펼쳐보기