Hands-On Machine Learning with C++ - Second Edition: Build, train, and deploy end-to-end machine learning and deep learning pipelines
暫譯: C++ 實戰機器學習(第二版):構建、訓練和部署端到端的機器學習與深度學習管道

Kolodiazhnyi, Kirill

商品描述

Apply supervised and unsupervised machine learning algorithms using C++ libraries, such as PyTorch C++ API, Flashlight, Blaze, mlpack, and dlib using real-world examples and datasets

Key Features

  • Familiarize yourself with data processing, performance measuring, and model selection using various C++ libraries
  • Implement practical machine learning and deep learning techniques to build smart models
  • Deploy machine learning models to work on mobile and embedded devices
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

Written by a seasoned software engineer with several years of industry experience, this book will teach you the basics of machine learning (ML) and show you how to use C++ libraries, along with helping you create supervised and unsupervised ML models.

You’ll gain hands-on experience in tuning and optimizing a model for various use cases, enabling you to efficiently select models and measure performance. The chapters cover techniques such as product recommendations, ensemble learning, anomaly detection, sentiment analysis, and object recognition using modern C++ libraries. You’ll also learn how to overcome production and deployment challenges on mobile platforms, and see how the ONNX model format can help you accomplish these tasks.

This new edition has been updated with key topics such as sentiment analysis implementation using transfer learning and transformer-based models, as well as tracking and visualizing ML experiments with MLflow. An additional section shows you how to use Optuna for hyperparameter selection. The section on model deployment into mobile platform now includes a detailed explanation of real-time object detection for Android with C++.

By the end of this C++ book, you’ll have real-world machine learning and C++ knowledge, as well as the skills to use C++ to build powerful ML systems.

What you will learn

  • Employ key machine learning algorithms using various C++ libraries
  • Load and pre-process different data types to suitable C++ data structures
  • Find out how to identify the best parameters for a machine learning model
  • Use anomaly detection for filtering user data
  • Apply collaborative filtering to manage dynamic user preferences
  • Utilize C++ libraries and APIs to manage model structures and parameters
  • Implement C++ code for object detection using a modern neural network

Who this book is for

This book is for beginners looking to explore machine learning algorithms and techniques using C++. This book is also valuable for data analysts, scientists, and developers who want to implement machine learning models in production. Working knowledge of C++ is needed to make the most of this book.

商品描述(中文翻譯)

使用 C++ 函式庫(如 PyTorch C++ API、Flashlight、Blaze、mlpack 和 dlib)應用監督式和非監督式機器學習演算法,並使用真實世界的範例和數據集。

主要特點


  • 熟悉使用各種 C++ 函式庫進行數據處理、性能測量和模型選擇

  • 實施實用的機器學習和深度學習技術以構建智能模型

  • 將機器學習模型部署到移動和嵌入式設備上

  • 購買印刷版或 Kindle 書籍可獲得免費 PDF 電子書

書籍描述

本書由一位擁有多年行業經驗的資深軟體工程師撰寫,將教您機器學習(ML)的基本概念,並展示如何使用 C++ 函式庫,幫助您創建監督式和非監督式的 ML 模型。

您將獲得調整和優化模型以適應各種用例的實踐經驗,使您能夠有效地選擇模型並測量性能。各章節涵蓋了使用現代 C++ 函式庫的產品推薦、集成學習、異常檢測、情感分析和物體識別等技術。您還將學習如何克服移動平台上的生產和部署挑戰,並了解 ONNX 模型格式如何幫助您完成這些任務。

本新版本已更新關鍵主題,如使用遷移學習和基於變壓器的模型實現情感分析,以及使用 MLflow 追蹤和可視化 ML 實驗。額外的部分展示了如何使用 Optuna 進行超參數選擇。關於將模型部署到移動平台的部分現在包括了使用 C++ 進行 Android 實時物體檢測的詳細解釋。

在本 C++ 書籍結束時,您將擁有真實世界的機器學習和 C++ 知識,以及使用 C++ 構建強大 ML 系統的技能。

您將學到什麼


  • 使用各種 C++ 函式庫應用關鍵的機器學習演算法

  • 將不同數據類型加載並預處理為適合的 C++ 數據結構

  • 了解如何識別機器學習模型的最佳參數

  • 使用異常檢測過濾用戶數據

  • 應用協同過濾來管理動態用戶偏好

  • 利用 C++ 函式庫和 API 管理模型結構和參數

  • 實施 C++ 代碼以使用現代神經網絡進行物體檢測

本書適合誰

本書適合希望探索使用 C++ 的機器學習演算法和技術的初學者。本書對於希望在生產中實施機器學習模型的數據分析師、科學家和開發人員也非常有價值。需要具備 C++ 的工作知識,以充分利用本書。

目錄大綱

  1. Introduction to Machine Learning with C++
  2. Data Processing
  3. Measuring Performance and Selecting Models
  4. Clustering
  5. Anomaly Detection
  6. Dimensionality Reduction
  7. Classification
  8. Recommender Systems
  9. Ensemble Learning
  10. Neural Networks for Image Classification
  11. Sentiment Analysis with BERT and Transfer Learning
  12. Exporting and Importing Models
  13. Tracking and Visualizing ML Experiments
  14. Deploying Models on a Mobile Platform

目錄大綱(中文翻譯)


  1. Introduction to Machine Learning with C++

  2. Data Processing

  3. Measuring Performance and Selecting Models

  4. Clustering

  5. Anomaly Detection

  6. Dimensionality Reduction

  7. Classification

  8. Recommender Systems

  9. Ensemble Learning

  10. Neural Networks for Image Classification

  11. Sentiment Analysis with BERT and Transfer Learning

  12. Exporting and Importing Models

  13. Tracking and Visualizing ML Experiments

  14. Deploying Models on a Mobile Platform