Natural Language Processing (NLP) with Deep Dive in Python and NLTK Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

There are no specific requirements needed to attend this course.

Overview

By the end of the training the delegates are expected to be sufficiently equipped with the essential python concepts and should be able to sufficiently use NLTK to implement most of the NLP and ML based operations. The training is aimed at giving not just an executional knowledge but also the logical and operational knowledge of the technology therein.

Course Outline

Introduction to Python

Introduction

1 – Installing Python

2 – Numbers

3 – Strings

4 – Slicing up Strings

5 – Lists

6 – Installing PyCharm

Conditional Statements

7 – if elif else

Iterations

8 – for

9 – Range and While

10 – Comments and Break

11 – Continue

Functions

12 – Functions

13 – Return Values

14 – Default Values for Arguments

15 – Variable Scope

16 – Keyword Arguments

17 – Flexible Number of Arguments

18 – Unpacking Arguments

19 – My trip to Walmart and Sets

20 – Dictionary

21 – Modules

Playing with Requests and Files

22 – Download an Image from the Web

23 – How to Read and Write Files

24 – Downloading Files from the Web

Exceptions

28 – Exceptions

Object Oriented Programs

29 – Classes and Objects

30 – init

31 – Class vs Instance Variables

32 – Inheritance

33 – Multiple Inheritance

34 – threading

Playing around with Python

35 – Unpack List or Tuples

36 – Zip (and yeast infection story)

37 – Lamdba

38 – Min, Max, and Sorting Dictionaries

39 – Pillow

40 – Cropping Images

41 – Combine Images Together

42 – Getting Individual Channels

43 – Awesome Merge Effect

44 – Basic Transformations

45 – Modes and Filters

46 – struct

47 – map

48 – Bitwise Operators

49 – Finding Largest or Smallest Items

50 – Dictionary Calculations

51 – Finding Most Frequent Items

52 – Dictionary Multiple Key Sort

53 – Sorting Custom Objects

Add Ons:

54 – Database Connectivity and Querying for MySQL

55 – Quick look into Regular Expressions

56 – Playing around with REST API

Writing a Web Crawler

Natural Language Processing and NLTK

Introduction to NLP (examples in Python of course)

  1. Simple Text Manipulation
    1. Searching Text
    2. Counting Words
    3. Splitting Texts into Words
    4. Lexical dispersion
  2. Processing complex structures
    1. Representing text in Lists
    2. Indexing Lists
    3. Collocations
    4. Bigrams
    5. Frequency Distributions
    6. Conditionals with Words
    7. Comparing Words (startswith, endswith, islower, isalpha, etc…)
  3. Natural Language Understanding
    1. Word Sense Disambiguation
    2. Pronoun Resolution
  4. Machine translations (statistical, rule based, literal, etc…)
  5. Exercises

NLP in Python in examples

  1. Accessing Text Corpora and Lexical Resources
    1. Common sources for corpora
    2. Conditional Frequency Distributions
    3. Counting Words by Genre
    4. Creating own corpus
    5. Pronouncing Dictionary
    6. Shoebox and Toolbox Lexicons
    7. Senses and Synonyms
    8. Hierarchies
    9. Lexical Relations: Meronyms, Holonyms
    10. Semantic Similarity
  2. Processing Raw Text
    1. Priting
    2. struncating
    3. extracting parts of string
    4. accessing individual charaters
    5. searching, replacing, spliting, joining, indexing, etc…
    6. using regular expressions
    7. detecting word patterns
    8. stemming
    9. tokenization
    10. normalization of text
    11. Word Segmentation (especially in Chinese)
  3. Categorizing and Tagging Words
    1. Tagged Corpora
    2. Tagged Tokens
    3. Part-of-Speech Tagset
    4. Python Dictionaries
    5. Words to Propertieis mapping
    6. Automatic Tagging
    7. Determining the Category of a Word (Morphological, Syntactic, Semantic)
  4. Text Classification (Machine Learning)
    1. Supervised Classification
    2. Sentence Segmentation
    3. Cross Validation
    4. Decision Trees
  5. Extracting Information from Text
    1. Chunking
    2. Chinking
    3. Tags vs Trees
  6. Analyzing Sentence Structure
    1. Context Free Grammar
    2. Parsers
  7. Building Feature Based Grammars
    1. Grammatical Features
    2. Processing Feature Structures
  8. Analyzing the Meaning of Sentences
    1. Semantics and Logic
    2. Propositional Logic
    3. First-Order Logic
    4. Discourse Semantics
  9. Managing Linguistic Data
    1. Data Formats (Lexicon vs Text)
    2. Metadata

Python for Natural Language Generation Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Python programming experience

Overview

Natural language generation (NLG) refers to the production of natural language text or speech by a computer.

In this instructor-led, live training, participants will learn how to use Python to produce high-quality natural language text by building their own NLG system from scratch. Case studies will also be examined and the relevant concepts will be applied to live lab projects for generating content.

By the end of this training, participants will be able to:

  • Use NLG to automatically generate content for various industries, from journalism, to real estate, to weather and sports reporting
  • Select and organize source content, plan sentences, and prepare a system for automatic generation of original content
  • Understand the NLG pipeline and apply the right techniques at each stage
  • Understand the architecture of a Natural Language Generation (NLG) system
  • Implement the most suitable algorithms and models for analysis and ordering
  • Pull data from publicly available data sources as well as curated databases to use as material for generated text
  • Replace manual and laborious writing processes with computer-generated, automated content creation

Audience

  • Developers
  • Data scientists

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

To request a customized course outline for this training, please contact us.

Recommender Systems with Python Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Python programming experience

Audience

  • Data Scientists

Overview

A recommender system is an information filtering process that predicts the user’s preferences. Python can be used to program deep learning, machine learning, and neural network recommender systems to help users discover new products and content.

This instructor-led, live training (online or onsite) is aimed at data scientists who wish to use Python to build recommender systems.

By the end of this training, participants will be able to:

  • Create recommender systems at scale.
  • Apply collaborative filtering to build recommender systems.
  • Use Apache Spark to compute recommender systems on clusters.
  • Build a framework to test recommendation algorithms with Python.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

What is AI

  • Computational Psychology
  • Computational Philosophy

Machine Learning

  • Computational learning theory
  • Computer algorithms for computational experience

Deep Learning

  • Artificial neural networks
  • Deep learning vs. machine learning

Preparing the Development Environment

  • Setting up Python libraries and Apache Spark

Recommendation Systems

  • Building a recommender engine frameworks
  • Testing and evaluating algorithms

Collabrative Filtering

  • Working with user-based and content-based filtering
  • Working with neighbor-based filtering
  • Using RBMs

Matrix Factorization

  • Using and extending PCA
  • Running and improving SVD
  • Working with Keras and deep learning neural networks

Scaling with Spark

  • Using RDDs and dataframes
  • Setting up clusters on AWS / EC2
  • Scaling Amazon DSSTNE and SageMaker

Summary and Conclusion

Advanced Deep Learning with Keras and Python Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of basic linear algebra

Audience

  • Software Engineers

Overview

Keras is an open source Python neural-network library for the creation of deep learning neural-networks. Keras offers an intuitive set of abstractions, simplifying the development of deep learning neural-networks and models.

This instructor-led, live training (online or onsite) is aimed at software engineers who wish to develop advanced deep learning neural-networks and model using Keras and Python.

By the end of this training, participants will be able to:

  • Apply deep learning with supervised or unsupervised learning methods.
  • Develop, train, and implement concurrent neural networks and recurrent neural networks.
  • Use Keras and Python to build deep learning models to solve problems involving images, text, sound, and more.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Keras and Deep Learning Frameworks

  • TensorFlow and Theano back-ends
  • Keras vs Tensorflow

Data and Machine Learning

  • Tabular data, visual data, unstructured data, etc.
  • Unsupervised learning, supervised learning, reinforcement learning, etc.

Preparing the Development Environment

  • Installing and configuring Anaconda
  • Installing Keras with a TensorFlow back-end

Neural Networks in Keras

  • Using Keras functional API to build a network
  • Pre-processing and fitting data
  • Defining a Keras model

Mutiple Input and Output Networks

  • Building two input-networks
  • Representing high-cardinality data
  • Merging layers
  • Extending the two input-network
  • Building neural networks with multiple outputs
  • Solving multiple problems simultaneously

Training and Pre-Training

  • Training models
  • Saving and loading models
  • Using ResNet50 on models

TensorBoard

  • Exporting Keras logs
  • Visualizing a computational graph and training progress

Google Cloud

  • Exporting models
  • Uploading Keras models
  • Using a model in Google Cloud

Summary and Conclusion

Deep Learning for Finance (with Python) Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

  • Experience with Python programming
  • General familiarity with finance concepts
  • Basic familiarity with statistics and mathematical concepts

Overview

Machine learning is a branch of Artificial Intelligence wherein computers have the ability to learn without being explicitly programmed. Deep learning is a subfield of machine learning which uses methods based on learning data representations and structures such as neural networks. Python is a high-level programming language famous for its clear syntax and code readability.

In this instructor-led, live training, participants will learn how to implement deep learning models for finance using Python as they step through the creation of a deep learning stock price prediction model.

By the end of this training, participants will be able to:

  • Understand the fundamental concepts of deep learning
  • Learn the applications and uses of deep learning in finance
  • Use Python, Keras, and TensorFlow to create deep learning models for finance
  • Build their own deep learning stock price prediction model using Python

Audience

  • Developers
  • Data scientists

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

Understanding the Fundamentals of Artificial Intelligence and Machine Learning

Understanding Deep Learning

  • Overview of the Basic Concepts of Deep Learning
  • Differentiating Between Machine Learning and Deep Learning
  • Overview of Applications for Deep Learning

Overview of Neural Networks

  • What are Neural Networks
  • Neural Networks vs Regression Models
  • Understanding Mathematical Foundations and Learning Mechanisms
  • Constructing an Artificial Neural Network
  • Understanding Neural Nodes and Connections
  • Working with Neurons, Layers, and Input and Output Data
  • Understanding Single Layer Perceptrons
  • Differences Between Supervised and Unsupervised Learning
  • Learning Feedforward and Feedback Neural Networks
  • Understanding Forward Propagation and Back Propagation
  • Understanding Long Short-Term Memory (LSTM)
  • Exploring Recurrent Neural Networks in Practice
  • Exploring Convolutional Neural Networks in practice
  • Improving the Way Neural Networks Learn

Overview of Deep Learning Techniques Used in Finance

  • Neural Networks
  • Natural Language Processing
  • Image Recognition
  • Speech Recognition
  • Sentimental Analysis

Exploring Deep Learning Case Studies for Finance

  • Pricing
  • Portfolio Construction
  • Risk Management
  • High Frequency Trading
  • Return Prediction

Understanding the Benefits of Deep Learning for Finance

Exploring the Different Deep Learning Libraries for Python

  • TensorFlow
  • Keras

Setting Up Python with the TensorFlow for Deep Learning

  • Installing the TensorFlow Python API
  • Testing the TensorFlow Installation
  • Setting Up TensorFlow for Development
  • Training Your First TensorFlow Neural Net Model

Setting Up Python with Keras for Deep Learning

Building Simple Deep Learning Models with Keras

  • Creating a Keras Model
  • Understanding Your Data
  • Specifying Your Deep Learning Model
  • Compiling Your Model
  • Fitting Your Model
  • Working with Your Classification Data
  • Working with Classification Models
  • Using Your Models

Working with TensorFlow for Deep Learning for Finance

  • Preparing the Data
    • Downloading the Data
    • Preparing Training Data
    • Preparing Test Data
    • Scaling Inputs
    • Using Placeholders and Variables
  • Specifying the Network Architecture
  • Using the Cost Function
  • Using the Optimizer
  • Using Initializers
  • Fitting the Neural Network
  • Building the Graph
    • Inference
    • Loss
    • Training
  • Training the Model
    • The Graph
    • The Session
    • Train Loop
  • Evaluating the Model
    • Building the Eval Graph
    • Evaluating with Eval Output
  • Training Models at Scale
  • Visualizing and Evaluating Models with TensorBoard

Hands-on: Building a Deep Learning Model for Stock Price Prediction Using Python

Extending your Company’s Capabilities

  • Developing Models in the Cloud
  • Using GPUs to Accelerate Deep Learning
  • Applying Deep Learning Neural Networks for Computer Vision, Voice Recognition, and Text Analysis

Summary and Conclusion

Deep Learning for Banking (with Python) Training Course.

Duration

28 hours (usually 4 days including breaks)

Requirements

  • Experience with Python programming
  • General familiarity with financial and banking concepts
  • Basic familiarity with statistics and mathematical concepts

Overview

Machine learning is a branch of Artificial Intelligence wherein computers have the ability to learn without being explicitly programmed. Deep learning is a subfield of machine learning which uses methods based on learning data representations and structures such as neural networks. Python is a high-level programming language famous for its clear syntax and code readability.

In this instructor-led, live training, participants will learn how to implement deep learning models for banking using Python as they step through the creation of a deep learning credit risk model.

By the end of this training, participants will be able to:

  • Understand the fundamental concepts of deep learning
  • Learn the applications and uses of deep learning in banking
  • Use Python, Keras, and TensorFlow to create deep learning models for banking
  • Build their own deep learning credit risk model using Python

Audience

  • Developers
  • Data scientists

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

Understanding the Fundamentals of Artificial Intelligence and Machine Learning

Understanding Deep Learning

  • Overview of the Basic Concepts of Deep Learning
  • Differentiating Between Machine Learning and Deep Learning
  • Overview of Applications for Deep Learning

Overview of Neural Networks

  • What are Neural Networks
  • Neural Networks vs Regression Models
  • Understanding Mathematical Foundations and Learning Mechanisms
  • Constructing an Artificial Neural Network
  • Understanding Neural Nodes and Connections
  • Working with Neurons, Layers, and Input and Output Data
  • Understanding Single Layer Perceptrons
  • Differences Between Supervised and Unsupervised Learning
  • Learning Feedforward and Feedback Neural Networks
  • Understanding Forward Propagation and Back Propagation
  • Understanding Long Short-Term Memory (LSTM)
  • Exploring Recurrent Neural Networks in Practice
  • Exploring Convolutional Neural Networks in practice
  • Improving the Way Neural Networks Learn

Overview of Deep Learning Techniques Used in Banking

  • Neural Networks
  • Natural Language Processing
  • Image Recognition
  • Speech Recognition
  • Sentimental Analysis

Exploring Deep Learning Case Studies for Banking

  • Anti-Money Laundering Programs
  • Know-Your-Customer (KYC) Checks
  • Sanctions List Monitoring
  • Billing Fraud Oversight
  • Risk Management
  • Fraud Detection
  • Product and Customer Segmentation
  • Performance Evaluation
  • General Compliance Functions

Understanding the Benefits of Deep Learning for Banking

Exploring the Different Deep Learning Libraries for Python

  • TensorFlow
  • Keras

Setting Up Python with the TensorFlow for Deep Learning

  • Installing the TensorFlow Python API
  • Testing the TensorFlow Installation
  • Setting Up TensorFlow for Development
  • Training Your First TensorFlow Neural Net Model

Setting Up Python with Keras for Deep Learning

Building Simple Deep Learning Models with Keras

  • Creating a Keras Model
  • Understanding Your Data
  • Specifying Your Deep Learning Model
  • Compiling Your Model
  • Fitting Your Model
  • Working with Your Classification Data
  • Working with Classification Models
  • Using Your Models

Working with TensorFlow for Deep Learning for Banking

  • Preparing the Data
    • Downloading the Data
    • Preparing Training Data
    • Preparing Test Data
    • Scaling Inputs
    • Using Placeholders and Variables
  • Specifying the Network Architecture
  • Using the Cost Function
  • Using the Optimizer
  • Using Initializers
  • Fitting the Neural Network
  • Building the Graph
    • Inference
    • Loss
    • Training
  • Training the Model
    • The Graph
    • The Session
    • Train Loop
  • Evaluating the Model
    • Building the Eval Graph
    • Evaluating with Eval Output
  • Training Models at Scale
  • Visualizing and Evaluating Models with TensorBoard

Hands-on: Building a Deep Learning Credit Risk Model Using Python

Extending your Company’s Capabilities

  • Developing Models in the Cloud
  • Using GPUs to Accelerate Deep Learning
  • Applying Deep Learning Neural Networks for Computer Vision, Voice Recognition, and Text Analysis

Summary and Conclusion

Machine Learning for Banking (with Python) Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Experience with Python programming
  • Basic familiarity with statistics and linear algebra

Overview

Machine Learning is a branch of Artificial Intelligence wherein computers have the ability to learn without being explicitly programmed. Python is a programming language famous for its clear syntax and readability. It offers an excellent collection of well-tested libraries and techniques for developing machine learning applications.

In this instructor-led, live training, participants will learn how to apply machine learning techniques and tools for solving real-world problems in the banking industry.

Participants first learn the key principles, then put their knowledge into practice by building their own machine learning models and using them to complete a number of team projects.

Audience

  • Developers
  • Data scientists

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

  • Difference between statistical learning (statistical analysis) and machine learning
  • Adoption of machine learning technology and talent by finance and banking companies

Different Types of Machine Learning

  • Supervised learning vs unsupervised learning
  • Iteration and evaluation
  • Bias-variance trade-off
  • Combining supervised and unsupervised learning (semi-supervised learning)

Machine Learning Languages and Toolsets

  • Open source vs proprietary systems and software
  • Python vs R vs Matlab
  • Libraries and frameworks

Machine Learning Case Studies

  • Consumer data and big data
  • Assessing risk in consumer and business lending
  • Improving customer service through sentiment analysis
  • Detecting identity fraud, billing fraud and money laundering

Hands-on: Python for Machine Learning

  • Preparing the Development Environment
  • Obtaining Python machine learning libraries and packages
  • Working with scikit-learn and PyBrain

How to Load Machine Learning Data

  • Databases, data warehouses and streaming data
  • Distributed storage and processing with Hadoop and Spark
  • Exported data and Excel

Modeling Business Decisions with Supervised Learning

  • Classifying your data (classification)
  • Using regression analysis to predict outcome
  • Choosing from available machine learning algorithms
  • Understanding decision tree algorithms
  • Understanding random forest algorithms
  • Model evaluation
  • Exercise

Regression Analysis

  • Linear regression
  • Generalizations and Nonlinearity
  • Exercise

Classification

  • Bayesian refresher
  • Naive Bayes
  • Logistic regression
  • K-Nearest neighbors
  • Exercise

Hands-on: Building an Estimation Model

  • Assessing lending risk based on customer type and history

Evaluating the performance of Machine Learning Algorithms

  • Cross-validation and resampling
  • Bootstrap aggregation (bagging)
  • Exercise

Modeling Business Decisions with Unsupervised Learning

  • When sample data sets are not available
  • K-means clustering
  • Challenges of unsupervised learning
  • Beyond K-means
  • Bayes networks and Markov Hidden Models
  • Exercise

Hands-on: Building a Recommendation System

  • Analyzing past customer behavior to improve new service offerings

Extending your company’s capabilities

  • Developing models in the cloud
  • Accelerating machine learning with GPU
  • Applying Deep Learning neural networks for computer vision, voice recognition and text analysis

Closing Remarks

Python: Machine Learning with Text Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Experience with Python
  • An understanding of machine learning
  • Experience with scikit-learn and pandas

Overview

In this instructor-led, live training, participants will learn how to use the right machine learning and NLP (Natural Language Processing) techniques to extract value from text-based data.

By the end of this training, participants will be able to:

  • Solve text-based data science problems with high-quality, reusable code
  • Apply different aspects of scikit-learn (classification, clustering, regression, dimensionality reduction) to solve problems
  • Build effective machine learning models using text-based data
  • Create a dataset and extract features from unstructured text
  • Visualize data with Matplotlib
  • Build and evaluate models to gain insight
  • Troubleshoot text encoding errors

Audience

  • Developers
  • Data Scientists

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Course Outline

Introduction

  • The value of text-based data

Workflow for a Text-Based Data Science Problem

Choosing the Right Machine Learning Libraries

Overview of NLP Techniques

Preparing a Dataset

Visualizing the Data

Working with Text Data with scikit-learn

Building a Machine Learning Model

Splitting into Train and Test Sets

Applying Linear Regression and Non-Linear Regression

Applying NLP Techniques

Parsing Text Data Using Regular Expressions

Exploring Other Machine Language Approaches

Troubleshooting Text Encoding Issues

Closing Remarks

Applied AI from Scratch in Python Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

There are no specific requirements needed to attend this course.

Overview

This is a 4 day course introducing AI and it’s application using the Python programming language. There is an option to have an additional day to undertake an AI project on completion of this course. 

Course Outline

Supervised learning: classification and regression

  • Machine Learning in Python: intro to the scikit-learn API
    • linear and logistic regression
    • support vector machine
    • neural networks
    • random forest
  • Setting up an end-to-end supervised learning pipeline using scikit-learn
    • working with data files
    • imputation of missing values
    • handling categorical variables
    • visualizing data

Python frameworks for for AI applications:

  • TensorFlow, Theano, Caffe and Keras
  • AI at scale with Apache Spark: Mlib

Advanced neural network architectures

  • convolutional neural networks for image analysis
  • recurrent neural networks for time-structured data
  • the long short-term memory cell

Unsupervised learning: clustering, anomaly detection

  • implementing principal component analysis with scikit-learn
  • implementing autoencoders in Keras

Practical examples of problems that AI can solve (hands-on exercises using Jupyter notebooks), e.g. 

  • image analysis
  • forecasting complex financial series, such as stock prices,
  • complex pattern recognition
  • natural language processing
  • recommender systems

Understand limitations of AI methods: modes of failure, costs and common difficulties

  • overfitting
  • bias/variance trade-off
  • biases in observational data
  • neural network poisoning

Applied Project work (optional)

Deep Reinforcement Learning with Python Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • Proficiency in Python
  • An understanding of college Calculus and Linear Algebra
  • Basic understanding of Probability and Statistics
  • Experience creating machine learning models in Python and Numpy

Audience

  • Developers
  • Data Scientists

Overview

Deep Reinforcement Learning refers to the ability of an “artificial agent” to learn by trial-and-error and rewards-and-punishments. An artificial agent aims to emulate a human’s ability to obtain and construct knowledge on its own, directly from raw inputs such as vision. To realize reinforcement learning, deep learning and neural networks are used. Reinforcement learning is different from machine learning and does not rely on supervised and unsupervised learning approaches.

This instructor-led, live training (online or onsite) is aimed at developers and data scientists who wish to learn the fundamentals of Deep Reinforcement Learning as they step through the creation of a Deep Learning Agent.

By the end of this training, participants will be able to:

  • Understand the key concepts behind Deep Reinforcement Learning and be able to distinguish it from Machine Learning.
  • Apply advanced Reinforcement Learning algorithms to solve real-world problems.
  • Build a Deep Learning Agent.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Reinforcement Learning Basics

Basic Reinforcement Learning Techniques

Introduction to BURLAP

Convergence of Value and Policy Iteration

Reward Shaping

Exploration

Generalization

Partially Observable MDPs

Options

Logistics

TD Lambda

Policy Gradients

Deep Q-Learning

Topics in Game Theory

Summary and Next Steps