Unsupervised Machine Learning Hidden Markov Models in Python (Udemy.com)

HMMs for stock price analysis, language modeling, web analytics, biology, and PageRank.

Created by: Lazy Programmer Inc.

Produced in 2021

icon
What you will learn

  • Understand and enumerate the various applications of Markov Models and Hidden Markov Models
  • Understand how Markov Models work
  • Write a Markov Model in code
  • Apply Markov Models to any sequence of data
  • Understand the mathematics behind Markov chains
  • Apply Markov models to language
  • Apply Markov models to website analytics
  • Understand how Google's PageRank works
  • Understand Hidden Markov Models
  • Write a Hidden Markov Model in Code
  • Write a Hidden Markov Model using Theano
  • Understand how gradient descent, which is normally used in deep learning, can be used for HMMs

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100

icon
Course Description

TheHidden Markov Model or HMMis all about learning sequences.
A lot of the data that would be very useful for us to model is in sequences. Stock prices are sequences of prices. Language is a sequence of words. Credit scoring involves sequences of borrowing and repaying money, and we can use those sequences to predict whether or not youre going to default. In short, sequences are everywhere, and being able to analyze them is an important skill in your data science toolbox.
The easiest way to appreciate the kind of information you get from a sequence is to consider what you are reading right now. If I had written the previous sentence backwards, it wouldnt make much sense to you, even though it contained all the same words. So order is important.
While the current fad in deep learning is to use recurrent neural networks to model sequences, I want to first introduce you guys to a machine learning algorithm that has been around for several decades now - the Hidden Markov Model.
This course follows directly from my first course in Unsupervised Machine Learning for Cluster Analysis, where you learned how to measure the probability distribution of a random variable. In this course, youll learn to measure the probability distribution of a sequence of random variables. You guys know how much I love deep learning, so there is a little twist in this course. Weve already covered gradient descent and you know how central it is for solving deep learning problems. I claimed that gradient descent could be used to optimize any objective function. In this course I will show you how you can use gradient descent to solve for the optimal parameters of an HMM, as an alternative to the popular expectation-maximization algorithm.
Were going to do it in Theanoand Tensorflow, which arepopular librariesfor deep learning. This is also going to teach you how to work with sequences in Theano and Tensorflow, which will be very useful when we cover recurrent neural networks and LSTMs.
This course is also going to go through the many practical applications of Markov models and hidden Markov models. Were going to look at a model of sickness and health, and calculate how to predict how long youll stay sick, if you get sick. Were going to talk about how Markov models can be used to analyze how people interact with your website, and fix problem areas like high bounce rate, which could be affecting your SEO. Well build language models that can be used to identify a writer and even generate text - imagine a machine doing your writing for you.
HMMs have been very successful in natural language processingorNLP.
Well look at what is possibly the most recent and prolific application of Markov models - Googles PageRank algorithm. And finally well discuss even more practical applications of Markov models, including generating images, smartphone autosuggestions, and using HMMs to answer one of the most fundamental questions in biology - how is DNA, the code of life, translated into physical or behavioral attributes of an organism?
All of the materials of this course can be downloaded and installed for FREE. We will do most of our work in Numpy and Matplotlib, along with a little bit of Theano. I am always available to answer your questions and help you along your data science journey.
This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about"seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you wantmorethan just a superficial look at machine learning models, this course is for you.
See you in class!"If you can't implement it, you don't understand it"Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".
My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratchOther courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?
After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times...
Suggested Prerequisites:
calculuslinear algebraprobabilityBe comfortable with the multivariate Gaussian distributionPython coding: if/else, loops, lists, dicts, setsNumpy coding: matrix and vector operations, loading a CSV fileWHATORDERSHOULDITAKEYOURCOURSESIN?:
Check out the lecture "Machine Learning and AIPrerequisite Roadmap" (available in the FAQ of any of my courses, including the free Numpy course)Who this course is for:
Students and professionals who do data analysis, especially on sequence dataProfessionals who want to optimize their website experienceStudents who want to strengthen their machine learning knowledge and practical skillsetStudents and professionals interested in DNA analysis and gene expressionStudents and professionals interested in modeling language and generating text from a model

icon
Instructor Details

Lazy Programmer Inc.

Today, I spend most of my time as an artificial intelligence and machine learning engineer with a focus on deep learning, although I have also been known as a data scientist, big data engineer, and full stack software engineer.
I received my masters degree in computer engineering with a specialization in machine learning and pattern recognition.
Experience includesonline advertising and digital media as both a data scientist (optimizing click and conversion rates)and big data engineer (building data processing pipelines). Some big data technologies I frequently use are Hadoop,Pig, Hive,MapReduce, and Spark.
I've created deeplearning models to predict click-through rate and user behavior, as well as for image and signal processing and modeling text.
My work in recommendation systems has applied Reinforcement Learning and Collaborative Filtering, and wevalidated the results using A/B testing.
I have taught undergraduate and graduate students in data science, statistics, machine learning, algorithms, calculus, computer graphics, and physics for students attending universities such as Columbia University, NYU, Hunter College, and The New School.
Multiple businesses have benefitted from my web programming expertise. I do all the backend (server), frontend (HTML/JS/CSS), and operations/deployment work. Some of the technologies I've used are: Python, Ruby/Rails, PHP, Bootstrap, jQuery (Javascript), Backbone, and Angular. For storage/databases I've used MySQL, Postg

icon
More courses by Lazy Programmer Inc.

Deep Learning: Convolutional Neural Networks in Python

$11.99

Data Science: Natural Language Processing (NLP) in Python

$11.99

Deep Learning Prerequisites: Linear Regression in Python

$11.99

Bayesian Machine Learning in Python: A/B Testing

$11.99

Deep Learning Prerequisites: The Numpy Stack in Python (V2+)

$11.99

Advanced AI: Deep Reinforcement Learning in Python

$11.99

icon
More machine learning courses

Machine Learning by Stanford

Free

Clustering & Classification With Machine Learning In R

$11.99

Python Regression Analysis: Statistics & Machine Learning

$11.99

Applied Machine Learning in R

$11.99

Neural Networks and Deep Learning

Free

Species Distribution Models with GIS & Machine Learning in R

$11.99

icon
Reviews

4.3

228 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Yuktha J S on 10/6/2020

Good

By Ajitkumar Poolathodiyil on 8/17/2020

Thank you for the course. However I find some of the contents are very cryptic in nature inside the code.
In some places in code please provide clear comments at a pseudologic level for instance in:
(1) for loops j then another loop inside - why there are 3 loops? (i will re-run and try again to understand) and
(2) np.zeros, np.ones and np.eye(D) and then divide by array - Is it normalization, what is this division for? It would be nice to explain in a slide about what np.eye(D) really means. I will review numpy again and dig this.
Also there are some greek alphabets alpha, beta. here could you provide what is alphas and betas purpose. Are you aggregating, why is this required? what is mu an sigma, may be I will repeat lagrangian multiplication, however I think it doesn't hurt to cover the points like alphas, betas, mu and sigma in a greek notations appendix slide or something like that in the next slide.
I think subject its my level of understanding here as its my first run of the course and HMM topic..
So subject explanation needs to be given more weight age against code.
For instance, does fit coin mean..fitting the model to sequence of coin tosses? I didnt get it, I will try and revisit it.
On style of code walkthrough its great from a IT perspective. However, my 2 cents, It would be great to have a tell-show-tell approach as against tell-as-you-code approach. There is no need to code along,
step-1: just tell pseudo logic, then
step-2: show code while walk through without typing with little explaining and finally in
step-3: tell about more as needed and go ahead run code.
Subject by nature is complex, In fact you could give more whitepaper references, like point to experts who have published papers
Also plant some quizes at the completion of each section, every kid likes a quiz!
I have never seen anyone touch the order of data science courses covered like you did. This is great and I liked it very much.

By Christiane Hller on 8/16/2020

Excellent theoretical introduction!

By Josip Lazarevski on 7/14/2020

The style of lecturing/ the git hub content managing is really poor.
Maybe he has knowledge of the topic but he needs to polish how he is managing and transferring its knowledge.

By Lafi alnufaie on 7/12/2020

C'est tres bien de course.
J'ai compris beaucoup des choses.
Merci

By Thibault Lucidarme on 6/21/2020

Great subject. I enjoyed the mathematics.
The implementation was too confusing: the python does not match the previously derived formulas (specifically gamma and xi). The variables used become too numerous to not be named specifically. formulas with plethora of single letter variables just become too hard to make sense.
I knew what GMM are but the part on HMM+GMM still does not make sense to me (why, reasonning, when to use, what is the interpretation).
During examples, the result is only ever shown to be the loglikelihood. never actual classification/prediction/modelisation. e.g. the example on the 2 poets could be really fun but al that is shown is the final likelihood. disappointing

By Aman Singh on 5/22/2020

Great

By Sayantan Dutta on 5/22/2020

Another high-quality course easily at par with top university grad/research level courses. The course has very dense level mathematics and technical materials, and they are explained quite well. Not suited for beginners, but advanced-level practitioners would relish it.

By Shilpi on 5/20/2020

The content is really amazing.
I was expecting for some assignments after each section to make this more interactive

By Darin Brown on 5/16/2020

So far so good. I encountered a few minor issues coding. The course examples are written in Python 2 and I'm using Python 3. No big deal really but it has added some time.

By Yury Kozlov on 5/15/2020

hard to stay awake :( had very high hopes for this course.

By Le thai linh on 5/13/2020

yes.