Viterbi Algorithm

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 53

  • @MrGreeneyes77
    @MrGreeneyes77 7 років тому +68

    I watched all the Viterbi videos on youtube and this was by FAR the best. This is ultimately an intuitive algorithm and describing using the language of math masks that. Thank you and please make more videos!

  • @brandoncazares8452
    @brandoncazares8452 Місяць тому

    This is a very clear, well-detailed and informative explanation. Thank you!

  • @Martin-qb2mw
    @Martin-qb2mw 2 роки тому +1

    Great video. I've spent half this day deriving all the equations, still having no idea what I'm actually doing. This is the sort of content that really complements the calculations.

  • @krutyanjayshinde7015
    @krutyanjayshinde7015 Рік тому

    Wow this kind of real world example makes it much easier to understand the underlying concept. Thanks a lot for making this a free video on UA-cam. 🙂

  • @anandsaha01
    @anandsaha01 7 років тому +20

    You should make more videos! This was an excellent explanation. Thanks.

  • @abhishek.rathore
    @abhishek.rathore 2 роки тому

    Best explanation of this algorithm I have seen so far.

  • @sugarpalmtreetranslator5244
    @sugarpalmtreetranslator5244 3 роки тому +1

    One picture is worth 1000 words. One well made video is worth 4 years of studying on a university.

  • @sz626
    @sz626 5 років тому +2

    Found the best explanation and the most intuitive illustration of Viterbi algorithm! Love it!

  • @avivabulow1836
    @avivabulow1836 7 років тому +13

    This was helpful. Thank you.

  • @pumpkinswang9758
    @pumpkinswang9758 6 років тому +1

    This is so well explained!! better than only given an equation, thanks a ton!

  • @cu7695
    @cu7695 5 років тому +45

    This looks like Djikstra's algorithm rather than Viterbi.

    • @papagatorackspanner
      @papagatorackspanner 4 роки тому +4

      Although Dijkstra's has only one starting point and one endpoint, not multiple on each side.
      Using some kind of Dijkstra-equivalent algorithm, the final hop from Pittsburg to MIT would never be calculated: the route via Tallahassee would be calculated first, since it's the shortest route at the penultimate iteration. Having calculated the total for USC to Daytona Beach, the final hop on the USC to MIT route (i.e. Pittsburg to MIT) would then not be calculated as the ENTIRE route USC-Daytona Beach is shorter than the total for USC-Pittsburg.
      This hints at a simple efficiency saving which could be used to speed-up the Viterbi Algorithm as described in the video. I'm sure there are way better ways of doing it though, I'm not a mathematician or computer scientist and the idea I could improve a 53 year-old algorithm having watched one video on it would be nuts.
      Still, this being an internet comment section, yor all loosers, what do we even pay for these a'hole's educayionun, I made it better in just two minutes.....TRUMP 2020!

    • @son0funiverse
      @son0funiverse 3 роки тому

      @Sanchit Singh LOL

  • @dariadanilenko1413
    @dariadanilenko1413 6 років тому +4

    This is so pretty and also perfect for visual learners, thank you!

  • @muhamadhamdy6576
    @muhamadhamdy6576 7 років тому +1

    Your example gave a very good perspective other than the ordinary one. Thanks a lot.

  • @darrensapalo
    @darrensapalo 6 років тому +2

    Great explanation, very clear and concise. Thanks Keith!

  • @jasonbourne8628
    @jasonbourne8628 2 роки тому

    Helpful and interesting. Moreover, attractive voice!

  • @akshayavvaru1974
    @akshayavvaru1974 4 роки тому

    Really useful and intuitive explanation. Thank you!

  • @AnubhavChhabra
    @AnubhavChhabra 3 роки тому

    Thanks for the beautiful explanation.

  • @sdsa007
    @sdsa007 3 роки тому

    Thanks! I *finally* have the intuition for Viterbi, phew! Great down-to-earth, enjoyable video! you're doing wonders for algo-tourism!

  • @dariolencina3709
    @dariolencina3709 10 місяців тому

    Best Viterbi video!!! super simple!!

  • @papagatorackspanner
    @papagatorackspanner 4 роки тому +1

    Great video, truly brilliant explanation pitched perfectly for an introduction.
    I'd really love it if you could go from this to a more complex example though, like decoding convolutional codes.

  • @叶岚-z6b
    @叶岚-z6b 2 роки тому

    looking for more videos❤

  • @rodent164
    @rodent164 4 роки тому

    I finally understand what the algorithm is about. Thank you

  • @amfalek
    @amfalek 7 років тому +2

    Perfect example. Thank you, you saved me a lot of time :D

  • @public1678
    @public1678 6 років тому +1

    Wow Viterbi explaining Viterbi! Impressive

  • @tshaylatte9502
    @tshaylatte9502 2 роки тому

    Thank you so much

  • @Fopenplop
    @Fopenplop 9 місяців тому

    Thanks Chugg

  • @felipecancinosaldana3508
    @felipecancinosaldana3508 6 років тому +1

    Excellent video!

  • @damiann4734
    @damiann4734 9 місяців тому

    This algorithm doesnt seem to be as efficient as Dijkstra's. Is this true? In practise, if you have a bunch of nodes, how would you find all the nodes on the west coast and all the nodes on the east coast programmatically? Is it manual selection and input it to the algorithm as a parameter? This is where I see this as more efficient than Dijkstra. Where you hsve a bunch of origins and destinations, and you just want any shortest paths from any of the origins to the destinations. Where dijkstra, you have to do a shortest path compute between all of the origins and destinations, and then get the shortest. In the above example it would be 16 searches, seatle to MIT, settle to Washington, settle to Wilmington, settle to Daytona, new Port to MIT and so on... is this correct?

  • @mojiheydari
    @mojiheydari 4 роки тому +1

    That Albuquerque just distracts me and reminds me breaking bad :)))))

  • @cantkeepitin
    @cantkeepitin 6 років тому

    Very nice video, I only wonder a bit of the Viterbi properties? Is it always guaranteed to work? Is it the best possible algorithm? What are the alternatives? Other applications, actually Wiki talks about Markov chains, which looks a bit disconnected to traveling.

    • @keithchugg5604
      @keithchugg5604  6 років тому

      The VA is the best detector (classifier) for the sequence of states in a discrete time Markov chain observed with independent additive noise. See my reply to nowhereman. It is optimal in that it minimizes the probability of selecting the wrong sequence. An alternative is to minimize the probability of state error (ie, choosing the wrong city on a given day). The forward-backward algorithm solves that problem and is analogous to running two Viterbi algorithms - one left to right and the other right to left. The key step for the VA to be optimal is that the cost is any path to the east of a city does not depend on what path you took to the city. When this does not hold, the VA can be viewed as a heuristic tree search algorithm. Search tree search algorithms for more alternatives in that case.

  • @lilacu
    @lilacu 7 років тому +1

    Thanks a lot!

  • @firstnamelastname4685
    @firstnamelastname4685 6 років тому

    It will be great if you mention the algorithm is running in topological order

  • @HansKrupakar
    @HansKrupakar Рік тому

    Can you suggest a book I can read for this? Thanks.

    • @keithchugg5604
      @keithchugg5604  Рік тому

      The paper by Forney in the video description is a good reference. Most textbooks on digital communications or coding will cover this and many follow Forney’s survey paper.

  • @nowhereman1813
    @nowhereman1813 6 років тому

    How this example maps formally to general formulas of the algorithm, what would be observations?

    • @keithchugg5604
      @keithchugg5604  6 років тому +1

      Usually, you have a set-up like:
      z[n] = y(n; s[n], a[n]) + w[n]
      where w[n] is an iid noise sequence and y[n] is the output of a finite state machine with state s[n] and input a[n] being an independent digital sequence. In the video example, s[n] can be any city for day n and a[n] is a digital variable that determines which edge you follow from the current city. The FSM means that given your state s[n] and the input a[n], you can determine the next state s[n+1] and the output y[n].
      With that, the "mileage between cities" is the state transition metrics which is
      M[s[n], a[n]] = - log( p(z[n] | y(n; s[n], a[n]) p(a[n]).
      This is abstracted out in the video to make the core part of the VA clear. If a[n] is binary and equally likely to be 0 or 1, and w[n] is Gaussian, then the transition metric can be simplified to the euclidean squared metric
      M[s[n], a[n]] = | z[n] - y(n; s[n], a[n]) |^2
      Label each edge in the trellis with this metric and you're ready to run the VA as in the video

    • @nowhereman1813
      @nowhereman1813 6 років тому

      @@keithchugg5604 Thank you.

  • @navidataee662
    @navidataee662 5 років тому

    Thank you, But what if I'm in Seattle and just want to go to Washington?

    • @keithchugg5604
      @keithchugg5604  5 років тому

      only start a path in Seattle and you will have several survivors when you reach the east coast. The one that ends in Washington is the shortest path from Seattle to Washington.

  • @Liberty4
    @Liberty4 3 місяці тому

    "irregardles?" 3:30-4:30?

  • @whynot-vq2ly
    @whynot-vq2ly 4 роки тому

    the explanation is cool but you need a map with the states names to understand better :].
    thanks alot for this short course
    ps I just noticed that the names are already there

  • @bennyz7667
    @bennyz7667 4 роки тому

    Vegas is a MUST so gotta start from San Fransisco or USC, lets say USC cuz its closer. Then Albuquerque, take pics of breaking bad sets, may be smoke a little. After that, its Amarillo, cuz frankly, who the hell wants to drive 700 miles just to see San Antonio. Then Kansas City(just to see mahomes), Nashville (for hot chicken and biscuits), and Roanoke(visti the greatest college in the world, VT!!). Then head over to Daytona beack and Partyyyy.

  • @Metalwrath2
    @Metalwrath2 6 років тому +1

    But what if I am in Newport?

    • @jigsawjay1209
      @jigsawjay1209 6 років тому +1

      UvuvwevwevweOnyetenyevweUgwemuhwemOssasVEVO do the same thing, but eliminate Seattle, San Fran, and USC. It's simply one step less to do than before

  • @keqiaoli4617
    @keqiaoli4617 4 роки тому

    Do you have code for the example?

    • @keithchugg5604
      @keithchugg5604  4 роки тому

      This is paper and pencil example! I am sure there are many implementations of teh VA on GitHub.

  • @pkgamma
    @pkgamma 4 роки тому

    Tiger on a car.

  • @aldenwilner3300
    @aldenwilner3300 2 роки тому

    It’s pronounced “Peer”. - former South Dakotan.

  • @tannermahofski4441
    @tannermahofski4441 3 роки тому

    you spelled Pittsburgh wrong

  • @silverfish76
    @silverfish76 2 роки тому

    you're better than professor Thad in Georgia Tech uni who taught me AI course! in MS in CS! tell me your bank account number...