نظریه اطلاع و بی نظمی — مفاهیم اولیه
زمانی که ایده یا نظری در ذهن دارید، باید برای انتقال یا حتی حفظ آن، اطلاعات نهفته در نظر یا ایده خود را به شکلی پیادهسازی کنید تا برای دیگران قابل دسترس و فهم باشد. شاید بخشی از این موضوع، مربوط به ساختار دستور زبان و زبان شناسی، تمثیل شناسی و ... میشود. این موضوعات بیشتر در بحث مربوط به اصول روابط عمومی و ساختارهای زبانشناسی و علوم رفتار نهفته است. ولی در اینجا قصد داریم از جنبه «نظریه اطلاع و بی نظمی» (Information Theory and Entropy) به این مفاهیم توجه کرده و از نگاه «میزان اطلاعات» (Quantification)، «ذخیرهسازی» (Storage) و «انتقال اطلاعات» (Communication) برگرفته از پدیدههای تصادفی به آن بنگریم که خوشبختانه این مباحث مربوط به حوزه «نظریه اطلاع مدرن» (Modern Information Theory) هستند. این نظریه، توسط ریاضیدان و مهندس برق «کلود شانون» (Claude Shannon) در سال ۱۹۴۸ تحت مقالهای با عنوان «نظریه ریاضی مخابرات» (A Mathematical Theory of Communication) معرفی شد. او در آن مقاله تاکید کرد که باید مفهوم اطلاعات را از سینگالهای حامل آنها جدا کرد و بطور مجزا مورد بررسی قرار داد.
در این نوشتار با استفاده از اصول احتمال و مفاهیم اولیه پدیدههای تصادفی و البته متغیرهای تصادفی، به بررسی نظریه اطلاع پرداخته و با اصطلاحات و مفاهیم اولیه آن آشنا خواهیم شد. به این منظور بهتر است ابتدا از اصول احتمال آگاهی نسبی داشته باشید. بنابراین مطالعه نوشتارهای دیگر فرادرس با عنوان آزمایش تصادفی، پیشامد و تابع احتمال و متغیر تصادفی، تابع احتمال و تابع توزیع احتمال پیشنهاد میشود.
همچنین خواندن مطالب امید ریاضی (Mathematical Expectation) — مفاهیم و کاربردها و یادگیری ماشین به زبان قضیه بیز، بی نظمی شانون و فلسفه نیز خالی از لطف نیست. از آنجایی که مفهوم بینظمی (Entropy) در ترمودینامیک بسیار به نظریه اطلاع با مفهوم احتمالی آن نزدیک است، مطالعه آنتروپی — از صفر تا صد نیز توصیه میشود.
نظریه اطلاع و بی نظمی
براساس نظریه انقلابی و اساسی شانون، برای اولین بار مفهوم اندازه اطلاعات و مدلهای مخابراتی به عنوان یک فرآیند آماری مطرح شد. او نظریه خود را براساس یک هدف اساسی پایهریزی کرد. وی اساس و مسئله اصلی در حوزه انتقال دادهها را به صورت زیر مطرح کرد.
«مسئله اصلی در مخابرات، تولید یک پیام و سپس باز تولید آن در مکان دیگر است به شکلی که اطلاعات مبدا و مقصد دقیقا یا با خطای قابل قبولی، یکسان باشند.»
با توجه به رویکرد جدید شانون به اطلاعات و نقش آن در مخابرات، مفاهیم و ایدههای دیگری نیز ظهور کرد. در فهرست زیر بعضی از این مفاهیم و اصطلاحات معرفی شدهاند.
- نظریه اطلاع و «افزونگی» (Redundancy) منبع.
- اطلاع متقابل (Mutual Information) و ظرفیت یک کانال دارای نویز.
- قانون شانون-هارتلی (Shannon-Harltey Law) برای ظرفیت کانال با نویز گاووسی.
- مفهوم بیت (bit) به عنوان پایه و کوچکترین واحد اطلاعاتی.
با استفاده از نظریه اطلاع و اصطلاحات مطرح شده در بالا، علوم دیگری نظیر، «رمزنگاری» (Cryptography)، «نظریه شبکه فعال» (Active Networking)، «علم سایبرنتیک» (Cybernetic) و ... نیز بوجود آمده که با توجه به احاطه دانش پردازش اطلاعات، از علوم مطرح در قرن حاضر محسوب میشوند بطوری که نظریههای مربوط به آن لبههای دانش امروزی را تشکیل میدهند.
در این نوشتار، بیشتر بر شیوه و روشهای اندازهگیری اطلاعات بخصوص اندازه بی نظمی متمرکز خواهیم بود. به این منظور برای نمایش میزان بینظمی متغیر تصادفی از نماد استفاده خواهیم کرد. نماد به علت تعریف آنتروپی (بینظمی) در مکانیک آماری گازها که توسط دانشمند مکانیک «بولتزمن» (Botlzmann) معرفی شد، در اینجا نیز به کار گرفته میشود. در این میان نقش «رالف هاترلی» (Ralph Hartley) که مبانی نظریه اطلاع را پایهریزی کرد، نیز نباید نادیده گرفته شود.
اندازه اطلاع و بی نظمی
یکی از قسمتهای نظریه اطلاع مرتبط با شیوه «اندازه اطلاع» (Quantities of Information) و «بی نظمی« (Entropy) است. به این ترتیب حداقل میتوان میزان اطلاعات ارسال شده و دریافت شده از منبع و مقصد را مقایسه کرد تا قسمتی از مسئله اصلی در مخابرات که در بالا به آن اشاره شد، را حل کرد. بنابراین احتیاج به روش و واحدی برای اندازهگیری اطلاعات احتیاج است.
از آنجایی که نظریه اطلاع، برمبنای تئوری احتمال و آمار بنا شده است، نحوه اندازهگیری اطلاعات را به کمک متغیر تصادفی تعیین میکنند. به این ترتیب دو مفهوم جدید به نامهای «بینظمی» (Entropy) و «اطلاع متقابل» (Mutual Information - MI) معرفی میشوند. بینظمی به شکلی براساس میزان تابع چگالی احتمال یک متغیر تصادفی محاسبه میشود در حالیکه اطلاع متقابل و اطلاع توام برحسب تابع چگالی توام دو متغیر تصادفی بدست میآید.
اندازه بینظمی برای یک منبع اطلاعاتی (پیام)
براساس نظریه آمار و احتمال، تابع چگالی احتمال متغیر تصادفی ، بیانگر جرم احتمال در نقطه است. بنابراین اگر برای هر بیت (واحد سنجش اطلاعات) تابع چگالی احتمال را با نشان دهیم، میتوانیم اطلاعاتی که در آن موجود است را براساس رابطه محاسبه کنیم. مقدار را «خود-اطلاع» (Self-information) مینامیم. میتوان رابطه محاسباتی را برای راحتی به شکل زیر نیز نوشت:
به این ترتیب اگر پیشامدی دارای احتمال رخداد یا باشد، میزان اطلاع یا بینظمی آنها به صورت زیر محاسبه میشود.
نکته: از آنجایی که دادهها به صورت باینری هستند از لگاریتم برمبنای ۲ استفاده کردهایم. البته به حالت کلیتر میتوان برای اندازهگیری میزان اطلاعات از هر نوع لگاریتمی استفاده کرد. انتخاب نوع لگاریتم فقط در مقیاس اندازهگیری اطلاعات تغییر بوجود میآورد.
مشخص است که برای پیشامد نادر مقدار بسیار کوچک خواهد بود و در عوض مقدار خود-اطلاع آن بسیار بزرگ است زیرا وقوع این پیشامد شامل اطلاعات زیادی است. برعکس اگر برای یک پیشامد قطعی (که از وقوع آن مطمئن هستیم)، مقدار خود-اطلاع محاسبه شود، مقداری نزدیک به صفر خواهد بود که نشانگر میزان کوچک اطلاعات در این پیشامد است. به نظر میرسد که این مفهوم با درک و منطق بشری نیز یکسو است.
به این ترتیب اگر اجزای یک پیام یک متغیر تصادفی () باشند، امید ریاضی به عنوان میزان بینظمی شانون نامیده شده و به شکل زیر محاسبه میشود.
همانطور که دیده میشود، به نظر میرسد ارتباط نزدیکی بین شیوه محاسبه میزان بینظمی و «اطلاع فیشر» (Fisher Information) وجود دارد زیرا هر دو برحسب امید ریاضی تابع چگالی نوشته شدهاند. البته گاهی مقدار را به صورت زیر نیز بازنویسی میکنند.
مشخص است که در رابطه اخیر، ضریب منفی به صورت توان منفی درون تابع لگاریتم نوشته شده و باعث شده که کسر ظاهر شود. همانطور که مشخص است این شیوه محاسبه هم امید ریاضی خواهد بود. به بیان دیگر بینظمی برای یک متغیر تصادفی بیانگر میزان اطلاعاتی است که در اختیار دارد. هر چه متغیر تصادفی بینظمی بیشتری داشته باشد، حامل اطلاعات بیشتری نیز هست.
به این ترتیب اگر یک پیام مثل از جزء تشکیل شده باشد که هر یک از اجزای متغیر تصادفی گسسته و مستقل و همتوزیع (iid) (دارای تابع چگالی یکسان) باشند، میزان بینظمی پیام به شکل زیر محاسبه میشود.
مشخص است که در اینجا تکیهگاه متغیر تصادفی با نشان داده شده و به صورت نوشته میشود. همچنین اگر فرض کنیم ، مشخص است که مقدار احتمال را برای نقطه یا نقطه ام نشان میدهد.
به این ترتیب اگر پیامی به صورت HHHH مخابره شود، میزان اطلاعی که به همراه دارد، بسیار کمک است زیرا احتمال رخداد H برابر با ۱ برآورد میشود که در حالت کلی یک پیشامد قطعی است. براساس رابطه قبل میزان بینظمی برای چنین پیشامدی را محاسبه میکنیم.
ولی اگر پیشامد ABCD را در نظر بگیریم، میزان اطلاع در آن به بیشترین مقدار ممکن خواهد رسید زیرا احتمال هر یک از مقدارها برابر با برآورد شده و میزان بی نظمی به صورت زیر محاسبه میشود.
نکته: اگر متغیرهای تصادفی تشکیل دهنده پیام، همتوزیع ولی مستقل نباشند، مقدار بینظمی آنها از کوچکتر خواهد بود، زیرا داریم:
مثال ۱
فرض کنید تابع چگالی برای متغیر تصادفی به شکل توزیع یکنواخت گسسته باشد، به این معنی که هر یک از مقادیر محتمل برای متغیر تصادفی ، با احتمال رخ دهد. در این صورت مقدار بینظمی برای یک واحد پیام برابر با رابطه زیر است. این مقدار حداکثر میزان اطلاع برای واحد پیام (bit) محسوب میشود. به این ترتیب اگر اجزای پیام با توزیع تصادفی یکنواخت ارسال شوند اطلاعات بیشتری را به همراه دارند.
مثال ۲
فرض کنید متغیر تصادفی دو وضعیتی (باینری) باشد. مشخص است که این متغیر تصادفی دارای توزیع برنولی با پارامتر احتمال موفقیت است. در این صورت تابع احتمال آن به شکل زیر خواهد بود.
در این صورت اگر باشد، در نتیجه میزان بینظمی برای چنین پیامی به شکل زیر مورد محاسبه قرار میگیرد.
چنین رابطهای را به نام «تابع بینظمی باینری» (Binary Entropy Function) یا به افتخار کلود شانون دانشمند ابداع کننده مفهوم بینظمی، «تابع بینظمی شانون» مینامند. در ادامه نمودار این تابع برحسب میزان ترسیم شده است. در این نمودار، محور افقی مقدارهای احتمال موفقیت و محور عمودی نیز میزان بینظمی را نشان میدهد.
در ادامه کدی به زبان پایتون تهیه کردهایم که قادر به انجام محاسبه بینظمی برای رشتههای متنی است که در تلگرافها و به رمز درآوردن پیام به کار می رود. ابتدا بطوری تصادفی حروفی تولید میشوند و سپس با استفاده از روابط گفته شده در قسمت قبل، میزان بینظمی یا انتروپی آن مورد محاسبات قرار میگیرد. در اینجا احتمالات رخداد هر یک از حروف توسط فراوانی نسبی بدست میآید. البته برای لگاریتمگیری نیز از مبنای ۲ استفاده شده است.
1import math
2import random
3def H(sentence):
4 """
5 (Shannon's Entropy) is implemented.
6 """
7 entropy = 0
8 # There are 256 possible ASCII characters
9 for character_i in range(256):
10 Px = sentence.count(chr(character_i))/len(sentence)
11 if Px > 0:
12 entropy += - Px * math.log(Px, 2)
13 return entropy
14# The telegrapher creates the "encoded message" with length 10000.
15# When he uses only 32 chars
16simple_message ="".join([chr(random.randint(0,32)) for i in range(10000)])
17# When he uses all 255 chars
18complex_message ="".join([chr(random.randint(0,255)) for i in range(10000)])
ابتدا یک عبارت تصادفی با طول ۱۰۰۰۰ حرف تشکیل میشود که از کدهای اسکی ۰ تا ۳۲ تشکیل میشود (حالت simple_message). در مرحله بعد نیز از همه کدهای اسکی برای رمزنگاری استفاده میشود در نتیجه در این حالت پیچیدگی نوشته رمزنگاری شده، بسیار بیشتر است (حالت complex_message)، بر همین مبنا میزان بینظمی اطلاعات نیز افزایش خواهد یافت. خروجی برای اجرای این دستور به صورت زیر خواهد بود.
1In [20]: H(simple_message)
2Out[20]: 5.0426649536728
3In [21]: H(complex_message)
4Out[21]: 7.980385887737537
اندازه بینظمی برای دو منبع اطلاعاتی (پیام)
در قسمت قبلی برای یک پیام که از ترکیب چند جزء با متغیرهای تصادفی مستقل و همتوزیع ساخته میشود، بینظمی را محاسبه کردیم. حال به مسئله محاسبه اندازه بینظمی یا اندازه اطلاع براساس دو منبع اطلاعاتی برحسب «توزیع احتمال توام» (Joint Distribution) خواهیم پرداخت. در اینجا فرض میکنیم که دو متغیر تصادفی گسسته و به همراه توزیع توام آنها یعنی موجود است. به این ترتیب «بینظمی توام» (Joint entropy) یا اندازه «اطلاع توام» (Joint Information) این دو متغیر تصادفی به شکل زیر تعریف و محاسبه میشود.
نکته: واضح است که اگر این دو متغیر تصادفی، مستقل از یکدیگر باشند، رابطه به شکل سادهتری که در ادامه قابل مشاهده است، در خواهد آمد. باز هم به نظر میرسد در این صورت نیز ارتباط جالبی بین اطلاع فیشر و بینظمی برقرار است.
اندازه بینظمی شرطی
«بینظمی شرطی» (Conditional Entropy) یا ابهام متغیر تصادفی (پیام) بر حسب یا درباره پیام به صورت زیر تعریف و محاسبه میشود.
براساس این تعریف، مشخص است که این مقدار بیانگر میانگین بینظمی شرطی است. میدانیم که بین تابع چگالی شرطی و چگالی توام دو متغیر تصادفی و رابطه زیر برقرار است.
در نتیجه میتوان بینظمی یا میزان اطلاع شرطی را برای متغیر تصادفی برحسب به صورت زیر نشان داد.
توجه داشته باشید که طبق تعریف تابع چگالی شرطی و تابع چگالی حاشیهای داریم:
بر اساس رابطه بالا میتوان بین بینظمی شرطی و بینظمی توام تساوی زیر را برقرار کرد.
اندازه اطلاع متقابل
یکی دیگر از شیوههای اندازهگیری اطلاع برای دو متغیر تصادفی و استفاده از اندازه اطلاع متقابل (Mutual Information - MI) است. درحقیقت میتوان MI را میزان اطلاعاتی در نظر گرفت که یکی از متغیرها با توجه به مشاهده متغیر دیگر به همراه دارد. یکی از مسائلی که در مخابرات و ارسال و دریافت پیامها اهمیت دارد، حداکثرسازی میزان اطلاعاتی است که بین سیگنالهای ارسالی و دریافتی وجود دارد. به این ترتیب میتوان حجم اطلاعات دریافتی یا ارسالی را کاهش داد.
میزان اطلاع متقابل برای متغیر تصادفی نسبت به به شکل زیر تعریف و محاسبه میشود.
در اینجا به صورت زیر تعریف شده و به آن میزان «اطلاع متقابل خاص» (Specific Mutual Information) گفته میشود. گاهی به «اطلاع متقابل نقطهای» (Pointwise Mutual Information) نیز میگویند.
یکی از خصوصیات اصلی برای اطلاع متقابل وجود رابطه زیر است. به این ترتیب مقدار مشخص میکند که اطلاع از بطور متوسط به چه میزان میتواند در میزان اطلاعات نقش داشته باشد. در صورتی که هدف کد کردن باشد، مقدار میانگین بیتهای صرفهجویی شده در حالتی را نشان میدهد که از آگاهی داریم. تعداد این بیتها بطور معمول کمتر از حالتی است که بدون اطلاع از بخواهیم را کد کنیم.
یکی دیگر از خصوصیات جالب MI، وجود تقارن در آن است زیرا مشخص است که و به این ترتیب میتوان نوشت:
به این ترتیب با توجه به رابطه اخیر و بینظمی شرطی، خواهیم داشت.
از طرفی MI را برحسب امید ریاضی «واگرایی کولبک-لیبلر» (Kullback-Leibler Divergence) بین توزیع پسین به شرط و پیشین نیز میتوان نوشت:
به بیان دیگر، این مقدار نشان میدهد که بطور متوسط تابع احتمال با آگاهی از به چه میزان نسبت به عدم آگاهی تغییر میکند.
مفهوم آماری «آزمون نسبت درستنمایی» (Log-Likelihood Ratio Test) بسیار با MI بخصوص در زمینههای «جداول توافقی» (Contingency Tables)، «توزیع چندجملهای» (Mutinomial Distribution) و «آماره کای ۲ پیرسون و آزمون آن» (Perason's Test) در رابطه است به شکلی که از MI میتوان برای مشخص کردن استقلال دو متغیر تصادفی استفاده کرد.
اگر مطلب بالا برای شما مفید بوده است، آموزشهایی که در ادامه آمدهاند نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای آمار و احتمالات
- آموزش تئوری آشکارسازی (Detection Theory)
- مجموعه آموزشهای داده کاوی و یادگیری ماشین
- آنتروپی اطلاعات — مبانی اولیه
- تابع درستنمایی (Likelihood Function) و کاربردهای آن — به زبان ساده
- متغیر تصادفی، تابع احتمال و تابع توزیع احتمال
^^