من مجموعه جدیدی از مقالات وبلاگ را به دنبال یک رویکرد دوستانه مبتدی برای درک برخی از مفاهیم چالش برانگیز در یادگیری ماشین شروع می کنم. برای شروع ، ما با واگرایی KL شروع خواهیم کرد.
کد: اینجا
مقالات دیگر این سری را می توان در زیر یافت.
a b c d * e f g * h i j k l * m n o p q r s t u v w x y z z
* مقالاتی را در پشت Paywall متوسط نشان می دهد
مبنای مفهوم
اول از همه اجازه دهید برخی از قوانین اساسی را بنا کنیم. ما مواردی را که باید مانند پشت دستان خود بدانیم تعریف خواهیم کرد تا واگرایی KL را درک کنیم.
توزیع چیست
با توزیع ما به موارد مختلفی مانند توزیع داده ها یا توزیع احتمال اشاره می کنیم. در اینجا ما به توزیع احتمال علاقه مندیم. تصور کنید که شما دو محور (یعنی x و y) را روی کاغذ ترسیم کرده اید ، دوست دارم توزیع را به عنوان یک نخ که بین دو محور فرو رفته است تصور کنم. x و yX بیانگر مقادیر مختلفی است که شما علاقه مند به دستیابی به احتمالات برای آن هستید. y احتمال مشاهده مقداری در محور x (یعنی y = p (x)) را نشان می دهد. من این را در زیر تجسم می کنم.
این یک توزیع احتمال مداوم است. به عنوان مثال ، محور X را به عنوان ارتفاع یا انسان و y به عنوان احتمال پیدا کردن شخص با آن ارتفاع فکر کنید.
اگر می خواهید این توزیع احتمال را گسسته کنید ، این نخ را به قطعات طول ثابت برش می دهید و قطعات را به گونه ای تبدیل می کنید که افقی هستند. و سپس مستطیل هایی را ایجاد کنید که لبه های هر قطعه نخ و محور x را به هم وصل کنید. این یک توزیع احتمال گسسته است.
یک رویداد چیست؟
برای توزیع احتمال گسسته ، یک رویداد این است که شما X را مشاهده می کنید که مقداری مقدار (به عنوان مثال x = 1). بگذارید با P (x = 1) احتمال رویداد x = 1 تماس بگیریم. در فضای مداوم می توانید از این به عنوان طیف وسیعی از مقادیر فکر کنید (به عنوان مثال 0. 95
بازگشت به kl واگرایی
برای ادامه از این نقطه به بعد ، من با فروتنی از نمونه ای که در این پست وبلاگ موجود است استفاده می کنم [1]. این یک پست عالی است که در مورد واگرایی KL توضیح می دهد ، اما احساس می کنید برخی از پیچیدگی ها در توضیحات را می توان با جزئیات بیشتری توضیح داد. خوب بیایید وارد آن شویم.
مشکلی که ما سعی در حل آن داریم
بنابراین مهمترین مسئله ای که در [1] حل می شود این است که ، ما گروهی از دانشمندان هستیم که از فضای بیرونی وسیع بازدید می کنند و برخی از کرم های فضایی را کشف کردیم. این کرم های فضایی تعداد دندان های مختلفی دارند. اکنون باید این اطلاعات را به زمین ارسال کنیم. اما ارسال اطلاعات از فضا به زمین گران است. بنابراین ما نیاز به ارائه این اطلاعات با حداقل مقدار اطلاعات داریم. یک راه عالی برای انجام این کار این است که به جای ضبط شماره های فردی ، ما یک نقشه را ترسیم می کنیم که محور x تعداد مختلفی از دندان ها مشاهده شده است (0،1،2 ، ... و غیره) و محور Y را احتمال دیدن قرار می دهدکرم با X بسیاری از دندان ها (یعنی تعداد کرم هایی با دندان X / تعداد کل کرم ها). ما مشاهدات خود را به توزیع تبدیل کرده ایم.
این توزیع از ارسال اطلاعات در مورد کرم های فردی کارآمد است. اما ما می توانیم بهتر عمل کنیم. ما می توانیم این توزیع را با یک توزیع شناخته شده (به عنوان مثال یکنواخت ، دوتایی ، عادی و غیره) نشان دهیم. به عنوان مثال ، اگر ما توزیع واقعی را با توزیع یکنواخت نشان دهیم ، فقط برای بازیابی داده های واقعی باید دو قطعه اطلاعات را ارسال کنیم. احتمال یکنواخت و تعداد کرم ها. اما چگونه می دانیم کدام توزیع توزیع واقعی را بهتر توضیح می دهد؟خوب این جایی است که واگرایی KL وارد می شود.
شهود: واگرایی KL راهی برای اندازه گیری تطبیق بین دو توزیع است (به عنوان مثال موضوعات)
بنابراین ما می توانیم از واگرایی KL استفاده کنیم تا اطمینان حاصل کنیم که توزیع واقعی را با برخی از توزیع های S Imple-to-Explain و مشهور به خوبی مطابقت می دهیم.
بیایید چند مورد را در مثال تغییر دهیم
برای اینکه بتوانیم صحت عددی را بررسی کنیم ، اجازه دهید مقادیر احتمال را به مقادیر دوستانه انسانی تر تغییر دهیم (در مقایسه با مقادیر مورد استفاده در [1]). موارد زیر را فرض خواهیم کرد. بگویید ما 100 کرم داریم. و ما انواع کرم ها را در مقادیر زیر داریم.
- 0 دندان: 2 (احتمال: P0 = 0. 02)
- 1 دندان: 3 (احتمال: P1 = 0. 03)
- 2 دندان: 5 (احتمال: P2 = 0. 05)
- 3 دندان: 14 (احتمال: P3 = 0. 14)
- 4 دندان: 16 (احتمال: P4 = 0. 16)
- 5 دندان: 15 (احتمال: p5 = 0. 15)
- 6 دندان: 12 (احتمال: P6 = 0. 12)
- 7 دندان: 8 (احتمال: P7 = 0. 08)
- 8 دندان: 10 (احتمال: P8 = 0. 1)
- 9 دندان: 8 (احتمال: P9 = 0. 08)
- 10 دندان: 7 (احتمال: P10 = 0. 07)
بررسی سریع عقل! بیایید اطمینان حاصل کنیم که مقادیر به 100 اضافه می شوند و احتمال آن به 1. 0 اضافه می شود.
کرم های کل = 2+3+5+14+16+15+12+8+10+8+7 = 100 احتمال کل = 0. 02+0. 03+0. 05+0. 14+0. 16+0. 15+…. 0. 12+0. 08+0. 1+0. 08+0. 07 = 1. 0
در اینجا بصری به نظر می رسد.
ابتدا سعی کنید: این را با توزیع یکنواخت مدل کنید
اکنون که از راه خارج است ، ابتدا سعی کنیم این توزیع را با توزیع یکنواخت مدل کنیم. توزیع یکنواخت فقط یک پارامتر واحد دارد. احتمال یکنواخت ؛احتمال وقوع یک رویداد خاص.
p_uniform = 1/کل حوادث = 1/11 = 0. 0909
این همان چیزی است که توزیع یکنواخت و توزیع واقعی در کنار هم به نظر می رسد.
بگذارید این نتیجه را کنار بگذاریم و توزیع واقعی را با نوع دیگری از توزیع ها مدل می کنیم.
سعی کنید: این را با توزیع دوتایی مدل کنید
شما احتمالاً از طریق محاسبه احتمالات فرود سکه روی سر آن ، با احتمال دوتایی آشنا هستید. ما می توانیم همان مفهوم را برای مشکل خود گسترش دهیم. برای یک سکه ، شما دو خروجی احتمالی دارید و با فرض احتمال فرود سکه روی سر آن P است و شما این آزمایش را برای آزمایشات N انجام می دهید ، احتمال دریافت موفقیت های K توسط ،
تجزیه معادله
بیایید یک سفر جانبی انجام دهیم و هر اصطلاح را در توزیع دوتایی درک کنیم و ببینیم که آیا آنها منطقی هستند. اصطلاح اول p^k است. ما می خواهیم موفقیت های K را بدست آوریم ، جایی که احتمال یک موفقیت واحد P است. سپس احتمال موفقیت K P^k است. به یاد داشته باشید که ما آزمایش را برای آزمایشات N انجام می دهیم. بنابراین ، آزمایشات شکست خورده N-K وجود خواهد داشت ، با احتمال شکست (1-P). بنابراین احتمال کسب موفقیت K احتمال مشترک p^ k (1-p)^ است. کار ما به اینجا پایان نمی یابد. مجوزهای مختلفی وجود دارد که آزمایشات K می تواند در آزمایشات N انجام شود. تعداد مجوزهای مختلف k که در فضاهای N ترتیب داده می شوند ، توسط ،
ضرب همه اینها با هم احتمال دوتایی موفقیتهای K را به ما می دهد.
میانگین و واریانس توزیع دوتایی
ما همچنین می توانیم میانگین و واریانس برای توزیع دوتایی را تعریف کنیم. اینها توسط ،
میانگین = واریانس NP = NP (1-P)
میانگین چه چیزی را منعکس می کند؟میانگین تعداد موفقیتهای مورد انتظار (میانگین) موفقیتهای شما در صورت انجام آزمایشات N است. اگر هر محاکمه احتمال موفقیت P را داشته باشد ، منطقی است که بگوییم در صورت انجام آزمایشات N ، موفقیت های NP را دریافت خواهید کرد. بعد واریانس چه چیزی را نشان می دهد. این نشان می دهد که تعداد واقعی آزمایشات موفقیت برای انحراف از مقدار متوسط چقدر است. برای درک واریانس ، اجازه دهید n = 1 را فرض کنیم. سپس معادله ، واریانس = P (1-P) است. شما بالاترین واریانس را در هنگام P = 0. 5 (هنگامی که به همان اندازه احتمال دارد سر و دم را بدست آورید) و کمترین هنگام P = 1 یا P = 0 (هنگامی که مطمئناً سر/دم می گیرید) دارید.
بازگشت به مدل سازی
اکنون با درک کاملی در مورد توزیع دوتایی ، اجازه دهید مارپیچ به مشکل خود برگردیم. بگذارید ابتدا تعداد مورد انتظار دندان ها را برای کرم ها محاسبه کنیم. این خواهد بود ،
با میانگین شناخته شده ، می توانیم P را در کجا محاسبه کنیم ، میانگین = NP 5. 44 = 10p P = 0. 544
توجه از n حداکثر تعداد دندان های مشاهده شده از جمعیت کرم ها است. ممکن است بپرسید که چرا ما N را به عنوان تعداد کل کرم ها (یعنی 100) یا تعداد کل رویدادها (یعنی 11) انتخاب نکردیم. ما به زودی دلیل را خواهیم دید. با این کار ، ما می توانیم احتمالات هر تعداد دندان را به شرح زیر تعریف کنیم.
با توجه به اینکه دندان ها می توانند مقادیر تا 10 را بگیرند ، احتمال دیدن دندان K چیست (جایی که دیدن دندان یک آزمایش موفقیت آمیز است).
از منظر تلنگر سکه ، این مانند پرسیدن است ،
با توجه به اینکه من 10 تلنگر دارم ، احتمال مشاهده سرهای K چیست.
به طور رسمی ، ما احتمال pk^ را برای تمام مقادیر مختلف k محاسبه می کنیم. در اینجا k به تعداد دندان هایی که می خواهیم مشاهده کنیم تبدیل می شود. و pk^ احتمالات دوتایی برای سطل k the دندان است (یعنی 0 دندان ، 1 دندان و غیره). بنابراین وقتی آنها را به شرح زیر محاسبه می کنیم ،
این همان چیزی است که بین توزیع واقعی و توزیع دوتایی به نظر می رسد.
بیایید آنچه را که داریم خلاصه کنیم
اوکی ، به عقب برگردید و به آنچه تاکنون انجام داده ایم تأمل کنید. ابتدا مشکلی را که می خواهیم حل کنیم درک کردیم. مشکل ارسال آمار دندان های نوع خاصی از کرم های فضایی در فضا با حداقل تلاش است. برای همین فکر کردیم که آمار واقعی کرم ها را با توزیع شناخته شده نشان دهیم ، بنابراین می توانیم به جای آمار واقعی ، پارامتر آن توزیع را ارسال کنیم. ما به دو نوع توزیع نگاه کردیم و به آمار زیر رسیدیم.
* توزیع یکنواخت - با احتمال 0. 0909 * توزیع دوتایی - با N = 10 ، P = 0. 544 و K مقادیر مختلف بین 0 تا 10
حالا بیایید همه چیز را در یک مکان تجسم کنیم
چگونه می توانیم به طور کمی تصمیم بگیریم کدام یک بهترین است؟
اکنون با تمام این محاسبات فانتزی ، ما به راهی برای اندازه گیری تطبیق بین هر توزیع تقریبی و توزیع واقعی نیاز داریم. این مهم است ، به طوری که ، وقتی اطلاعات را از طریق آن ارسال می کنیم ، می توانیم بدون نگرانی در مورد این سؤال "آیا من به درستی انتخاب کردم؟"برای بقیه زندگی ما
اینجاست که واگرایی KL وارد می شود. واگرایی KL به طور رسمی به شرح زیر تعریف می شود.
در اینجا Q (x) تقریب است و p (x) توزیع واقعی است که ما علاقه مند به تطبیق q (x) هستیم. به طور شهودی این میزان توزیع خودسرانه از توزیع واقعی را اندازه گیری می کند. اگر دو توزیع کاملاً مطابقت داشته باشد ، D_ (P || q) = 0 در غیر این صورت می تواند مقادیر بین 0 و ∞ را بگیرد. مقدار واگرایی KL را پایین بیاورید ، بهتر است توزیع واقعی را با تقریب خود مطابقت دهیم.
تجزیه بصری واگرایی KL
بیایید به قطعه واگرایی KL نگاه کنیم. ابتدا جزء log (p (x_i)/q (x_i)) را بگیرید. چه اتفاقی می افتد اگر q (x_i) بالاتر از p (x_i) باشد؟سپس این مؤلفه یک مقدار منفی تولید می کند (زیرا ورود به سیستم کمتر از 1 مقدار منفی است). از طرف دیگر اگر q (x_i) همیشه از p (x_i) کوچکتر باشد ، این مؤلفه مقادیر مثبتی تولید می کند. این تنها در صورت صفر (x_i) = q (x_i) صفر خواهد بود. سپس برای ساختن این مقدار مورد انتظار ، مؤلفه ورود به سیستم را با P (x_i) وزن می کنید. این بدان معنی است که ، مناطقی که در آن P (X_I) احتمال بالاتری داشته باشد از مهمتر از مناطق تطبیق با احتمال کم P (X_I) است.
به طور شهودی منطقی است که اولویت را برای مطابقت صحیح با وقایع واقعاً بسیار محتمل در تقریب فراهم کنیم. از نظر ریاضی ، این به شما امکان می دهد به طور خودکار مناطقی از توزیع را که خارج از پشتیبانی است ، نادیده بگیرید (پشتیبانی طول کامل در محور x است که توسط توزیع استفاده می شود) توزیع واقعی. علاوه بر این ، این امر از محاسبه ورود به سیستم (0) که در صورت تلاش برای محاسبه مؤلفه ورود به سیستم برای هر منطقه ای که خارج از پشتیبانی توزیع واقعی باشد ، محاسبه می شود.
محاسبه واگرایی KL
بگذارید اکنون واگرایی KL را برای هر یک از توزیع های تقریبی که با آنها آمده ایم محاسبه کنیم. ابتدا بگذارید توزیع یکنواخت را بگیریم.
اکنون برای توزیع دوتایی که می گیریم ،
واگرایی Kl با توجه به میانگین دوتایی
بیایید اکنون با KL واگرایی بازی کنیم. ابتدا خواهیم دید که چگونه واگرایی KL با تغییر احتمال توزیع دوتایی تغییر می کند. متأسفانه ما با توزیع یکنواخت نمی توانیم همین کار را انجام دهیم زیرا نمی توانیم احتمال ثابت بودن N را تغییر دهیم.
می بینید که همانطور که ما از انتخاب خود دور می شویم (نقطه قرمز) ، واگرایی KL به سرعت افزایش می یابد. در حقیقت ، اگر برخی از مقادیر واگرایی KL را به دور از انتخاب ما چاپ کنید ، خواهید دید که انتخاب ما از احتمال موفقیت حداقل واگرایی KL را به شما می دهد.
اکنون به پایان بحث و گفتگو در مورد واگرایی KL می رسیم.
نتیجه
اکنون ما نتایج کاملی داریم ، هرچند که توزیع یکنواخت به نظر می رسد ساده و بسیار آگاهانه است که در آن توزیع دوتایی دارای ظرافت بیشتری است ، توزیع یکنواخت با توزیع واقعی بهتر از توزیع دوتایی مطابقت دارد. صادقانه بگویم ، این نتیجه در واقع من را غافلگیر کرد. از آنجا که من انتظار داشتم که Binomial توزیع واقعی را بهتر مدل کند. بنابراین ، این امر مهمتر از این را به ما می آموزد که چرا نباید به غریزه های خود اعتماد کنیم!
سرگرمی با واگرایی KL
برای درک بهتر واگرایی KL می توانید سرگرم کننده تر در مورد بازی با واگرایی KL باشید. می توانید اطلاعات بیشتر در مورد این را در پست وبلاگ من بخوانید.
ارجاع
توجه: لطفاً با ارسال مطالب بیشتر یادگیری ماشین در آنجا ، به وب سایت من بروید و پرداخت کنید.
نکته کوچک: من خوشحالم که اعلام کردم ، کتاب من در مورد پردازش زبان طبیعی با TensorFlow منتشر شده است و برای گرفتن آن آماده است! این کتاب برای خوانندگان سطح مبتدی/میانی ایده آل است که به دنبال یک دیدگاه عملی از راه حل های مدرن مبتنی بر یادگیری عمیق هستند. این کتاب با تمرینات هدایت خواننده برای اجرای انواع برنامه های NLP همراه است. می توانید آن را در وب سایت Packt یا آمازون پیدا کنید.
خبرهای فارکس...
ما را در سایت خبرهای فارکس دنبال می کنید
برچسب : نویسنده : شهره لرستانی بازدید : 22 تاريخ : سه شنبه 24 مرداد 1402 ساعت: 11:40