O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hands-On Machine Learning with C#

Book Description

Explore supervised and unsupervised learning techniques and add smart features to your applications

About This Book
  • Leverage machine learning techniques to build real-world applications
  • Use the Accord.NET machine learning framework for reinforcement learning
  • Implement machine learning techniques using Accord, nuML, and Encog
Who This Book Is For

Hands-On Machine Learning with C#is forC# .NETdevelopers who work on a range of platforms from .NET and Windows to mobile devices. Basic knowledge of statistics is required.

What You Will Learn
  • Learn to parameterize a probabilistic problem
  • Use Naive Bayes to visually plot and analyze data
  • Plot a text-based representation of a decision tree using nuML
  • Use the Accord.NET machine learning framework for associative rule-based learning
  • Develop machine learning algorithms utilizing fuzzy logic
  • Explore support vector machines for image recognition
  • Understand dynamic time warping for sequence recognition
In Detail

The necessity for machine learning is everywhere, and most production enterprise applications are written in C# using tools such as Visual Studio, SQL Server, and Microsoft Azur2e. Hands-On Machine Learning with C# uniquely blends together an understanding of various machine learning concepts, techniques of machine learning, and various available machine learning tools through which users can add intelligent features.These tools include image and motion detection, Bayes intuition, and deep learning, to C# .NET applications.

Using this book, you will learn to implement supervised and unsupervised learning algorithms and will be better equipped to create excellent predictive models. In addition, you will learn both supervised and unsupervised forms of regression, mainly logistic and linear regression, in depth. Next, you will use the nuML machine learning framework to learn how to create a simple decision tree. In the concluding chapters, you will use the Accord.Net machine learning framework to learn sequence recognition of handwritten numbers using dynamic time warping. We will also cover advanced concepts such as artificial neural networks, autoencoders, and reinforcement learning.

By the end of this book, you will have developed a machine learning mindset and will be able to leverage C# tools, techniques, and packages to build smart, predictive, and real-world business applications.

Style and approach

A step-by-step approach to learning machine learning concepts and techniques with practical implementations

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Hands-On Machine Learning with C#
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Machine Learning Basics
    1. Introduction to machine learning
    2. Data mining
    3. Artificial Intelligence
    4. Bio-AI
    5. Deep learning
    6. Probability and statistics
    7. Approaching your machine learning project
      1. Data collection
      2. Data preparation
      3. Model selection and training
      4. Model evaluation
      5. Model tuning
    8. Iris dataset
      1. Types of Machine Learning
    9. Supervised learning
      1. Bias-variance trade-off
      2. Amount of training data
      3. Input space dimensionality
      4. Incorrect output values
      5. Data heterogeneity
    10. Unsupervised learning
    11. Reinforcement learning
    12. Build, buy, or open source
    13. Additional reading
    14. Summary
    15. References
  7. ReflectInsight – Real-Time Monitoring
    1. Router
    2. Log Viewer
    3. Live Viewer
      1. Message navigation
        1. Message properties
        2. Watches
        3. Bookmarks
        4. Call Stack
      2. Searching through your messages
        1. Advanced Search
      3. Time zone formatting
      4. Auto Save/Purge
        1. Example
        2. ReflectInsight Utilities: 
        3. Watches
      5. Software Development Kit
      6. Configuration editor
        1. Overview
        2. XML configuration
        3. Dynamic configuration
        4. Main Screen
    4. Summary
  8. Bayes Intuition – Solving the Hit and Run Mystery and Performing Data Analysis
    1. Overviewing Bayes' theorem
    2. Overviewing Naive Bayes and plotting data
      1. Plotting data
    3. Summary
    4. References
  9. Risk versus Reward – Reinforcement Learning
    1. Overviewing reinforcement learning
    2. Types of learning
    3. Q-learning
    4. SARSA
    5. Running our application
    6. Tower of Hanoi
    7. Summary
    8. References
  10. Fuzzy Logic – Navigating the Obstacle Course
    1. Fuzzy logic
      1. Fuzzy AGV
    2. Summary
    3. References
  11. Color Blending – Self-Organizing Maps and Elastic Neural Networks
    1. Under the hood of an SOM
    2. Summary
  12. Facial and Motion Detection – Imaging Filters
    1. Facial detection
    2. Motion detection
      1. Adding detection to your application
    3. Summary
  13. Encyclopedias and Neurons – Traveling Salesman Problem
    1. Traveling salesman problem
    2. Learning rate parameter
      1. Learning radius
    3. Summary
  14. Should I Take the Job – Decision Trees in Action
    1. Decision tree
      1. Decision node
      2. Decision variable
      3. Decision branch node collection
    2. Should I take the job?
    3. numl
    4. Accord.NET decision trees
      1. Learning code
      2. Confusion matrix
        1. True positives
        2. True negatives
        3. False positives
        4. False negatives
        5. Recall
        6. Precision
      3. Error type visualization
    5. Summary
    6. References
  15. Deep Belief – Deep Networks and Dreaming
    1. Restricted Boltzmann Machines
      1. Layering
    2. What does a computer dream?
    3. Summary
    4. References
  16. Microbenchmarking and Activation Functions
    1. Visual activation function plotting
      1. Plotting all functions
      2. The main Plot function
      3. Benchmarking
    2. Summary
  17. Intuitive Deep Learning in C# .NET
    1. What is deep learning?
      1. OpenCL
      2. OpenCL hierarchy
        1. Compute kernel
        2. Compute program
        3. Compute sampler
        4. Compute device
        5. Compute resource
        6. Compute object
        7. Compute context
        8. Compute command queue
        9. Compute buffer
        10. Compute event
        11. Compute image
        12. Compute platform
        13. Compute user event
    2. The Kelp.Net Framework
      1. Functions
      2. Function stacks
      3. Function dictionaries
      4. Caffe1
        1. Chainer
      5. Loss
        1. Model saving and loading
      6. Optimizers
      7. Datasets
        1. CIFAR
          1. CIFAR-10
          2. CIFAR-100
        2. MNIST
      8. Tests
      9. Monitoring Kelp.Net
        1. Watches
        2. Messages
        3. Properties
      10. Weaver
      11. Writing tests
      12. Benchmarking functions
      13. Running a Single Benchmark
    3. Summary
    4. References
  18. Quantum Computing – The Future
    1. Superposition
    2. Teleportation
      1. Entanglement
        1. CNOT
        2. H
        3. M
    3. Summary