Machine learning (ML) expands the boundaries of what's possible by letting software do things that can't be done algorithmically. From fraud detection and sentiment analysis to spam filtering and facial recognition, it touches lives every day. Deep learning is a subset of machine learning that relies on deep neural networks. It is how computers identify objects in images, translate speech in real time, and perform other tasks that would have been impossible just a few short years ago.
Together, these technologies comprise what is popularly known as Artificial Intelligence, or AI. Learn the basics of machine learning and deep learning and discover how they can be used to solve business problems and write software that is smarter than ever before. And do your learning through a combination of lectures and hands-on exercises designed to impart the knowledge you need to skill up on the hottest technologies in software development.
Key Learning Areas
- Learn what ML and AI are
- Learn how to build and consume sophisticated ML and AI models
- Learn how to solve business problems and improve business processes with ML and AI
- Learn how to write intelligent software that incorporates ML and AI
- Learn how to use AI-as-a-Service by consuming models from Azure Cognitive Services and OpenAI
- Learn how to use pretrained models such as ChatGPT to improve your business
Introduction to Machine Learning
Learn what machine learning is, what types of machine-learning models there are, and how to use Scikit-learn to build simple unsupervised- and supervised-learning models using algorithms such as k-means clustering and k-nearest neighbors.
Learn how to build supervised-learning models that predict numeric values such as how long a flight will be delayed or how much a house might sell for. Also learn how to score regression models for accuracy, how to handle categorical values in datasets, and how to use popular learning algorithms such as linear regression, random forests, and gradient-boosting machines (GBMs).
Learn how to build classification models that predict categorical outcomes such as whether a credit-card transaction is fraudulent or what number a hand-written digit represents. Also learn about popular classification learning algorithms such as logistic regression, and get acquainted with precision, recall, sensitivity, specificity, confusion matrices, and other metrics used to score classification models.
Learn how to build machine-learning models that classify textual data – for example, models that predict whether an e-mail is “spam” or “not spam” and models that analyze text for sentiment. Also learn about the Naïve Bayes learning algorithm and how to use textual descriptions of products and services to build intelligent recommender systems.
Support-vector machines (SVMs) represent the cutting edge of statistical machine learning. They often succeed at finding separation between classes when other do not. Take a deep dive into SVMs, learning what they are and how they work. Also learn about hyperparameter tuning and data normalization, and then put your skills to work building an SVM facial-recognition model.
Principal Component Analysis (PCA)
Principal component analysis, or PCA, is one of the minor miracles of machine learning. It’s a dimensionality-reduction technique that reduces the number of dimensions in a dataset without sacrificing a commensurate amount of information. You can use it to visualize high-dimensional data, obfuscate data, remove noise, and much more. Learn what PCA is, how it works, and how to apply it, and then put it to work building an anomaly-detection model that predicts failures in bearings.
Operationalizing Machine-Learning Models
Machine-learning models built in Python are easily consumed in Python apps but consuming them in other languages such as C# and Java is not so straightforward. Learn about ONNX (Open Neural Network Exchange) and other ways to operationalize ML models so they can be consumed by any application, regardless of platform or programming language. Also see an alternative way to build ML models in C# using ML.NET, and novel way to add machine-learning capabilities to Microsoft Excel.
Introduction to Deep Learning
Deep learning is a subset of machine learning that relies primarily on deep neural networks. Learn what neural networks are, how they work, and why they are continually advancing the state of the art in AI.
Learn how to use Keras and TensorFlow to build and train sophisticated neural networks that perform regression and classification. Also learn how to save and load trained models, how to use dropout layers to combat overfitting, and how to use Keras’s callbacks API to customize the training process.
Image Classification with Convolutional Neural Networks (CNNs)
State-of-the-art image classification is performed with Convolutional Neural Networks (CNNs), which excel at computer-vision tasks such as identifying objects in images. Learn what CNNs are and how they work and learn how to use transfer learning to build sophisticated CNNs to solve domain-specific problems. Then build a model that recognizes the sounds of illegal logging by converting WAV files into images and classifying those images with a CNN.
Facial Recognition and Object Detection
Convolutional neural networks can do more than just classify images; they play an important role in modern facial-recognition and object-detection systems, too. Learn how self-driving cars use advanced CNNs to recognize objects around them, and how to build an end-to-end facial recognition system by combining CNNs with popular face-detection algorithms.
Natural Language Processing
Deep neural networks have grown in sophistication to the point that they can process text and speech – sometimes more accurately than humans. Learn how to use Keras and TensorFlow to build and train neural networks that classify text, translate text, answer questions, and perform other NLP tasks. Also learn how to leverage pretrained deep-learning models to perform feats of NLP magic, and use pretrained models from Hugging Face to implement semantic search over domain-specific data.
Azure Cognitive Services
Azure Cognitive Services is a set of cloud-based services and APIs for building intelligent applications in any language and on any platform. Backed by state-of-the-art ML and AI algorithms, they can caption images, analyze text for sentiment, determine whether a photo contains inappropriate content, translate speech in real time, and much more. Learn how to use Azure Cognitive Services to add intelligence to your apps, and then build a Web site that extracts text from uploaded images and translates that text into the language of your choice.
OpenAI and ChatGPT
OpenAI trains sophisticated deep-learning models such as ChatGPT and DALL·E and makes them available to the public through REST APIs. ChatGPT is the most advanced text-generation model ever built, featuring 175 billion parameters. It excels at classifying text, translating text to other languages, generating longform text from simple descriptions, writing code in a variety of programming languages, converting code into natural language, and more. It's also adept at answering questions from context that you provide. Learn how to use OpenAI's text- and code-generation APIs to improve your business, and then combine ChatGPT with OpenAI’s Embeddings API to build a rich semantic-search system.
Autoencoders, GANs, and diffusion models, oh my! Image generation is the next big thing in AI, and it has grown exponentially in capabilities in just the past 12 months. Learn how deep-learning models generate photorealistic images and how to use state-of-the-art models such as Stable Diffusion and DALL-E to build cutting-edge apps for any platform and in any programming language.
Most coding will be done in Python, so familiarity with Python is helpful but not required.