مدل مارکوف پنهان
مدل پنهان مارکوف یک مدل مارکوف آماری است که در آن سیستم مدل شده به صورت یک فرایند مارکوف با حالت‌های مشاهده نشده (پنهان) فرض می‌شود. یک مدل پنهان مارکوف می‌تواند به عنوان ساده‌ترین شبکه بیزی پویا در نظر گرفته شود.
در مدل عادی مارکوف، حالت به‌طور مستقیم توسط ناظر قابل مشاهده است و بنابراین احتمال‌های انتقال بین حالت‌ها تنها پارامترهای موجود است. در یک مدل پنهان مارکوف، حالت به‌طور مستقیم قابل مشاهده نیست، اما خروجی، بسته به حالت، قابل مشاهده است. هر حالت یک توزیع احتمال روی سمبل‌های خروجی ممکن دارد؛ بنابراین دنبالهٔ سمبل‌های تولید شده توسط یک مدل پنهان مارکوف اطلاعاتی دربارهٔ دنبالهٔ حالت‌ها می‌دهد. توجه داشته باشید که صفت 'پنهان' به دنبالهٔ حالت‌هایی که مدل از آن‌ها عبور می‌کند اشاره دارد، نه به پارامترهای مدل؛ حتی اگر پارامترهای مدل به‌طور دقیق مشخص باشند، مدل همچنان 'پنهان' است.
مدل‌های پنهان مارکوف بیشتر به‌دلیل کاربردشان در بازشناخت الگو، مانند تشخیص صدا و دست‌خط، تشخیص اشاره و حرکت، برچسب‌گذاری اجزای سخن، بیوانفورماتیک و … شناخته‌شده هستند.
مدل پنهان مارکوف در حالت گسسته جز خانوادهٔ مسائل ظرف‌ها قرار می‌گیرد. به‌طور مثال از ربینر ۱۹۸۹: ظروف x1،x2،x3... و توپهای رنگی y1,y2,y3… را در نظر می‌گیریم، که نفر مقابل دنباله‌ای از توپ‌ها را مشاهده کرده ولی اطلاعی از دنبالهٔ ظرف‌هایی که توپ‌ها از آن‌ها انتخاب‌شده ندارد. ظرف n ام با احتمالی وابسته به ظرف n-1 ام انتخاب می‌شود و چون به انتخاب ظرف‌های خیلی قبل‌تر وابسته نیست یک فرایند مارکوف است.
شکل زیر معماری کلی یک نمونه HMM را نشان می‌دهد. هر شکل بیضی یک متغیر تصادفی است که می‌تواند هر عددی از مقادیر را انتخاب کند. متغیر تصادفی formula_1 یک حالت پنهان در زمان t و متغیر تصادفی formula_2 مشاهده در زمانformula_3 است. فلش‌ها به معنای وابستگی‌های شرطی می‌باشند. از شکل مشخص است که توزیع احتمال شرطی متغیر پنهان formula_1، در همهٔ زمان هایt مقداری را برایx ارائه می‌دهد که فقط به مقدار متغیر پنهان formula_5 وابسته است: مقادیر در زمان‌های t-2 و قبل‌تر از آن هیچ اثری ندارند. این مشخصهٔ مارکف نامیده می‌شود. به‌طور مشابه، مقدار متغیر مشاهده‌ایformula_2 تنها به مقدار متغیر پنهانformula_1 (هر دو در زمان خاص t) بستگی دارد. در حالت استاندارد مدل پنهان مارکوف که در اینجا در نظر گرفته شده‌است، فضای حالت متغیرهای پنهان گسسته است؛ درحالی‌که متغیرهای مشاهده‌ای می‌توانند گسسته یا پیوسته (از توزیع گوسین) باشند.
در مدل پنهان مارکوف دو نوع پارامتر وجود دارد:احتمال جابه‌جایی‌ها (بین حالات) و احتمال خروجی‌ها (یا مشاهدات). احتمال جابه‌جایی نحوهٔ انتقال از حالت t-1 به t را کنترل می‌کند.
فضای حالت پنهان شامل N مقدار ممکن برای حالات است. متغیر پنهان در زمان t می‌تواند هر یک از این مقادیر را اختیار کند. احتمال جابجایی احتمال این است که در زمان t در حالت k (یکی از حالات ممکن) و در زمان t+1 در حالت k1 باشیم. بنابرین در کل formula_8احتمال جابجایی وجود دارد. (مجموع احتمالات جابجایی از یک حالت به تمام حالتهای دیگر ۱ است)
احتمال خروجی، احتمال رخ دادن هر یک از اعضای مجموعهٔ مشاهده‌ای را برای هر حالت پنهان ممکنه مشخص می‌سازد که می‌تواند از یک توزیع احتمال پیروی کند. تعداد اعضای مجموعهٔ مشاهده‌ای بستگی به طبیعت متغیر مشاهده‌ای دارد.
اگر تعداد اعضای مجموعهٔ متغیرهای مشاهده‌ای برابر M باشد، بنابراین مجموع تعداد احتمالات خروجی NM می‌باشد/
با توجه به پارامترهای مدل پنهان مارکوف، می‌توانیم مسایلی به صورت زیر را حل کنیم.
وظیفه یادگیری در HMM، یافتن بهترین احتمالات جابجایی‌ها و خروجی‌ها بر اساس یک دنباله یا دنباله‌هایی از خروجی هاست. معمولاً این پارامترها به وسیله متد maximum likelihood بر اساس خروجی داده شده تخمین زده می‌شوند. هیچ الگوریتم قطعی برای حل این مسئله وجود ندارد ولی برای پیدا کردن maximum likelihood محلی می‌توان از الگوریتم‌های کارایی مانند Baum-welch algorithmو یا Baldi-chauvin algorithmاستفاده کرد. الگوریتم Baum-Welch نمونه‌ای از الگوریتم forward-backwardو به صورت خاص موردی از الگوریتم exception-maximization می‌باشد.
دو دوست به نام‌های آلیس و باب را در نظر بگیرید. آن‌ها دور از هم زندگی کرده و هر روز دربارهٔ کارهای روزمره‌شان با هم تلفنی صحبت می‌کنند. فعالیت‌های باب شامل "قدم زدن در پارک"،"خرید کردن" و "تمیز کردن آپارتمان" می‌شود. انتخاب اینکه هر روز کدام کار را انجام دهد منحصراً بستگی به هوای همان روز دارد. آلیس اطلاع دقیقی از هوای محل زندگی باب نداشته ولی از تمایلات کلی وی آگاه است (بنا به نوع هوا چه کاری را دوست دارد انجام دهد). بر اساس گفته‌های باب در پایان هر روز، آلیس سعی می‌کند هوای آن روز را حدس بزند. آلیس هوا را یک زنجیرهٔ گسستهٔ مارکوف می‌پندارد که دو حالت "بارانی" و "آفتابی" دارد. اما به‌طور مستقیم هوا را مشاهده نمی‌کند؛ بنابراین، حالات هوا بر او پنهان است. در هر روز احتمال اینکه باب به "قدم زدن"،"خرید کردن" و "تمیز کردن"بپردازد بستگی به هوا داشته و دارای یک احتمال مشخص است. مشاهدات مسئله شرح فعالیت‌هایی است که باب در انتهای هر روز به آلیس می‌گوید.
آلیس اطلاعات کلی دربارهٔ هوای محل زندگی باب و اینکه در هر نوع آب و هوا با چه احتمالی چه کار انجام می‌دهد را دارد. به عبارت دیگر پارامترهای مسئله HMM معلوم هستند که در کد زیر مشاهده می‌شوند: states = ('Rainy', 'Sunny')
observations = ('walk', 'shop', 'clean')
transition_probability = {
emission_probability = {
در این کد start_probability نمایانگر احتمال رخ دادن هر یک از حالات HMM (بارانی یا آفتابی) در روز اولی که باب با آلیس صحبت می‌کند می‌باشد.transition_probability نمایانگر تغییر هوا بر اساس قواعد زنجیرهٔ مارکو است. به‌طور مثال اگر امروز بارانی باشد به احتمال ۳۰٪فردا آفتابی است.emition_probability نمایانگر این است که باب علاقه دارد که در هر هوایی چه کار کند به‌طور مثال در هوای بارانی با احتمال ۵۰٪ آپارتمانش را تمیز کرده یا در هوای آفتابی با احتمال ۶۰٪در پارک قدم می‌زند.
مدل پنهان مارکوف برای اولین بار در مجموعه‌مقالات آماری leonard E.Baum و سایر نویسندگان در نیمه دوم دهه ۱۹۶۰ توضیح داده شد. یکی از اولین کاربردهای HMM تشخیص گفتار بوده که در اواسط دههٔ ۱۹۷۰ شروع شد. HMM در نیمهٔ دوم ۱۹۸۰ وارد حوزهٔ آنالیز دنباله‌های بیولوژیکی، به‌طور خاص DNA شد. از آن پس، کاربرد آن در بیوانفورماتیک گسترش یافت.
مدل پنهان مارکوف می‌تواند فرایندهای پیچیده مارکوف را که حالتها بر اساس توزیع احتمالی مشاهدات را نتیجه می‌دهند، مدل کند. به‌طور مثال اگر توزیع احتمال گوسین باشد در چنین مدل مارکوف پنهان خروجی حالتها نیز از توزیع گوسین تبعیت می‌کنند. علاوه بر این مدل پنهان مارکوف می‌تواند رفتارهای پیچیده‌تر را نیز مدل کند. جایی که خروجی حالت‌ها از ترکیب دو یا چند توزیع گوسین پیروی کند که در این حالت احتمال تولید یک مشاهده از حاصلضرب گوسین انتخاب شدهٔ اولی در احتمال تولید مشاهده از گوسین دیگر به دست می‌آید.
یک سیستم مانند شکل زیر را که در هر لحظه در یکی از حالت متمایز S1... ,SN است در نظر بگیرید. در زمان‌های گسسته و با فواصل منظم، حالت سیستم با توجه به مجموعه‌ای از احتمالات تغییر می‌کند. برای زمان‌های… ,t=۱٬۲ حالت در لحظه t را با qt نشان می‌دهیم. برای یک توصیف مناسب از سیستم فعلی نیاز به دانستن حالت فعلی در کنار تمام حالات قبلی می‌باشد. برای یک حالت خاص از زنجیره مارکوف مرتبه اول، توصیف احتمالاتی تنها با حالت فعلی و حالت قبلی مشخص می‌شود.
formula_9
formula_10
حال تنها فرایندهایی را در نظر می‌گیریم که در آن‌ها سمت راست رابطه فوق مستقل از زمان است و به همین دلیل ما مجموعه‌ای از احتمالات انتقال بین حالت‌ها را خواهیم داشت.
formula_11
که در آن احتمال انتقال بین حالات دارای خواص زیر است.
formula_12
formula_13
فرایند تصادفی فوق را مدل مارکوف قابل مشاهده می‌گویند زیرا خروجی مدل مجموعه‌ای از حالات است که قرار گرفتن در آن‌ها متناظر با یک مشاهده می‌باشد. ما می‌توانیم دنباله مشاهدات مورد انتظار خود را تولید کنیم و احتمال وقوع آن در زنجیره مارکوف را محاسبه نماییم. برای مثال با داشتن دنباله مشاهدات formula_14احتمال وقوع آن به صورت زیر بیان می‌شود.
formula_15
formula_16
یکی دیگر از مواردی که مطرح می‌شود این است که اگر سیستم در حالت formula_17 باشد با چه احتمالی به حالت formula_18 می‌رود و با چه احتمالی در همان حالت formula_17 باقی می‌ماند.
یک مدل مارکوف از مرتبه صفر هیچ حافظه‌ای ندارد و برای هر t و t' در دنباله سمبل‌ها، formula_20 خواهد بود. مدل مارکوف از مرتبه صفر مانند یک توزیع احتمال چند جمله‌ای می‌باشد.
یک مدل مارکوف مرتبه اول دارای حافظه‌ای با طول ۱ می‌باشد. توزیع احتمال در این مدل به صورت زیر مشخص می‌شود.
formula_21
تعریف فوق مانند این است که k مدل مارکوف در مرتبه صفر برای هر formula_22 داشته باشیم.
مرتبه یک مدل مارکوف برابر است با طول حافظه‌ای که مقادیر احتمال ممکن برای حالت بعدی به کمک آن محاسبه می‌شود. برای مثال، حالت بعدی در یک مدل مارکوف از درجه ۲ (مدل مارکوف مرتبه دوم) به دو حالت قبلی آن بستگی دارد.
مثال ۱: برای مثال اگر یک سکه معیوب A داشته باشیم که احتمالات شیر یا خط آمدن برای آن یکسان نباشد، می‌توان آن را با یک مدل مارکوف درجه صفر با استفاده از احتمالات (pr(H و (pr(H توصیف نمود.
مثال ۲: حال فرض کنید که سه سکه با شرایط فوق در اختیار داریم. سکه‌ها را با اسامی B, A و C نام‌گذاری می‌نماییم. آنگاه برای توصیف روال زیر به یک مدل مارکوف مرتبه اول نیاز داریم: a) سکه X را پرتاب می‌کنیم و نتیجه را می‌نویسیم.
b) سکه C را نیز پرتاب می‌کنیم.
c) اگر سکه C خط آمد، آنگاه سکه X را تغییر می‌دهیم (A را با B یا B را با A جایگزین می‌کنیم) و در غیر این صورت تغییری در سکه‌ها نمی‌دهیم.
انجام روال فوق مدل مارکوف مرتبه اول زیر را نتیجه خواهد داد.
یک پردازش مارکوفی مانند نمونه فوق در طول پیمایش احتمالات، یک خروجی نیز خواهد داشت. یک خروجی نمونه برای پردازش فوق می‌تواند به شکل HTHHTHHttthtttHHTHHHHtthtthttht باشد.
مدل مارکوف فوق را می‌توان به صورت نموداری از حالات و انتقال‌ها نیز نشان داد. کاملاً مشخص است که این‌گونه بازنمایی از مدل مارکوف مانند بازنمایی یک ماشین انتقال حالت محدود است که هر انتقال با یک احتمال همراه می‌باشد
تا اینجا ما مدل مارکوف، که در آن هر حالت متناظر با یک رویداد قابل مشاهده بود را معرفی نمودیم. در این بخش تعریف فوق را گسترش می‌دهیم، به این صورت که در آن، مشاهدات توابع احتمالاتی از حالتها هستند. در این صورت مدل حاصل یک مدل تصادفی با یک فرایند تصادفی زیرین است که پنهان است و تنها توسط مجموعه‌ای از فرایندهای تصادفی که دنباله مشاهدات را تولید می‌کنند قابل مشاهده است.
برای مثال فرض کنید که شما در یک اتاق هستید و در اتاق مجاور آن فرد دیگری سکه‌هایی را به هوا پرتاب می‌کند و بدون اینکه به شما بگوید این کار را چگونه انجام می‌دهد و تنها نتایج را به اطلاع شما می‌رساند. در این حالت شما با فرایند پنهان انداختن سکه‌ها و با دنباله‌ای از مشاهدات شیر یا خط مواجه هستید. مسئله‌ای که اینجا مطرح می‌شود چگونگی ساختن مدل مارکوف به منظور بیان این فرایند تصادفی است. برای مثال اگر تنها مشاهدات حاصل از انداختن یک سکه باشد، می‌توان با یک مدل دو حالته مسئله را بررسی نمود. یک مدل پنهان مارکوف را می‌توان با تعیین پارامترهای زیر ایجاد نمود:
تعداد حالات ممکن: تعداد حالتها در موفقیت مدل نقش به سزایی دارد و در یک مدل پنهان مارکوف هر حالت با یک رویداد متناظر است. برای اتصال حالتها روش‌های متفاوتی وجود دارد که در عمومی‌ترین شکل تمام حالتها به یکدیگر متصل می‌شوند و از یکدیگر قابل دسترسی می‌باشند. تعداد مشاهدات در هر حالت: تعداد مشاهدات برابر است با تعداد خروجیهایی که سیستم مدل شده خواهد داشت.
N تعداد حالتهای مدل M تعداد سمبلهای مشاهده در الفبا، اگر مشاهدات گسسته باشند آنگاه M یک مقدار نا محدود خواهد داشت.
formula_23
formula_24 ماتریس انتقال حالت:یک مجموعه از احتمالات در بین حالت‌ها
formula_25
که در آن formula_26بیانگر حالت فعلی می‌باشد. احتمالات انتقال باید محدودیتها طبیعی یک توزیع احتمال تصادفی را برآورده نمایند. این محدودیتها شامل موارد زیر می‌گردند
formula_27
formula_28
برای حالات مدل ارگودیک برای تمامi وjها مقدارformula_29 بزرگتر از صفر است و در موردی که اتصالی بین حالات وجود نداردformula_30 است.
توزیع احتمال مشاهدات: یک توزیع احتمال برای هر یک از حالتها
formula_31
formula_32
که در آن formula_33 بیانگرkامین سمبل مشاهده شده در الفبا است وformula_34 بیانگر بردار پارامترهای ورودی فعلی می‌باشد. در مورد مقادیر احتمال حالتها نیز شرایط موجود در نظریه احتمال باید رعایت گردند.
formula_35
formula_36
اگر مشاهدات به صورت پیوسته باشند، باید به جای احتمالهای گسسته از یک تابع چگالی احتمال پیوسته استفاده شود. معمولاً چگالی احتمال به کمک یک مجموع وزندار از M توزیع نرمال μ تخمین زده می‌شود.
formula_37
که در آن formula_38،>,formula_39,formula_40, به ترتیب ضریب بردار میانگین، ضریب وزندهی و ماتریس کواریانس می‌باشند. در رابطه فوق مقادیرformula_41 باید شرایط زیر را ارضا نماید:
formula_42
formula_43
توزیع احتمال حالت آغازین
formula_44 که در آن
formula_45
به این ترتیب ما می‌توانیم یک مدل پنهان مارکوف با توزیع احتمال گسسته را با استفاده از سه‌گانه زیر مشخص نماییم.
formula_46
همچنین یک مدل پنهان مارکوف با توزیع احتمال پیوسته به صورت زیر نشان داده می‌شود.
formula_47
همان‌طور که گفته شد نوع خاصی از HMM وجود دارد که در آن تمام حالات موجود با یکدیگر متصل هستند. لیکن مدل مخفی مارکوف از لحاظ ساختار و اصطلاحاً توپولوژی انواع مختلف دارد. همان‌طور که گفته شد برای مدل ارگودیک برای تمام i و jها formula_48 است و ساختار مدل مثل یک گفتار کامل است که راسها در آن دارای اتصالات بازگشتی نیز می‌باشند. لیکن برای کاربردهای متفاوت و با توجه به پیچیدگی فرایند نیاز به ساختار متفاوتی وجود دارد. از جمله این ساختارها که به شکل گسترده‌ای در کاربردهای شناسایی گفتار مبتنی بر واج و شناسایی گوینده مورد استفاده قرار می‌گیرد، مدل چپ به راست یا مدل بکیس است. این مدل که ساختار آن را در شکل ۲ نیز می‌بینید، دارای اتصالات چپ به راست است و برای مدل کردن سیگنالهایی که خواص آن‌ها با زمان تغییر می‌کند مورد استفاده قرار می‌گیرد. در مدل چپ به راست تنها یک حالت ورودی وجود دارد که همان حالت اول است و به این ترتیب:
formula_49 مدلهای ارگودیک و چپ به راست مدل‌های HMM پایه هستند و در پردازش گفتار نیز بیشترین کاربرد را دارا می‌باشند. هرچند می‌توان با اتصال چندین مدل یا تغییر در ساختار اتصالات آن مدلهایی با انعطاف‌پذیری بیشتری ایجاد نمود. شکل ۲-ج یک نمونه از مدل موازی چپ به راست، که شامل دو مدل چپ به راست است، را نشان می‌دهد. در قسمت‌های قبل مدل‌های HMM برای مجموعه مشاهدات گسسته را مورد بررسی قرار دادیم. اگر چه می‌توان با چندی‌سازی تمام فرایندهای پیوسته را به فرایندهای با دنباله مشاهدات گسسته تبدیل نمود، اما این کار ممکن است باعث افت مدل شود. در مدل HMM پیوسته احتمال قرار گرفتن مشاهدات در یک حالت را با توابع چگالی احتمال نشان می‌دهند. در این شرایط برای هر حالت i و ورودی O، احتمال مشاهده formula_50 به صورت یک توزیع شامل M مخلوط نشان داده می‌شود:
formula_51
formula_52
مدل مخلوط گوسی یکی از مهمترین روش‌های مدل کردن سیگنال است که در واقع شبیه یک HMM یک حالته است که تابع چگالی احتمال آن حالت دارای چندین مخلوط نرمال می‌باشد. احتمال تعلق بردار آزمایشیd به یک مدل مخلوط گاوسی دارای M مخلوط به شکل زیر بیان می‌شود:
formula_53
که در آن formula_54 وزن مخلوط formula_55 و formula_56به ترتیب بردار میانگین و ماتریس کوواریانس توزیع نرمال هستند. ماتریس کوواریانس مدل GMM معمولاً به صورت قطری در نظر گرفته می‌شود، گرچه امکان استفاده از ماتریس کامل نیز وجود دارد.
برای به‌دست آوردن پارامترهای مدل GMM، شامل وزن مخلوط‌های گاوسی و میانگین و کواریانس توزیع‌ها، از الگوریتم ماکزیمم نمودن امید ریاضی(EM)استفاده می‌شود. باید توجه داشت که تعداد مخلوطهای گاوسی با تعداد نمونه‌های موجود آموزشی رابطه مستقیم دارند و نمی‌توان با مجموعه داده‌ای ناچیز یک مدل GMM دارای تعداد بیش از حد از مخلوطها را آموزش داد. در تشکیل و آموزش مدل GMM مانند تمام روش‌های تشکیل مدل رعایت نسبت میزان پیچیدگی مدل و نمونه‌های آموزشی الزامی می‌باشد.
برای اینکه مدل پنهان مارکوف از لحاظ ریاضی و محاسباتی قابل بیان باشد فرضهای زیر در مورد آن در نظر گرفته می‌شود.
۱- فرض مارکوف
با داشتن یک مدل پنهان مارکوف، احتمال انتقال از حالت i به حالت j به صورت زیر تعریف می‌شود:
formula_57
به بیان دیگر فرض می‌شود که حالت بعدی تنها به حالت فعلی بستگی دارد. مدل حاصل از فرض مارکوف یک مدل HMM مرتبه صفر می‌باشد. در حالت کلی، حالت بعدی می‌تواند با k حالت قبلی وابسته باشد. این مدل که مدل HMM مرتبه k ام گفته می‌شود، با استفاده از احتمالات انتقال به صورت زیر تعریف می‌گردد.
formula_58
به نظر می‌رسد که یک مدل HMM از مرتبه بالاتر باعث افزایش پیچیدگی مدل می‌شود. علی‌رغم اینکه مدل HMM مرتبه اول متداول‌ترین مدل است، برخی تلاشها برای استفاده از مدل‌های دارای مرتبه بالاتر نیز در حال انجام می‌باشد.
۲- فرض ایستایی (stationarity)
در اینجا فرض می‌شود که احتمال انتقال در بین حالات از زمان واقعی رخداد انتقال مستقل است. در این صورت می‌توان برا ی هر formula_59 نوشت
formula_60
۳- فرض استقلال خروجی
در این حالت فرض می‌شود که خروجی (مشاهدات) فعلی به صورت آماری از خروجی قبلی مستقل است. می‌توان این فرض را با داشتن دنباله‌ای از خروجی‌ها مانند بیان نمود:
formula_61
آنگاه مطابق با این فرض برای مدل HMM با نامformula_62 خواهیم داشت:
formula_63
اگر چه بر خلاف دو فرض دیگر این فرض اعتبار کمتری دارد. در برخی حالات این فرضیه چندان معتبر نیست و موجب می‌شود که مدل HMM با ضعفهای عمده‌ای مواجه گردد.
در این حالت مسئله این است که با داشتن مدل formula_64 و دنباله مشاهدات formula_65 باید مقدار formula_66 را پیدا نماییم. می‌توانیم این مقدار را با روش‌های آماری مبتنی بر پارامترها محاسبه نماییم. البته این کار به محاسباتی با پیچیدگی formula_67 احتیاج دارد. این تعداد محاسبات حتی برای مقادیر متوسط t نیز بسیار بزرگ است. به همین دلیل لازم است که راه دیگری برای این محاسبات پیدا نماییم. خوشبختانه روشی ارائه شده‌است که پیچیدگی محاسباتی کمی دارد و از متغیر کمکی formula_68 با نام متغیر پیشرو استفاده می‌کند.>
متغیر پیشرو به صورت یک احتمال از دنباله مشاهدات formula_69 تعریف می‌شود که در حالت i خاتمه می‌یابد. به بیان ریاضی:
formula_70 آنگاه به سادگی مشاهده می‌شود که رابطه بازگشتی زیر برقرار است.
formula_71
که در آن
formula_72 با داشتن این رابطه بازگشتی می‌توانیم مقدار زیر را محاسبه نماییم.
formula_73
و آنگاه احتمال formula_66 به صورت زیر محاسبه خواهد شد:
formula_75
پیچیدگی محاسباتی روش فوق که به الگوریتم پیشرو معروف است برابر با formula_76 است، که در مقایسه با حالت محاسبه مستقیم که قبلاً گفته شد، و دارای پیچیدگی نمایی بود، بسیار سریعتر است.
روشی مشابه روش فوق را می‌توان با تعیین متغیر پسرو، formula_77، به عنوان احتمال جزئی دنباله مشاهدات formula_78 در حالت i تعریف نمود. متغیر پیشرو را می‌توان به شکل زیر نمایش داد.
formula_79
مانند روش پیشرو یک رابطه بازگشتی به شکل زیر برای محاسبه formula_77 وجود دارد.
formula_81
که در آن
formula_82
می‌توان ثابت کرد که
formula_83
آنگاه می‌توان با کمک هر دو روش پیشرو و پسرو مقدار احتمال formula_66 را محاسبه نمود.
formula_85 رابطه فوق بسیار مهم و مفید است و بخصوص برای استخراج روابط آموزش مبتنی بر گرادیان لازم می‌باشد.
در این حالت می‌خواهیم با داشتن دنباله مشاهدات formula_86 و مدل formula_87 دنباله حالات بهینه formula_88 برای تولید formula_86 را به‌دست آوریم.
یک راه حل این است که محتمل‌ترین حالت در لحظه t را به‌دست آوریم و تمام حالات را به این شکل برای دنبالهٔ ورودی به‌دست آوریم. اما برخی مواقع این روش به ما یک دنبالهٔ معتبر و بامعنا از حالات را نمی‌دهد. به همین دلیل، باید راهی پیدا کرد که یک چنین مشکلی نداشته باشد.
در یکی از این روش‌ها که با نام الگوریتم Viterbi شناخته می‌شود، دنباله حالات کامل با بیشترین مقدار نسبت شباهت پیدا می‌شود. در این روش برای ساده کردن محاسبات متغیر کمکی زیر را تعریف می‌نماییم.
formula_90
که در شرایطی که حالت فعلی برابر با i باشد، بیشترین مقدار احتمال برای دنباله حالات و دنباله مشاهدات در زمان t را می‌دهد. به همین ترتیب می‌توان روابط بازگشتی زیر را نیز به‌دست‌آورد.
formula_91
که در آن
formula_92
به همین دلیل روال پیدا کردن دنباله حالات با بیشترین احتمال از محاسبهٔ مقدار formula_93 و با کمک رابطهٔ فوق شروع می‌شود. در این روش در هر زمان یک اشاره گر به حالت برنده قبلی خواهیم داشت. در نهایت حالت formula_94 را با داشتن شرط زیر به‌دست می‌آوریم.
formula_95
و با شروع از حالت formula_94، دنباله حالات به شکل بازگشت به عقب و با دنبال کردن اشاره گر به حالات قبلی به‌دست می‌آید. با استفاده از این روش می‌توان مجموعه حالات مورد نظر را به‌دست‌آورد. این الگوریتم را می‌توان به صورت یک جستجو در گراف که نودهای آن برابر با حالتها مدل HMM در هر لحظه از زمان می‌باشند نیز تفسیر نمود
به‌طور کلی مسئله یادگیری به این موضوع می‌پردازد که چگونه می‌توان پارامترهای مدل HMM را تخمین زد تا مجموعه داده‌های آموزشی به بهترین نحو به کمک مدل HMM برای یک کاربرد مشخص بازنمایی شوند. به همین دلیل می‌توان نتیجه گرفت که میزان بهینه بودن مدل HMM برای کاربردهای مختلف، متفاوت است. به بیان دیگر می‌توان از چندین معیار بهینه‌سازی متفاوت استفاده نمود، که از این بین یکی برای کاربرد مورد نظر مناسب تر است. دو معیار بهینه‌سازی مختلف برای آموزش مدل HMM وجود دارد که شامل معیار بیشترین شباهت (ML) و معیار ماکزیمم اطلاعات متقابل (Maximum Mutual Information (MMI)) می‌باشند. آموزش به کمک هر یک از این معیارها در ادامه توضیح داده شده‌است.
در معیار ML ما سعی داریم که احتمال یک دنباله ورودی formula_97 که به کلاس w تعلق دارد را با داشتن مدل HMM همان کلاس به‌دست آوریم. این میزان احتمال برابر با نسبت شباهت کلی دنبالهٔ مشاهدات است و به صورت زیر محاسبه می‌شود.
formula_98
با توجه به رابطه فوق در حالت کلی معیار ML به صورت زیر تعریف می‌شود.
formula_99
اگر چه هیچ راه حل تحلیلی مناسبی برای مدل formula_100 وجود ندارد که مقدار formula_101 را ماکزیمم نماید، لیکن می‌توانیم با استفاده از یک روال بازگشتی پارامترهای مدل را به شکلی انتخاب کنیم که مقدار ماکزیمم به‌دست آید. روش Baum-Welch یا روش مبتنی بر گرادیان از جملهٔ این روش‌ها هستند.
این روش را می‌توان به سادگی و با محاسبه احتمال رخداد پارامترها یا با محاسبه حداکثر رابطه زیر بر روی formula_102 تعریف نمود.
formula_103
یکی از ویژگی‌های مخصوص این الگوریتم این است که همگرایی در آن تضمین شده‌است. برای توصیف این الگوریتم که به الگوریتم پیشرو- پسرو نیز معروف است، باید علاوه بر متغیرهای کمکی پیشرو و پسرو که قبلاً تعریف شده‌اند، متغیرهای کمکی بیشتری تعریف شود. البته می‌توان این متغیرها را در قالب متغیرهای پیشرو و پسرو نیز تعریف نمود.
اولین متغیر از این دست احتمال بودن در حالت i در زمان t و در حالت j در زمان t+1 است، که به صورت زیر تعریف می‌شود.
formula_104
می‌توان این متغیر را با استفاده از متغیرهای پیشرو و پسرو به صورت زیر تعریف نمود.
formula_105 متغیر دوم بیانگر احتمال پسین حالت i با داشتن دنباله مشاهدات و مدل پنهان مارکوف می‌باشد و به صورت زیر بیان می‌شود.
formula_106
این متغیر را نیز می‌توان در قالب متغیرهای پیشرو و پسرو تعریف نمود.
formula_107
رابطه بین دو متغیر فوق به صورت زیر بیان می‌شود.
formula_108
اکنون می‌توان الگوریتم آموزش بام – ولش را با ماکزیمم کردن مقدار به‌دست‌آورد. اگر مدل اولیهٔ ما باشد، می‌توانیم متغیرهای پسرو و پیشرو و متغیرهای formula_109 و formula_110 را تعریف نمود. مرحلهٔ بعدی این است که پارامترهای مدل را با توجه به روابط بازتخمین زیر به‌روزرسانی کنیم.
formula_111
formula_112
formula_113
فرمول‌های بازتخمین را می‌توان به‌راحتی به شکلی تغییر داد که با توابع چگالی پیوسته نیز قابل استفاده باشند.
الگوریتم حداکثرسازی امید ریاضی یا EM به عنوان یک نمونه از الگوریتم بام – ولش در آموزش مدل‌های HMM مورد استفاده قرار می‌گیرد. الگوریتم EM دارای دو فاز تحت عنوان Expectation و Maximization است. مراحل آموزش مدل در الگوریتم EM به صورت زیر است. روال فوق تا زمانی که میزان نسبت شباهت نسبت به مرحله قبل بهبود مناسبی داشته باشد ادامه می‌یابد.
در روش مبتنی بر گرادیان هر پارامترformula_121 از مدل formula_122با توجه به رابطه زیر تغییر داده می‌شود.
formula_123
که در آن مقدار J با ید مینیمم شود. در این حالت خواهیم داشت.
formula_124
از آنجا که مینیمم کردن J معادل است با مینیمم کردنformula_101نیاز است است تا معیار ML بهینه به‌دست آید. آنگاه مسئله، یافتن مقدار مشتقformula_126 برای تمام پارامترهایformula_121از مدل است. این کار را می‌توان به سادگی با استفاده از مقدارformula_101
formula_129
با مشتق گرفتن از رابطهٔ قبل به این نتیجه دست می‌یابیم:
formula_130
از آنجا که در رابطهٔ فوق مقدار formula_126 بر حسب formula_132 به‌دست می‌آید، می‌توان رابطه formula_126 به‌دست‌آورد.
در روش مبتنی بر گرادیان، مقدار formula_132 را باید برای پارامترهای formula_135 (احتمال انتقال) و formula_136 (احتمال مشاهدات) به‌دست‌آورد.
بحث شناسایی اتوماتیک گفتار را می‌توان از دو جنبه مورد بررسی قرار داد. مدل پنهان مارکوف (HMM) تلاشی است برای مدل‌سازی آماری دستگاه تولید گفتار و به همین دلیل به اولین دسته از روش‌های شناسایی گفتار تعلق دارد. در طول چندین سال گذشته این روش به عنوان موفقترین روش در شناسایی گفتار مورد استفاده قرار گرفته‌است. دلیل اصلی این مسئله این است که مدل HMM قادر است به شکل بسیار خوبی خصوصیات سیگنال گفتار را در یک قالب ریاضی قابل فهم تعریف نماید.
در یک سیستم ASR مبتنی بر HMM قبل از آموزش HMM یک مرحله استخراج ویژگی‌ها انجام می‌گردد. به این ترتیب ورودی HMM یک دنباله گسسته از پارامترهای برداری است. بردارهای ویژگی می‌تواند به یکی از دو طریق بردارهای چندی‌سازی شده یا مقادیر پیوسته به مدل HMM آموزش داده شوند. می‌توان مدل HMM را به گونه‌ای طراحی نمود که هر یک از این انواع ورودیها را دریافت نماید. مسئله مهم این است که مدل HMM چگونه با طبیعت تصادفی مقادیر بردار ویژگی سازگاری پیدا خواهد کرد.
در حالت کلی شناسایی واحدهای گفتاری جدا از هم به کاربردی اطلاق می‌شود که در آن یک کلمه، یک زیر کلمه یا دنباله‌ای از کلمات به صورت جداگانه و به تنهایی شناسایی شود. باید توجه داشت که این تعریف با مسئله شناسایی گفتار گسسته که در آن گفتار به صورت گسسته بیان می‌شود متفاوت است. در این بین شناسایی کلمات جداگانه کاربرد بیشتری به نسبت دو مورد دیگر دارد و دو مورد دیگر بیشتر در عرصه مطالعات تئوری مورد بررسی قرار می‌گیرند. برای این کاربرد راه حلهای مختلفی وجود دارد زیرا معیارهای بهینه‌سازی متفاوتی را برای این منظور معرفی شده‌است و الگوریتمهای پیاده‌سازی شده مختلفی نیز برای هر معیار موجود است. این مسئله را از دو جنبه آموزش و شناسایی مورد بررسی قرار می‌دهیم.
فرض می‌کنیم که فاز پیش پردازش سیستم دنباله مشاهدات زیر را تولید نماید:
formula_137
پارامترهای اولیه تمام مدل‌های HMM را با یک مجموعه از مقادیر مشخص مقدار دهی می‌نماییم.
formula_138
در آغاز این مسئله را برای حالت clamped در نظر بگیرید. از آنجایی که ما برای هر کلاس از واحدها یک HMM داریم، می‌توانیم مدلformula_139از کلاس l را که دنباله مشاهدات فعلی به آن مربوط می‌شود، را انتخاب نماییم.
formula_140
برای حالت free نیز به مانند حالت قبل می‌توان مقدار نسبت شباهت را به‌دست‌آورد. formula_141
که در آن formula_142بیانگر میزان شباهت دنبالهٔ مشاهدات فعلی به کلاس l در مدلformula_143 است.
در مقایسه با آموزش، روال شناسایی بسیار ساده‌تر است. الگوریتم دنبالهٔ مشاهدات موردنظر را دریافت می‌کند.
formula_144
formula_145
در این حالت نرخ شناسایی به صورت نسبت بین واحدهای شناسایی صحیح به کل واحدهای آموزشی حساب می‌شود.