مدل مارکوف پنهان کیست؟ توضیح بده.
مدل پنهان مارکوف یک مدل مارکوف آماری است که در آن سیستم مدل شده به صورت یک فرایند مارکوف با حالت‌های مشاهده نشده (پنهان) فرض می‌شود. یک مدل پنهان مارکوف می‌تواند به عنوان ساده‌ترین شبکه بیزی پویا در نظر گرفته شود.در مدل عادی مارکوف، حالت به‌طور مستقیم توسط ناظر قابل مشاهده است و بنابراین احتمال‌های انتقال بین حالت‌ها تنها پارامترهای موجود است. در یک مدل پنهان مارکوف، حالت به‌طور مستقیم قابل مشاهده نیست، اما خروجی، بسته به حالت، قابل مشاهده است. هر حالت یک توزیع احتمال روی سمبل‌های خروجی ممکن دارد؛ بنابراین دنبالهٔ سمبل‌های تولید شده توسط یک مدل پنهان مارکوف اطلاعاتی دربارهٔ دنبالهٔ حالت‌ها می‌دهد. توجه داشته باشید که صفت 'پنهان' به دنبالهٔ حالت‌هایی که مدل از آن‌ها عبور می‌کند اشاره دارد، نه به پارامترهای مدل؛ حتی اگر پارامترهای مدل به‌طور دقیق مشخص باشند، مدل همچنان 'پنهان' است.مدل‌های پنهان مارکوف بیشتر به‌دلیل کاربردشان در بازشناخت الگو، مانند تشخیص صدا و دست‌خط، تشخیص اشاره و حرکت، برچسب‌گذاری اجزای سخن، بیوانفورماتیک و … شناخته‌شده هستند.شرح از نظر مسائل ظرف‌ها.مدل پنهان مارکوف در حالت گسسته جز خانوادهٔ مسائل ظرف‌ها قرار می‌گیرد. به‌طور مثال از ربینر ۱۹۸۹: ظروف 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و به صورت خاص موردی از الگوریتم expectation-maximization می‌باشد.یک مثال ملموس.دو دوست به نام‌های آلیس و باب را در نظر بگیرید. آن‌ها دور از هم زندگی کرده و هر روز دربارهٔ کارهای روزمره‌شان با هم تلفنی صحبت می‌کنند. فعالیت‌های باب شامل "قدم زدن در پارک"،"خرید کردن" و "تمیز کردن آپارتمان" می‌شود. انتخاب اینکه هر روز کدام کار را انجام دهد منحصراً بستگی به هوای همان روز دارد. آلیس اطلاع دقیقی از هوای محل زندگی باب نداشته ولی از تمایلات کلی وی آگاه است (بنا به نوع هوا چه کاری را دوست دارد انجام دهد). بر اساس گفته‌های باب در پایان هر روز، آلیس سعی می‌کند هوای آن روز را حدس بزند. آلیس هوا را یک زنجیرهٔ گسستهٔ مارکوف می‌پندارد که دو حالت "بارانی" و "آفتابی" دارد. اما به‌طور مستقیم هوا را مشاهده نمی‌کند؛ بنابراین، حالات هوا بر او پنهان است. در هر روز احتمال اینکه باب به "قدم زدن"،"خرید کردن" و "تمیز کردن"بپردازد بستگی به هوا داشته و دارای یک احتمال مشخص است. مشاهدات مسئله شرح فعالیت‌هایی است که باب در انتهای هر روز به آلیس می‌گوید.آلیس اطلاعات کلی دربارهٔ هوای محل زندگی باب و اینکه در هر نوع آب و هوا با چه احتمالی چه کار انجام می‌دهد را دارد. به عبارت دیگر پارامترهای مسئله HMM معلوم هستند که در کد زیر مشاهده می‌شوند:states = ('Rainy', 'Sunny')observations = ('walk', 'shop', 'clean')transition_probability = { 'Rainy': {'Rainy': 0.7, 'Sunny': 0.3}, 'Sunny': {'Rainy': 0.4, 'Sunny': 0.6},emission_probability = { 'Rainy': {'walk': 0.1, 'shop': 0.4, 'clean': 0.5}, 'Sunny': {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},در این کد start_probability نمایانگر احتمال رخ دادن هر یک از حالات HMM (بارانی یا آفتابی) در روز اولی که باب با آلیس صحبت می‌کند می‌باشد.transition_probability نمایانگر تغییر هوا بر اساس قواعد زنجیرهٔ مارکو است. به‌طور مثال اگر امروز بارانی باشد به احتمال ۳۰٪فردا آفتابی است.emition_probability نمایانگر این است که باب علاقه دارد که در هر هوایی چه کار کند به‌طور مثال در هوای بارانی با احتمال ۵۰٪ آپارتمانش را تمیز کرده یا در هوای آفتابی با احتمال ۶۰٪در پارک قدم می‌زند.تاریخچه.مدل پنهان مارکوف برای اولین بار در مجموعه‌مقالات آماری leonard E.Baum و سایر نویسندگان در نیمه دوم دهه ۱۹۶۰ توضیح داده شد. یکی از اولین کاربردهای HMM تشخیص گفتار بوده که در اواسط دههٔ ۱۹۷۰ شروع شد. HMM در نیمهٔ دوم ۱۹۸۰ وارد حوزهٔ آنالیز دنباله‌های بیولوژیکی، به‌طور خاص DNA شد. از آن پس، کاربرد آن در بیوانفورماتیک گسترش یافت.انواع مدل پنهان مارکوف.مدل پنهان مارکوف می‌تواند فرایندهای پیچیده مارکوف را که حالتها بر اساس توزیع احتمالی مشاهدات را نتیجه می‌دهند، مدل کند. به‌طور مثال اگر توزیع احتمال گوسین باشد در چنین مدل مارکوف پنهان خروجی حالتها نیز از توزیع گوسین تبعیت می‌کنند.علاوه بر این مدل پنهان مارکوف می‌تواند رفتارهای پیچیده‌تر را نیز مدل کند. جایی که خروجی حالت‌ها از ترکیب دو یا چند توزیع گوسین پیروی کند که در این حالت احتمال تولید یک مشاهده از حاصلضرب گوسین انتخاب شدهٔ اولی در احتمال تولید مشاهده از گوسین دیگر به دست می‌آید.فرایند مارکوف گسسته.یک سیستم مانند شکل زیر را که در هر لحظه در یکی از حالت متمایز S1... ,SN است در نظر بگیرید. در زمان‌های گسسته و با فواصل منظم، حالت سیستم با توجه به مجموعه‌ای از احتمالات تغییر می‌کند. برای زمان‌های… ,t=۱٬۲ حالت در لحظه t را با qt نشان می‌دهیم. برای یک توصیف مناسب از سیستم فعلی نیاز به دانستن حالت فعلی در کنار تمام حالات قبلی می‌باشد. برای یک حالت خاص از زنجیره مارکوف مرتبه اول، توصیف احتمالاتی تنها با حالت فعلی و حالت قبلی مشخص می‌شود.formula_9formula_10حال تنها فرایندهایی را در نظر می‌گیریم که در آن‌ها سمت راست رابطه فوق مستقل از زمان است و به همین دلیل ما مجموعه‌ای از احتمالات انتقال بین حالت‌ها را خواهیم داشت.formula_11که در آن احتمال انتقال بین حالات دارای خواص زیر است.formula_12formula_13فرایند تصادفی فوق را مدل مارکوف قابل مشاهده می‌گویند زیرا خروجی مدل مجموعه‌ای از حالات است که قرار گرفتن در آن‌ها متناظر با یک مشاهده می‌باشد. ما می‌توانیم دنباله مشاهدات مورد انتظار خود را تولید کنیم و احتمال وقوع آن در زنجیره مارکوف را محاسبه نماییم. برای مثال با داشتن دنباله مشاهدات formula_14احتمال وقوع آن به صورت زیر بیان می‌شود.formula_15formula_16یکی دیگر از مواردی که مطرح می‌شود این است که اگر سیستم در حالت formula_17 باشد با چه احتمالی به حالت formula_18 می‌رود و با چه احتمالی در همان حالت formula_17 باقی می‌ماند.مرتبه مدل مارکوف.۱- مدل مارکوف مرتبه صفر.یک مدل مارکوف از مرتبه صفر هیچ حافظه‌ای ندارد و برای هر t و t' در دنباله سمبل‌ها، formula_20 خواهد بود. مدل مارکوف از مرتبه صفر مانند یک توزیع احتمال چند جمله‌ای می‌باشد.۲- مدل مارکوف مرتبه اول.یک مدل مارکوف مرتبه اول دارای حافظه‌ای با طول ۱ می‌باشد. توزیع احتمال در این مدل به صورت زیر مشخص می‌شود.formula_21تعریف فوق مانند این است که k مدل مارکوف در مرتبه صفر برای هر formula_22 داشته باشیم.۳- مدل مارکوف مرتبه m ام.مرتبه یک مدل مارکوف برابر است با طول حافظه‌ای که مقادیر احتمال ممکن برای حالت بعدی به کمک آن محاسبه می‌شود. برای مثال، حالت بعدی در یک مدل مارکوف از درجه ۲ (مدل مارکوف مرتبه دوم) به دو حالت قبلی آن بستگی دارد.مثال ۱: برای مثال اگر یک سکه معیوب A داشته باشیم که احتمالات شیر یا خط آمدن برای آن یکسان نباشد، می‌توان آن را با یک مدل مارکوف درجه صفر با استفاده از احتمالات (pr(H و (pr(H توصیف نمود. pr(H)=0.6, pr(T)=۰٫۴مثال ۲: حال فرض کنید که سه سکه با شرایط فوق در اختیار داریم. سکه‌ها را با اسامی B, A و C نام‌گذاری می‌نماییم. آنگاه برای توصیف روال زیر به یک مدل مارکوف مرتبه اول نیاز داریم:a) سکه X را پرتاب می‌کنیم و نتیجه را می‌نویسیم.b) سکه C را نیز پرتاب می‌کنیم.c) اگر سکه C خط آمد، آنگاه سکه X را تغییر می‌دهیم (A را با B یا B را با A جایگزین می‌کنیم) و در غیر این صورت تغییری در سکه‌ها نمی‌دهیم.انجام روال فوق مدل مارکوف مرتبه اول زیر را نتیجه خواهد داد. یک پردازش مارکوفی مانند نمونه فوق در طول پیمایش احتمالات، یک خروجی نیز خواهد داشت. یک خروجی نمونه برای پردازش فوق می‌تواند به شکل HTHHTHHttthtttHHTHHHHtthtthttht باشد.مدل مارکوف فوق را می‌توان به صورت نموداری از حالات و انتقال‌ها نیز نشان داد. کاملاً مشخص است که این‌گونه بازنمایی از مدل مارکوف مانند بازنمایی یک ماشین انتقال حالت محدود است که هر انتقال با یک احتمال همراه می‌باشدمدل پنهان مارکوف (HMM).تا اینجا ما مدل مارکوف، که در آن هر حالت متناظر با یک رویداد قابل مشاهده بود را معرفی نمودیم. در این بخش تعریف فوق را گسترش می‌دهیم، به این صورت که در آن، مشاهدات توابع احتمالاتی از حالتها هستند. در این صورت مدل حاصل یک مدل تصادفی با یک فرایند تصادفی زیرین است که پنهان است و تنها توسط مجموعه‌ای از فرایندهای تصادفی که دنباله مشاهدات را تولید می‌کنند قابل مشاهده است.برای مثال فرض کنید که شما در یک اتاق هستید و در اتاق مجاور آن فرد دیگری سکه‌هایی را به هوا پرتاب می‌کند و بدون اینکه به شما بگوید این کار را چگونه انجام می‌دهد و تنها نتایج را به اطلاع شما می‌رساند. در این حالت شما با فرایند پنهان انداختن سکه‌ها و با دنباله‌ای از مشاهدات شیر یا خط مواجه هستید. مسئله‌ای که اینجا مطرح می‌شود چگونگی ساختن مدل مارکوف به منظور بیان این فرایند تصادفی است. برای مثال اگر تنها مشاهدات حاصل از انداختن یک سکه باشد، می‌توان با یک مدل دو حالته مسئله را بررسی نمود. یک مدل پنهان مارکوف را می‌توان با تعیین پارامترهای زیر ایجاد نمود:تعداد حالات ممکن: تعداد حالتها در موفقیت مدل نقش به سزایی دارد و در یک مدل پنهان مارکوف هر حالت با یک رویداد متناظر است. برای اتصال حالتها روش‌های متفاوتی وجود دارد که در عمومی‌ترین شکل تمام حالتها به یکدیگر متصل می‌شوند و از یکدیگر قابل دسترسی می‌باشند.تعداد مشاهدات در هر حالت: تعداد مشاهدات برابر است با تعداد خروجیهایی که سیستم مدل شده خواهد داشت.N تعداد حالتهای مدلM تعداد سمبلهای مشاهده در الفبا، اگر مشاهدات گسسته باشند آنگاه M یک مقدار نا محدود خواهد داشت.formula_23formula_24 ماتریس انتقال حالت:یک مجموعه از احتمالات در بین حالت‌هاformula_25که در آن formula_26بیانگر حالت فعلی می‌باشد. احتمالات انتقال باید محدودیتها طبیعی یک توزیع احتمال تصادفی را برآورده نمایند. این محدودیتها شامل موارد زیر می‌گردندformula_27formula_28برای حالات مدل ارگودیک برای تمامi وjها مقدارformula_29 بزرگتر از صفر است و در موردی که اتصالی بین حالات وجود نداردformula_30 است.توزیع احتمال مشاهدات: یک توزیع احتمال برای هر یک از حالتهاformula_31formula_32که در آن formula_33 بیانگرkامین سمبل مشاهده شده در الفبا است وformula_34 بیانگر بردار پارامترهای ورودی فعلی می‌باشد. در مورد مقادیر احتمال حالتها نیز شرایط موجود در نظریه احتمال باید رعایت گردند.formula_35formula_36اگر مشاهدات به صورت پیوسته باشند، باید به جای احتمالهای گسسته از یک تابع چگالی احتمال پیوسته استفاده شود. معمولاً چگالی احتمال به کمک یک مجموع وزندار از M توزیع نرمال μ تخمین زده می‌شود.formula_37که در آن formula_38،&gt;,formula_39,formula_40,به ترتیب ضریب بردار میانگین، ضریب وزندهی و ماتریس کواریانس می‌باشند. در رابطه فوق مقادیرformula_41 باید شرایط زیر را ارضا نماید:formula_42formula_43توزیع احتمال حالت آغازینformula_44 که در آنformula_45به این ترتیب ما می‌توانیم یک مدل پنهان مارکوف با توزیع احتمال گسسته را با استفاده از سه‌گانه زیر مشخص نماییم.formula_46همچنین یک مدل پنهان مارکوف با توزیع احتمال پیوسته به صورت زیر نشان داده می‌شود.formula_47انواع مدل‌های پنهان مارکوف و HMM پیوسته.همان‌طور که گفته شد نوع خاصی از HMM وجود دارد که در آن تمام حالات موجود با یکدیگر متصل هستند. لیکن مدل مخفی مارکوف از لحاظ ساختار و اصطلاحاً توپولوژی انواع مختلف دارد. همان‌طور که گفته شد برای مدل ارگودیک برای تمام i و jها formula_48 است و ساختار مدل مثل یک گفتار کامل است که راسها در آن دارای اتصالات بازگشتی نیز می‌باشند. لیکن برای کاربردهای متفاوت و با توجه به پیچیدگی فرایند نیاز به ساختار متفاوتی وجود دارد. از جمله این ساختارها که به شکل گسترده‌ای در کاربردهای شناسایی گفتار مبتنی بر واج و شناسایی گوینده مورد استفاده قرار می‌گیرد، مدل چپ به راست یا مدل بکیس است. این مدل که ساختار آن را در شکل ۲ نیز می‌بینید، دارای اتصالات چپ به راست است و برای مدل کردن سیگنالهایی که خواص آن‌ها با زمان تغییر می‌کند مورد استفاده قرار می‌گیرد. در مدل چپ به راست تنها یک حالت ورودی وجود دارد که همان حالت اول است و به این ترتیب:formula_49مدلهای ارگودیک و چپ به راست مدل‌های HMM پایه هستند و در پردازش گفتار نیز بیشترین کاربرد را دارا می‌باشند. هرچند می‌توان با اتصال چندین مدل یا تغییر در ساختار اتصالات آن مدلهایی با انعطاف‌پذیری بیشتری ایجاد نمود. شکل ۲-ج یک نمونه از مدل موازی چپ به راست، که شامل دو مدل چپ به راست است، را نشان می‌دهد.در قسمت‌های قبل مدل‌های HMM برای مجموعه مشاهدات گسسته را مورد بررسی قرار دادیم. اگر چه می‌توان با چندی‌سازی تمام فرایندهای پیوسته را به فرایندهای با دنباله مشاهدات گسسته تبدیل نمود، اما این کار ممکن است باعث افت مدل شود. در مدل HMM پیوسته احتمال قرار گرفتن مشاهدات در یک حالت را با توابع چگالی احتمال نشان می‌دهند. در این شرایط برای هر حالت i و ورودی O، احتمال مشاهده formula_50 به صورت یک توزیع شامل M مخلوط نشان داده می‌شود:formula_51formula_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 با ضعفهای عمده‌ای مواجه گردد.مسئله ارزیابی و الگوریتم پیشرو (forward).در این حالت مسئله این است که با داشتن مدل formula_64 و دنباله مشاهدات formula_65 باید مقدار formula_66 را پیدا نماییم. می‌توانیم این مقدار را با روش‌های آماری مبتنی بر پارامترها محاسبه نماییم. البته این کار به محاسباتی با پیچیدگی formula_67 احتیاج دارد. این تعداد محاسبات حتی برای مقادیر متوسط t نیز بسیار بزرگ است. به همین دلیل لازم است که راه دیگری برای این محاسبات پیدا نماییم. خوشبختانه روشی ارائه شده‌است که پیچیدگی محاسباتی کمی دارد و از متغیر کمکی formula_68 با نام متغیر پیشرو استفاده می‌کند.&gt;متغیر پیشرو به صورت یک احتمال از دنباله مشاهدات 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رابطه فوق بسیار مهم و مفید است و بخصوص برای استخراج روابط آموزش مبتنی بر گرادیان لازم می‌باشد.مسئله کد گشایی و الگوریتم ویتربی (Viterbi Algorithm).در این حالت می‌خواهیم با داشتن دنباله مشاهدات 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)) می‌باشند. آموزش به کمک هر یک از این معیارها در ادامه توضیح داده شده‌است.معیار بیشترین شباهت((Maximum Likelihood (ML).در معیار 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_111formula_112formula_113فرمول‌های بازتخمین را می‌توان به‌راحتی به شکلی تغییر داد که با توابع چگالی پیوسته نیز قابل استفاده باشند.الگوریتم حداکثرسازی امید ریاضی (Expectation Maximization).الگوریتم حداکثرسازی امید ریاضی یا EM به عنوان یک نمونه از الگوریتم بام – ولش در آموزش مدل‌های HMM مورد استفاده قرار می‌گیرد. الگوریتم EM دارای دو فاز تحت عنوان Expectation و Maximization است. مراحل آموزش مدل در الگوریتم EM به صورت زیر است.روال فوق تا زمانی که میزان نسبت شباهت نسبت به مرحله قبل بهبود مناسبی داشته باشد ادامه می‌یابد.روش مبتنی بر گرادیان.در روش مبتنی بر گرادیان هر پارامترformula_121 از مدل formula_122با توجه به رابطه زیر تغییر داده می‌شود.formula_123که در آن مقدار J با ید مینیمم شود. در این حالت خواهیم داشت.formula_124از آنجا که مینیمم کردن J معادل است با مینیمم کردنformula_101نیاز است است تا معیار ML بهینه به‌دست آید. آنگاه مسئله، یافتن مقدار مشتقformula_126 برای تمام پارامترهایformula_121از مدل است. این کار را می‌توان به سادگی با استفاده از مقدارformula_101formula_129با مشتق گرفتن از رابطهٔ قبل به این نتیجه دست می‌یابیم:formula_130از آنجا که در رابطهٔ فوق مقدار formula_126بر حسب formula_132 به‌دست می‌آید،می‌توان رابطه formula_126 به‌دست‌آورد.در روش مبتنی بر گرادیان، مقدار formula_132 را باید برای پارامترهای formula_135 (احتمال انتقال) و formula_136 (احتمال مشاهدات) به‌دست‌آورد.استفاده از مدل HMM در شناسایی گفتار.بحث شناسایی اتوماتیک گفتار را می‌توان از دو جنبه مورد بررسی قرار داد.مدل پنهان مارکوف (HMM) تلاشی است برای مدل‌سازی آماری دستگاه تولید گفتار و به همین دلیل به اولین دسته از روش‌های شناسایی گفتار تعلق دارد. در طول چندین سال گذشته این روش به عنوان موفقترین روش در شناسایی گفتار مورد استفاده قرار گرفته‌است. دلیل اصلی این مسئله این است که مدل HMM قادر است به شکل بسیار خوبی خصوصیات سیگنال گفتار را در یک قالب ریاضی قابل فهم تعریف نماید.در یک سیستم ASR مبتنی بر HMM قبل از آموزش 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_144formula_145در این حالت نرخ شناسایی به صورت نسبت بین واحدهای شناسایی صحیح به کل واحدهای آموزشی حساب می‌شود.