AI, Machine Learning, and Deep Neural Networks

Learning, Understanding and Implementing ML and related Math using either Python or C++

As with all CppMSG sub-groups, all attendees are experienced programmers, or near completion of they study of programming.

In addition to being programmers, all members are very comfortable with mathematics such as high school or college level Geometry, Algebra and Calculus.

All members know, or are willing to learn some under-grad linear algebra, probability and statistics. You are also willing to upgrade your basic college math skills (as may be needed) in Geometry, Algebra, and Calculus using college level textbooks. See our Mathematics Supporting AI page.


  • We meet physically in person at varying location in Austin, TX.
  • We may also meet via online-only meetings, some of which are posted on meetup. Other online meetings are only announced via 'Group Communications'. See below.
  • For digital communication during meetings see "Group Communication" below.
  • NOTE: please read the Protocols and Rules page.
  • Additional rule for this AI subgroup: You must have read and viewed the relevant material from the recommended resources to participate, but if not you may attend and observe silently.

Group Communication


We are serious learners/students and mentors/teachers, moving forward systematically to greater knowledge and understanding. We show dedication to self study, and when we are able, we attending meetings. Please read the Protocols and Rules page.

Primary Study Resources

We recommend for purchase & study the following machine learning training packages. Priority will be given to questions from them.

  1. Learning from Data: A Short Course
  2. An Introduction to Probability Theory and Its Applications: Volume 1, Third (3rd) Edition, July 1967 / 1968 - NOT Prior Editions.
        • by William Feller
        • Better to get the "revised printing of 1970" of Volume 1, Third Edition. It probably has the same number of pages as the non-revised, so that is not a way to differentiate between them. It does say "Revised Printing" on the title page, under "THIRD EDITION". It also has an extra preface dated Jan. 1970.
        • Very good book. For example, a whole chapter just on the sample space (to get it right!).
  3. Coding The Matrix: Linear Algebra Through Computer Science Applications
    • Consists of a book, website and video series.
    • Website has supplements, updates, errata and resources.
    • In fact, this book is a linear algebra book for computer programmers, this math is relevant.
    • Some of the examples and exercises are forms of machine learning which made it eligible to be one of our machine learning resources.

3. Deep Learning (Adaptive Computation and Machine Learning series) Hardcover – November 18, 2016

4. This is an amazon list of books that might be helpful, but may not yet have the status of "recommended" instead the are "optional" :

We use various tools on our own, but general programming questions are out of scope:

  • Python 3
    • Questions on Python in general are out of scope, however questions on python, as it relates to machine learning, are in scope. Relevant introductory python is covered by some of our machine learning study materials. All questions from our machine learning study materials are in scope including any python that they may contain.
  • Jupyter
    • Helps run python.
  • Anaconda
    • Helps install and run python and jupyter.
  • Scikit-learn
    • Machine Learning in Python
      • Simple and efficient tools for data mining and data analysis
      • Accessible to everybody, and reusable in various contexts
      • Built on NumPy, SciPy, and matplotlib
      • Open source, commercially usable - BSD license
  • Keras
    • Deep Learning library for Theano and TensorFlow
      • Keras is a high-level neural networks API, written in Python and capable of running on top of either TensorFlow or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
      • Use Keras if you need a deep learning library that:
      • Allows for easy and fast prototyping (through user friendliness, modularity, and extensibility).
      • Supports both convolutional networks and recurrent networks, as well as combinations of the two.
      • Runs seamlessly on CPU and GPU.
  • TensorFlow™
    • an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.

Here is an incomplete list of other optional available libraries and tools:

  • GraphLab/Turi/MXnet ???
  • Tensorflow (written in C++)
  • Octave (incomplete, but good, MatLab opensource clone)
  • Sage (free?, another MatLab replacement)
      • MXNet - Flexible and Efficient Deep Learning Library on Heterogeneous Distributed Systems. Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, and more
      • XGBoost eXtreme Gradient Boosting (GBDT, GBRT or GBM) Library for large-scale and distributed machine learning, on single node, hadoop yarn and more. General purpose gradient boosting library, including generalized linear model and gradient boosted decision trees.
      • MinPy - The NumPy interface upon MXNet’s backend.
      • DMLC-core (Distributed Machine Learning in C++ )
  • C++ (such questions are out of scope and should be directed to our C++ sub-group).

Online and Editable Reference Information

Wow, we can view, pop out the window and view it full screen, and registered users can even edit. Nice!

CppMSG_AI Training Packages-Internet
CppMSG_AI Polling Questions