480 likes | 699 Views
Decision Support Systems (DSS). F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch. HMM. فرایند مارکوف. اگر زمان به سه دوره گذشته، حال و آینده تقسیم گردد آینده یک فرایند بستگی به مسیری دارد که در گذشته طی کرده است، ندارد.
E N D
Decision Support Systems (DSS) F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch HMM
فرایند مارکوف • اگر زمان به سه دوره گذشته، حال و آینده تقسیم گردد • آینده یک فرایند بستگی به مسیری دارد که در گذشته طی کرده است، ندارد. • بلکه تنها به موقعیت آن در زمان کنونی وابسته است. • به عنوان مثال، قرایند پواسون یک فرایند مارکوف است. زیرا در آن تعداد پیشامدهایی که از یک لحظه معین به بعد اتفاق می افتند، مستقل از پیشامدهایی هستند که قبلا اتفاق افتاده اند • به عبارت ساده تر : اگر وضعیت فراینده در لحظات t1 t2 t3 …tn مشخص باشد، میتوان گفت که برای پیش بینی حرکت آینده این فرایند، تنها آخرین اطلاعات یعنی وضعیت tn کفایت میکند. HMM
فرایند مارکوف • خاصیت مارکوفی یک فرایند را میتوان بصورت زبان ریاضی نیز نشان داد. • مجموعه ای از متغیر های تصادفی را در نظر بگیرید {X(t),t>=0} • اگر X(t) طبق فرایند مارکوف عمل کند، به ازای تمام مقادیر x1 x2 x3 …xn رابطه زیر برقرار خواهد بود: HMM
فرایند مارکوف • فرایند های مارکوف را بطور کلی بر حسب دو عامل طبقه بندی میکنند: • پارامتر t، که میتواند گسسته یا پیوسته باشد. اگر گسسته باشدX(t) با مقادیر x1 x2 x3 …xnجایگزین میشود • مجموعه مقادیری که X(t) میتواند بگیرد که حالات سیستم هم نام دارد.. HMM
زنجیره مارکوف • زنجیره های مارکوف حالت خاصی از فرایند مارکوف هستند. که در آن هم پارامتر t و هم حالات سیستم فقط مقادیر گسسته را انتخاب میکنند. بر این اساس:: • یک رشته متغیر های تصادفی x1 x2 x3 …xnرا زنجیره مارکوف می نامند اگر به ازای تمام مقادیر n و تمام حالات i,j رابطه زیر برقرار باشد: HMM
مثال • نقطه خاصی را درنظر بگیرید که روی خط مستقیم حرکت میکند. در هر حرکت، این نقطه به احتمال p به جلو و به احتمال 1-p به عقب میرود. • اگر X(t) حالت سیستم(موقعیت نقطه روی خط) در نظر گرفته شود • آنگاه X(t) یک زنجیره مارکوف تشکیل میدهد چون موقعیت نقطه در مرحله بعد فقط به وضعیت فعلی بستگی دارد و مستقل از مسیری است که در گذشته رفته HMM
زنجیره مارکوف همگن • زنجیره های مارکوف همگن، حالت خاصی از زنجیره مارکوف است که در آن احتمال گذر سیستم از هر حالت به حالت دیگر مستقل از مرحله آن n باشد: • بر این اساس:: • که pij معرف احتمال تغییر حالت سیستم از i به j می باشد • درصورتی که احتمال حرکت در مثال قبل بستگی به تعداد حرکت نداشته باشد ( که ندارد) پس زنجیره مارکوف مثال قبل هم همگن بوده است. HMM
ماتریس گذار • ماتریس گذار ماتریسی است که عناصر تشکیل دهنده آن در سطر i و ستون j احتمال تغییر خالت سیستم از i به j است. • اگر فرض شود حالات سیستم M است، ماتریس گذار آن بصورت یک ماتریس M*M خواهد بود. • بدیهی است که تمام عناصر آن باید غیر منفی و مجموع عناصر هر سطر باید برابر یک باشد. HMM
ماتریس گذار و گذار m مرحله ای • با ماتریس گذار رابطه بین حالات سیستم در دو مرحله متوالی مشخص می شود. به عبارت دیگر با دانستن حالات هر مرحله، میتوان تابع توزیع حالات سیستم را در مرحله بعدی تعیین نمود • در این قسمت مشخص میگردد که چه رابطه ای بین حالات سیستم در یک مرحله و حالات آن در M مرحله بعد موجود است. • به عبارت دیگر :: اگر در مرحله ای حالت سیستم i باشد، احتمال اینکه پس از m مرحله، حالت سیستم به j برسد چقدر خواهد بود. • بدیهی است با داشتن ماتریس گذار میتوان تابع توزیع حالات و احتمال رخداد را محاسبه نمود. HMM
مثال • زنجیره مارکوفی را در نظر بگیرید که ماتریس گذار آن به شرح زیر باشد • احتمال اینکه سیستم از حالت یک شروع و پس از دو مرحله به 3 برسد را محاسبه کنید HMM
محاسبه احتمال حالات سیستم در چند مرحله مختلف • با دانستن حالت فعلی سیستم و ماتریس گذار متوان تابع توزیع حالت سیستم را در یک یا چند مرحله بعد به دست آوریم • مثلا: HMM
مثال HMM
مدل مارکوف • فرايند تصادفي فوق را مدل مارکوف قابل مشاهده مي گويند زيرا خروجي مدل مجموعه اي از حالات است که قرار گرفتن در آنها متناظر با يک مشاهده مي باشد. • ما مي توانيم دنباله مشاهدات مورد انتظار خود را توليد کنيم و احتمال وقوع آن در زنجيره مارکوف را محاسبه نماييم. • براي مثال با داشتن دنباله مشاهدات احتمال وقوع آن به صورت زير بيان مي شود. HMM
مدل مخفي مارکوف(HMM) • تا اينجا مدل مارکوف که بررسی شد، در آن هر حالت متناظر با يک رويداد قابل مشاهده بود • در اين بخش مشاهدات توابع، احتمالاتي از حالتها هستند. • در اين صورت مدل حاصل يک مدل تصادفي با يک فرآيند تصادفي زيرين است که مخفي است و تنها توسط مجموعه اي از فرآيند هاي تصادفي که دنباله مشاهدات را توليد مي کنند قابل مشاهده است. HMM
مدل مخفي مارکوف(HMM) • براي مثال فرض کنيد که شما در يک اتاق هستيد و در اتاق مجاور آن فرد ديگري سکه هايي را به هوا پرتاب مي کند و بدون اينکه به شما بگويد اين کار را چگونه انجام مي دهد و تنها نتايج را به اطلاع شما ميرساند. • در اين حالت شما با فرآيند مخفي انداختن سکه ها و با دنباله اي از مشاهدات شير يا خط مواجه هستيد. • مساله اي که اينجا مطرح مي شود چگونگي ساختن مدل مارکوف به منظور بيان اين فرآيند تصادفي است. HMM
HMM • براي مثال اگر تنها مشاهدات حاصل از انداختن يک سکه باشد، مي توان با يک مدل دو حالته مساله را بررسي نمود. • يک مدل مخفي مارکوف را مي توان با تعيين پارامترهاي زير ايجاد نمود: • تعداد حالات ممکن • تعداد مشاهدات در هر حالت: تعداد مشاهدات برابر است با تعداد خروجيهايي که سيستم مدل شده خواهد داشت. • تعداد حالتهاي مدل N • تعداد سمبلهاي مشاهده در الفبا، M. اگر مشاهدات گسسته باشند آنگاه M يک مقدار نا محدود خواهد داشت HMM
HMM • ماتريس انتقال حالت : يک مجموعه از احتمالات انتقال در بين حالتها HMM
HMM • توزيع احتمال مشاهدات: يک توزيع احتمال براي هر يک از حالتها • در آن بيانگر سمبل مشاهده شده در الفبا است و بيانگر بردار پارامترهاي ورودي فعلي مي باشد. • در مورد مقادير احتمال حالتها نيز شرايط موجود در نظريه احتمال بايد رعايت گردند. HMM
HMM • توزيع احتمال حالت آغازين ماتريس انتقال حالت به اين ترتيب ما مي توانيم يک مدل مخفي مارکوف با توزيع احتمال گسسته را با استفاده از سه گانه زير مشخص نماييم. توزيع احتمال مشاهدات HMM
a11=0.7 1 S0 S1 a12=0.3 a21=0.5 2 S2 a22=0.5 VMM (Visible Markov Model) HMM
Markov Models • Set of states: • Process moves from one state to another generating a sequence of states : • Markov chain property: probability of each subsequent state depends only on what was the previous state: • To define Markov model, the following probabilities have to be specified: transition probabilities and initial probabilities HMM
Example of Markov Model 0.3 0.7 Rain Dry 0.2 0.8 • Two states : ‘Rain’ and ‘Dry’. • Transition probabilities: P(‘Rain’|‘Rain’)=0.3 , P(‘Dry’|‘Rain’)=0.7 , P(‘Rain’|‘Dry’)=0.2, P(‘Dry’|‘Dry’)=0.8 • Initial probabilities: say P(‘Rain’)=0.4 , P(‘Dry’)=0.6 . HMM
Calculation of sequence probability • By Markov chain property, probability of state sequence can be found by the formula: • Suppose we want to calculate a probability of a sequence of states in our example, {‘Dry’,’Dry’,’Rain’,Rain’}. • P({‘Dry’,’Dry’,’Rain’,Rain’} ) = • P(‘Rain’|’Rain’) P(‘Rain’|’Dry’) P(‘Dry’|’Dry’) P(‘Dry’)= • = 0.3*0.2*0.8*0.6 HMM
Hidden Markov models. • Set of states: • Process moves from one state to another generating a sequence of states : • Markov chain property: probability of each subsequent state depends only on what was the previous state: • States are not visible, but each state randomly generates one of M observations (or visible states) • To define hidden Markov model, the following probabilities have to be specified: matrix of transition probabilities A=(aij), aij= P(sj| si) , matrix of observation probabilities B=(bi (vm)), bi(vm)= P(vm| si) and a vector of initial probabilities =(i), i= P(si) . Model is represented by M=(A, B, ). HMM
Example of Hidden Markov Model 0.3 0.7 Low High 0.2 0.8 Rain 0.6 0.6 0.4 0.4 Dry HMM
Example of Hidden Markov Model • Two states : ‘Low’ and ‘High’ atmospheric pressure. • Two observations : ‘Rain’ and ‘Dry’. • Transition probabilities: P(‘Low’|‘Low’)=0.3 , P(‘High’|‘Low’)=0.7 , P(‘Low’|‘High’)=0.2, P(‘High’|‘High’)=0.8 • Observation probabilities : P(‘Rain’|‘Low’)=0.6 , P(‘Dry’|‘Low’)=0.4 , P(‘Rain’|‘High’)=0.4 , P(‘Dry’|‘High’)=0.3 . • Initial probabilities: say P(‘Low’)=0.4 , P(‘High’)=0.6 . HMM
Calculation of observation sequence probability • Suppose we want to calculate a probability of a sequence of observations in our example, {‘Dry’,’Rain’}. • Consider all possible hidden state sequences: • P({‘Dry’,’Rain’} ) = P({‘Dry’,’Rain’} , {‘Low’,’Low’}) + P({‘Dry’,’Rain’} , {‘Low’,’High’}) + P({‘Dry’,’Rain’} , {‘High’,’Low’}) + P({‘Dry’,’Rain’} , {‘High’,’High’}) • where first term is : • P({‘Dry’,’Rain’} , {‘Low’,’Low’})= • P({‘Dry’,’Rain’} | {‘Low’,’Low’}) P({‘Low’,’Low’}) = • P(‘Dry’|’Low’)P(‘Rain’|’Low’) P(‘Low’|’Low)P(‘Low’) • = 0.4*0.6*0.4*0.3 HMM
مثال • فرض کنيد دوستی داريد که دور از شما زندگي مي کند و شما با او در مورد اينکه هر روز چه کاري انجام مي دهد از طريق تلفن صحبت مي کنيد. • دوست شما تنها به سه کار علاقه مند است: پياده روي در پارک، خريد و نظافت آپارتمان خود. • انتخاب او کاملا با وضعيت هوايي هر روز در ارتباط است. • شما هيچ اطلاعي از آب و هواي محلي که دوست شما در آن زندگي مي کند نداريد اما بر حسب آنچه که او هر روز از کارهاي خود تعريف مي کند شما سعي مي کنيد که آب و هواي محل زندگي دوستتان را حدس بزنيد. HMM
مثال • . دو وضعيت ممکن است وجود داشته باشد: هوا باراني(rainy) باشد و يا هوا آفتابي(sunny) باشد. اما شما نمي توانيد آنها را مستقيما مشاهده کنيد زيرا آنها از شما مخفي هستند. هر روز اين شانس وجود دارد که دوست شما يکي از عمليت “walk”، “shop” و يا “clean” را با توجه به وضعيت هوا انجام دهد. دوست شما در مورد فعاليتي که انجام مي دهد به شما توضيحاتي مي دهد که به آنها مشاهدات مي گوييم. اينگونه سيستمها را مدل مخفي مارکوف مي گويند. HMM
HMM • states = ('Rainy', 'Sunny') • observations = ('walk', 'shop‘,'clean') • start_probability = {'Rainy': 0.6, 'Sunny': 0.4} • 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}, } HMM
HMM HMM
Main issues using HMMs : • Evaluation problem. Given the HMM M=(A, B, ) and the observation sequence O=o1 o2 ... oK , calculate the probability that model M has generated sequence O . • Decoding problem. Given the HMM M=(A, B, ) and the observation sequence O=o1 o2 ... oK , calculate the most likely sequence of hidden states si that produced this observation sequence O. • Learning problem. Given some training observation sequences O=o1 o2 ... oK and general structure of HMM (numbers of hidden and visible states), determine HMM parameters M=(A, B, ) that best fit training data. • O=o1...oK denotes a sequence of observations ok{v1,…,vM}. HMM
انواع مدلهاي مخفي مارکوف و HMM پيوسته • همانطور که گفته شد نوع خاصي از HMM وجود دارد که در آن تمام حالات موجود با يکديگر متصل هستند. • ليکن مدل مخفي مارکوف از لحاظ ساختار و اصطلاحا توپولوژي انواع مختلف دارد • مدل چپ به راست : داراي اتصالات چپ به راست است و براي مدل کردن سيگنالهايي که خواص آنها با زمان تغيير مي کند مورد استفاده قرار ميگيرد.در مدل چپ به راست تنها يک حالت ورودي وجود دارد که همان حالت اول است و به اين ترتيب HMM
HMM HMM
فرضيات تئوري مدل مخفي مارکوف • فرض مارکوف • با داشتن يک مدل مخفي مارکوف، احتمال انتقال از حالت i به حالت j به صورت زير تعريف مي شود: • فرض ايستايي • در اينجا فرض مي شود که احتمال انتقال در بين حالات از زمان واقعي رخداد انتقال مستقل است. • فرض استقلال خروجي • خروجي (مشاهدات) فعلي به صورت آماري از خروجي قبلي مستقل است HMM
مساله ارزيابي و الگوريتم پيشرو • در اين حالت مساله اين است که با داشتن مدل و دنباله مشاهدات بايد مقدار را پيدا نماييم • متغير پيشرو به صورت يک احتمال از دنباله مشاهدات تعريف مي شود که در حالت i خاتمه مي يابد. به بيان رياضي: • مشاهده مي شود که رابطه بازگشتي زير برقرار است. HMM
HMM HMM
روشي مشابه روش فوق را مي توان با تعيين متغير پسرو، ، به عنوان احتمال جزئي دنباله مشاهدات در حالت iتعريف نمود. • متغير پيشرو را مي توان به شکل زير نمايش داد. HMM
مساله کد گشايي • در اين حالت مي خواهيم با داشتن دنباله مشاهدات و مدل دنباله حالات بهينه براي توليد را بدست آوريم. • يک راه حل اين است که محتمل ترين حالت در لحظه t را بدست آوريم و تمام حالات را به اين شکل براي دنباله ورودي بدست آوريم. اما برخي مواقع اين روش به ما يک دنباله معتبر و با معنا از حالات را نمي دهد به همين دليل بايد راهي پيدا نمود که يک چنين مشکلي نداشته باشد. • در يکي از اين روشها که با نام الگوريتم Viterbi شناخته مي شود، دنباله حالات کامل با بيشترين مقدار نسبت شباهت پيدا مي شود. HMM
مساله کد گشايي • که در شرايطي که حالت فعلي برابر با i باشد، بيشترين مقدار احتمال براي دنباله حالات و دنباله مشاهدات در زمان t را مي دهد. HMM
مساله کد گشايي • با شروع از حالت ، دنباله حالات به شکل بازگشت به عقب و با دنبال کردن اشاره گر به حالات قبلي بدست مي آيد HMM
معيار بيشترين شباهت(Maximum Likelihood (ML)) • در معيار ML ما سعي داريم که احتمال يک دنباله ورودي که به کلاس w تعلق دارد را با داشتن مدل HMM همان کلاس بدست آوريم. اين ميزان احتمال برابر با نسبت شباهت کلي دنباله مشاهدات است و به صورت زير محاسبه مي شود. HMM
کاربرد • بحث شناسايي اتوماتيک گفتار را مي توان از دو جنبه مورد بررسي قرار داد. • از جنبه توليد گفتار • از جنبه فهم و دريافت گفتار • مدل مخفي مارکوف (HMM) تلاشي است براي مدل سازي آماري دستگاه توليد گفتار و به همين دليل به اولين دسته از روشهاي شناسايي گفتار تعلق دارد. • در يک سيستم ASRautomatic speech recognitionمبتني بر HMM قبل از آموزش HMM يک مرحله استخراج ويژگيها انجام مي گردد. به اين ترتيب ورودي HMM يک دنباله گسسته از پارامترهاي برداري است. بردارهاي ويژگي مي تواند به يکي از دو طريق بردارهاي چندي سازي شده يا مقادير پيوسته به مدل HMM آموزش داده شوند. مي توان مدل HMM را به گونه اي طراحي نمود که هر يک از اين انواع وروديها را دريافت نمايد. مساله مهم اين است که مدل HMM چگونه با طبيعت تصادفي مقادير بردار ويژگي سازگاري پيدا خواهد کرد. HMM
كاربرد زنجيره ماركف در مدلسازي و ارزيابي قابليت اطمينان نرم افزار( MODEling and evaluation of software reliability with the emphasis on markov chains)
يك سيستم نرم افزاري با دو وضعيت در يك بازه زماني با لحاظ نمودن احتمال خطا در يك بازه زماني مشخص Tو با وجود خطاي سخت افزاري ، يك مدل 2 وضعيته از عملكرد و خطاي سيستم : ماتريس احتمالات و transition : HMM
تكنيك هاي تخمين قابليت اطمينان در واقع ماژول ها بايد در زمان T تست و نرخ شكست آنها اندازه گيري شود ولي به دو روش كلي زير به آن پرداخته مي شود : الف – estimation : با تكنيك هاي استنتاج آماري از طريق داده هاي شكست بدست آمده در طول تست سيستم يا عمل سيستم مانند مدل مخفی مارکوف ب – prediction : بر اساس داده هاي در دسترس اندازه گيري شده پ – simulation : مدل مخفی مارکوف و ابزارهاي شبيه ساز از قبيل CPN tools كه اين تكنينك ها در 2 دسته بندي كلي deterministic و probabilistic مي گنجند . HMM
مثالي ديگر از زنجيره ماركف هواي بندر انزلي را در دو حالت باراني و بدون باران در نظر مي گيريم. و حركت از يك حالت به حالت ديگر در روز بعد (دورة زماني) فرآيندي تصادفي بوده كه با احتمالات زير تعريف مي شود. ماتريس احتمال گذار : بدون باران باراني 0/10/9 باراني 0/50/5 بدون باراني اينجدول در حقيقت، يك ماتريس مربعي است كه بيانگر حركت به حالات ممكن و گذار است، براي مثال، احتمال گذار از هواي در حال باراني امروز به هواي بدون باران فردا 0.1 است. HMM