شبکه های باور بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه در عمل پیاده سازی Bayes Optimal Classifier بسیار پرهزینه است . همانگونه که دیدیم.
Download
Report
Transcript شبکه های باور بیزی 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را حدس
زد.