파이썬으로 배우는 대규모 머신 러닝(acorn+PACKT 시리즈)(Paperback)
대규모 데이터 분석과 처리를 위한 다양한 머신 러닝 기법 활용
『파이썬으로 배우는 대규모 머신 러닝』은 파이썬을 활용해 대규모 데이터 세트에 머신 러닝을 적용하는 방법을 안내한다. 실제 파이썬 코드를 이용해 현재 가장 많이 사용되는 머신 러닝 기법들과 프레임워크로 대규모 데이터 세트를 처리하는 방법을 설명하고 있다. 기본적으로 파이썬 문법과 머신 러닝 개념을 어느 정도 숙지한 중급 독자를 위한 책으로, 통계와 수학에 대한 실무 지식이 있다면 더욱 이해하기 쉬울 것이다. 머신 러닝 분야에서 언급되는 주요 개념, 프레임워크, 알고리즘, 툴 등을 적절하게 사용하는 예를 제시한다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
■ 확장성이 뛰어난 머신 러닝 알고리즘 적용 방법
■ 최신 머신 러닝 기법 활용
■ 딥러닝과 확장 가능한 데이터 처리 기법을 활용한 예측 정확도 향상
■ 스파크에서 맵리듀스 프레임워크 활용
■ 스파크 및 하둡을 활용한 효과적인 머신 러닝 알고리즘 적용 방법
■ 강력한 대규모 앙상블 생성
■ 데이터 스트림을 사용해 대규모 데이터 세트에서 선형 및 비선형 예측 모델 학습
★ 이 책의 대상 독자 ★
데이터 과학 분야의 실무자, 개발자, 그리고 크고 복잡한 데이터 세트를 다루려는 모든 사람들에게 적합하다. 가능한 한 많은 독자들을 대상으로 하려고 노력했다. 그러나 이 책이 다루는 주제가 상당히 고급 과정이라는 점을 감안했을 때 강제 사항은 아니지만 분류, 회귀, 오차 최소화 함수, 교차 검증 같은 기본적인 머신 러닝의 개념에 익숙할 것을 권장한다. 또한 이 책에서 제안하는 다양한 해결 방식의 개념을 이해하기 위해 일정 수준 이상의 수학 지식과 함께 파이썬, 주피터 노트북 및 명령행 실행에 어느 정도 경험이 있는 독자를 가정했다. 코드는 다른 언어(R, Java 및 MATLAB) 프로그래머가 따라갈 수 있는 양식으로 작성했다. 이론적으로는 머신 러닝에 익숙하며, 컴퓨터 연산, 메모리 및 I/O 성능 문제로 파이썬을 활용해 R 또는 MATLAB 같은 다른 언어를 다루는 것에 관심이 있는 데이터 과학자에게 적합하다(그러나 이에 국한되지는 않는다).
★ 이 책의 구성 ★
1장, '확장성을 향한 첫 걸음'에서는 머신 러닝을 확장하는 문제를 정확한 관점에서 설정하고, 사용할 도구에 익숙해지도록 안내한다.
2장, 'Scikit-learn으로 확장 가능한 학습'에서는 메모리 소비가 적은 확률적 경사 하강법(Stochastic gradient descent, SGD)에 대한 전략을 설명한다. 이들은 코어에 구애 받지 않는 out-of-core 학습을 기반으로 한다. 또한 해싱 기법처럼 다양한 데이터를 처리할 수 있는 데이터 전처리 기술도 다룰 것이다.
3장, '빠른 SVM 구현체'에서는 서포트 벡터 머신(support vector machines) 형태로 비선형성을 찾아낼 수 있는 스트리밍 알고리즘을 다룬다. LIBLINEAR 및 Vowpal Wabbit 같은 Scikit-learn의 대안을 제시할 것이다. 이들은 외부 셸 명령으로 동작하지만, 파이썬 스크립트로 쉽게 래핑되고 호출될 수 있다.
4장, '신경망과 딥러닝'에서는 H2O를 활용한 대규모 애플리케이션과 함께 Theano 프레임워크에서 심층 신경망을 적용하는 유용한 방법들을 소개한다. 주목 받는 방법을 성공적으로 적용하는 것과 확장 가능한 솔루션으로 제공하는 것은 또 다른 문제일 수 있다. theanets 패키지로 오토인코더를 통한 비지도 사전 훈련 방법도 사용할 것이다.
5장, '텐서플로를 활용한 딥러닝'에서는 신경망을 위한 온라인 방법과 함께 주목 받는 딥러닝 기법들을 다룬다. 현재 텐서플로는 초기 단계에 불과하지만, 프레임워크가 제공하는 머신 러닝 방법은 명쾌하다. 텐서플로 환경에서 케라스를 사용한 합성곱 신경망(Convolutional Neural Networks)도 활용할 것이다.
6장, '분류와 회귀 트리 확장'에서는 랜덤 포레스트(random forest), 경사 부스팅(gradient boosting), XGboost를 확장하는 방법을 설명한다. 분류 및 회귀 트리의 약어인 CART는 일반적으로 앙상블 방식의 프레임워크에 적용되는 머신 러닝 기법이다. 또한 H2O를 사용하는 대규모 애플리케이션의 예를 제시할 것이다.
7장, '대규모 데이터에 대한 비지도 학습'에서는 비지도 학습을 자세히 살펴보는 것은 물론 PCA, 클러스터 분석, 주제 모델링과 이들을 확장하는 올바른 접근 방법에 대해 살펴볼 것이다.
8장, '분산 환경-하둡과 스파크'에서는 단일 머신에서 연산 네트워크로 패러다임이 이동함에 따라 가상 머신 환경에서 스파크를 설정하는 방법을 살펴본다. 파이썬으로 머신 클러스터의 용이한 결합과 성능 향상이 가능해지면서 어렵지 않게 하둡 클러스터의 힘을 활용할 수 있게 됐다.
9장, '스파크를 활용한 실무에서의 머신 러닝'에서는 스파크를 사용해 즉각적으로 데이터를 조작하고 대규모 데이터 세트로 예측 모델을 만들기 위해 필요한 모든 내용을 다룬다.
목차
목차
__확장성에 대한 자세한 설명
____대규모 객체 생성하기
____파이썬 소개
____파이썬을 통한 스케일 업
____파이썬을 통한 스케일 아웃
__대규모 머신 러닝을 위한 파이썬
____파이썬 2와 파이썬 3 중 어느 것을 선택할 것인가?
____파이썬 설치
____단계적 설치
____패키지 설치
____패키지 업그레이드
____과학용 배포판
____주피터 / IPython 소개
__파이썬 패키지
____NumPy
____SciPy
____Pandas
____Scikit-learn
__요약
2장. Scikit-learn으로 확장 가능한 학습
__코어에 구애 받지 않는 학습(Out-of-core learning)
____실행 가능한 방법으로서 재표본추출
____한 번에 하나의 객체만으로 최적화를 하는 방법
____코어에 구애 받지 않는(out-of-core) 학습 시스템 구축
__소스로부터 데이터를 스트리밍하기
____현실을 반영하는 데이터 세트
____첫 번째 예제 - 자전거 대여 데이터 세트 스트리밍하기
__확률적 학습(Stochastic learning)
____배치 경사 하강법(Batch gradient descent)
____확률적 경사 하강법
____Scikit-learn의 SGD 구현체
____SGD 학습 파라미터 정의하기
__데이터 스트림을 통한 특징 관리
____목표 설명
____해싱 기법
____그 외 기본적인 변환들
____스트림에서 테스트와 검증
____SGD의 실제 동작
__요약
3장. 빠른 SVM 구현체
__실험용 데이터 세트
____자전거 대여 데이터 세트
____산림 유형 데이터 세트
__서포트 벡터 머신
____경첩 손실 및 변형
____Scikit-learn SVM 구현체에 대한 이해
____재표본추출에 의한 비선형 SVM
____SGD로 SVM 확장하기
__정규화를 통한 특징 선택
__SGD에 비선형성 포함시키기
____명시적 고차원 매핑 시도하기
__하이퍼파라미터튜닝
____빠른 SVM 학습을 위한 방법들
__요약
4장. 신경망과 딥러닝
__신경망 아키텍처
____신경망이 학습하는 내용과 방법
____적합한 아키텍처 선택하기
__실제로 동작하는 신경망
____sknn 병렬 처리
__신경망과 정규화
__신경망과 하이퍼파리미터 최적화
__신경망과 결정 경계
__H2O를 통한 딥러닝의 확장
____H2O를 활용한 대규모 딥러닝
____H2O에서의 그리드 검색
__딥러닝과 비지도 사전 학습
__theanets를 활용한 딥러닝
__오토인코더와 비지도 학습
____오토인코더
__요약
5장. 텐서플로를 활용한 딥러닝
__텐서플로 설치
__SkFlow를 활용한 텐서플로에서의 머신 러닝
____대형 파일을 활용하는 딥러닝-점진적 학습
__Keras와 텐서플로 설치
____Keras를 통한 텐서플로에서의 합성곱 신경망
__합성곱층
____풀링층
____완전 연결층
__점진적 방식을 사용하는 CNNs
__GPU 컴퓨팅
__요약
6장. 분류와 회귀 트리 확장
__부트스트랩 모음
__랜덤 포레스트 및 극단적인 랜덤 포레스트
__무작위 검색을 통한 빠른 파라미터 최적화
____극단적인 랜덤 트리와 대형 데이터 세트
__CART와 부스팅
____경사 부스팅 머신
__XGBoost
____XGBoost 회귀
____대형 데이터 세트를 스트리밍하는 XGBoost
____XGBoost model persistence
__H2O를 통한 코어에 구애 받지 않는 방식의 CART
____H2O에서의 랜덤 포레스트와 그리드 검색
____H2O에서의 확률적 경사 부스팅과 그리드 검색
__요약
7장. 대규모 데이터에 대한 비지도 학습
__비지도 방식
__특징 분해(Feature decomposition) - PCA
____무작위 PCA
____증분 PCA
____희소 PCA
__H2O를 활용한 PCA
__클러스터링? K-평균
____초기화 방식
____K-평균의 가정
____최적의 K 선택하기
____K-평균의 확장-미니 배치
__H2O를 활용한 K-평균
__LDA
____LDA 확장 ? 메모리, CPUs, 머신
__요약
8장. 분산환경-하둡(Haddop)과 스파크(Spark)
__독립형 머신에서 다수의 노드들로
____분산 프레임워크가 필요한 이유
__VM 환경 설정
____버추얼박스
____베이그런트
____VM 사용하기
__하둡 생태계
____아키텍처
____HDFS
____맵리듀스
____얀
__스파크
____pySpark
__요약
9장. 스파크를 활용한 실무에서의 머신 러닝
__9장을 위한 VM 환경 설정
__클러스터 노드들에서 변수 공유하기
____읽기 전용 브로드캐스트 변수
____읽기 전용 누산기 변수
____브로드캐스트와 누산기를 함께 사용하기-예제
__스파크에서의 데이터 전처리
____JSON 파일과 스파크 데이터 프레임
____유실 데이터 처리하기
____메모리에서 테이블을 그룹짓고 생성하기
____전처리된 데이터 프레임 혹은 RDD를 디스크에 쓰기
____스파크 데이터 프레임으로 작업하기
__스파크를 활용한 머신 러닝
____KDD99 데이터 세트를 다루는 스파크
____데이터 세트 읽기
____특징 엔지니어링
____학습기 훈련시키기
____학습기 성능 평가하기
____강력한 ML 파이프라인
____수작업 튜닝
____교차 검증
__요약
부록. GPU 및 Theano 소개
__GPU 컴퓨팅
__Theano - GPU에서의 병렬 컴퓨팅
__Theano 설치하기
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

