# How does the backward/forward algorithm work if there is no end?

I'm using Jason Eisner's spreadsheet to understand HMM more better. There's a box at the top that have a transition matrix. I see the Cold day and Hot day options, but don't understand why there's a stop option there(its 10% of occurring).

I think its needed for the backwards part of the algorithm, but I'm not sure what I can replace it with if there is no end. I want to feed data to train the model with no specific end date.

I am trying to train a model based on this question, and all options are equally likely at first, so I'm trying to take them and give them all the same percent chance.

Can anyone help me understand this?

-

Afaik you stop once your changes are smaller than some $\varepsilon$ assuming that this signifies convergence. – Raphael Nov 3 '11 at 22:03
I don't understand, I'm kind of learning as I go along.  Can you explain it in layman's terms? – Lostsoul Nov 4 '11 at 19:40
Forward-backward iteratively towards something like a maximum likelihood estimator (only a local maximum, though). If it converges, chances are you will keep getting infinitesimal small improvements not worth your computing time. Therefore, you stop computing when your probabilities have stabilised enough for your taste. – Raphael Nov 5 '11 at 13:29
Ahh I understand.  Can you post that as a answer so I can accept it. – Lostsoul Nov 5 '11 at 14:36

## 1 Answer

The Forward-backward algorithm is used to train HMM model probabilities from observations iteratively. It moves towards something like a maximum likelihood estimator (only a local maximum, though). If it converges, chances are you will keep getting infinitesimal small improvements not worth your computing time until changes fall below your floating point precision. Therefore, you stop computing when your probabilities have stabilised enough for your taste.

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": false}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9273986220359802, "perplexity_flag": "middle"}