
스칼라와 머신 러닝 2/e [풍부한 설명으로 배우는 스칼라 머신 러닝 구현]
- 원서명Scala for Machine Learning - Second Edition: Data processing, ML algorithms, smart analytics, and more (ISBN 9781787122383)
- 지은이패트릭 니콜라스(Patrick R. Nicolas)
- 옮긴이이판호
- ISBN : 9791161752327
- 45,000원
- 2018년 11월 28일 펴냄 (절판)
- 페이퍼백 | 864쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
2019년 대한민국학술원 우수학술도서 선정도서
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
머신 러닝에 스칼라를 적용하고자 하는 개발자를 위한 책이다. 멀티 패러다임 언어인 스칼라의 특성과 관련 디자인 패턴 등 개발자에게 필요한 스칼라의 기본적인 특성부터 데이터 파이프라인과 처리, 주요 머신 러닝 알고리즘의 구현에 대해 자세히 설명한다. 대부분의 예제는 금융 데이터를 기반으로 구현돼 있으며, 직접 스칼라로 작성한 모든 코드와 알고리즘을 상세하게 설명한다. 부록에서는 주요 머신 러닝 알고리즘에서 쓰이는 수학적 개념과 관련 논문이 정리돼 있어서 필요한 내용을 쉽게 참조할 수 있다. 이 책은 수준 높은 스칼라 코드를 작성하는 데 활용할 수 있는 참고 서적으로도 가치가 크다.
이 책에서 다루는 내용
■ 과학적 연산을 위한 동적 작업 흐름 구축
■ 시계열로부터 패턴을 추출하기 위한 오픈소스 라이브러리의 활용
■ 자신만의 분류, 군집화, 혹은 진화 알고리즘 작성
■ 스파크의 상대적 성능 조정과 평가 수행
■ 순차적 데이터를 위한 확률적 모형 터득
■ 정칙화 및 커널화 같은 고급 기술을 통한 실험
■ 신경망과 몇몇 딥러닝 아키텍처에 대해 파고들기
■ 기본적인 몇 가지 멀티암드 밴딧 알고리즘의 적용
■ 스칼라 병렬 컬렉션, 아카 액터, 아파치 스파크 클러스터를 이용한 빅데이터 문제 해결
■ 금융 시장의 기술적 분석에 핵심적인 학습 전략 적용
이 책의 대상 독자
머신 러닝 알고리즘을 만들고 검증하고 적용하길 원하고 스칼라 프로그래밍에 대한 배경지식을 갖춘 소프트웨어 개발자를 위한 책이다. 또한 이 책은 함수형 프로그래밍을 살펴보고자 하거나 스칼라를 사용해 기존 애플리케이션의 확장성을 개선하려는 데이터 과학자에게도 도움이 될 수 있다.
이 책의 구성
1장. ‘시작하기’에서는 통계적 분석, 분류, 회귀, 예측, 군집화, 최적화에 대한 기본 개념을 소개한다. 또한 스칼라 언어, 특성, 라이브러리와 간단한 애플리케이션 구현을 다룬다.
2장. ‘데이터 파이프라인’에서는 분류에 대한 전형적인 작업 흐름, 편향/분산 상반 관계(trade-off)에 대한 개념과 금융 시장의 기술적 분석에 적용된 스칼라 의존성 주입을 사용한 검증을 설명한다.
3장. ‘데이터 전처리’에서는 시계열 분석을 다루며 데이터 전처리 및 이동 평균, 이산 푸리에 변환, 재귀적 칼만 필터와 같은 평활 기술을 구현하는 데 스칼라를 활용한다.
4장. ‘비지도 학습’에서는 K-평균 군집화, 가우스 조합 기댓값-최대화, 함수 근사와 같은 핵심 군집화 방법을 다룬다.
5장. ‘차원 축소’에서는 쿨백-라이블러 발산, 선형 모형을 위한 주성분 분석, 비선형 모형에 적용된 다면성의 개요를 설명한다.
6장. ‘단순 베이즈 분류기’에서는 확률적 그래프 모형과 더 구체적으로는 단순 베이즈 모형 및 이를 텍스트 마이닝에 적용하는 것에 집중한다.
7장. ‘순차적 데이터 모형’에서는 마코프 과정과 은닉 마코프 모형의 완전한 구현, 금융 시장 데이터에서의 패턴 인식에 적용된 조건적 무작위장(CRF, Conditional Random Field)을 소개한다.
8장. ‘몬테카를로 추론’에서는 박스-뮬러 테크닉을 사용한 가우스 샘플링, 교체를 통한 부트스트랩 복제, 그리고 폭넓게 적용 가능한 알고리즘인 메트로폴리스-헤이스팅스 알고리즘을 마코프 체인 몬테카를로를 위해 설명한다.
9장. ‘회귀와 정칙화’에서는 선형 및 최소제곱 회귀의 전형적인 구현, 정칙화(regularization) 기술로서의 능형 회귀, 로지스틱 회귀를 다룬다.
10장. ‘다층 퍼셉트론’에서는 전방 전달 신경망(FFNN, Feed-Forward Neural Network)과 다층 퍼셉트론 분류기의 완전한 구현을 설명한다.
11장. ‘딥러닝’에서는 희소 오토인코더와 스칼라에서의 차원 축소를 위한 제한된 볼츠만 머신, 나선형 신경망을 구현한다.
12장. ‘커널 모형과 서포트 벡터 머신’에서는 서포트 벡터 머신(SVM) 분류 및 회귀 구현을 통한 커널 함수의 개념, 이상치 탐지를 위한 단일 클래스 SVM을 다룬다.
13장. ‘진화적 연산’에서는 진화적 연산(evolutionary computing)에 대한 기본과 다목적 유전 알고리즘의 서로 다른 구성 요소 구현을 다룬다.
14장. ‘멀티암드 밴딧’에서는 입실론-탐욕 알고리즘을 사용한 탐색-활용 상반 관계의 개념, 상단신뢰도 제한 기술, 환경 제한이 없는 톰슨 샘플링을 소개한다.
15장. ‘강화 학습’에서는 Q-학습 알고리즘의 구현을 통해 강화 학습의 개념을 살펴보고 학습 분류기 시스템을 구축하기 위한 템플릿을 소개한다.
16장. ‘스칼라와 아카에서의 병렬화’에서는 확장 가능한 애플리케이션을 만들기 위한 아티팩트 및 프레임워크를 설명하고, 스칼라 병렬 컬렉션과 아카 기반으로 분산화된 연산의 상대 성능을 평가한다.
17장. ‘아피치 스파크 MLlib’에서는 아파치 스파크의 아키텍처와 핵심 개념, 머신 러닝을 활용하는 회복력 있는 분산 데이터셋, 재사용 가능한 ML 파이프라인, 분산된 다이버전스(divergence)로 MLlib 확장, 스파크 스트리밍 라이브러리의 예제 등을 다룬다.
부록 A. ‘기본 개념’에서는 이 책 전반에 걸쳐 사용된 스칼라 언어 구조, 선형대수의 요소, 최적화 기술을 설명한다.
부록 B. ‘참조’에서는 장별로 참조 자료를 보여주는 리스트를 제공한다.