420 likes | 1.01k Views
شبکه ها ی باور بیزی. مدرس: علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Mitchell Ch. 6.11. با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین. مقدمه.
E N D
شبکههایباوربیزی مدرس: علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Mitchell Ch. 6.11 با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین
مقدمه • در عمل پیادهسازی Bayes Optimal Classifier بسیار پرهزینه است. • همانگونهکه دیدیمدستهبندیکننده Naive Bayes Classifier برایناصلاستواربودکهمقادیرویژگیهامستقلشرطیباشند. امااینیکشرطبسیارمحدودکنندهاستکهغالبابرآوردهنمیشود. • شبکههایباوربیزییاBayesian Belief Networks که Bayes Nets همنامیدهمیشودروشیاستبرایتوصیفتوزیعاحتمالتوام مجموعهایازمتغیرها. • BBNاستقلال شرطی زیر مجموعهای از متغیرها را قابل توصیف کرده و امکان ترکیب دانش قبلی درباره وابستگی متغیرها را با دادههای آموزشی فراهم میاورد.
Concept C X1 xn X2 … Concept C X1 x4 X2 X3 مقدمه دستهبندیکننده ساده بیزی شبکه باور بیزی P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) … P(xn|c) P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) P(x3|x1,x2,c)P(x4|c)
مقدمه • اگرa1,a2,...anمجموعهایازویژگیهاویامتغیرهاباشندBN میتوانداحتمالهرترکیبیازآنانرابیانکند. • اگرچهدرهنگاماستفادهازBNهمناگزیربهاستفاده ازشروطاستقلالخواهیمبوداماBNراهحلمیانهتریاستکهمحدودیتکمتریدارد.
مثال Storm Bus Tour Group Lightning Campfire Thunder Forest Fire P (Campfire=True | Storm=True, BusTourGroup=True ) = ?
cause symptom symptom کاربرد BN • تشخیصP(cause|symptom)=? • پیشبینی P(symptom|cause)=? • دستهبندی • تصمیمگیری)درصورتوجودتابعارزش( • مثال: Speech recognition, Stock market, Text Classification, Computer troubleshooting, medical diagnostic systems, real-time weapons scheduling, Intel processor fault diagnosis (Intel). generator monitoring expert system (General Electric) troubleshooting (Microsoft)
مثال • عیبیابیپرینتر
کاربرد BN • خواستگاه BN بهترکیباحتمالباسیستمهایخبرهبرمیگرددواینزمینهیکیازکاربردهایمهمآنراتشکیلمیدهد. • BN رامیتواندربسیاریازکاربردهائی کهسیستمهایمبتنی بر دانش متداول مورد استفاده هستند، به کار برد. • BN در مقایسه با شبکههای عصبی دارای مزایای زیر است: • میتوان از اطلاعات افراد خبره در ساخت BN استفاده کرد. • فهم و توسعه ساختار BN سادهتر است. • BN میتواند با دادههای ناقص نیز کار کند.
استقلالشرطی • تعریفاستقلالشرطی • اگر X,Y,Z سهمتغیرتصادفیبامقادیرگسستهباشندمیگوئیمکه X بادانستن Z بطورشرطیاز Y مستقلاستاگربا دانستن Z توزیعاحتمال X مستقلازمقدار Y باشد. • تعریفمشابهیرامیتوانبرایمجموعهایازمتغیرهابکاربرد:
P(S) Smoking P(C|S) P(B|S) lung Cancer Bronchitis P(X|C,S) P(D|C,B) X-ray Dyspnoea نمایش BN • یک BN مدلیگرافیکیبراینشاندادنتوزیعاحتمالتواممجموعهایازمتغیرهااست.دانشبه دستآمدهبراییکمسئلهبه صورت اطلاعاتکمیوکیفیدراینگراف مدلمیشود. • اینکاربامشخصکردنمجموعهایازفرضیاتاستقلالشرطیتوسطکمانهایگراف،همراهباذکرمقادیراحتمالشرطیگرههاانجاممیشود. • هرمتغیریازفضایتوامبه صورت یکگرهدر BN نمایشدادهشدهوبرایهرمتغیردونوعاطلاعاتارائهمیگردد: • کمانهایشبکهبراینشاندادنرابطهاستقلالشرطیبکار میرود:یکمتغیر با دانستنوالدین آن ازگرههایغیرفرزندآن مستقل است. • جدولینیزارائهمیگرددکهتوزیعاحتمالهرگره برایوالدینبلافصلآنرامشخصمیکند.
P(S) P(B) Storm Bus Tour Group P(L|S) • S B C=0 C=1 • 0 0 0.2 0.8 • 0 1 0.8 0.2 • 1 0 0.1 0.9 • 1 1 0.4 0.6 Lightning CPD: Campfire P(C|S,B) Thunder Forest Fire P(F|C,S,L) P(T|L) نمایش BN Campfire بادانستنوالدینشمستقلاز lightining است بادانستن Storm و BusTourGroup متغیرهای Lightning و Thunder اطلاعاتاضافیدیگریبرای Campfire ارائهنمیدهند.
توزیعاحتمالتوام joint probability distribution • در BN برایمحاسبهتوزیعاحتمالتوام مجموعهایازمتغیرهاازرابطهزیراستفادهمیشود: • کهوالدینیکگره،گرههایقبلیبلافصلآنمیباشند. • مثال P(Campfire, Storm, BusGroupTour, Lightning, Thunder, ForestFire)? P(Storm)P(BusTourGroup)P(Campfire|Storm,BusTourGroup) P(Lightning|Storm)P(Thunder|Lightning) P(ForestFire|Lightning,Storm,Campfire).
مثال • احتمالشرطی S,B S,~B ~S,B ~S,~B C 0.4 0.1 0.8 0.2 ~C 0.6 0.9 0.2 0.8 P(Campfire=true|Storm=true,BusTourGroup=true) = 0.4
استنتاج توسط BN ارتباطبین BN ودستهبندی: • میتواناز BN استفادهنمودهومقداریکمتغیررادرصورتمشاهدهمقادیرسایرمتغیرهااستنتاجنمود .البته معمولاامکانبدستآوردنیکمقداروجودنداشتهوبه جایآنیکتوزیعاحتمالمحاسبهمیشود. • اگرمقادیرهمهمتغیرهاازپیشمعلومباشدانجامچنیناستنتاجیسادهاستولیمعمولافقطمقدار بخشیازمتغیرهامشاهدهمیشود.مثلاممکناستبخواهیمبامشاهده Thunder , BusTourGroup درمورد Forestfire نتیجهگیریکنیم.
استنتاج توسط BN Age Income How likely are elderly rich people to buyDallasNews? P( paper = DallasNews | Age>60, Income > 60k) House Owner Living Location Newspaper Preference … Voting Pattern
استنتاج • روشهایمختلف: • روشهایدقیق • NP-Hard • روشهایتقریبی Monte Carlo • فدا کردن دقت برای بهبود کارایی زمانی • Dynamic programming • Variable elimination
A B C CPD: • A B C=0 C=1 • 0 0 0.5 0.5 • 0 1 0.5 0.5 • 1 0 0.6 0.4 • 1 1 0.8 0.2 مثال A: p(A) = 0.1 p(~A) = 0.9 B: p(B) = 0.4 p(~B) = 0.6 The initialized Probability of C: p(C) =p(CAB) + p(C~AB) + p(CA~B) + p(C~A~B) =p(C | AB) * p(AB) + p(C | ~AB) * p(~AB) +p(C | A~B) * p(A~B) + p(C | ~A~B) * p(~A~B) =p(C | AB) * p(A) * p(B) + p(C | ~AB) * p(~A) * p(B) + p(C | A~B) * p(A) * p(~B) +p(C | ~A~B) * p(~A) * p(~B) =0.518 بادانستناحتمال A , B میتواناحتمالدرستی C رامحاسبهنمود.
مثال A B C CPD: • A B C=0 C=1 • 0 0 0.5 0.5 • 0 1 0.5 0.5 • 1 0 0.6 0.4 • 1 1 0.8 0.2 A: p(A) = 0.1 p(~A) = 0.9 B: p(B) = 0.4 p(~B) = 0.6 C: p(c)= 0.518 p(B | C) =( p( C | B) * p(B) ) / p(C)=( ( p(C | AB) * p(A) + p(C | ~AB) * p(~A) ) * p(B) ) / p(C) =( (0.8 * 0.1 + 0.5 * 0.9) * 0.4 ) / 0.518=0.409 p(A | C) =( p( C | A) * p(A) ) / p(C)=( ( p(C | AB) * p(B) + p(C | A~B) * p(~B) ) * p(A) ) / p(C)= ( (0.8 * 0.4 + 0.6 * 0.6) * 0.1 ) / 0.518=0.131 درصورتیکهبدانیم C درستاستمیتوانبااستفادهازتئوریبیزواحتمالاولیه C احتمالاینکهکدامیکاز A یا B علتوقوعآنبودهرامحاسبهنمائیم. لذادرصورتصحیحبودن C میتوانچنینگفتکهاحتمالاینکه B عاملآنبودهباشدبیشتراست.
نحوهساخت BN • به صورت دستی،توسطیکخبره. • به صورت اتوماتیک،توسطروشهاییادگیریماشین.
P(S) S P(C|S) P(B|S) B C P(X|C,S) P(D|C,B) D X S S C B B C D D X X یادگیرییک BN چگونهمیتوانیک BN راازرویدادههایآموزشییادگرفت؟ • ممکناستساختارشبکهازقبلمعلومباشد، وبخواهیمپارامترهایآنیعنیمقادیراحتمال شرطیمتغیرهارایادبگیریم • ممکناستساختارشبکهازقبلمعلومباشد، ولیفقطبرخیازمتغیرها(در مثالهای آموزشی) قابلمشاهده باشند. • ممکناستساختارشبکهمعلومنبودهو مجبورباشیمساختارگرافوپارامترهای آنراازدادههایآموزشیاستنتاجکنیم.
یادگیرییک BN • درصورتیکهساختارشبکهمعلومبودهو تمامیمتغیرهاقابلمشاهدهباشندمیتوان براحتیجدولاحتمالشرطیراازرویدادههایآموزشییادگرفت )مشابهیادگیریبیزیساده(. • درصورتیکهساختارشبکهازقبلمعلومبودهولیفقطبرخیازمقادیرمتغیرهاقابلمشاهدهباشند،یادگیریمشکلترخواهدبود. اینکارشبیهیادگیریوزنهایلایهمخفیشبکههایعصبیاست. • درصورتیکهساختارشبکهمعلومنباشدیادگیریمشکلبودهوازروشهایجستجوئینظیرK2برایجستجودرفضایساختارهایممکناستفادهمیشود.
روشهاییادگیری BN • روشهاییادگیری BN بستهبهاینکهساختارشبکهازقبلمعلومباشدوهمچنینقابلیتمشاهدهدادهبه صورت زیراست:
روشهاییادگیری ساختار BN • روشهای Scoring-based کهدرآنهابهترین BN ساختاریاستکهبیشترینتطابقبادادهراداشتهباشد.اینروشهابدنبالماکزیممکردن MDL(Minimum Description Length) بیزی و یا تابع آنتروپی (Kullback-Leibler) KLهستند. جستجوی هیوریستیک برای حذف یا درج لبه در گراف. • روشهایConstraint-based کهدرآنساختار BN بامشخصکردنرابطهاستقلالشرطیبینگرههابدستمیآید. • نشاندادهاندکهروشاولکارائیکمتریداشتهودستهبندیکنندهضعیفیرابدستمیدهد.
الگوریتم EM : یادگیری با دادههای غیرقابل مشاهده • در برخی از کاربردها فقط برخی از ویژگیها قابل مشاهده هستند. راههای متفاوتی برای یادگیری در چنین مواقعی ارائه شده است. • درشرایطیکهشکلکلیتوزیعاحتمالمتغیریمعلومباشد،میتوانازالگوریتم (Expectation-Maximization) EM براییادگیریمتغیریاستفادهنمودکهبطورکاملمشاهدهنشدهاست. • اینالگوریتمبرایآموزش BNبکارمیرود. علاوهبرآندرالگوریتمهایدستهبندیبدونناظرو یادگیری HMM نیزکاربرددارد.
تخمینمیانگین k تابعگاوسی مثال • یکمجموعهآموزشیDرادرنظربگیریدکه داراینمونههائیباشدکهمخلوطیازkتوزیعنرمالمجزاباشد. در شکل زیرk=2است. • برای تولید هر نمونه: • یکی از kتوزیع احتمال گاوسی با احتمالیکنواختیانتخاب میشود. • داده به صورت تصادفی و با استفاده از توزیع فوق انتخاب میگردد.
الگوریتمEM برای تخمینمیانگین k تابعگاوسی • ورودی: نمونههای x که به صورت مخلوطی از k توزیع گاوسی درست شده است • اطلاعاتی که نداریم: • مقادیر k میانگین این توزیعها <m1,... mk>(واریانس همه توزیعها برابر و معلوم است.) • اینکه کدام نمونه توسط کدام توزیع تولید شده است.) اطلاعات ناقص( • هدف: یافتن مقدارفرضیهML (حداکثر شباهت از روی حداکثرکردن p(D|h)) برای تخمین هر یک از مقادیر میانگینh=<m1, ..., mk>
اطلاعات ناقص • اگر نمونه از یک توزیع باشند تخمین میانگین آن ساده است: • اگر نمایش کامل هر نمونه را به صورت زیر نشان دهیم: Yi= <xi,zi1,zi2> که در آن zij برابر با یک است اگر نمونهxi توسط توزیع jام درست شده باشد. xi نمونه مشاهده شده است و zi1,zi2متغیرهای مخفی هستند. • سوال: اگر نمونههایکامل (حاوی zi1,zi2 ) را داشتیم چگونه میشد m1,... mk را محاسبه کرد؟