万本电子书0元读

万本电子书0元读

顶部广告

Machine Learning with Swift电子书

售       价:¥

2人正在读 | 0人评论 9.8

作       者:Alexander Sosnovshchenko

出  版  社:Packt Publishing

出版时间:2018-02-28

字       数:42.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Leverage the power of machine learning and Swift programming to build intelligent iOS applications with ease About This Book ? Implement effective machine learning solutions for your iOS applications ? Use Swift and Core ML to build and deploy popular machine learning models ? Develop neural networks for natural language processing and computer vision Who This Book Is For iOS developers who wish to create smarter iOS applications using the power of machine learning will find this book to be useful. This book will also benefit data science professionals who are interested in performing machine learning on mobile devices. Familiarity with Swift programming is all you need to get started with this book. What You Will Learn ? Learn rapid model prototyping with Python and Swift ? Deploy pre-trained models to iOS using Core ML ? Find hidden patterns in the data using unsupervised learning ? Get a deeper understanding of the clustering techniques ? Learn modern compact architectures of neural networks for iOS devices ? Train neural networks for image processing and natural language processing In Detail Machine learning as a field promises to bring increased intelligence to the software by helping us learn and analyse information efficiently and discover certain patterns that humans cannot. This book will be your guide as you embark on an exciting journey in machine learning using the popular Swift language. We’ll start with machine learning basics in the first part of the book to develop a lasting intuition about fundamental machine learning concepts. We explore various supervised and unsupervised statistical learning techniques and how to implement them in Swift, while the third section walks you through deep learning techniques with the help of typical real-world cases. In the last section, we will dive into some hard core topics such as model compression, GPU acceleration and provide some recommendations to avoid common mistakes during machine learning application development. By the end of the book, you'll be able to develop intelligent applications written in Swift that can learn for themselves. Style and approach A comprehensive guide that teaches how to implement machine learning apps for iOS from scratch
目录展开

Title Page

Copyright and Credits

Machine Learning with Swift

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewers

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Getting Started with Machine Learning

What is AI?

The motivation behind ML

What is ML ?

Applications of ML

Digital signal processing (DSP)

Computer vision

Natural language processing (NLP)

Other applications of ML

Using ML to build smarter iOS applications

Getting to know your data

Features

Types of features

Choosing a good set of features

Getting the dataset

Data preprocessing

Choosing a model

Types of ML algorithms

Supervised learning

Unsupervised learning

Reinforcement learning

Mathematical optimization – how learning works

Mobile versus server-side ML

Understanding mobile platform limitations

Summary

Bibliography

Classification – Decision Tree Learning

Machine learning toolbox

Prototyping the first machine learning app

Tools

Setting up a machine learning environment

IPython notebook crash course

Time to practice

Machine learning for extra-terrestrial life explorers

Loading the dataset

Exploratory data analysis

Data preprocessing

Converting categorical variables

Separating features from labels

One-hot encoding

Splitting the data

Decision trees everywhere

Training the decision tree classifier

Tree visualization

Making predictions

Evaluating accuracy

Tuning hyperparameters

Understanding model capacity trade-offs

How decision tree learning works

Building a tree automatically from data

Combinatorial entropy

Evaluating performance of the model with data

Precision, recall, and F1-score

K-fold cross-validation

Confusion matrix

Implementing first machine learning app in Swift

Introducing Core ML

Core ML features

Exporting the model for iOS

Ensemble learning random forest

Training the random forest

Random forest accuracy evaluation

Importing the Core ML model into an iOS project

Evaluating performance of the model on iOS

Calculating the confusion matrix

Decision tree learning pros and cons

Summary

K-Nearest Neighbors Classifier

Calculating the distance

DTW

Implementing DTW in Swift

Using instance-based models for classification and clustering

People motion recognition using inertial sensors

Understanding the KNN algorithm

Implementing KNN in Swift

Recognizing human motion using KNN

Cold start problem

Balanced dataset

Choosing a good k

Reasoning in high-dimensional spaces

KNN pros

KNN cons

Improving our solution

Probabilistic interpretation

More data sources

Smarter time series chunking

Hardware acceleration

Trees to speed up the inference

Utilizing state transitions

Summary

Bibliography

K-Means Clustering

Unsupervised learning

K-means clustering

Implementing k-means in Swift

Update step

Assignment step

Clustering objects on a map

Choosing the number of clusters

K-means clustering – problems

K-means++

Image segmentation using k-means

Summary

Association Rule Learning

Seeing association rules

Defining data structures

Using association measures to assess rules

Supporting association measures

Confidence association measures

Lift association measures

Conviction association measures

Decomposing the problem

Generating all possible rules

Finding frequent item sets

The Apriori algorithm

Implementing Apriori in Swift

Running Apriori

Running Apriori on real-world data

The pros and cons of Apriori

Building an adaptable user experience

Summary

Bibliography

Linear Regression and Gradient Descent

Understanding the regression task

Introducing simple linear regression

Fitting a regression line using the least squares method

Where to use GD and normal equation

Using gradient descent for function minimization

Forecasting the future with simple linear regression

Feature scaling

Feature standardization

Multiple linear regression

Implementing multiple linear regression in Swift

Gradient descent for multiple linear regression

Training multiple regression

Linear algebra operations

Feature-wise standardization

Normal equation for multiple linear regression

Understanding and overcoming the limitations of linear regression

Fixing linear regression problems with regularization

Ridge regression and Tikhonov regularization

LASSO regression

ElasticNet regression

Summary

Bibliography

Linear Classifier and Logistic Regression

Revisiting the classification task

Linear classifier

Logistic regression

Implementing logistic regression in Swift

The prediction part of logistic regression

Training the logistic regression

Cost function

Predicting user intents

Handling dates

Choosing the regression model for your problem

Bias-variance trade-off

Summary

Neural Networks

What are artificial NNs anyway?

Building the neuron

Non-linearity function

Step-like activation functions

Rectifier-like activation functions

Building the network

Building a neural layer in Swift

Using neurons to build logical functions

Implementing layers in Swift

Training the network

Vanishing gradient problem

Seeing biological analogies

Basic neural network subroutines (BNNS)

BNNS example

Summary

Convolutional Neural Networks

Understanding users emotions

Introducing computer vision problems

Introducing convolutional neural networks

Pooling operation

Convolution operation

Convolutions in CNNs

Building the network

Input layer

Convolutional layer

Fully-connected layers

Nonlinearity layers

Pooling layer

Regularization layers

Dropout

Batch normalization

Loss functions

Training the network

Training the CNN for facial expression recognition

Environment setup

Deep learning frameworks

Keras

Loading the data

Splitting the data

Data augmentation

Creating the network

Plotting the network structure

Training the network

Plotting loss

Making predictions

Saving the model in HDF5 format

Converting to Core ML format

Visualizing convolution filters

Deploying CNN to iOS

Summary

Bibliography

Natural Language Processing

NLP in the mobile development world

Word Association game

Python NLP libraries

Textual corpuses

Common NLP approaches and subtasks

Tokenization

Stemming

Lemmatization

Part-of-speech (POS) tagging

Named entity recognition (NER)

Removing stop words and punctuation

Distributional semantics hypothesis

Word vector representations

Autoencoder neural networks

Word2Vec

Word2Vec in Gensim

Vector space properties

iOS application

Chatbot anatomy

Voice input

NSLinguisticTagger and friends

Word2Vec on iOS

Text-to-speech output

UIReferenceLibraryViewController

Putting it all together

Word2Vec friends and relatives

Where to go from here?

Summary

Machine Learning Libraries

Machine learning and AI APIs

Libraries

General-purpose machine learning libraries

AIToolbox

BrainCore

Caffe

Caffe2

dlib

FANN

LearnKit

MLKit

Multilinear-math

MXNet

Shark

TensorFlow

tiny-dnn

Torch

YCML

Inference-only libraries

Keras

LibSVM

Scikit-learn

XGBoost

NLP libraries

Word2Vec

Twitter text

Speech recognition

TLSphinx

OpenEars

Computer vision

OpenCV

ccv

OpenFace

Tesseract

Low-level subroutine libraries

Eigen

fmincg-c

IntuneFeatures

SigmaSwiftStatistics

STEM

Swix

LibXtract

libLBFGS

NNPACK

Upsurge

YCMatrix

Choosing a deep learning framework

Summary

Optimizing Neural Networks for Mobile Devices

Delivering perfect user experience

Calculating the size of a convolutional neural network

Lossless compression

Compact CNN architectures

SqueezeNet

MobileNets

ShuffleNet

CondenseNet

Preventing a neural network from growing big

Lossy compression

Optimizing for inference

Network pruning

Weights quantization

Reducing precision

Other approaches

Facebook's approach in Caffe2

Knowledge distillation

Tools

An example of the network compression

Summary

Bibliography

Best Practices

Mobile machine learning project life cycle

Preparatory stage

Formulate the problem

Define the constraints

Research the existing approaches

Research the data

Make design choices

Prototype creation

Data preprocessing

Model training, evaluation, and selection

Field testing

Porting or deployment for a mobile platform

Production

Best practices

Benchmarking

Privacy and differential privacy

Debugging and visualization

Documentation

Machine learning gremlins

Data kobolds

Tough data

Biased data

Batch effects

Goblins of training

Product design ogres

Magical thinking

Cargo cult

Feedback loops

Uncanny valley effect

Recommended learning resources

Mathematical background

Machine learning

Computer vision

NLP

Summary

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部