logo资料库

Manning.Machine.Learning.Systems.2018.5.pdf

第1页 / 共224页
第2页 / 共224页
第3页 / 共224页
第4页 / 共224页
第5页 / 共224页
第6页 / 共224页
第7页 / 共224页
第8页 / 共224页
资料共224页,剩余部分请下载后查看
Machine Learning Systems
brief contents
contents
foreword
preface
acknowledgments
about this book
How this book is organized
Code conventions and downloads
Book forum
Other online resources
about the author
about the cover illustration
Part 1: Fundamentals of reactive machine learning
Chapter 1: Learning reactive machine learning
1.1 An example machine learning system
1.1.1 Building a prototype system
1.1.2 Building a better system
1.2 Reactive machine learning
1.2.1 Machine learning
1.2.2 Reactive systems
1.2.3 Making machine learning systems reactive
1.2.4 When not to use reactive machine learning
Chapter 2: Using reactive tools
2.1 Scala, a reactive language
2.1.1 Reacting to uncertainty in Scala
2.1.2 The uncertainty of time
2.2 Akka, a reactive toolkit
2.2.1 The actor model
2.2.2 Ensuring resilience with Akka
2.3 Spark, a reactive big data framework
Part 2: Building a reactive machine learning system
Chapter 3: Collecting data
3.1 Sensing uncertain data
3.2 Collecting data at scale
3.2.1 Maintaining state in a distributed system
3.2.2 Understanding data collection
3.3 Persisting data
3.3.1 Elastic and resilient databases
3.3.2 Fact databases
3.3.3 Querying persisted facts
3.3.4 Understanding distributed-fact databases
3.4 Applications
3.5 Reactivities
Chapter 4: Generating features
4.1 Spark ML
4.2 Extracting features
4.3 Transforming features
4.3.1 Common feature transforms
4.3.2 Transforming concepts
4.4 Selecting features
4.5 Structuring feature code
4.5.1 Feature generators
4.5.2 Feature set composition
4.6 Applications
4.7 Reactivities
Chapter 5: Learning models
5.1 Implementing learning algorithms
5.1.1 Bayesian modeling
5.1.2 Implementing Naive Bayes
5.2 Using MLlib
5.2.1 Building an ML pipeline
5.2.2 Evolving modeling techniques
5.3 Building facades
5.3.1 Learning artistic style
5.4 Reactivities
Chapter 6: Evaluating models
6.1 Detecting fraud
6.2 Holding out data
6.3 Model metrics
6.4 Testing models
6.5 Data leakage
6.6 Recording provenance
6.7 Reactivities
Chapter 7: Publishing models
7.1 The uncertainty of farming
7.2 Persisting models
7.3 Serving models
7.3.1 Microservices
7.3.2 Akka HTTP
7.4 Containerizing applications
7.5 Reactivities
Chapter 8: Responding
8.1 Moving at the speed of turtles
8.2 Building services with tasks
8.3 Predicting traffic
8.4 Handling failure
8.5 Architecting response systems
8.6 Reactivities
Part 3: Operating a machine learning system
Chapter 9: Delivering
9.1 Shipping fruit
9.2 Building and packaging
9.3 Build pipelines
9.4 Evaluating models
9.5 Deploying
9.6 Reactivities
Chapter 10: Evolving intelligence
10.1 Chatting
10.2 Artificial intelligence
10.3 Reflex agents
10.4 Intelligent agents
10.5 Learning agents
10.6 Reactive learning agents
10.6.1 Reactive principles
10.6.2 Reactive strategies
10.6.3 Reactive machine learning
10.7 Reactivities
10.7.1 Libraries
10.7.2 System data
10.8 Reactive explorations
10.8.1 Users
10.8.2 System dimensions
10.8.3 Applying reactive principles
Appendix: Getting set up
Scala
Git code repository
sbt
Spark
Couchbase
Docker
index
Symbols
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Z
M A N N I N G Designs that scale Jeff Smith Foreword by Sean Owen
Machine Learning Systems DESIGNS THAT SCALE JEFF SMITH FOREWORD BY SEAN OWEN M A N N I N G SHELTER ISLAND
For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Email: orders@manning.com ©2018 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Development editor: Susanna Kline Review editor: Aleksandar Dragosavljevic´ Technical development editor: Kostas Passadis Project editor: Tiffany Taylor Copyeditor: Corbin Collins Proofreader: Katie Tennant Technical proofreader: Jerry Kuch Typesetter: Gordan Salinovic Cover designer: Marija Tudor ISBN 9781617293337 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – EBM – 23 22 21 20 19 18
brief contents PART 1 FUNDAMENTALS OF REACTIVE MACHINE LEARNING...................1 1 ■ Learning reactive machine learning 3 2 ■ Using reactive tools 23 PART 2 BUILDING A REACTIVE MACHINE LEARNING SYSTEM................41 3 ■ Collecting data 43 4 ■ Generating features 69 5 ■ Learning models 93 6 ■ Evaluating models 117 7 ■ Publishing models 135 8 ■ Responding 149 PART 3 OPERATING A MACHINE LEARNING SYSTEM.........................165 9 ■ Delivering 167 10 ■ Evolving intelligence 177 iii
contents foreword ix preface xii acknowledgments about this book about the author about the cover illustration xxii xv xvii xxi PART 1 FUNDAMENTALS OF REACTIVE MACHINE LEARNING .........1 1 Learning reactive machine learning 3 1.1 An example machine learning system 4 Building a prototype system 4 ■ Building a better system 7 1.2 Reactive machine learning 7 Machine learning 8 ■ Reactive systems 11 ■ Making machine- learning systems reactive 16 ■ When not to use reactive machine learning 20 2 Using reactive tools 2.1 23 Scala, a reactive language 24 Reacting to uncertainty in Scala 25 ■ The uncertainty of time 26 v
vi CONTENTS 2.2 Akka, a reactive toolkit 29 The actor model 29 ■ Ensuring resilience with Akka 31 2.3 Spark, a reactive big data framework 34 PART 2 BUILDING A REACTIVE MACHINE LEARNING SYSTEM ......41 3 Collecting data 43 3.1 Sensing uncertain data 44 3.2 Collecting data at scale 48 Maintaining state in a distributed system 48 ■ Understanding data collection 52 3.3 Persisting data 53 Elastic and resilient databases 54 ■ Fact databases 55 ■ Querying persisted facts 57 ■ Understanding distributed-fact databases 62 3.4 Applications 66 3.5 Reactivities 67 4 Generating features 69 Spark ML 71 4.1 4.2 Extracting features 71 4.3 Transforming features 74 Common feature transforms 76 ■ Transforming concepts 79 4.4 4.5 Selecting features 80 Structuring feature code 82 Feature generators 82 ■ Feature set composition 86 4.6 Applications 90 4.7 Reactivities 90 5 Learning models 5.1 93 Implementing learning algorithms 94 Bayesian modeling 96 ■ Implementing Naive Bayes 98 5.2 Using MLlib 102 Building an ML pipeline 102 ■ Evolving modeling techniques 107 5.3 Building facades 109 Learning artistic style 110 5.4 Reactivities 115
CONTENTS vii 6 Evaluating models 117 6.1 Detecting fraud 118 6.2 Holding out data 119 6.3 Model metrics 122 6.4 Testing models 127 6.5 Data leakage 129 6.6 Recording provenance 130 6.7 Reactivities 132 7 Publishing models 135 7.1 The uncertainty of farming 136 7.2 Persisting models 136 7.3 Serving models 141 Microservices 141 ■ Akka HTTP 142 7.4 Containerizing applications 144 7.5 Reactivities 147 8 Responding 149 8.1 Moving at the speed of turtles 150 8.2 Building services with tasks 150 8.3 Predicting traffic 153 8.4 Handling failure 157 8.5 Architecting response systems 160 8.6 Reactivities 162 PART 3 OPERATING A MACHINE LEARNING SYSTEM ...............165 9 Delivering 167 Shipping fruit 168 9.1 9.2 Building and packaging 169 9.3 Build pipelines 170 9.4 Evaluating models 171 9.5 Deploying 172 9.6 Reactivities 175
分享到:
收藏