Hidden Markov Model : Data Science Concepts

  Рет қаралды 135,087

ritvikmath

ritvikmath

Күн бұрын

Пікірлер: 198
@13_yashbhanushali40
@13_yashbhanushali40 2 жыл бұрын
Unbelievable Explanation!! I have referred to more than 10 videos where basic working flow of this model was explained but I must say that rather I'm sure that this is the most easiest explanation one can ever find on youtube , the way of explanation considering the practical approach was much needed and you did exactly that Thanks a ton man !
@TesfaldetBokretsion
@TesfaldetBokretsion 11 ай бұрын
True experts always make it easy.
@pinkymotta4527
@pinkymotta4527 2 жыл бұрын
Crystal-clear explanation. Didn't have to pause video or go back at any point of video. Would definitely recommend to my students.
@paulbrown5839
@paulbrown5839 4 жыл бұрын
To get to the probabilities in the top right of the board, you keep applying P(A,B)=P(A|B).P(B) ... eg. A=C3, B=C2 x C1 x M3 x M2 x M1 ... keep applying P(A,B)=P(A|B).P(B) and you will end up with same probabilities as shown on the whiteboard top right of screen for the viewer. Great video!
@ritvikmath
@ritvikmath 4 жыл бұрын
Thanks for that!
@ummerabab8297
@ummerabab8297 2 жыл бұрын
Sorry, but I still don't get the calculation at the end. The whole video was explained flawlessly but the calculation was left out. I don't understand. If you can please further help. Thankyou.
@toyomicho
@toyomicho 2 жыл бұрын
@@ummerabab8297 Here is some code in python showing the calculations in the output, you'll see that the hidden sequence s->s->h has the highest probability (0.018) ##### code #################### def get_most_likely(): starting_probs={'h' :.4, 's':.6} transition_probs={'hh':.7, 'hs':.3, 'sh':.5, 'ss':.5, } emission_probs = {'hr':.8, 'hg':.1,'hb':.1, 'sr':.2, 'sg':.3, 'sb':.5} mood={1:'h', 0:'s'} # for generating all 8 possible choices using BitMasking observed_clothes = 'gbr' def calc_prob(hidden_states:str)->int: res = starting_probs[hidden_states[:1]] # Prob(m1) res *= transition_probs[hidden_states[:2]] # Prob(m2|m2) res *= transition_probs[hidden_states[1:3]] # Prob(m3|m2) res *= emission_probs[hidden_states[0]+observed_clothes[0]] # Prob(c1|m1) res *= emission_probs[hidden_states[1]+observed_clothes[1]] # Prob(c2|m2) res *= emission_probs[hidden_states[2]+observed_clothes[2]] # Prob(c2|m3) return res #Use BitMasking to generate all possible combinations of hidden states 's' and 'h' for i in range(8): hidden_states = [] binary = i for _ in range(3): hidden_states.append(mood[binary&1]) binary //=2 hidden_states = "".join(hidden_states) print(hidden_states, round(calc_prob(hidden_states),5)) ##### Output ###### sss 0.0045 hss 0.0006 shs 0.00054 hhs 0.000168 ssh 0.018 hsh 0.0024 shh 0.00504 hhh 0.001568
@AakashOnKeys
@AakashOnKeys 8 ай бұрын
@@toyomicho I had the same doubt. Thanks for the code! Would be better if author pins this.
@chadwinters4285
@chadwinters4285 3 жыл бұрын
I have to say you have an underrated way of providing intuition and making difficult to understand concepts really easy.
@mohammadmoslemuddin7274
@mohammadmoslemuddin7274 4 жыл бұрын
Glad I found your videos. Whenever I need some explanation for hard things in Machine Learning, I come to your channel. And you always explain things so simply. Great work man. Keep it up.
@ritvikmath
@ritvikmath 4 жыл бұрын
Glad to help!
@zishiwu7757
@zishiwu7757 4 жыл бұрын
Thank you for explaining how HMM model works. You are a grade saver and explained this more clearly than a professor.
@ritvikmath
@ritvikmath 4 жыл бұрын
Glad it was helpful!
@coupmd
@coupmd 2 жыл бұрын
Wonderful explanation. I hand calculated a couple of sequences and then coded up a brute force solution for this small problem. This helped a lot! Really appreciate the video!
@beyerch
@beyerch 4 жыл бұрын
Really great explanation of this in an easy to understand format. Slightly criminal to not at least walk through the math on the problem, though.
@stevengreidinger8295
@stevengreidinger8295 4 жыл бұрын
You gave the clearest explanation of this important topic I've ever seen! Thank you!
@jirasakburanathawornsom1911
@jirasakburanathawornsom1911 3 жыл бұрын
Im continually amazed by how well and easy to understand you can teach, you are indeed an amazing teacher
@songweimai6411
@songweimai6411 2 жыл бұрын
Really appreciate your work. Much better than the professor in my class who has a pppppphhhhdddd degree.
@rssamarth099
@rssamarth099 Жыл бұрын
This helped me at the best time possible!! I didn't know jack about the math a while ago, but now I have a general grasp of the concept and was able to chart down my own problem as you were explaining the example. Thank you so much!!
@remy4033
@remy4033 Ай бұрын
This guy is underrated for real. Love you bro.
@ahokai
@ahokai 3 жыл бұрын
I don't know why I had paid for my course and then came here to learn. Great explanation, thank you!
@Dima-rj7bv
@Dima-rj7bv 3 жыл бұрын
I really enjoyed this explanation. Very nice, very straightforward, and consistent. It helped me to understand the concept very fast.
@ritvikmath
@ritvikmath 3 жыл бұрын
Glad it was helpful!
@awalehmohamed6958
@awalehmohamed6958 3 жыл бұрын
Instant subscription, you deserve millions of followers
@clauzone03
@clauzone03 4 жыл бұрын
You are great! Subscribed with notification after only the first 5 minutes listening to you! :-)
@ritvikmath
@ritvikmath 4 жыл бұрын
Aw thank you !!
@mirasan2007
@mirasan2007 3 жыл бұрын
Dear ritvik, I watch your videos and I like the way you explain. Regarding this HMM, the stationary vector π is [0.625, 0.375] for the states [happy, sad] respectively. You can check the correct stationary vector by multiplying it with the transpose of the Transition probability Matrix, then it should result the same stationary vector as result: import numpy as np B = np.array([[0.7, 0.3], [0.5, 0.5]]) pi_B = np.array([0.625, 0.375]) np.matmul(B.T, pi_B) array([0.625, 0.375])
@marceloamado6223
@marceloamado6223 2 ай бұрын
You are a great professor! Thank you very much for taking the time to make this video all the best to you.
@pibob7880
@pibob7880 Жыл бұрын
After watching this it left me with the impression that local maximization of conditional probabilities lead to global maximization of the hidden markov model. Seems too good to be true... I guess the hard part is finding out the hidden state transition probabilities?
@caspahlidiema4027
@caspahlidiema4027 3 жыл бұрын
The best ever explanation on HMM
@ritvikmath
@ritvikmath 3 жыл бұрын
thanks!
@nathanielfernandes8916
@nathanielfernandes8916 Жыл бұрын
I have 2 questions: 1. The Markov assumption seems VERY strong. How can we guarantee the current state only depends on the previous state? (e.g., person has an outfit for the day of the week instead of based on yesterday) 2. How do we collect the transition/emission probabilities if the state is hidden?
@straft5759
@straft5759 Ай бұрын
1. It is strong, but the idea is that each state (at least in principle) encodes *all* the information you need, i.e. the entire "memory" of the system. So for example, if the person's mood tomorrow depends on their mood yesterday as well as today, then you would model that as a 4-state system (HH, HS, SH, SS) instead of a 2-state system (H, S). 2. This problem in particular assumes that you already know those probabilities, but if you didn't you could still Bayesian them out of the collected data. That's more advanced though.
@totomo1976
@totomo1976 Жыл бұрын
Thank you so much for your clear explanation!!! Look forward to learning more machine-learning related math.
@Infaviored
@Infaviored Жыл бұрын
If there is a concept I did not understand from my lectures, an i see there is a video by this channel, i know I will understand it afterwards.
@ritvikmath
@ritvikmath Жыл бұрын
thanks!
@Infaviored
@Infaviored Жыл бұрын
@@ritvikmath no, thank you! Ever thought of teaching at an university?
@1243576891
@1243576891 3 жыл бұрын
This explanation is concise and clear. Thanks a lot!
@ritvikmath
@ritvikmath 3 жыл бұрын
Of course!
@ananya___1625
@ananya___1625 Жыл бұрын
As usual awesome explanation...After referring to tons of videos, I understood it clearly only after this video...Thank you for your efforts and time
@ritvikmath
@ritvikmath Жыл бұрын
You are most welcome
@mengxiaoh9048
@mengxiaoh9048 Жыл бұрын
thanks for the video! I've watched two other videos but this one is the easiest to understand HMM and I also like that you added the real-life application NLP example at the end
@ritvikmath
@ritvikmath Жыл бұрын
Glad it was helpful!
@Molaga
@Molaga 4 жыл бұрын
A great video. I am glad I discovered your channel today.
@ritvikmath
@ritvikmath 4 жыл бұрын
Welcome aboard!
@ashortstorey-hy9ns
@ashortstorey-hy9ns 2 жыл бұрын
You're really good at explaining these topics. Thanks for sharing!
@balanfelicia4445
@balanfelicia4445 4 күн бұрын
what a wonderful explanation!!! Thank you so much
@linguipster1744
@linguipster1744 4 жыл бұрын
oooh I get it now! Thank you so much :-) you have an excellent way of explaining things and I didn’t feel like there was 1 word too much (or too little)!
@seansanyal1895
@seansanyal1895 4 жыл бұрын
hey Ritvik, nice quarantine haircut! thanks for the video, great explanation as always. stay safe
@ritvikmath
@ritvikmath 4 жыл бұрын
thank you! please stay safe also
@louisc2016
@louisc2016 3 жыл бұрын
I really like the way you explain something, and it helps me a lot! Thx bro!!!!
@VascoDaGamaOtRupcha
@VascoDaGamaOtRupcha Жыл бұрын
You explain very well!
@slanglabadang
@slanglabadang 10 ай бұрын
I feel like this is a great model to use to understand how time exists inside our minds
@spp626
@spp626 2 жыл бұрын
Such a great explanation! Thank you sir.
@mia23
@mia23 4 жыл бұрын
Thank you. That was a very impressive and clear explanation!
@ritvikmath
@ritvikmath 4 жыл бұрын
Glad it was helpful!
@kanhabansal524
@kanhabansal524 Жыл бұрын
best explanation over internet
@ritvikmath
@ritvikmath Жыл бұрын
Thanks!
@claytonwohl7092
@claytonwohl7092 4 жыл бұрын
At 2:13, the lecturer says, "it's not random" whether the professor wears a red/green/blue shirt. Not true. It is random. It's random but dependent on the happy/sad state of the professor. Sorry to nitpick. I definitely enjoyed this video :)
@ritvikmath
@ritvikmath 4 жыл бұрын
Fair point !! Thanks :)
@Aoi_Hikari
@Aoi_Hikari 8 ай бұрын
i had to rewind the videos a few times, but eventually i understood it, thanks
@jinbowang8814
@jinbowang8814 2 жыл бұрын
Really nice explanation! easy and understandable.
@froh_do4431
@froh_do4431 3 жыл бұрын
really good work on the simple explanation of a rather complicated topic 👌🏼💪🏼 thank you very much
@gopinsk
@gopinsk 3 жыл бұрын
I agree Teaching is an art. You have mastered it. Application to real world scenarios are really helpful. Really feel so confident after watching your videos. Question, How did we get the probabilities to start with? are those arbitrary or followed any scientific method to arrive at those numbers?
@OskarBienko
@OskarBienko Жыл бұрын
I'm curious too. Did you figure it out?
@shahabansari5201
@shahabansari5201 3 жыл бұрын
Very good explanation of HMM!
@ritvikmath
@ritvikmath 3 жыл бұрын
Glad it was helpful!
@hichamsabah31
@hichamsabah31 3 жыл бұрын
Very insightful. Keep up the good work.
@skyt-csgo376
@skyt-csgo376 2 жыл бұрын
You're such a great teacher!
@laurelpegnose7911
@laurelpegnose7911 3 жыл бұрын
Great video to get an intuition for HMMs. Two minor notes: 1. There might be an ambiguity of the state sad (S) and the start symbol (S), which might have been resolved by renaming one or the other 2. About the example configuration of hidden states which maximizes P: I think this should be written as a tuple (s, s, h) rather than a set {s, s, h} since the order is relevant? Keep up the good work! :-)
@srijanshovit844
@srijanshovit844 Жыл бұрын
Awesome explanation I understood in 1 go!!
@kristiapamungkas697
@kristiapamungkas697 3 жыл бұрын
You are a great teacher!
@ritvikmath
@ritvikmath 3 жыл бұрын
Thank you! 😃
@user-or7ji5hv8y
@user-or7ji5hv8y 3 жыл бұрын
This is really great explanation
@srinivasuluyerra7849
@srinivasuluyerra7849 2 жыл бұрын
Great video, nicely explained
@silverstar6905
@silverstar6905 4 жыл бұрын
verry nice explanation. looking forward to seeing something about quantile regression
@newwaylw
@newwaylw 2 жыл бұрын
Why are we maximizing the joint probability? Shouldn't the task to find the most likely hidden sequence GIVEN the observed sequence? i.e. maximizing the conditional probability argmax P(m1m2m3| c1c2c3)?
@dariocline
@dariocline 11 ай бұрын
I'd be flipping burgers without ritvikmath
@GarageGotting
@GarageGotting 4 жыл бұрын
Fantastic explanation. Thanks a lot
@ritvikmath
@ritvikmath 4 жыл бұрын
Most welcome!
@beckyb8929
@beckyb8929 3 жыл бұрын
beautiful! Thank you for making this understandable
@anna-mm4nk
@anna-mm4nk 2 жыл бұрын
appreciate that the professor was a 'she' took me by surprise and made me smile :) also great explanation, made me remember that learning is actually fun when you understand what the fuck is going on
@shivkrishnajaiswal8394
@shivkrishnajaiswal8394 4 ай бұрын
Nice explanation!! One of the usecases mentioned was NLP. I am wondering if HMM will be helpful given that we now have Transformers architectures.
@5602KK
@5602KK 3 жыл бұрын
Incredible. All of the other videos I have watched have me feeling quite over whelmed.
@ritvikmath
@ritvikmath 3 жыл бұрын
glad to help!
@kanchankrishna3686
@kanchankrishna3686 9 ай бұрын
Why are there 8 possible combinations (6:10)? I got 9 from doing M1/G, M1/B, M1/R, M2/G, M2/B, M2/R, M3/G, M3/R, M3/B ?
@kiran10110
@kiran10110 3 жыл бұрын
Damn - what a perfect explanation! Thanks so much! 🙌
@ritvikmath
@ritvikmath 3 жыл бұрын
Of course!
@gnkk6002
@gnkk6002 4 жыл бұрын
Wonderful explanation 👌
@ritvikmath
@ritvikmath 4 жыл бұрын
Thank you 🙂
@Justin-General
@Justin-General 3 жыл бұрын
Thank you, please keep making content Mr. Ritvik.
@juanjopiconcossio3146
@juanjopiconcossio3146 2 жыл бұрын
Great great explanation. Thank you!!
@mihirbhatia9658
@mihirbhatia9658 4 жыл бұрын
I wish you went through Bayes Nets before coming to HMM. That would make the conditional probabilities so much more easier to understand for HMMs. Great explanation though !! :)
@Sasha-ub7pz
@Sasha-ub7pz 3 жыл бұрын
Thanks, amazing explanation. I was looking for such video but unfortunately, those authors have bad audio.
@arungorur3305
@arungorur3305 4 жыл бұрын
Ritvik, great videos.. I have learnt a lot.. thx. A quick Q re: HMM. How does one create transition matrix for hidden states when in fact you don't know the states.. thx!
@alecvan7143
@alecvan7143 2 жыл бұрын
Very insightful, thank you!
@sarangkulkarni8847
@sarangkulkarni8847 5 ай бұрын
Absolutely Amazing
@MegaJohnwesly
@MegaJohnwesly Жыл бұрын
oh man. Thanks alot :). I tried to understand here and there by reading..But I didn't get it. But this video is gold
@ritvikmath
@ritvikmath Жыл бұрын
Glad it helped!
@tindo0038
@tindo0038 6 ай бұрын
here is my quick implementation of the discussed problem index_dict = {"happy": 0, "sad": 1} start_prob = {"happy": 0.4, "sad": 0.6} transition = [[0.7, 0.3], [0.5, 0.5]] emission = { "happy": {"red": 0.8, "green": 0.1, "blue": 0.1}, "sad": {"red": 0.2, "green": 0.3, "blue": 0.5}, } observed = ["green", "blue", "red"] cur_sequece = [] res = {} def dfs(cur_day, cur_score): if cur_day >= len(observed): res["".join(cur_sequece)] = cur_score return cur_observation = observed[cur_day] for mood in ["happy", "sad"]: new_score = cur_score new_score += emission[mood][cur_observation] # at the start, there is no previous mood if cur_sequece: new_score += transition[index_dict[mood]][index_dict[cur_sequece[-1]]] else: new_score += start_prob[mood] cur_sequece.append(mood) dfs(cur_day + 1, new_score) cur_sequece.pop() dfs(0, 0) print(res)
@ls09405
@ls09405 Жыл бұрын
Great Video. But how did you calculate {SSH} is maximum?
@shaoxiongsun4682
@shaoxiongsun4682 Жыл бұрын
Thanks a lot for sharing. It is very clearly explained. Just wondering why the objective we want to optimize is not the conditional probability P(M=m | C = c).
@curiousredpand90
@curiousredpand90 3 жыл бұрын
Ah you explained so much better than my Ivy League professor!!!
@mousatat7392
@mousatat7392 Жыл бұрын
amazing keep up very cool explenation
@ritvikmath
@ritvikmath Жыл бұрын
Thanks!
@NickVinckier
@NickVinckier 3 жыл бұрын
This was great. Thank you!
@ritvikmath
@ritvikmath 3 жыл бұрын
Glad you enjoyed it!
@TheBanananutbutton
@TheBanananutbutton 11 ай бұрын
This is how I tell whether my spouse is happy or sad.
@mango-strawberry
@mango-strawberry 9 ай бұрын
lmao
@jeffery_tang
@jeffery_tang 2 жыл бұрын
took me 10 minutes into the video to realize the transitions are not 7, 8, 1, 2 but 0.7, 0.8, 0.1, 0.2
@souravdey1227
@souravdey1227 3 жыл бұрын
Really crisp explanation. I just have a query. When you say that the mood on a given day "only" depends on the mood the previous day, this statement seems to come with a caveat. Because if it "only" depended on the previous day's mood, then the Markov chain will be trivial. I think what you mean is that the dependence is a conditional probability on the previous day's mood: meaning, given today's mood, there is a "this percent" chance that tomorrow's mood will be this and a "that percent" chance that tomorrow's mood will be that. "this percent" and "that percent" summing up to 1, obviously. The word "only" somehow conveyed a probability of one. I hope I am able to clearly explain.
@SuperMtheory
@SuperMtheory 4 жыл бұрын
Great video. Perhaps a follow up will be the actual calculation of {S, S, H}
@ritvikmath
@ritvikmath 4 жыл бұрын
thanks for the suggestion!
@ResilientFighter
@ResilientFighter 4 жыл бұрын
Ritvik, it might be helpful if you add some practice problems in the description
@wendyqi4727
@wendyqi4727 Жыл бұрын
I love your videos so much! Could you please make one video about POMDP?
@mansikumari4954
@mansikumari4954 Жыл бұрын
This is great!!!!!
@minapagliaro7607
@minapagliaro7607 11 ай бұрын
Great explanation ❤️
@SPeeDKiLL45
@SPeeDKiLL45 2 жыл бұрын
Great Video Bro ! Thanks
@qiushiyann
@qiushiyann 4 жыл бұрын
Thank you for this explanation!
@otixavi8882
@otixavi8882 2 жыл бұрын
Great video, however I was wondering if the hidden state transitioning probabilities are unknown, is there a way to compute/calculate them based on the observations?
@Roman-qg9du
@Roman-qg9du 4 жыл бұрын
Please show us an implementation in python.
@ritvikmath
@ritvikmath 4 жыл бұрын
Good suggestion!
@zacharyzheng3610
@zacharyzheng3610 Жыл бұрын
Brilliant explanation
@ritvikmath
@ritvikmath Жыл бұрын
Thanks!
@paulbrown5839
@paulbrown5839 4 жыл бұрын
@ritvikmath Any chance of a follow up video covering some of the algos like Baum-Welch, Viterbi, please? ... i'm sure you could explain them well. Thanks a lot.
@ritvikmath
@ritvikmath 4 жыл бұрын
Good suggestion! I'll look into it for my next round of videos. Usually I'll throw a general topic out there and use the comments to inform future videos. Thanks!
@froh_do4431
@froh_do4431 3 жыл бұрын
Is it possible to describe in a few words, how we can calculate/compute the transition- and emission probabilities?
@deter3
@deter3 4 жыл бұрын
amazing explanation !!!
@zxynj
@zxynj 3 жыл бұрын
This should be the first search result when people look up HMM.
@chia-chiyu7288
@chia-chiyu7288 4 жыл бұрын
Very helpful!! Thanks!
@ritvikmath
@ritvikmath 4 жыл бұрын
Glad it was helpful!
@shubhamjha5738
@shubhamjha5738 4 жыл бұрын
Nice one
@ritvikmath
@ritvikmath 4 жыл бұрын
Thanks 🔥
@ingoverhulst
@ingoverhulst 4 жыл бұрын
Great work! I really enjoy your content.
@0xlaptopsticker29
@0xlaptopsticker29 4 жыл бұрын
love this and the garch python video
@ritvikmath
@ritvikmath 4 жыл бұрын
thanks :)
@froh_do4431
@froh_do4431 3 жыл бұрын
What is the most common algorithm used, to maximize the probabilities? ...just to give a hint on this part of the whole model
@yvonneruijia
@yvonneruijia 3 жыл бұрын
Please share how to implement it in python or matlab! Truly appreciate it!!
@VIJAYALAKSHMIJ-h2b
@VIJAYALAKSHMIJ-h2b 11 ай бұрын
good explanation. But the last part of determining the moods is left out. How did you get s,s,h
SVM (The Math) : Data Science Concepts
10:19
ritvikmath
Рет қаралды 114 М.
Markov Chains : Data Science Basics
10:24
ritvikmath
Рет қаралды 69 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
The Viterbi Algorithm : Natural Language Processing
21:13
ritvikmath
Рет қаралды 116 М.
A friendly introduction to Bayes Theorem and Hidden Markov Models
32:46
Serrano.Academy
Рет қаралды 483 М.
Conditional Random Fields : Data Science Concepts
20:11
ritvikmath
Рет қаралды 38 М.
Markov Decision Processes - Computerphile
17:42
Computerphile
Рет қаралды 178 М.
Hidden Markov Model Clearly Explained! Part - 5
9:32
Normalized Nerd
Рет қаралды 518 М.
Markov Chains Clearly Explained! Part - 1
9:24
Normalized Nerd
Рет қаралды 1,3 МЛН
EM Algorithm : Data Science Concepts
24:08
ritvikmath
Рет қаралды 78 М.
Visualizing transformers and attention | Talk for TNG Big Tech Day '24
57:45
Bayesian Linear Regression : Data Science Concepts
16:28
ritvikmath
Рет қаралды 87 М.
In Statistics, Probability is not Likelihood.
5:01
StatQuest with Josh Starmer
Рет қаралды 1,3 МЛН