تقریب میدان متوسط

mean field روشی برای تخمین زدن یک میدان های تصادفی مارکوف (به انگلیسی: Markov Random Fields) پیچیده است.http://www.cs.cmu.edu/~epxing/Class/10708-07/Slides/lecture17-MeanField.pdf

برای یک توزیع احتمال شرطی، با یک گراف پیچیده،محاسبه ی احتمال حاشیه (به انگلیسی: Marginal) متغیر تصادفی دلخواه، کاری بسیار دشوار و غیر قابل حل است.

در یادگیری ماشین های مدرن، استنتاج تنوع (بیزی) (به انگلیسی: Bayes variation) اغلب برای استنتاج کردن توزیع های شرطی برای متغیرهای پنهان با توجه به مشاهدات (و پارامترها) استفاده می شوند. همچنین به عنوان توزیع پیشین متغیرهای پنهان نیز شناخته شده است. توزیع پیشین به صورت زیر تعریف می‌شود:

p(z|x,a)=p(x,z|a)/\int_{K}^{} p(z,x|a)\, dx

برای توزیع های شرطی اغلب از روش های استنتاج های تقریبی استفاده می شود، چرا که محاسبه ی مستقیم احتمالات پیشین برای بسیاری از مدل ها امکان پذیر نیست.https://www.cs.cmu.edu/~epxing/Class/10708-17/notes-17/10708-scribe-lecture13.pdf ایده‌ی اصلی پشت این کار، انتخاب یک گروه از توزیع‌ها روی متغیرهای پنهان (zها) است. هر کدام از z ها مجموعه‌ای از variational parameter های مربوط به خود را دارد. سپس پارامترهایی که قابل تخمین زدن باشند و حاصل را به توزیع‌های پیشین نزدیک می‌کنند محاسبه می‌شوند. برای این کار از الگوریتم‌های بهینه‌سازی استفاده می‌شود. در واقع استنتاج احتمالاتی به‌عنوان یک مسئله‌ی بهینه‌سازی در نظر گرفته می‌شود:

F^*=argmax_f F(f)

که در آن f یک توزیع احتمال قابل ردیابی یا راه‌حلی برای نمایش برخی از پرسمان‌های احتمالاتی، است.
## پدیده کولبک-لیبلر
نزدیک بودن دو توزیع را با کولبک لیبر (به انگلیسی: Kullback-Leibler) اندازه‌گیری می‌کنند و به صورت زیر تعریف می‌شود:

KL(q||p)=\int_{z}^{} q(z)log(q(z)/p(z|x))\, dz=E[log(q(z)/p(z|x))]

در اینجا 3 حالت اهمیت زیادی دارند:
* اگر p و q هر دو زیاد باشند‌، واگرایی کم است و این اتفاق خوبی است.
*اگر q زیاد باشد و p کم، واگرایی بالا است و در هر حال باید هزینه‌ای پرداخت شود.
*اگر q کم باشف، واگرایی پایین است و از p صرف نظر می‌شود.
عموما منطقی‌تر است تا (KL(p||q در نظر گرفته شود، اما به دلایل محاسباتی این کار انجام نمی‌شود.
## مدارک پایین‌تر
برای انجام استنتاج تنوع، به‌دنبال به حداقل رساندن واگرایی KL بین q و p هستند. در اینجا p توزیع پیشین اصلی و q مقدار تقریب زده‌ی آن است.با این حال نمی‌توان مستقیما این مقدار را به حداقل رساند. اما می‌توان تابعی معادل با آن را به کمترین مقدار خود رساند. این تابع به‌عنوان مدارک پایین‌تر (به انگلیسی: Evidence Lower Bound) یا ELBO شناخته می‌شود.
برای بدست آوردن ELBO، نابرابری یانسیس (به انگلیسی: Jansens) برای متغیر تصادفی X به صورت زیر تعریف می‌شود:

f(E[x]) \ge E[f(x)]

نابرابری یانسیس بر روی لگاریتم احتمال حاشیه‌ای مشاهدات برای بدست آوردن ELBO، اعمال می‌شود:

 \log p(x) = \log \int_{z}^{} p(x,z)\, dz
= \log \int_{z}^{} p(x,z)\dfrac{q(z)}{q(z)}\, dz
=\log (E_q \dfrac{p_{(x,z)}}{q_{(z)}})\ge E_q[\log (x,z)]-E[\log q(z)]

با کمک روابط فوق، نتیجه که حاصل می‌شود یک رابطه برای یک مدل احتمالاتی مثل (p(x,z و تقریب (q(z از توزیع پیشین، است:

E_q[\log (x,z)]-E[\log q_{(z)}]

مقدار حاصل از این رابطه‌، کوچکتر و یا مساوی شاهد(به انگلیسی: evidence) که همان لگاریتم احتمال حاشیه‌ای مشاهدات است می‌شود. این رابطه نسبت به qz بهینه می‌شود تا یک تقریب مطلوب حاصل شود.
حائز اهمیت است که:
*برای انجام محاسبات لازم است تا یک گروه از توزیع‌های متنوع انتخاب شوند.
*یکی دیگر از معیارهای سنجش نظریه‌ی اطلاعات، آنتروپی است.
*در استنتاج تنوع (به انگلیسی: variational inference)، پارامترهایی پیدا می‌شوند که ELBO که را به حداقل می‌رسانند.
## میدان متوسط
میدان متوسط (به انگلیسی: mean field) یکی از الگوریتم‌ها برای تقریب استنتاج احتمالات است.
در این نوع از استنتاج فرض می شود که توزیع تنوع (به انگلیسی: Bayes variation) در متغیرهای پنهان به صورت زیر فاکتوریزه میشوند:

q(z1,...,zm)=\prod_{i=1}^N q(z_j)

در این رابطه به (q(z تقریب تنوع (به انگلیسی: variational approximate) برای یک متغیر و یا "تقریب تنوع محلی" می‌گویند.
این تنظیم نسبتا عمومی است، اما می‌توان متغیرهای پنهان z1,...,zm را به R تا گروه zG1,...,zGr تقسیم کرد و از تقریب استفاده کرد:

q(z_1,...,z_m)=q(z_{G1},...,z_{Gr})=\prod_{r=1}^R q(z_{Gr})

از آنجایی که متغیرهای پنهان به‌ هم وابسته هستند، عموما این تقریب مقدار دقیق توزیع پیشین را نمی‌دهد. به طور مثال در بیزین‌ها (ترکیبی از چندین مدل گوسی) همه‌ی برچسب‌های خوشه‌ها به یکدیگر وابسته هستند.
## بهینه‌سازی مدارک پایین‌تر در میدان متوسط
در مرحله‌ی بینه‌سازی در ابتدا هر (q(z تخمین زده می‌شود، این در حالی است که بقیه‌ی متغیرها ثابت فرض شده‌اند. برای تخمین معمولا از روش بهینه‌سازی هم‌پایه‌ی صعودی (به انگلیسی: coordinate ascent optimization) استفاده می‌شود. اما می‌توان از روش‌های دیگری مانند گرادیان نزولی نیز استفاده کرد. برای این کار باید مراحل زیر انجام شود:
*1-محاسبه احتمالات به کمک قاعده‌ی زنجیره‌ای (به انگلیسی: chain rule) :

p(z_{1:m},x_{1:m})=p(x_{1n})\prod_{j=1}^m p(z_j|z_{1(j_1)},x_{1n})

*2-تجزیه‌ی آنتروپی ELBO به کمک متوسط تقریبی تغییرات زمینه (به انگلیسی: mean field variational approximation):

E_q[\log (q_{1:m})]=\sum_{j=1}^m E_{qj}[\log q_j]

*3-با استفاده از دو رابطه‌ی فوق می‌توان \ell \; ELBO را به صورت زیر تجزیه کرد:

E_q[\log p(x,z)]-E_q[\log q(z)]

\ell \;=\log p(x_{1:n
})+\sum_{j=1}^m E_q[\log p(z_j|z_{1:(j-1),x_{1:n}})]-E_{qj}[\log q(z_j)]

### معرفی چند اصطلاح
*رابطه‌ی زیر احتمال شرطی برای متغیرهای پنهان را نشان می‌دهد. در این رابطه (-j) نشان دهنده‌ی همه‌ی شاخص‌ها به جز j است.

p(z_j|z_1,...,z_{j-1},z_j,...,z_m,x)=p(z_j|z_{-j},x)

*این رابطه در واقع نشان‌دهنده‌ی احتمال پیشین zj به شرط همه‌ی متغیرهای پنهان و مشاهدات است.
*احتمال پیشین شرطی در میدان متوسط بسیار مهم است و همچنین در الگوریتم‌های استنتاجی که از آن استفاده می‌کنند (مانند نمونه‌برداری گیبز (به انگلیسی: Gibbs sampling)) نیز اهمیت زیادی دارد.
قدم بعدی بهینه کردن \ell \; است. در این مرحله، قسمت‌هایی که به q(zj) وابسته نیستند، حذف می‌شوند:

argmax_{qj}(\int_{}^{} q_{(zj)} E_{q-j} [ \log p(z_j|z_{-j},x)]\, dz_j-\int_{}^{} q(z_j) \log q(z_j)\, dz_j)

برای بدست آوردن بیشینه‌ی این عبارت با استفاده از لاگرانژ ضرب کننده (به انگلیسی: Lagrange multipliers) از آن نسبت به (q(zj مشتق گرفته می‌شود و جواب حاصل را برابر با صفر قرار داده می‌شود:

	\frac{d\ell \;_j}{d_q(z_j)}=E_{q-j}[\log p(z_j|z_{-j},x)] - \log q(z_j) - 1 = 0

مرحله‌ی بعدی به روزرسانی است:

q^*(z_j) \propto exp ( E_{q-j}[ \log p(z_j|z_{-j},x)] ) 

از آنجایی که معین کننده‌ی شرطی (به انگلیسی: denominator of the conditional) به zj وابسته نیست می‌توان آن را به صورت زیر نوشت:

q^*(z_j) \propto exp(E_{q-j}[\log p(z_j,z_{-j},x)])

نتیجه‌ی حاصل از این بهینه‌سازی می‌تواند به بهینه‌ی محلی همگرا شود.

## منابع