611 likes | 1.04k Views
Computer Modeling And Simulation. F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch. Introduction to Computer Modeling And Simulation. مدلسازی. تبدیل مسائل در دنیای واقعی به یک ساختار نمونه مناسب.
E N D
Computer Modeling And Simulation F.Ramezani Department of Computer Engineering Islamic Azad University SARI Branch Introduction toComputer Modeling AndSimulation
مدلسازی • تبدیل مسائل در دنیای واقعی به یک ساختار نمونه مناسب. • مدل کمک میکند برای دیدن تغییرات یک عمل در دنیای واقعی و همچنین مشاهده چگونگی تاثیر عوامل مختلف بر روی مسئله. • هر گونه رویکرد در تصمیم گیری نیاز به داشتن اطلاعات کامل از واقعیت مربوط به آن عمل می باشد و نه در جزئیات عمل که تنها مبهم یا گمراه کننده باشد. مدلسازی چنین اطلاعاتی را میتواند به سیستم بدهد Modeling
مقدمه ای بر زنجیره های مارکوف • بسیاری از سیستم هایی که با آنها مواجه هستیم معمولا مبتنی بر سیستم های هستند که دارای حافظه نمی باشند • برای مدلسازی این سیستم ها از مفهوم فرایند های مارکوف و زنجیره های مارکوف استفاده میشود • در صورتی که بتوان زنجیره مارکوف سیستم را یافت، میتوان از زنجیره مارکوف استفاده کرد در نتیجه مدلسازی سیستم بسیار آسان تر خواهد شد. Modeling
فرایند مارکوف • اگر زمان به سه دوره گذشته، حال و آینده تقسیم گردد • آینده یک فرایند بستگی به مسیری دارد که در گذشته طی کرده است، ندارد. • بلکه تنها به موقعیت آن در زمان کنونی وابسته است. • به عنوان مثال، قرایند پواسون یک فرایند مارکوف است. زیرا در آن تعداد پیشامدهایی که از یک لحظه معین به بعد اتفاق می افتند، مستقل از پیشامدهایی هستند که قبلا اتفاق افتاده اند • به عبارت ساده تر : اگر وضعیت فراینده در لحظات t1 t2 t3 …tn مشخص باشد، میتوان گفت که برای پیش بینی حرکت آینده این فرایند، تنها آخرین اطلاعات یعنی وضعیت tn کفایت میکند. Modeling
فرایند مارکوف • خاصیت مارکوفی یک فرایند را میتوان بصورت زبان ریاضی نیز نشان داد. • مجموعه ای از متغیر های تصادفی را در نظر بگیرید {X(t),t>=0} • اگر X(t) طبق فرایند مارکوف عمل کند، به ازای تمام مقادیر x1 x2 x3 …xn رابطه زیر برقرار خواهد بود: Modeling
فرایند مارکوف • فرایند های مارکوف را بطور کلی بر حسب دو عامل طبقه بندی میکنند: • پارامتر t، که میتواند گسسته یا پیوسته باشد. اگر گسسته باشدX(t) با مقادیر x1 x2 x3 …xnجایگزین میشود • مجموعه مقادیری که X(t) میتواند بگیرد که حالات سیستم هم نام دارد.. Modeling
زنجیره مارکوف • زنجیره های مارکوف حالت خاصی از فرایند مارکوف هستند. که در آن هم پارامتر t و هم حالات سیستم فقط مقادیر گسسته را انتخاب میکنند. بر این اساس:: • یک رشته متغیر های تصادفی x1 x2 x3 …xnرا زنجیره مارکوف می نامند اگر به ازای تمام مقادیر n و تمام حالات i,j رابطه زیر برقرار باشد: Modeling
مثال • نقطه خاصی را درنظر بگیرید که روی خط مستقیم حرکت میکند. در هر حرکت، این نقطه به احتمال p به جلو و به احتمال 1-p به عقب میرود. • اگر X(t) حالت سیستم(موقعیت نقطه روی خط) در نظر گرفته شود • آنگاه X(t) یک زنجیره مارکوف تشکیل میدهد چون موقعیت نقطه در مرحله بعد فقط به وضعیت فعلی بستگی دارد و مستقل از مسیری است که در گذشته رفته Modeling
زنجیره مارکوف همگن • زنجیره های مارکوف همگن، حالت خاصی از زنجیره مارکوف است که در آن احتمال گذر سیستم از هر حالت به حالت دیگر مستقل از مرحله آن n باشد: • بر این اساس:: • که pij معرف احتمال تغییر حالت سیستم از i به j می باشد • درصورتی که احتمال حرکت در مثال قبل بستگی به تعداد حرکت نداشته باشد ( که ندارد) پس زنجیره مارکوف مثال قبل هم همگن بوده است. Modeling
ماتریس گذار • ماتریس گذار ماتریسی است که عناصر تشکیل دهنده آن در سطر i و ستون j احتمال تغییر خالت سیستم از i به j است. • اگر فرض شود حالات سیستم M است، ماتریس گذار آن بصورت یک ماتریس M*M خواهد بود. • بدیهی است که تمام عناصر آن باید غیر منفی و مجموع عناصر هر سطر باید برابر یک باشد. Modeling
ماتریس گذار و گذار m مرحله ای • با ماتریس گذار رابطه بین حالات سیستم در دو مرحله متوالی مشخص می شود. به عبارت دیگر با دانستن حالات هر مرحله، میتوان تابع توزیع حالات سیستم را در مرحله بعدی تعیین نمود • در این قسمت مشخص میگردد که چه رابطه ای بین حالات سیستم در یک مرحله و حالات آن در M مرحله بعد موجود است. • به عبارت دیگر :: اگر در مرحله ای حالت سیستم i باشد، احتمال اینکه پس از m مرحله، حالت سیستم به j برسد چقدر خواهد بود. • بدیهی است با داشتن ماتریس گذار میتوان تابع توزیع حالات و احتمال رخداد را محاسبه نمود. Modeling
مثال • زنجیره مارکوفی را در نظر بگیرید که ماتریس گذار آن به شرح زیر باشد • احتمال اینکه سیستم از حالت یک شروع و پس از دو مرحله به 3 برسد را محاسبه کنید Modeling
محاسبه احتمال حالات سیستم در چند مرحله مختلف • با دانستن حالت فعلی سیستم و ماتریس گذار متوان تابع توزیع حالت سیستم را در یک یا چند مرحله بعد به دست آوریم • مثلا: Modeling
مثال Modeling
طبقه بندی حالات سیستم • دسترس پذیر • غیر دسترس پذیر • حالت i به حالت j دسترس پذیر است اگر مسیری از حالت i به j وجود داشته باشد Modeling
مرتبه مدل مارکوف • مدل مارکوف مرتبه صفر • يک مدل مارکوف از مرتبه صفر هيچ حافظه اي ندارد و براي هر t و t' در دنباله سمبلها، pr(xt = Si) = pr(xt' = Si) خواهد بود. • مدل مارکوف مرتبه اول • يک مدل مارکوف مرتبه اول داراي حافظه اي با طول 1 مي باشد. توزيع احتمال در اين مدل به صورت زير مشخص مي شود. pr(xt=Si | xt-1=Sj), for i = 1..k & j = 1..k • تعريف فوق مانند اين است که k مدل مارکوف در مرتبه صفر براي هر Sjداشته باشيم. • مدل مارکوف مرتبه m ام • مرتبه يک مدل مارکوف برابر است با طول حافظه اي که مقادير احتمال ممکن براي حالت بعدي به کمک آن محاسبه مي شود. براي مثال، حالت بعدي در يک مدل مارکوف از درجه 2 (مدل مارکوف مرتبه دوم) به دو حالت قبلي آن بستگي دارد. Modeling
فرآيند مارکوف گسسته • يک سيستم مانند شکل را که در هر لحظه در يکي از حالت متمايز است در نظر بگيريد. • در زمانهاي گسسته و با فواصل منظم، حالت سيستم با توجه به مجموعه اي از احتمالات تغيير مي کند. • براي زمانهاي حالت در لحظه tرا با qtنشان مي دهيم. براي يک توصيف مناسب از سيستم فعلي نياز به دانستن حالت فعلي در کنار تمام حالات قبلي مي باشد. براي يک حالت خاص از زنجيره مارکوف مرتبه اول، توصيف احتمالاتي تنها با حالت فعلي و حالت قبلي مشخص مي شود. Modeling
فرآيند مارکوف گسسته • حال تنها فرآيند هايي را در نظر مي گيريم که در آنها سمت راست رابطه فوق مستقل از زمان است و به همين دليل ما مجموعه اي از احتمالات انتقال بين حالتها را خواهيم داشت. Modeling
مدل مارکوف • فرايند تصادفي فوق را مدل مارکوف قابل مشاهده مي گويند زيرا خروجي مدل مجموعه اي از حالات است که قرار گرفتن در آنها متناظر با يک مشاهده مي باشد. • ما مي توانيم دنباله مشاهدات مورد انتظار خود را توليد کنيم و احتمال وقوع آن در زنجيره مارکوف را محاسبه نماييم. • براي مثال با داشتن دنباله مشاهدات احتمال وقوع آن به صورت زير بيان مي شود. Modeling
مدل مخفي مارکوف(HMM) • تا اينجا مدل مارکوف که بررسی شد، در آن هر حالت متناظر با يک رويداد قابل مشاهده بود • در اين بخش مشاهدات توابع، احتمالاتي از حالتها هستند. • در اين صورت مدل حاصل يک مدل تصادفي با يک فرآيند تصادفي زيرين است که مخفي است و تنها توسط مجموعه اي از فرآيند هاي تصادفي که دنباله مشاهدات را توليد مي کنند قابل مشاهده است. HMM
مدل مخفي مارکوف(HMM) • براي مثال فرض کنيد که شما در يک اتاق هستيد و در اتاق مجاور آن فرد ديگري سکه هايي را به هوا پرتاب مي کند و بدون اينکه به شما بگويد اين کار را چگونه انجام مي دهد و تنها نتايج را به اطلاع شما ميرساند. • در اين حالت شما با فرآيند مخفي انداختن سکه ها و با دنباله اي از مشاهدات شير يا خط مواجه هستيد. • مساله اي که اينجا مطرح مي شود چگونگي ساختن مدل مارکوف به منظور بيان اين فرآيند تصادفي است. HMM
HMM • براي مثال اگر تنها مشاهدات حاصل از انداختن يک سکه باشد، مي توان با يک مدل دو حالته مساله را بررسي نمود. • يک مدل مخفي مارکوف را مي توان با تعيين پارامترهاي زير ايجاد نمود: • تعداد حالات ممکن • تعداد مشاهدات در هر حالت: تعداد مشاهدات برابر است با تعداد خروجيهايي که سيستم مدل شده خواهد داشت. • تعداد حالتهاي مدل N • تعداد سمبلهاي مشاهده در الفبا، M. اگر مشاهدات گسسته باشند آنگاه M يک مقدار نا محدود خواهد داشت HMM
HMM • ماتريس انتقال حالت : يک مجموعه از احتمالات انتقال در بين حالتها HMM
HMM • توزيع احتمال مشاهدات: يک توزيع احتمال براي هر يک از حالتها • در آن بيانگر سمبل مشاهده شده در الفبا است و بيانگر بردار پارامترهاي ورودي فعلي مي باشد. • در مورد مقادير احتمال حالتها نيز شرايط موجود در نظريه احتمال بايد رعايت گردند. HMM
HMM • اگر مشاهدات به صورت پيوسته باشند، بايد به جاي احتمالهاي گسسته از يک تابع چگالي احتمال پيوسته استفاده شود. معمولا چگالي احتمال به کمک يک مجموع وزندار از M توزيع نرمال تخمين زده مي شود. • به ترتيب ضريب وزندهي، بردار ميانگين و ماتريس کواريانس مي باشند. 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(si| sj) , 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’)P(‘Low’|’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
مساله کد گشايي • در اين حالت مي خواهيم با داشتن دنباله مشاهدات و مدل دنباله حالات بهينه براي توليد را بدست آوريم. • يک راه حل اين است که محتمل ترين حالت در لحظه t را بدست آوريم و تمام حالات را به اين شکل براي دنباله ورودي بدست آوريم. اما برخي مواقع اين روش به ما يک دنباله معتبر و با معنا از حالات را نمي دهد به همين دليل بايد راهي پيدا نمود که يک چنين مشکلي نداشته باشد. • در يکي از اين روشها که با نام الگوريتم Viterbi شناخته مي شود، دنباله حالات کامل با بيشترين مقدار نسبت شباهت پيدا مي شود. HMM
مساله کد گشايي • که در شرايطي که حالت فعلي برابر با i باشد، بيشترين مقدار احتمال براي دنباله حالات و دنباله مشاهدات در زمان t را مي دهد. HMM
مساله کد گشايي • با شروع از حالت ، دنباله حالات به شکل بازگشت به عقب و با دنبال کردن اشاره گر به حالات قبلي بدست مي آيد HMM
مساله يادگيري • به طور کلي مساله يادگيري به اين موضوع مي پردازد که چگونه مي توان پارامترهاي مدل HMM را تخمين زد تا مجموعه داده هاي آموزشي به بهترين نحو به کمک مدل HMM براي يک کاربرد مشخص بازنمايي شوند • دو معيار بهينه سازي مختلف براي آموزش مدل HMM وجود دارد که شامل معيار بيشترين شباهت (ML) و معيار ماکزيمم اطلاعات متقابل (Maximum Mutual Information (MMI)) مي باشند HMM
معيار بيشترين شباهت(Maximum Likelihood (ML)) • در معيار ML ما سعي داريم که احتمال يک دنباله ورودي که به کلاس w تعلق دارد را با داشتن مدل HMM همان کلاس بدست آوريم. اين ميزان احتمال برابر با نسبت شباهت کلي دنباله مشاهدات است و به صورت زير محاسبه مي شود. HMM