استنباط بیزی تغییراتی

از testwiki
پرش به ناوبری پرش به جستجو

استنباط بیزی تغییراتی الگو:به انگلیسی یا استنباط بیزی وردشی[۱]، از جمله روش های رایج در یادگیری بیزی است که برای تقریب جواب با استفاده از یک سری فرض های استقلال در توزیع پَسین الگو:به انگلیسی است. نکته مشکل ساز در یادگیری بیزی این است که برای حساب کردن توزیع پسین لازم است انتگرالی روی تمام حالات ممکن متغیرهای پنهان حساب شود که به درست نمایی حاشیه ای الگو:به انگلیسی معروف است. استنباط وردشی سعی در تقریب این انتگرال دشوار دارد تا یادگیری مدل و استنباط با آن را آسان تر کند. به عبارتی دیگی، روش استنباط بیزیِ وردشی

  1. تقریبی برای توزیع پَسین می دهد. با استفاده از این تقریب و داشتن پارامترهای مدل، می توان استنباط آماری روی داده های دیده نشده انجام داد.
  2. کرانی پایین برای درست نمایی حاشیه ای (یا "گواه"الگو:به انگلیسی) روی داده های آموزشی می دهد. با استفاده از این کران می توان پارامترهای مدل را یاد گرفت ("یادگیری مدل" یا model selection). ایده ی کلی این است که هرچه مقدار درست نمایی برای داده های مورد نظر بیشتر باشد، پارامترها برای مدل و داده ها مناسب تر هستند.

می توان گفت روش استنباط وردشی، تعمیمی از یادگیری "حداکثرسازی امید" الگو:به انگلیسی است.

یک نمونه ساده

فرض کنید یک مدل ساده بیزی داریم که در آن مجموعه ای از داده های iid از یک توزیع گوسی با میانگین و واریانس نامشخص در اختیار داریم[۲]. در این مثال با جزئیات زیاد سعی داریم عملکرد یادگیری و استنباط وردشی را نشان دهیم.

مدل ریاضی

در مدل سازی پارامترهای مسئله، برای مدل سازی پارامترها، از توزیع مزدوج پیشین الگو:به انگلیسی استفاده می کنیم. یعنی برای میانگین توزیع نرمال، و برای واریانس توزیع گاما در نظر می گیریم:

μ𝒩(μ0,(λ0τ)1)τGamma(a0,b0){x1,,xN}𝒩(μ,τ1)N=number of data points

اکنون N نقطه𝐗={x1,,xN} در اختیار داریم و هدف این است که توزیع پسین q(μ,τ)=p(μ,τ|x1,,xN) را برای پارامترهای مدل μ و τ یادبگیریم. فراپارامترهای مدل، یعنی μ0, λ0, a0 و b0 مقادیری ثابت هستند.

توزیع مشترک

توزیع مشترک متغیرهای مسئله به صورت زیر است:

p(𝐗,μ,τ)=p(𝐗|μ,τ)p(μ|τ)p(τ)

که هرکدام از آنها بر اساس فاکتورهایشان به صورت زیر هستند:

p(𝐗|μ,τ)=n=1N𝒩(xn|μ,τ1)p(μ|τ)=𝒩(μ|μ0,(λ0τ)1)p(τ)=Gamma(τ|a0,b0)

که در آن:

𝒩(x|μ,σ2)=12πσ2e(xμ)22σ2Gamma(τ|a,b)=1Γ(a)baτa1ebτ

فرض استقلال توزیع ها

فرض کنید که توزیع روی پارامترهای مسئله به صورت q(μ,τ)=q(μ)q(τ) تجزیه شوند. در اصل چنین فرضی درست نیست. چرا که پارامتر واریانس توزیع نرمال میانگین وابسته به توزیع گاما است. اما به صورت تقریبی فرض استقلال فوق را انجام می دهیم. چنین فرضی باعث ایجاد خطا در نتیجه ی نهایی خواهد شد، اما در قبال این خطا، سرعت بیشتری در یادگیری مدل به دست می آوریم. فرض استقلال بین توزیع های پارامترهای مسئله اساس روش استنتاج وردشی است.

بدست آوردن فاکتور q(μ)

lnqμ*(μ)=Eτ[lnp(𝐗|μ,τ)+lnp(μ|τ)+lnp(τ)]+C=Eτ[lnp(𝐗|μ,τ)]+Eτ[lnp(μ|τ)]+Eτ[lnp(τ)]+C=Eτ[lnn=1N𝒩(xn|μ,τ1)]+Eτ[ln𝒩(μ|μ0,(λ0τ)1)]+C2=Eτ[lnn=1Nτ2πe(xnμ)2τ2]+Eτ[lnλ0τ2πe(μμ0)2λ0τ2]+C2=Eτ[n=1N(12(lnτln2π)(xnμ)2τ2)]+Eτ[12(lnλ0+lnτln2π)(μμ0)2λ0τ2]+C2=Eτ[n=1N(xnμ)2τ2]+Eτ[(μμ0)2λ0τ2]+Eτ[n=1N12(lnτln2π)]+Eτ[12(lnλ0+lnτln2π)]+C2=Eτ[n=1N(xnμ)2τ2]+Eτ[(μμ0)2λ0τ2]+C3=Eτ[τ]2{n=1N(xnμ)2+λ0(μμ0)2}+C3

در عبارت فوق پارامترهای C, C2 و C3 مقادیر ثابت نسبت به پارامتر μ هستند. با توجه به عبارت آخر مشاهده می شود که توزیع حول μ دارای توزیع گوسی است. با کمی بازی با جملات ریاضی می توان توزیع را به فرم گوسی استاندارد نوشت و جمله ای برای میانگین و واریانس آن بدست آورد.

lnqμ*(μ)=Eτ[τ]2{n=1N(xnμ)2+λ0(μμ0)2}+C3=Eτ[τ]2{n=1N(xn22xnμ+μ2)+λ0(μ22μ0μ+μ02)}+C3=Eτ[τ]2{(n=1Nxn2)2(n=1Nxn)μ+n=1Nμ2)+λ0μ22λ0μ0μ+λ0μ02)}+C3=Eτ[τ]2{(λ0+N)μ22(λ0μ0+n=1Nxn)μ+(n=1Nxn2)+λ0μ02}+C3=Eτ[τ]2{(λ0+N)μ22(λ0μ0+n=1Nxn)μ}+C4=Eτ[τ]2{(λ0+N)μ22λ0μ0+n=1Nxnλ0+N(λ0+N)μ}+C4=Eτ[τ]2{(λ0+N)(μ22λ0μ0+n=1Nxnλ0+Nμ)}+C4=Eτ[τ]2{(λ0+N)(μ22λ0μ0+n=1Nxnλ0+Nμ+(λ0μ0+n=1Nxnλ0+N)2(λ0μ0+n=1Nxnλ0+N)2)}+C4=Eτ[τ]2{(λ0+N)(μ22λ0μ0+n=1Nxnλ0+Nμ+(λ0μ0+n=1Nxnλ0+N)2)}+C5=Eτ[τ]2{(λ0+N)(μλ0μ0+n=1Nxnλ0+N)2}+C5=12{(λ0+N)Eτ[τ](μλ0μ0+n=1Nxnλ0+N)2}+C5

به عبارت دیگر:

qμ*(μ)𝒩(μ|μN,λN1)μN=λ0μ0+Nx¯λ0+NλN=(λ0+N)E[τ]x¯=1Nn=1Nxn

بدست آوردن فاکتور q(τ)

بدست آوردن فاکتور qτ*(τ) تا حد زیادی مشابه مراحل بالاست.

lnqτ*(τ)=Eμ[lnp(𝐗|μ,τ)+lnp(μ|τ)]+lnp(τ)+constant=(a01)lnτb0τ+N2lnττ2Eμ[n=1N(xnμ)2+λ0(μμ0)2]+constant

با به توان رساندن دو طرف، توزیع نهایی به صورت یک توزیع گاما بدست می آید.

qτ*(τ)Gamma(τ|aN,bN)aN=a0+N+12bN=b0+12Eμ[n=1N(xnμ)2+λ0(μμ0)2]

الگوریتم محاسبه ی پارامترهای بهینه مسئله

بگذارید نتایجی را که از قسمت های قبل بدست آوردیم را یادآوری کنیم:

qμ*(μ)𝒩(μμN,λN1)μN=λ0μ0+Nx¯λ0+NλN=(λ0+N)E[τ]x¯=1Nn=1Nxn

و

qτ*(τ)Gamma(τaN,bN)aN=a0+N+12bN=b0+12Eμ[n=1N(xnμ)2+λ0(μμ0)2]

در هر کدام از موارد فوق، امید روی یک پارامتر، وابسته به امید روی پارامترهای دیگر است. می توان این روابط را بر اساس روابط پایه آماری بسط داد.

E[τaN,bN]=aNbNE[μμN,λN1]=μNE[X2]=Var(X)+(E[X])2E[μ2μN,λN1]=λN1+μN2

اعمال روابط فوق به پارامترها سر راست است. در اینجا تنها به توضیح رابطه ی مربوط به bN می پردازیم.

bN=b0+12Eμ[n=1N(xnμ)2+λ0(μμ0)2]=b0+12Eμ[(λ0+N)μ22(λ0μ0+n=1Nxn)μ+(n=1Nxn2)+λ0μ02]=b0+12[(λ0+N)Eμ[μ2]2(λ0μ0+n=1Nxn)Eμ[μ]+(n=1Nxn2)+λ0μ02]=b0+12[(λ0+N)(λN1+μN2)2(λ0μ0+n=1Nxn)μN+(n=1Nxn2)+λ0μ02]

می توان پارامترهای دیگر را دیگر را به صورت زیر نوشت:

μN=λ0μ0+Nx¯λ0+NλN=(λ0+N)aNbNx¯=1Nn=1NxnaN=a0+N+12bN=b0+12[(λ0+N)(λN1+μN2)2(λ0μ0+n=1Nxn)μN+(n=1Nxn2)+λ0μ02]

در عبارات فوق به وابستگی روابط مربوط به μN, λN و bN به همدیگر توجه کنید که تشکیل یک الگوریتم حداکثر سازی امیدریاضی الگو:به انگلیسی می دهند. می توان مراحل اجرای الگوریتم را به صورت زیر خلاصه کرد:

  1. با استفاده از n=1Nxn و n=1Nxn2. مقادیر مربوط به μN و aN. را حساب کنید.
  2. پارامتر λN را با مقداری اولیه، مقداردهی کنید.
  3. با استفاده از پارامترهای مسئله و از جمله λN، مقدار bN را تخمین بزنید.
  4. با استفاده از پارامترهای مسئله و از جمله bN، مقدار λN را تخمین بزنید.
  5. مراحل فوق را تا رسیدن به همگرایی (جایی که هیچکدام از پارامترها دیگر تغییر زیادی نکنند.) انجام دهید.

می توان نشان داد که این بروز رسانی دوری تضمین شده است که به مقدار بهینه محلی همگرا خواهد شد. می توان اثبات کرد که چون توزیع حول هردو پارامتر و توزیع پسین نمایی است، حتماً به نقطه بهینه جهانی همگرا خواهد شد. نکته ظریف اینجاست این نقطه بهینه مربوط به مسئله با تقریب مستقل بودن توزیع پارامترهای مسئله است و در هر صورت نسبت جواب مسئله اصلی تقریبی است.

یک نمونه ی نسبتاً پیچیده تر

مدل مخلوط گوسی . مربع های کوچک نشان دهنده ی پارامترهای ثابت هستند و مربع های بزرگ نشان دهنده ی متغیرهای تصادفی هستند. مربع های توپر نشان دهنده ی مقادیر معلوم است. علامت نشان دهنده ی برداری به طول است. به معنی ماتریسی به اندازه ی است. به معنی یک متغیر با توزیع categorical با K دسته است.

فرض کنید یک نمونه مدل مخلوط گوسی به صورت زیر تعریف شده باشد:

πSymDir(K,α0)Λi=1K𝒲(𝐖0,ν0)μi=1K𝒩(μ0,(β0Λi)1)𝐳[i=1N]Mult(1,π)𝐱i=1N𝒩(μzi,Λzi1)K=number of mixing componentsN=number of data points

چند نکته:

می توان توزیع مشترک روی متغیرهای مسئله را به صورت زیر نوشت:

p(𝐗,𝐙,π,μ,Λ)=p(𝐗|𝐙,μ,Λ)p(𝐙|π)p(π)p(μ|Λ)p(Λ)

می توان هر کدام از فاکتورهای مسئله را به صورت زیر ساده سازی کرد:

p(𝐗|𝐙,μ,Λ)=n=1Nk=1K𝒩(𝐱n|μk,Λk1)znkp(𝐙|π)=n=1Nk=1Kπkznkp(π)=Γ(Kα0)Γ(α0)Kk=1Kπkα01p(μ|Λ)=𝒩(μk|𝐦0,(β0Λk)1)p(Λ)=𝒲(Λk|𝐖0,ν0)

که در آن:

𝒩(𝐱|μ,Σ)=1(2π)D/21|Σ|1/2exp{12(𝐱μ)TΣ1(𝐱μ)}𝒲(Λ|𝐖,ν)=B(𝐖,ν)|Λ|(νD1)/2exp(12Tr(𝐖1Λ))B(𝐖,ν)=|𝐖|ν/2(2νD/2πD(D1)/4i=1DΓ(ν+1i2))1D=dimensionality of each data point

اگر فرض کنیم q(𝐙,π,μ,Λ)=q(𝐙)q(π,μ,Λ) بنابرین:

lnq*(𝐙)=Eπ,μ,Λ[lnp(𝐗,𝐙,π,μ,Λ)]+constant=Eπ[lnp(𝐙|π)]+Eμ,Λ[lnp(𝐗|𝐙,μ,Λ)]+constant=n=1Nk=1Kznklnρnk+constant

که آن تعریف کرده ایم:

lnρnk=E[lnπk]+12E[ln|Λk|]D2ln(2π)12Eμk,Λk[(𝐱nμk)TΛk(𝐱nμk)]

با به توان رساندن هر دو طرف داریم:

q*(𝐙)n=1Nk=1Kρnkznk

به صورتی معادل می توان عبارت فوق را به صورت زیر نوشت:

q*(𝐙)=n=1Nk=1Krnkznk

که در آن:

rnk=ρnkj=1Kρnj

همچنین توجه کنید که

E[znk]=rnk

که به صورت طبیعی از توزیع categorical بدست می آید. با توجه به فاکتوریزه کردن q(π,μ,Λ) به صورت q(π)k=1Kq(μk,Λk) می توان نوشت:

lnq*(π)=lnp(π)+E𝐙[lnp(𝐙|π)]+constant=(α01)k=1Klnπk+n=1Nk=1Krnklnπk+constant

با به توان رساندن دو طرف می توان دید که q*(π) دارای توزیع دریکله است.

q*(π)Dir(α)

که در آن

αk=α0+Nk

همچنین

Nk=n=1Nrnk

در نهایت داریم:

lnq*(μk,Λk)=lnp(μk,Λk)+n=1NE[znk]ln𝒩(𝐱n|μk,Λk1)+constant

می توان نتیجه کلی را به اینصورت نوشت:

q*(μk,Λk)=𝒩(μk|𝐦k,(βkΛk)1)𝒲(Λk|𝐖k,νk)

که دارای پارامترهای زیر است:

βk=β0+Nk𝐦k=1βk(β0𝐦0+Nk𝐱¯k)𝐖k1=𝐖01+Nk𝐒k+β0Nkβ0+Nk(𝐱¯k𝐦0)(𝐱¯k𝐦0)Tνk=ν0+NkNk=n=1Nrnk𝐱¯k=1Nkn=1Nrnk𝐱n𝐒k=1Nkn=1N(𝐱n𝐱¯k)(𝐱n𝐱¯k)T
Eμk,Λk[(𝐱nμk)TΛk(𝐱nμk)]=Dβk1+νk(𝐱n𝐦k)T𝐖k(𝐱n𝐦k)lnΛ~kE[ln|Λk|]=i=1Dψ(νk+1i2)+Dln2+ln|Λk|lnπ~kE[ln|πk|]=ψ(αk)ψ(i=1Kαi)
rnkπ~kΛ~k1/2exp{D2βkνk2(𝐱n𝐦k)T𝐖k(𝐱n𝐦k)}

با اجرای پی در پی مراحل بروز رسانی می توان مدل را آموزش داد:

  1. محاسبه ی rnk با استفاده از سایر پارامترها(E-step).
  2. محاسبه ی rnk با استفاده از سایر پارامترهای(M-step).

منابع

الگو:پانویس

پیوند به بیرون

  1. الگو:یادکرد وب
  2. Pattern Recognition and Machine Learning by کریستوفر بیشاپ بر اساس فصل دهم