شبکه های باور بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه در عمل پیاده سازی Bayes Optimal Classifier بسیار پرهزینه است . همانگونه که دیدیم.
Download ReportTranscript شبکه های باور بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه در عمل پیاده سازی Bayes Optimal Classifier بسیار پرهزینه است . همانگونه که دیدیم.
شبکه های باور بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه در عمل پیاده سازی Bayes Optimal Classifierبسیار پرهزینه است. همانگونه که دیدیم دسته بندی کننده Naive Bayes Classifier بر این اصل استوار بود که مقادیر ویژگی ها مستقل شرطی باشند .اما این یک شرط بسیار محدود کننده است که غالبا برآورده نمیشود. شبکه های باور بیزی یا Bayesian Belief Networksکه Bayes Netsهم نامیده میشود روشی است برای توصیف توزیع احتمال توام مجموعه ای از متغیرها. BBNاستقالل شرطی زیر مجموعه ای ازمتغیرها راقابل توصیف کرده و امکان ترکیب دانش قبلی درباره وابستگی متغیرها را با داده های آموزشی فراهم میاورد. مقدمه دسته بندی کننده ساده بیزی Concept C X1 X2 … شبکه باور بیزی xn P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) … P(xn|c) Concept C X1 X2 x4 X3 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راه حل میانه تری است که محدودیت کمتری دارد. –Node = variables –Arc = dependency –Direction on arc representing causality Storm مثال Bus Tour Group Lightning Campfire Thunder Forest Fire P (Campfire=True | Storm=True, BusTourGroup=True ) = ? Variable A with parents B1, …., Bn has a conditional probability table P (A | B1, …., Bn) BN کاربرد cause C1 C2 symptom P(cause|symptom)=? تشخیص P(symptom|cause)=?پیش بینی max P(class | data) دسته بندی class (تصمیم گیری ) در صورت وجود تابع ارزش :مثال 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را میتوان دربسیاری از کاربردهائی که سیستم های knowledge basedمتداول مورد استفاده هستند بکار برد. BNدر مقایسه با شبکه های عصبی دارای مزایای زیر است: میتوان از اطالعات افراد خبره در ساخت BNاستفاده کرد. فهم و توسعه ساختار BNساده تر است. BNمیتواند با داده های ناقص کار کند. استقالل شرطی تعریف استقالل شرطی اگر X,Y,Zسه متغیر تصادفی با مقادیر گسسته باشند میگوئیم که Xبا دانستن Zبطور شرطی از Yمستقل است اگر با دانستن Zتوزیع احتمال Xمستقل از مقدار Yباشد. ) (xi , y j , zk ) P( X xi Y y j , Z zk ) P( X xi | Z zk تعریف مشابهی را میتوان برای مجموعه ای از متغیرها بکار برد: ) P( X 1... X L | Y1...Ym , Z1...Z n ) P( X 1... X L | Z1...Z n نمایش BN یک BNمدلی گرافیکی برای نشان دادن توزیع احتمال توام مجموعه ای از متغیرها است . دانش بدست آمده برای یک مسئله بصورت اطالعات کمی و کیفی در این گراف مدل میشود. اینکار با مشخص کردن مجموعه ای از فرضیات استقالل خطی توسط کمانهای گراف، همراه با ذکرمقادیر احتمال شرطی گره ها انجام میشود. هر متغیری از فضای توام بصورت یک گره در BNنمایش داده شده و برای هر متغیر دو نوع اطالعات ارائه میگردد: .1 .2 کمانهای شبکه برای نشان دادن رابطه استقالل شرطی بکار میرود:یک متغیربا دانستن والدین آن از گره های غیر فرزند آن مستقل است. جدولی نیز ارائه میگردد که توزیع احتمال هرگره برای والدین بالفصل آنرا مشخص میکند . )P(S Smoking )P(C|S )P(B|S Bronchitis lung Cancer )P(X|C,S )P(D|C,B Dyspnoea X-ray BN نمایش P(S) P(B) Storm Bus Tour Group باCampfire دانستن والدینش مستقل از استlightining P(L|S) CPD: Lightning Campfire P(C|S,B) Thunder P(T|L,S) Forest Fire P(F|C,S,L) وLightning متغیرهایBusTourGroup وStorm با دانستن . ارائه نمیدهندCampfire اطالعات اضافی دیگری برایThunder S 0 0 1 1 B C=0 C=1 0 0.2 0.8 1 0.8 0.2 0 0.1 0.9 1 0.4 0.6 توزیع احتمال توام برای محاسبه توزیع احتمال توام مجموعه ای ازBN در :متغیرها از رابطه زیر استفاده میشود n P( X 1 , X 2 ,..., X n ) P( X i | Parents( X i )) i 1 . گره های قبلی بالفصل آن میباشند،که والدین یک گره مثال 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 استنتاج توسط Age Income How likely are elderly rich people to buy DallasNews? P( paper = DallasNews | Age>60, Income > 60k) Living Location House Owner Newspaper Preference … Voting Pattern استنتاج ارتباط بین BNو دسته بندی: میتوان از BNاستفاده نموده و مقدار یک متغیر را در صورت مشاهده مقادیر سایر متغیرها استنتاج نمود.البته معموال امکان بدست آوردن یک مقدار وجود نداشته و بجای آن یک توزیع احتمال محاسبه میشود. اگر مقادیر همه متغیرها از پیش معلوم باشد انجام چنین استنتاجی ساده است ولی معموال فقط مقداربخشی از متغیرها مشاهده میشود .مثال ممکن است بخواهیم با مشاهده Thunder , BusTourGroupدر مورد Forestfire نتیجه گیری کنیم. حالت کلی اگر یکی از متغیرها مقدارهدف بوده و بخواهیم آنرا با داشتن مقدار سایر متغیرها محاسبه کنیم Concept C xn … X2 X1 )P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) … P(xn|c Concept C x4 دسته بندی کننده بیزی ساده X1 X2 شبکه باور بیزی X3 )P(x1,x2,…xn,c) = P(c) P(x1|c) P(x2|c) P(x3|x1,x2,c)P(x4,c استنتاج :روشهای مختلف روشهای دقیق Monte Carlo روشهای تقریبی Dynamic programming Variable elimination مثال A B C CPD: A 0 0 1 1 B C=0 C=1 0 0.5 0.5 1 0.5 0.5 0 0.6 04 1 0.8 0.2 میتوانA , B با دانستن احتمال را محاسبهC احتمال درستی .نمود A: p(A) = 0.1p(~A) = 0.9 B: p(B) = 0.4p(~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 مثال CPD: در صورتیکه بدانیم Cدرست است میتوان با استفاده از تئوری بیز و احتمال اولیه Cاحتمال اینکه کدامیک از Aیا Bعلت وقوع آن بوده را محاسبه نمائیم. B C=0 C=1 0 0.5 0.5 1 0.5 0.5 0 0.6 04 1 0.8 0.2 A 0 0 1 1 A B C A: p(A) = 0.1 p(~A) = 0.9 B: p(B) = 0.4 p(~B) = 0.6 C: p(c)= 0.58 * ) )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میتوان چنین گفت که احتمال اینکه Bعامل آن بوده باشد بیشتر است. یادگیری یک BN چگونه میتوان یک BNرا از روی داده های آموزشی یاد گرفت؟ .1ممکن است ساختار شبکه از قبل معلوم باشد، )P(S S و بخواهیم پارامترهای آن یعنی مقادیر احتمال )P(B|S B شرطی متغیرها را یاد بگیریم )P(D|C,B .2ممکن است ساختار شبکه از قبل معلوم باشد، D ولی فقط برخی از متغیرها قابل مشاهده باشند. S B )P(C|S C )P(X|C,S X S C B .3ممکن است ساختار شبکه معلوم نبوده و D D X مجبور باشیم ساختار گراف و پارامترهای )ˆ arg max Score(G G آنر از داده های آموزشی استنتاج کنیم G C X یادگیری یکBN .1 .2 .3 در صورتی که ساختار شبکه معلوم بوده وتمامی متغیرها قابل مشاهده باشند میتوان براحتی جدول احتمال شرطی را از روی داده های آموزشی یاد گرفت) مشابه یادگیری بیزی ساده( در صورتیکه ساختار شبکه از قبل معلوم بوده ولی فقط برخی از مقادیر متغیرها قابل مشاهده باشند ،یادگیری مشکلتر خواهد بود . اینکار شبیه یادگیری وزنهای الیه مخفی شبکه های عصبی است . در صورتیکه ساختار شبکه معلوم نباشد یادگیری مشکل بوده و از روشهای جستجوئی نظیر K2برای جستجو در فضای ساختارهای ممکن استفاده میشود. BN روشهای یادگیری بسته به اینکه ساختار شبکه از قبلBN روشهای یادگیری :معلوم باشد و همچنین قابلیت مشاهده داده بصورت زیر است Structure Observability Method Known Full Maximum Likelihood Estimation Known Partial EM (or gradient ascent) Unknown Full Search through model space Unknown Partial EM + search through model space روشهای یادگیری ساختار BN .1 .2 روشها ی scoring-basedکه در آنها بهترین BN ساختاری است که بیشترین تطابق با داده را داشته باشد .این روشها بدنبال ماکزیمم کردن MDLبیزی و یا تابع آنتروپی )Kullback-Leibler (KLهستند. روشهای constraint-basedکه در آن ساختار BNبا مشخص کردن رابطه استقالل شرطی بین گره ها بدست میآید. نشان داده اند که روش اول کارائی کمتری داشته و دسته بندی کننده ضعیفی را بدست میدهد. الگوریتم : EMیادگیری با داده های غیر قابل مشاهده در برخی از کاربردها فقط برخی از ویژگیها قابل مشاهده هستند .راههای متفاوتی برای یادگیری در چنین مواقعی ارائه شده است. در شرایطی که شکل کلی توزیع احتمال متغیری معلوم باشد، میتوان از الگوریتم )(Expectation-Maximization EMبرای یادگیری متغیری استفاده نمود که بطور کامل مشاهده نشده است. این الگوریتم برای آموزش BNبکار میرود .عالوه بر آن در الگوریتمهای دسته بندی بدون ناظر و یادگیری HMMنیز کاربرد دارد. تخمین میانگین kتابع گاوسی مثال یک مجموعه آموزشی Dرا در نظر بگیرید که دارای نمونه هائی باشد که مخلوطی از kتوزیع نرمال مجزا باشد. برای تولید هر نمونه: یکی از Kتوزیع احتمال گاوسی با احتمال یکنواختی انتخاب میشود. داده بصورت تصادفی و با استفاده از توزیع فوق انتخاب میگردد. .1 .2 الگوریتم EMبرای تخمین میانگین kتابع گاوسی ورودی: نمونه های xکه به صورت مخلوطی از kتوزیع گاوسی درست شده است اطالعاتی که نداریم: مقادیر kمیانگین ><m1,... mk اینکه کدام نمونه توسط کدام توزیع تولید شده است پیدا کنید: مقدار MLتخمین هر یک از مقادیر میانگین ><m1,... mk اطالعات ناقص اگر نمایش هر نمونه را بصورت زیر نشان دهیم: >Yi= <xi,zi1,zi2 که در آن zijبرابر با یک است اگر نمونه xiتوسط توزیع Jام درست شده باشد. xiنمونه مشاهده شده است. اگر نمونه کامل را داشتیم چگونه میشد m1,... mkرا محاسبه کرد اگر m1,... mkرا داشته باشیم چگونه میتوان مقادیر zijرا حدس زد.