- No previous programming experience is necessary.
Audience
- Anyone interested in learning Python to understand and apply Artificial Intelligence (AI) within their organization.
Artificial Intelligence (AI) refers to software that is capable of carrying out tasks that would normally require human intelligence. Such tasks include: predicting an outcome based on past events, recognizing images, recognizing speech, making decisions autonomously, and translating between languages.
AI employs software constructs and techniques such as Artificial Neural Networks, Machine Learning, and Deep Learning to make all this possible. The language of choice for AI development is Python. The most popular AI libraries are written in Python and are available as open-source software.
This instructor-led, live training is aimed at anyone who wishes to learn Python and apply this knowledge to understand AI and implement AI capabilities such as machine learning and deep learning into an organization's applications.
The course is comprised of three modules:
- Python Programming
- Introduction to Data Science and AI (using Python)
- Artificial Neural Networks, Machine Learning and Deep Learning
By the end of this training, participants will be able to:
- Develop a real-world software application using Python.
- Know which machine learning and deep learning libraries to download and install.
- Integrate machine learning and deep learning libraries into a software application to enable AI within an organization.
- Identify the underlying algorithms used to carry out different types of computation and analysis.
- Understand how artificial neural networks work and what their role is in enabling machine learning.
- Understand the difference between machine learning and deep learning.
- Design software applications that can take existing data, then use this data to predict people's behavior.
- Design software applications that can recognize images, text and speech, then carry out actions based on this knowledge.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Module 1: Python Programming
Overview
This is an introduction to Python programming. The emphasis is on the Python language, the core libraries, as well as on the selection of the best and most useful libraries developed by the Python community. Python drives businesses and is used by scientists all over the world – it is one of the most popular programming languages.
Introduction to Python Programming
- Running Python code
- Using Python Development Tools (IDEs and command line tools)
- Working with Python and iPython shells as well as iPython Notebook
Data Types and Operations
- Integers and floats
- Strings and bytes
- Tuples and lists
- Dictionaries and ordered dictionaries
- Sets and frozen sets
Organizing and Distributing Code
- Creating modules and packages
- Distributing code to repositories
Object Oriented and Functional Programming
- Creating and using functions and classes
- Modifying functions and classes with decorators
- Introducing meta-classes
Error Handling and Testing
- Handling and raising exceptions
- Writing and executing tests (doc tests and unit tests)
- Checking code coverage by tests
Working with Files and Directories
- Accessing different types of files and file handling principles
- Creating, reading, updating and deleting files (including regular text files, csv, as well as Microsoft Word and Microsoft Excel files)
- Extracting data from text files using Regular Expressions
- Creating and deleting directories, listing and searching for files
Accessing Databases
- Selecting, inserting, updating and deleting data
- Generic database API based on SQLite 3, PostgreSQL and MySQL
- Using the Object Relational Mapper (SQLAlchemy)
- Working with NoSQL databases
Conquering The Web
- Retrieving web pages
- Parsing HTML and XML
- Filling web forms automatically
- Creating web applications in Python
Module 2: Introduction to Data Science and AI (using Python)
Overview
This is an introduction to Data Science and Artificial Intelligence (AI). Examples and exercises are carried out using Python.
Introduction to Data Science/AI
- Knowledge acquisition through data
- Knowledge representation
- Value creation
- Data Science overview
- AI ecosystem and new approach to analytics
- Key technologies
Data Science workflow
- Crisp-dm
- Data preparation
- Model planning
- Model building
- Communication
- Deployment
Data Science technologies
- Languages used for prototyping
- Big Data technologies
- End to end solutions to common problems
- Introduction to Python language
- Integrating Python with Spark
AI in Business
- AI ecosystem
- Ethics of AI
- How to drive AI in business
Data sources
- Types of data
- SQL vs NoSQL
- Data Storage
- Data preparation
Data Analysis – Statistical approach
- Probability
- Statistics
- Statistical modeling
- Applications in business using Python
Machine learning in business
- Supervised vs unsupervised
- Forecasting problems
- Classfication problems
- Clustering problems
- Anomaly detection
- Recommendation engines
- Association pattern mining
- Solving ML problems with Python language
Deep learning
- Problems where traditional ML algorithms fails
- Solving complicated problems with Deep Learning
- Introduction to Tensorflow
Natural Language processing
Data visualization
- Visual reporting outcomes from modeling
- Common pitfalls in visualization
- Data visualization with Python
From Data to Decision – communication
- Making impact: data driven story telling
- Influence effectivnes
- Managing Data Science projects
Module 3: Artificial Neural Networks, Machine Learning and Deep Learning
Overview
This is an introduction to Artificial Neural Networks, Machine Learning and Deep Thinking.
Artificial Neural Network is a computational data model used in the development of Artificial Intelligence (AI) systems capable of performing "intelligent" tasks. Neural Networks are commonly used in Machine Learning (ML) applications, which are themselves one implementation of AI. Deep Learning is a subset of ML.
1. Understanding classification using nearest neighbors
- The kNN algorithm
- Calculating distance
- Choosing an appropriate k
- Preparing data for use with kNN
- Why is the kNN algorithm lazy?
2. Understanding naive Bayes
- Basic concepts of Bayesian methods
- Probability
- Joint probability
- Conditional probability with Bayes' theorem
- The naive Bayes algorithm
- The naive Bayes classification
- The Laplace estimator
- Using numeric features with naive Bayes
3. Understanding decision trees
- Divide and conquer
- The C5.0 decision tree algorithm
- Choosing the best split
- Pruning the decision tree
4. Understanding classification rules
- Separate and conquer
- The One Rule algorithm
- The RIPPER algorithm
- Rules from decision trees
5. Understanding regression
- Simple linear regression
- Ordinary least squares estimation
- Correlations
- Multiple linear regression
6. Understanding regression trees and model trees
- Adding regression to trees
7. Understanding neural networks
- From biological to artificial neurons
- Activation functions
- Network topology
- The number of layers
- The direction of information travel
- The number of nodes in each layer
- Training neural networks with backpropagation
8. Understanding Support Vector Machines
- Classification with hyperplanes
- Finding the maximum margin
- The case of linearly separable data
- The case of non-linearly separable data
- Using kernels for non-linear spaces
9. Understanding association rules
- The Apriori algorithm for association rule learning
- Measuring rule interest – support and confidence
- Building a set of rules with the Apriori principle
10. Understanding clustering
- Clustering as a machine learning task
- The k-means algorithm for clustering
- Using distance to assign and update clusters
- Choosing the appropriate number of clusters
11. Measuring performance for classification
- Working with classification prediction data
- A closer look at confusion matrices
- Using confusion matrices to measure performance
- Beyond accuracy – other measures of performance
- The kappa statistic
- Sensitivity and specificity
- Precision and recall
- The F-measure
- Visualizing performance tradeoffs
- ROC curves
- Estimating future performance
- The holdout method
- Cross-validation
- Bootstrap sampling
12. Tuning stock models for better performance
- Using caret for automated parameter tuning
- Creating a simple tuned model
- Customizing the tuning process
- Improving model performance with meta-learning
- Understanding ensembles
- Bagging
- Boosting
- Random forests
- Training random forests
- Evaluating random forest performance
13. Deep Learning
- Three Classes of Deep Learning
- Deep Autoencoders
- Pre-trained Deep Neural Networks
- Deep Stacking Networks