آنچه باید در مورد آنتروپی، آنتروپی متقاطع و باینری متقاطع، واگرایی KL بدانید

  • 2021-05-21

آنتروپی نشان‌دهنده میزان «محتوای اطلاعات» است که در نتیجه وجود دارد - با این وجود که به ما منتقل می‌شود. این یک معیار کمی از محتوای اطلاعاتی است، یا به عبارت دیگر - عدم قطعیت، مرتبط با رویداد.

    ماهندران ونکاتاچلام
  • 20 سپتامبر 2019

آنتروپی

تعریف آنتروپی (شانون) در نگاه اول برای من شهودی نبود. باید کمی انتزاعی می‌شد تا معنای آن را بفهمیم. در اینجا یک جریان توضیحی وجود دارد که ممکن است برای برخی از شما برای رسیدن به آن مفید باشد.

ماشین پرتاب سکه را تصور کنید که یک سکه را پرتاب می کند و سیگنالی را ارسال می کند که نشان می دهد نتیجه پرتاب چه بوده است. برای یک سکه منصفانه، دو نتیجه ممکن با احتمال مساوی 0. 5 وجود دارد. ماشین به چند بیت اطلاعات برای انتقال نتیجه نیاز دارد؟خوب این 1 است. برای سرها 0 و برای دم 1 بگویید. به عبارت دیگر، برای تعیین نتیجه به چند سوال باینری (بله/خیر) نیاز داریم؟این 1 است، پاسخ به "سرها بود؟"به ما خواهد گفت که نتیجه چه بوده است.

شکل 1: مثال پرتاب سکه عادلانه

تصور کنید دو سکه پرتاب می شوند. چهار نتیجه ممکن (hh، ht، th، tt) با احتمالات برابر 0. 25. در این مورد، برای اینکه بدانیم چه اتفاقی افتاده است، به دو بیت یا سؤال باینری (00، 01، 10، 11) نیاز داریم. برای سه سکه، 3 و غیره می شود.

شکل 2: نمونه پرتاب دو سکه

So what is this “No. of bit” number? This is the minimum number of bits needed to convey the outcome of the coin toss. A coin toss machine with one coin, will require to send one bit (0 or 1) to the receiver to communicate what was the output of a given toss. Similarly, two and three coin toss machines will have to send 2 and 3 bits respectively to communicate the output. Using the definition of “log”, this number is also the binary log of the possible outcomes. i.e, ex: 2 power 3 = 8 =>8 نتیجه ممکن به 3 بیت باینری برای نمایش نتیجه نیاز دارد. این همچنین "آنتروپی" برای رویداد است.

شکل 3: آیا آنتروپی گزارش باینری تعداد نتایج ممکن است؟

بنابراین آیا آنتروپی حداقل تعداد بیت هایی است که برای برقراری ارتباط یک نتیجه نیاز داریم؟خوب، نه کاملاً، اما این مکان بدی برای شروع نیست. این سناریو را تصور کنید: اگر نتایج پرتاب سکه به یک اندازه محتمل نباشد چه؟اگر از سکه ها به گونه ای استفاده کنیم که همیشه روی سر فرود آید، چه؟یعنی احتمال سرها 1 و دم ها 0 است. خوب، پس دستگاه همیشه یک "1" ارسال می کند. چیزی نیست که از آن سیگنال یاد بگیریم.

و چه می‌شود اگر - در مثال دو سکه پرتاب، احتمالات برابر نباشند؟مانند تصویر زیر، می‌توانیم یک طرح کدگذاری برای نمایش خروجی‌ها به گونه‌ای ارائه کنیم که برای نتایج مختلف متفاوت باشد. ما واقعاً نمی‌توانیم «گزارش باینری نتایج ممکن» را اعمال کنیم، زیرا هنوز چهار نتیجه ممکن وجود دارد، اما به همان اندازه محتمل نیست و بنابراین «2 بیت» به طور کلی مورد نیاز نیست.

شکل 4: مثال چهار احتمال غیرمحتمل

در اینجا جایی است که ما باید روش تعریف آنتروپی را کمی تنظیم کنیم. آنچه ما واقعاً به آن علاقه مندیم ، این نیست که چند بیت داده برای برقراری ارتباط با نتایج نیاز داریم ، بلکه این است که "چقدر اطلاعاتی را که واقعاً از آنچه ارتباط برقرار شده است" می آموزیم ، صرف نظر از بیت های فیزیکی واقعی که برای برقراری ارتباط استفاده می شود.

به عبارت دیگر ، ما می خواهیم آنتروپی نشان دهد که "محتوای اطلاعات" در نتیجه چقدر وجود دارد - اما به ما ابلاغ می شود. ما می خواهیم این یک اندازه گیری کمی از محتوای اطلاعاتی باشد که با عدم قطعیت مرتبط با این رویداد همراه است. این "0" خواهد بود ، به این معنی که "من هیچ چیز یاد نگرفتم" یا "من در مورد نتیجه کاملاً مطمئن بودم" ، برای یک سکه مغرضانه که همیشه سر خود را برطرف می کند. و یک "1" برای یک نتیجه سکه منصفانه ، به معنای "من چیزهای زیادی آموخته ام" یا "من در مورد آن نامشخص هستم" یک خروجی سکه منصفانه ، زیرا می تواند سر یا دم باشد. این عدم اطمینان یا محتوای اطلاعات همان چیزی است که توسط آنتروپی اندازه گیری می شود.

در حالی که به نوعی ، این ممکن است در مورد تعداد بیت های مورد نیاز برای برقراری نتیجه ، یک نظر نظری به ما بدهد - اجازه ندهیم خودمان را با این موضوع به عنوان پایه تعریف محدود نکنیم. بیت ها به طور کامل آمده اند - "نیمی از کمی" وجود ندارد. اما تعریف تازه شده ما از آنتروپی اندازه گیری "اخبار" در ارتباطات است. بنابراین شبیه به سایر اقدامات مانند مساحت ، طول ، وزن و غیره ، مداوم است و می تواند هر تعداد یا کسری باشد. این خاصیت شماره 1 آنتروپی است.

ما به نمونه های شکل 1 و شکل 2 باز خواهیم گشت تا یک ویژگی دیگر برای این اندازه گیری معرفی شود. هنگامی که ما با رویدادهایی که حاوی نتایج به همان اندازه احتمالی هستیم ، سر و کار داریم ، این اندازه گیری باید با تعداد نتایج احتمالی افزایش یابد. شکل 1 دارای آنتروپی بیت "1" بود و شکل 2 دارای بیت "2" و غیره است. این خاصیت شماره 2 آنتروپی است.

نکته جانبی: چنین مواردی به همان اندازه احتمالی که تعداد نتایج احتمالی قدرت 2 است ، واقع بینانه مکانهایی هستند که می توانیم از حد نظری "آنچه من آموخته ام ، یعنی آنتروپی اطلاعات" = "نه. بیت های مورد نیاز برای برقراری نتیجه ". در بسیاری از موارد دیگر ، این "کوتاهترین کد" فقط به یک حد نظری تبدیل می شود و در واقعیت ، بیت های بیشتری از اطلاعات موجود در پیام برای برقراری ارتباط نتایج این رویداد لازم است.

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

شکل 5: سه نمونه غیرمستقیم

با بازگشت به تعیین چند سؤال باینری که باید نتیجه بگیریم ، ابتدا می توانیم بپرسیم "آیا نتیجه X1 است؟"- این شبیه به گروه بندی X1 در یک و x2 ، x3 به دیگری است. هر دو گروه احتمال برابر بودن نتایج را دارند (احتمال X1 = 50 ٪ = مجموع احتمالات X2 و X3 = 33. 33 ٪ + 16. 66 ٪). اگر جواب "نه" است ، می توانیم بپرسیم "آیا X2 است؟و این همان است ، حداکثر سؤالاتی که باید از آنها بپرسیم برای تعیین نتیجه 2 است.

نمایندگی بیت معادل برای این "یک سؤال همه من است که اگر نتیجه X1 باشد و دو مورد حداکثر است که باید در غیر این صورت بپرسم" در تصویر جدول ارائه شده است. شکل 6 در زیر یک نمای درخت باینری از همان ارائه می دهد. بر خلاف مثالهای قبلی ، در این مثال غیر احتمالی ، ممکن است متوجه شوید که شماره. بیت های مورد نیاز برای نشان دادن نتایج با نتیجه متفاوت است. استفاده از بیت اول یا سؤال برای تعیین اینکه آیا احتمالی نتایج رخ داده است ، اگر بخواهیم سؤال کمتری یا کمتر از بیت های کمتر بپرسیم برای نشان دادن نتایج چنین منبعی معقول است.

این ما را به سمت ویژگی شماره 3 آنتروپی سوق می دهد. اگر یک انتخاب را می توان به دو گزینه پی در پی تقسیم کرد - یعنی انتخاب بین x1 ، x2 ، x3 در مثال بالا به انتخاب بین (x1) و (x2 ، x3) تقسیم شد - سپس آنتروپی اصلی باید جمع وزنی باشدآنتروپی های فردی برای گروه ها. به عبارت دیگر ، کل آنتروپی مورد انتظار در گره ای از نمای درخت باینری = مجموع وزنه برداری آنتروپی ها از دو گره کودک ، که در آن وزن احتمال اینکه گره خاص کودک صحیح باشد ، وجود دارد.

شکل 6: از "یک تئوری ریاضی ارتباطات" توسط C. E. Shannon

بنابراین چگونه می توانیم این اندازه گیری را تعریف کنیم؟بیایید به تعریف "باینری نتایج احتمالی" برگردیم-که دیدیم برای نتایج غیرقانونی احتمالی صادق نیست. اگر در مورد آن فکر کنید ، تعداد نتایج احتمالی در یک رویداد با نتایج به همان اندازه احتمالی همان معکوس احتمال است. یعنی در یک سکه سکه ، شماره. نتایج احتمالی = 2 = 1/0. 5. که در آن 0. 5 احتمال نتایج است. برای مثال دو سکه ، نه. نتایج احتمالی = 4 = 1/0. 25. بنابراین شاید راه صحیح برای تعریف آن "ورود به سیستم باینری نتایج ممکن" نباشد ، بلکه "ورود به سیستم باینری (1/p)" است ، جایی که "P" احتمال نتیجه مشخص است. در حالی که این برای یک نتیجه است ، آنتروپی شانون برای این رویداد را می توان به عنوان محتوای اطلاعات مورد انتظار از این رویداد توصیف کرد.

شکل 7: از "یک تئوری ریاضی ارتباطات" توسط C. E. Shannon

با استفاده از این تعریف ، محتوای اطلاعات و آنتروپی مورد انتظار برای نمونه های مختلفی که تاکنون دیده ایم در جداول در شکل 8 و 9 در زیر ارائه شده است. در هر یک ، ما می توانیم متوجه شویم که سه ویژگی برآورده شده است. این اندازه گیری مداوم است ، به صورت یکنواخت افزایش می یابد (نمونه های سکه تک و دوتایی را با هم مقایسه کنید) و با تعریف انتظار - این یک مقدار وزنی از آنتروپی های فردی است.

شکل 8: نمونه های سکه منفرد با آنتروپی شانون تعریف شده

شکل 9: چهار نمونه با آنتروپی شانون تعریف شده

بیایید کمی دقیق تر به مثال سکه ناعادلانه نگاه کنیم. ممکن است توجه داشته باشید که محتوای اطلاعات مرتبط با سرها ، ورود به سیستم باینری (1/0. 9) = 0. 15 بیت خواهد بود. این را با یک سکه طبیعی با 50 ٪ احتمال سر ، ورود به سیستم باینری (1/0. 5) = 1 بیت مقایسه کنید. سکه مغرضانه اطلاعات کمتری در ارتباط با سرها دارد ، زیرا 90 ٪ از اوقات ، یعنی تقریباً همیشه. با چنین سکه ای ، گرفتن دم بسیار جالب تر از سر گرفتن است. به همین دلیل است که اطلاعات مرتبط با دم ، ورود به سیستم باینری (1/0. 1) = 3. 32 بیت ، بسیار بیشتر از اطلاعات مرتبط با یک سر است.

به عبارت دیگر ، هرچه نتیجه نادرتر باشد ، سؤالات بیشتری باید از ما بپرسیم تا مشخص شود که آیا این اتفاق افتاده است."آیا سیارک در منظومه شمسی ما است؟"شاید اولین سؤالی باشد که ما باید قبل از تحقیق با سؤالاتی بیشتر ، سخت تر ، به آن پاسخ دهیم. و قبل از اینکه بتوانیم تأیید کنیم که سناریوی بسیار بعید از برخورد با زمین اتفاق می افتد ، ممکن است سؤالات کاملاً بیشتری بپرسیم. این همه این است که بگوییم نتایج یا سناریوهای غیر معمول تر با عدم اطمینان زیادی نیاز به یادگیری اطلاعات بسیار بیشتری در ارتباط با آن نتیجه دارد. استفاده از "حداقل بیت ها برای نمایندگی" فقط یک روش خاص "ارسال کننده پیام" برای گفتن همان چیز است. و آنتروپی این اندازه گیری از مقدار اطلاعات مرتبط با یک رویداد است.

در زیر یک طرح آنتروپی در مورد دو امکان با احتمالات P و (1-P) وجود دارد که به شما کمک می کند تا به چند مشاهدات جالب توجه بپردازیم ، و آنچه را که در بالا دیدیم تکرار می کند. ما می توانیم متوجه شویم که H در هر دو مورد شدید احتمال 1 و 0 است. در هر دو مورد ، ما واقعاً چیزی یاد نمی گیریم. این بالاترین زمانی است که امکانات به همان اندازه محتمل باشد. این امر همچنین منطقی است زیرا این وضعیتی است که هیچ تعصب در آن وجود ندارد و جایی که همه چیز کاملاً تصادفی است و هر اتفاقی می تواند رخ دهد.

شکل 10: از "یک تئوری ریاضی ارتباطات" توسط C. E. Shannon

آنتروپی متقابل و واگرایی KL

بیایید به مثال های موجود در شکل 9 مراجعه کنیم. تصور کنید که ما قصد داشتیم از نتایج نتایج رویداد "دو سکه پرتاب" الگوبرداری کنیم. بیایید بگوییم که ما با این فرض شروع کردیم که این سکه های منصفانه هستند ، بنابراین پیش بینی کردیم که همه نتایج به همان اندازه محتمل هستند و بنابراین از دو بیت برای نشان دادن نتایج استفاده کردیم - همانطور که در جدول سمت چپ شکل 9 نشان داده شده است (همه 0. 25). پس از مدتی ، ما مشاهده می کنیم که اینها واقعاً سکه های عادلانه نیستند و توزیع احتمال واقعی همانطور که در جدول سمت راست شکل 9 نشان داده شده است (0. 5 ، 0. 25 ، 0. 125 ، 0. 125).

شکل 9: چهار نمونه با آنتروپی شانون تعریف شده

اکنون ، بدیهی است که ما در اینجا کارآمد نیستیم. آنتروپی های مورد انتظار برای این دو توزیع متفاوت هستند ، 1. 75 در مقابل 2 ، محتوای اطلاعات فردی برای نتایج مختلف متفاوت است و بدیهی است که برنامه کدگذاری ما می تواند بهتر باشد. به عنوان مثال ، ما برای نشان دادن اولین نتیجه که 0. 5 احتمال دارد ، به دو بیت احتیاج نداریم ، فقط باید خوب باشد.

چگونه می توانیم این احساس را داشته باشیم که چقدر ناکارآمدی در اینجا وجود دارد؟این دقیقاً همان چیزی است که Cross Entropy و KL Divergence به ما کمک می کنند. متقاطع آنتروپی آنتروپی مورد انتظار تحت توزیع واقعی P است، زمانی که از یک طرح کدگذاری بهینه شده برای توزیع Q پیش بینی شده استفاده می کنید. جدول در شکل 10 نحوه محاسبه آنتروپی متقاطع را نشان می دهد. محتوای اطلاعاتی نتایج (معروف به طرح کدگذاری مورد استفاده برای آن نتیجه) بر اساس Q است، اما توزیع واقعی P به عنوان وزن برای محاسبه آنتروپی مورد انتظار استفاده می شود. این آنتروپی متقاطع برای توزیع‌های P، Q است. و واگرایی Kullback–Leibler تفاوت بین آنتروپی متقاطع H برای PQ و آنتروپی H واقعی برای P است.

شکل 11: آنتروپی متقاطع و واگرایی KL

KL برای (P||Q) میانگین بیت‌های اضافی مورد نیاز را زمانی که توزیع واقعی P با استفاده از یک طرح کدگذاری بهینه‌سازی شده برای Q نشان داده می‌شود، می‌دهد. توزیع واقعی، به جای Q توزیع قبلی. البته اگر P توزیع پیش‌بینی‌شده باشد و اگر از یک طرح کدگذاری بهینه‌شده برای P برای نمایش توزیع واقعی Q استفاده شود، این موضوع متفاوت خواهد بود.

هم نگاهی دقیق به فرمول و هم به طور شهودی، واگرایی KL، اگرچه معیاری برای تفاوت بین دو توزیع است، اما یک متریک واقعی نیست، یعنی KL (P||Q)<>KL برای (Q||P). با این حال، به راحتی می توان نشان داد که این واگرایی با نزدیک شدن Q به P کاهش می یابد و زمانی که P=Q 0 خواهد بود. این در شکل 12 نشان داده شده است.

شکل 12: حرکت Q به سمت P

و این همان چیزی است که ما در حین آموزش شبکه های عصبی به عنوان تابع ضرر استفاده می کنیم. وقتی مشکل طبقه‌بندی تصویر داریم، داده‌های آموزشی و برچسب‌های صحیح مربوطه نشان‌دهنده P، توزیع واقعی هستند. پیش‌بینی‌های NN تخمین‌های ما هستند Q. ریاضیات درگیر در چنین طبقه‌بندی‌های تک برچسبی نسبتاً ساده‌تر است، زیرا P برای یک برچسب معین 1 و برای سایرین 0 خواهد بود.

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

نوشتن چیزها به عنوان یک معادله (و اعمال قواعد قدرت برای خرو ج-1):

شکل 14: آنتروپی متقاطع

آنتروپی متقاطع باینری

در یک مسئله طبقه بندی چند کلاسه، "n" تعداد کلاس ها را نشان می دهد. در مثال شکل 13، این عدد 4 بود. در یک مسئله طبقه‌بندی باینری، یعنی درست مانند پرتاب سکه، تعداد کلاس‌ها/خروجی‌ها 2 است و هر کدام باید درست باشد، و احتمال یک برابر است (1 - احتمالدیگر)، می توانیم آن را به صورت زیر بنویسیم:

شکل 15: طبقه بندی باینری

ما می توانیم از این نمایندگی متقاطع باینری برای مشکلات طبقه بندی چند برچسب نیز استفاده کنیم. در مثال مشاهده شده در شکل 13 ، این یک مشکل طبقه بندی چند کلاس بود که در آن تنها خروجی می تواند درست باشد ، یعنی فقط یک برچسب را می توان به یک تصویر برچسب زد. در مواردی که می توانیم چندین برچسب مرتبط با یک تصویر داشته باشیم ، یعنی جایی که احتمال هر برچسب یا خروجی به خودی خود می تواند هر چیزی بین 0 تا 1 باشد و آنها مستقل از یکدیگر باشند ، ما هنوز هم می توانیم از آنتروپی متقاطع استفاده کنیم. هر طبقه بندی برچسب یک مشکل متقاطع باینری مستقل به خودی خود است و خطای جهانی می تواند مجموع آنتروپی های متقاطع باینری در سراسر احتمالات پیش بینی شده از همه برچسب ها باشد.

از این نقطه به بعد ، استفاده مناسب از sigmoid vs softmax برای مشکلات چند طبقه در مقابل مشکلات چند برچسب باید بسیار آشکارتر شود. و امیدوارم ، اگرچه یک بادگیر طولانی است ، اما این پست کمی شفافیت در مورد نحوه عملکرد این کارکردها ارائه می دهد.

برچسب ها

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.