AI, Machine Learning, and Deep Neural Networks

Learning and Implementing Artificial Intelligence with Python (and optionally some 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 linear algebra and some lesser probability and statistics. You are also willing to upgrade your math skills (as may be needed) in Geometry, Algebra, and Calculus using college level textbooks. See our Mathematics Supporting AI page.

We are organizing this topic group now in early April 2017! Want to join us? Don't delay.

You can see our event calendar on google above or RSVP for our meetings at: http://meetup.com/cppmsg_ai .


We meet at about four times per month in person at a location in Austin, TX. Currently is looks like it will be every Tuesday evening.

Note: We are serious learners and mentors, moving forward systematically. We show dedication to self study, keeping up with the group and, when we are able, attending meetings.

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

  1. Coding The Matrix: Linear Algebra Through Computer Science Applications
    • http://codingthematrix.com
    • 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 .
  2. Learning from Data: A Short Course
    • http://amlbook.com/
    • Consists of a book, website and video series.
    • Website has supplements, updates, errata and resources.
  3. More Recommened Books are TBD
  4. This is an amazon list of random books that might be helpful, but may not yet have the status of "recommended" : http://a.co/ab89KmD

We recommend for auditing (for free, or purchase) the following Coursera.com online courses:

  • TBD

We use various tools on our own, but questions regarding these recommended tools receive priority:

  • 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)
  • http://DMLC.ml
      • 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).

Join our gitter.im CppMSG_AI sub-room discussion here: https://gitter.im/machinelearning_ai/CppMSG_AI

Note that there are other relevant sub-rooms within the https://gitter.im/machinelearning_ai community.

Get the full story here: Chat, Networking & Communication Resources

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
AI and Machine Learning Study Google Doc (~wiki)