MatlabTips
891 subscribers
462 photos
73 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
به سرعت موانع نظری بسیار مهمی ظاهر شدند:" متاسفانه هر الگوریتم استنتاج برای منطق گزاره ای دارای پیچیدگی نمایی است. ما نمی توانیم انتظار بهتری داشته باشیم چون اساسا استنتاج گزاره ای یک مساله با پیچیدگی نمایی است"[1]
پیچیدگی شیوه ای برای نمایش دادن این است که یک الگوریتم چقدر زمان برای اجرا نیاز دارد. معمولا الگوریتم هایی که عملی هستند در نهایت پیچیدگی چند جمله ای دارند! یعنی می توان با چند حلقه فور سر و ته قضیه را هم آورد. اما وقتی پیچدگی نمایی می شود شما بجز مسایل بسیار کوچک(مثلا چند بلوک) قادر به حل مسایل واقعی بزرگ نیستید.

مشکل دوم از انتظارات اولیه از هوش مصنوعی بر می آمد. دولت آمریکا شروع کرد به حمایت مالی از پروژه هایی که مقاله های روسی را به انگلیسی به صورت اتوماتیک ترجمه کند! دلایل خوبی برای باور کردن ساختن چنین ماشینی وجود داشت. نوام چامسکی موفقیت زیادی در ساختن فرآیند های اتوماتیک برای پارسر های زبان طبیعی یافته بود. اما پس از مدت کوتاهی محققان در هزارتوی پیچیده زبان گرفتار شدند! زبان های انسانی چیزی بیشتر از مشتی کلمات و معانی آن هاست! محققان به این نتیجه رسیدند که برای ترجمه ی حتی یک جمله نیاز به دانستن کل آن زبان است! مثلا «مریم امشب برای شهاب کیک درست می کند» حاوی ده ها قطعه اطلاعات کوچک و بزرگ است. این که امشب احتمالا تولد شهاب است یا شب مهمی است! اینکه مریم می خواهد با این کار محبت خود را به شهاب نشان دهد! اینکه معمولا برای تولد کیک درست می شود! اینکه مریم رابطه نزدیکی با شهاب دارد یا مادر یا همسر یا خواهر یا غیره اوست! این زنجیره را می توانید همینطور ادامه دهید. ما برای فهم جملات حجم عظیمی از اطلاعات را کنار هم میچینیم و یک چارچوب می سازیم. چارچوب (frame) چیزی است که ما در آن یک جمله را درک می کنیم. همین موضوع باعث شد محققانی مانند چارلز فیلمور(Charles Fillmore) شروع به استخراج تمام چارچوب های فهم متعارفی (common sense) و روزمره بکنند!این پروژه شاید بسیار جاه طلبانه به نظر برسد اما شروع شد! Framenet اولین تلاش برای این کار بود! سالها تلاش برای ساخت و اضافه چارچوب ها انگار فایده ای نداشت! گویا فهم متعارفی ما از جامعه و فرهنگ و روابط انسانی یک رشته بی پایان است! افراد دیگری شروع به کد کردن دانش بشر کردند این قطعات دانش از اطلاعات های فکت گونه مانند اینکه برلین پایتخت آلمان است گرفته تا اینکه گربه ها چهار پا و یک دم دارند را شامل می شد! DBPedia، Cyc، Freebase و صدها پروژه دیگر محصول این تلاش ها بودند. علاوه بر دشواری و هزینه های زیاد این پروژه ها مشکلات دیگری هم در این راه وجود داشت. معمولا الگوریتم های استنتاج بر روی این پایگاه دانش ها بسیار کند و در نهایت به دیوار نفوذ ناپذیر پیچیدگی نمایی برخورد می کرد!

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

لینک برای مطالعه بیشتر

frame net: https://framenet.icsi.berkeley.edu/fndrupal/
DBPedia: https://wiki.dbpedia.org/

[1] Russell, S. J., & Norvig, P. (2016). Artificial intelligence: a modern approach. Malaysia; Pearson Education Limited,.
🔵یادگیری عمیق، مغز و متافیزیک!(قسمت سوم)🔵

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

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

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

Man-woman=king-queen

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

Man-woman=programmer-homemaker

نسبت مرد به برنامه نویس مثل نسبت زن به خانه دار است! این مشکلات تنها در مورد جنسیت زدگی وجود ندارد. بلکه این الگوریتم ها رفتار های نژاد پرستانه و علیه اقلیت ها هم از خود نشان میدهند. اکنون تلاش های زیادی برای از بین بردن این بایاس ها به صورت مصنوعی انجام می شود. اما نکته ی مهم این است که این الگوریتم ها صرفا یک آینه هستند تا ما در آن چهره خود را ببینیم. بشر به سختی(یا شاید حتی غیر ممکن) می تواند بدون ذهنیت کلیشه ای زندگی کند! سوال این است که آیا حذف این بایاس ها در نهایت چیزی را حل می کند؟! خرافات هم گونه ای از پیش داوری های بیزینی با خود به همراه دارد. در این مورد در قسمت بعد بیشتر کنکاش میکنیم.

منبع: Bolukbasi, T., Chang, K. W., Zou, J. Y., Saligrama, V., & Kalai, A. T. (2016). Man is to computer programmer as woman is to homemaker? debiasing word embeddings. In Advances in Neural Information Processing Systems (pp. 4349-4357).
🌍مردم جهان خیال می‌کنند که خیلی می‌دانند🌎

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

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

افزایش دانش عمومی، این شبهه را برای مردم جهان ایجاد کرده است که خیلی می دانند ولی در عمل، به نسبت بشر دوران غارنشین، از عهده ساده ترین اعمال برای زنده ماندن و تصمیم گیری سریع و تشخیص سود و زیان واقعی شان، بر نمی آیند. برای همین است که روز به روز بر دامنه تاثیر شارلاتان ها و هیاهو کننده ها در مدیریت جهان، افزوده می شود.

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

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

مثال خیلی ساده تر در درون زندگی، وسیله ایی مثل « زیپ» است که همه ما از کودکی تا سن کنونی مان، مدام از آنها استفاده کرده ایم و اگر از ما در باره‌اش بپرسند می گوییم که می دانیم بر چه اساسی کار می کند ولی اکثریت ما از درک و توضیحِ عمل ساده ایی که زیپ انجام می دهد غافل هستیم.

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

از دید این دو محقق، راه حل برای دنیای هر لحظه پیچیده تر شونده و افزایش نادانی مردم، این نیست که مدام برای شان مدرک و منطق تهیه کنیم.

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

هان تاسر رشته خرد گم نکنی
کانان که مدبرند سرگردانند

خیام

(تعداد ستارگان جهان هستی بر طبق تخمین های دانشمندان دانشگاه هاوایی حداقل ده برابر تمام دانه های شن تمام سواحل کره زمین هستند)
https://goo.gl/vg5SKM
🔵وصل شدن به اینترنت در متلب🔵

امروزه بسیاری از برنامه ها از داده های آنلاین وب استفاده میکنند و آنها را به شما نشان می دهند. یکی از کاربردهای اتصال به اینترنت خواندن اطلاعات مختلف به صورت زنده است. مثلا خواندن اطلاعات بازی های جام جهانی یا اطلاعات هواشناسی یا بازار سهام. بیشتر این اطلاعات در اساس زنده هستند و بنابراین نمیتوان همه آن ها را دانلود کرد و سپس پردازش بر روی آن ها انجام داد.

در اینجا می خواهیم یکی از کاربردهای ساده این نحوه استفاده از داده ها را در متلب به شما نشان دهیم. قبل از آن نیاز داریم که web api ها درک کنیم. در بستر وب علاوه بر وب سایت هایی که میبینید یا برنامه هایی مانند اینستاگرام که از وب استفاده میکنند سرویس های دیگری هم وجود دارند که به صورت رایگان یا پولی اطلاعات به شما می دهند. برای گرفتن این اطلاعات معمولا نیاز داریم که آن را به صورت یک تابع بر روی وب فراخوانی کنیم. اما این فراخوانی مانند زبان های برنامه نویسی عادی نیست و کاملا مستقل از زبان صورت می گیرد. در واقع ما به یک سرور متصل می شویم و از او اطلاعات طلب می کنیم. این کار در یک url می تواند خلاصه شود. بسیاری از مواقع پارامتر ها را هم در همین url قرار می دهیم. بنابراین فرمت درخواست داده به صورت زیر می شود:
https://www.example.com/data?param1=val1&param2=val2
به این شکل می توان پارامتر ها را هم پاس کرد. بسیاری از api ها برای استفاده نیاز به یک کلید دارند. آن ها با این کلید می توانند مشخص کنند که آیا نیاز به پرداخت پول برای سرویس شان وجود دارد یا خیر یا اطلاعات تاریخ استفاده شما را نگه دارند. در ضمن آن ها جلوی درخواست ها بیش از حد از سرور را هم می گیرند. نکته مهمی که در مورد این درخواست ها وجود دارد این است که این درخواست ها بدون state هستند. یعنی درخواست های متوالی شما هیچ گونه ارتباطی با هم ندارند. سرور برای شما هیچ session ایی ایجاد نمی کند.

در این مثال می خواهیم اطلاعات هواشناسی را به صورت زنده نشان دهیم. برای این منظور به وب سایت https://openweathermap.org می رویم و یک حساب کاربری رایگان درست می کنیم تا صاحب یک کلید شویم. این کلید یک ترکیب از اعداد و حروف است(مانند اعدادی که از تابع در هم سازی ایجاد می شود) سپس برای دریافت اطلاعات هواشناسی یک شهر می توانیم این url را در مرورگر زده و اطلاعات آن را ببینیم(برای انتخاب شهر های دیگر یا نقاط جغرافیایی متفاوت به جزییات وب سایت مراجعه کنید).
https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=YOUR_API_KEY
در اینجا اطلاعات هواشناسی شهر لندن را میگیریم. به جای YOUR_API_KEY باید کلید خودتان را قرار دهید(این کلید شخصی است و نباید به کسی بدهید برای همین من اینجا آن را منتشر نمیکنم).

وقتی این تابع را فراخوانی کنید یک خروجی json به شما می دهد. برای استفاده در متلب می توانید به سادگی تابع webread را بر روی آن فراخوانی کنید:

r=webread(‘https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=YOUR_API_KEY’)

در این صورت خروجی ای که دارید یک struct با بخش های مختلف است. به طور مثال می توانید دما را به صورت زیر بگیرید:

Temperature=r.main.temp

از آنجایی که دما به صورت آنی تغییر نمی کند می توانیم در یک حلقه هر پنج دیقه یک بار دما را چک کنیم و آن را نمایش دهیم. کد زیر به صورت ساده این کار را انجام می دهد:

data = []
url=‘https://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=YOUR_API_KEY’
while true
r=webread(url);
temperature = r.main.temp;
data = [data; temperature];
plot(data)
pause(600);
end
نمایش اطلاعات دمای لندن به صورت زنده! (برای جلوگیری از پیچیدگی کد از لیبل زدن محور ها خودداری شده)
🔵یادگیری عمیق، مغز و متافیزیک!(قسمت چهارم)🔵

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

انسان همواره در حال یادگیری است: مثلا ما از بچگی با دیدن تصاویر مختلف چند اتومبیل یا گربه یاد میگیریم که اتومبیل و گربه به چه معنا هستند و ازآن به بعد با دیدن نمونه های جدید مشکلی در تشخیص نداریم. البته ممکن است اشتباهاتی صورت بگیرد که به تدریج اصلاح می شود. اما نکته مهم این است که ما بر اساس تعریف مفاهیم را یاد نمیگیریم. فرض کنید دوستی داریم که بعضی روزها خوشحال است و بعضی روزها نه. می خواهیم متوجه بشویم چه چیزی باعث می شود این دوستمان خوشحال باشد. عوامل متعددی در این میان دخیل هستند. من لیست این عوامل و خوشحالی یا ناراحتی دوستم را در جدولی می نویسم
همانطور که می بینید خوشحالی دوست من ناشی از شرایط آب وهوایی است!
ستون اول یعنی هوا می تواند سه حالت داشته باشد و بقیه ستون ها فقط دوحالت دارند. پس در کل همه حالت ها می شود 3*2*2*2*2*2=96.
با توجه به جدول میتوانیم فرضیه های مختلفی بسازیم. به طور مثال می توانیم بگوییم تنها عامل مهم sky (آفتابی یا بارانی بودن هوا) است و بقیه مهم نیستند. در این صورت می توانم بگویم در روزهایی که هوا آفتابی است دوستم خوشحال است و بنویسم
<Sunny,*,*,*,*,*>
ستاره ها به این معنی هستند که بقیه ویژگی ها هر مقداری می توانند داشته باشند و مهم نیستند. با همین شیوه کلی ترین فرضیه ممکن که هیچ عاملی مهم نیست و در همه روزها دوستم خوشحال است، به صورت زیر می شود:
<*,*,*,*,*,*>
به صورت دیگری هم می توان به این قضیه نگاه کرد. به این صورت که بسیارخاص به مساله نگاه کنیم. مثلا با دیدن اولین نمونه در جدول بگوییم که دوستم فقط زمانی خوشحال است که دقیقا تمامی شرایط محقق شود یعنی:
<Sunny,Warm, Normal, Strong, Warm, Same>
این فرضیه بسیار خاص است وفقط به یک حالت قابل تعمیم است. اما خاص ترین فرضیه حالتی می شود که ما هیچ نمونه ای را مثبت درنظر نگیریم(فرضیه تهی). در این صورت داریم:
<0,0,0,0,0,0>
که 0 نشان دهنده این است هیچ مقداری قابل قبول نیست.
حالا بیایید نمونه ها را یکی یکی بررسی کنیم و سعی کنیم ازخاص ترین فرضیه و کلی ترین فرضیه به سمت یک نقطه میانی برسیم. بعد ازدیدن نمونه اول میتوانیم بگوییم دوستم حداقل در حالت اول خوشحالاست و از فرضیه تهی خارج شویم. سپس نمونه دوم را می بینیم و متوجه می شویم که رطوبت Humidity ظاهرا تاثیری در خوشحالی دوستم ندارد و بنابراین مهم نیست چون دردو حالت با مقادیر مختلف یک نتیجه را به ما داده است.

اما نمونه سوم یک نمونه منفی است. نمونه منفی فضای فرضیه های کلی را تحدید می کند. با دیدن این نمونه متوجه می شویم که چند حالت ممکن است وجود داشته باشد. یا اینکه هوا نباید Rainy باشد(پس باید Sunny باشد) یا دما نباید Cold باشد(پس باید Warm باشد) یا پیش بینی (forecast) نباید Change
باشد(پس باید Same باشد). اما توجه کنید که نمی توانیم بگوییم که مثلا Humidity نباید High باید چون درحال حاضر نمونه دوم مثبت است و دارای همین مقدار است. یا اینکهWind نتواند Strong باشد چون دو نمونه قبلی دارای این مقادیر بوده اند.
درنهایت با دید نمونه آخر متوجه می شویم که دو ویژگی water و Forecast هم مهم نیستند و می توانند هر مقداری بگیرند. به این ترتیب به فضای فرضیه زیر می رسیم
تمام فرضیاتی که بین S4 و G4 قرارمی گیرند با نمونه های ما همخوانی دارند و قابل قبول هستند.

درمورد مثالی که ذکر کردیم فرض را بر این گذاشتیم که نمونه ها و ویژگی های آن ها دقیق هستند و هیچ نویزی در آن ها وجود ندارد. روشی که در پیش گرفتیم همواره جواب می دهد به شرطی که نمونه ها نویز نداشته باشند و داده ها در نحوه نمایش فرضیه ما بگنجد. اما همواره این گونه نیست. فرض کنید فرضیه درست برای توضیح دادن جدول زیر این باشد که دوست من خوشحال است در حالتی که هوا آفتابی یا ابری باشد.
اما با نحوه نمایش فرضیه ما نمی توان این کار را کرد.برای اینکه متوجه بشوید که این کار غیر ممکن است از خاص ترین فرضیه شروع می کنیم بعد از دیدن اولین نمونه فرضیه ما می شود:
<Sunny, Warm, Normal, Strong, Cool, Change>
با دیدن دومین نمونه:
<*,Warm, Normal, Strong, Cool, Change>

با دیدن سومین نمونه چون یک نمونه منفی است تمام حالت ها حذف شده وبه فرضیه تهی می رسیم. مشکل این است بعد از دیدن دو نمونه اول فرضیه ما بیش از حد کلی می شود و حتی سومین نمونه را هم به عنوان نمونه مثبت در نظر می گیرد. در اینجا مساله اساسی در نحوه نمایش ما برای فرضیه هاست.


برای حل این مشکل راه حل این است که فضای فرضیه ها را قادر به نمایش "یا" و "نه"هم بکنیم.از انجایی که ۹۶ حالت ممکن برای نمونه ها وجود دارد. می توان گفت هر زیر مجموعه از این ۹۶ حالت می تواند یک فرضیه باشد. در این صورت 2^96 فرضیه می تواند وجود داشته باشد. این در حالی است که شیوه نمایش ما برای فرضیه ها که مبتنی بر AND بین حالتهای مختلف بود تنها 1+4*3*3*3*3*3=973 حالت ممکن را می تواند پوشش دهد! یعنی این یادگیر بسیار بایاس عمل می کند!
بنابراین پس از اضافه کردن OR و NOT می توانیم همه حالات رو پوشش دهیم.به این ترتیب فرضیه هوا آفتابی یا ابری باشد به شکل زیر تبدیل می شود:
<Sunny, *,*,*,*,*> OR <Cloudy, *,*,*,*,*>

هر چند این راه حل مشکل را حل می کند اما مشکل بزرگتری را ایجاد می کند. این نحوه نمایش فرضیه آنقدر قدرت بیان (high expressive) بالایی دارد که عملا قادر به عمومی سازی(generalization) فراتر از نمونه های مشاهده شده را ندارد. این مدل اصطلاحا به داده ها overfit شده است.

این بحث به یک نتیجه بسیار مهم در استنتاج استقرایی(inductive inference) منجر می شود:
الگوریتم یادگیری ای که هیچ فرض پیشینی (a priori assumption) در رابطه با مفاهیم یا ایجاد فرضیه ها نمی کند نمی تواند هیچ پایه ی عقلانی برای عمومی سازی و دسته بندی نمونه های دیده نشده داشته باشد!
به عبارتی تنها دلیلی که در بخش اول قادر بودیم از نمونه های تک فراتر برویم و عمومی سازی کنیم این بود که به صورت ضمنی فرض کرده بودیم که می توان فضای فرضیات را به صورت AND بین ویژگی ها توصیف کرد.
به این ترتیب هر یادگیری یک بایاس استقرایی (inductive bias) دارد. بسیار مهم است که بایاس استقرایی الگوریتم یادگیری مورد استفاده خود را بشناسیم.

می توانیم بایاس استقرایی را دقیق تر تعریف کنیم: اگر داده های ما Dc باشند و نمونه جدیدی که دیده ایم xi باشد. و یادگیر ما L(xi,Dc) باشد که در واقع مثل یک تابع داده ها را گرفته و نمونه جدید را هم گرفته و خروجی مثبت یا منفی تولید می کند. قدم استدلال استقرایی (بااستقرای ریاضی اشتباه نگیرید) به ما می گوید:

(Dc AND xi) > L(xi, D)

اما می دانیم که این یک استدلال دقیق ریاضی به معنای استدلال استنتاجی نیست. مجموعه فرضیاتی که ما به عنوان بایاس استقرایی می شناسیم و معمولا هم ضمنی هم هستند به ما کمک می کند که این استدلال را به یک فرم دقیق تبدیل کنیم. یعنی اگر این مجموعه فرضیات استدلال استقرایی را B بنامیم. در این صورت داریم:

(B and Dc ANDxi) |- L(xi, D)

انسان ها هم همواره از این بایاس های استقرایی استفاده می کنند. همان بایاس هایی که در بخش های قبلی دیدیم و به انسان کمک می کنند تا بتواند سریع تر عمل کند. حتی در علم هم ما چنین کاری می کنیم. در بخش بعد بررسی میکنیم این بایاس ها کدام ها هستند.
🔵بیس بال: جهان آمریکایی🔵

چند روز پیش یکی از دوستان آمریکاییم من رو به بازی بیس بال دعوت کرد. من که قوانین بازی رو نمی دانستم ازش خواستم برام توضیح بده، گفت میریم اونجا بهت میگم. خلاصه بلیط ها رو گرفت و راه افتادیم. بالاخره وارد استادیوم شدیم. از همون اول مشخص بود که تفاوت های زیادی با استادیوم های فوتبال داره. طبقه میانی شبیه به راهروهای پاساژبود. تقریبا هر جور خوراکی ای می شد اونجا پیدا کرد. دوستم گفت سنت(!) اینه که معمولا مردم هات داگ و آب جو می گیرن برای بازی. البته مشخص بود که یک هات داگ ساده، بیشتر اون آدم ها رو سیر نمیکنه. انواع و اقسام فست فود ها رو میشد اونجا دید. بوی مرغ سخاری، سیب زمینی سرخ کرده و ذرت بو داده همه جا رو گرفته بود. گفتم فعلا می تونیم بریم بشینیم. وقتی وارد سکوهای نشستن شدیم کل استادیوم خیلی خلوت بود. ظاهرا استقبال زیادی از بازی نشده بود. روی صندلی خودمون نشستیم و منتظر شروع بازی شدیم. تقریبا مثل هرجای دیگه ای که توی آمریکا برید و زودتر یا حتی به موقع برسید با تبلیغات شما رو بمباران می کنند. از بیلبورد های عظیم و قشنگ اچ دی گرفته تا دور تا دور زمین و هر فضای کوچک و بزرگی که تبدیل به یک تابلوی نورانی برای تبلیغات شده بود! براحتی می شد فهمید که این حجم آزار دهنده از تبلیغات که عملا میدان دید رو میگیره در هیچ بازی ای دیگه ای بجز بیس بال وجود نداره.

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

تقریبا یک ساعت از شروع بازی گذشته بود که می دیدم استادیوم در حال پر شدنه. دوستم توضیح داد که خیلی ها دیر می آیند و فقط میخواهند نگاه کنند. رفتیم یک هات داگ خریدیم آن هم وسط بازی! تصور رفتن برای خریدن غذا وسط بازی فوتبال خیلی مسخره بنظر میرسه اما در بیس بال خیلی عادی ست. وقتی به طبقه پاساژ مانندِ غذا رسیدیم از جمعیت زیادی که آنجا بودند تعجب کردم! مگر این آدمها برای دیدن بازی بلیط نخریده اند؟ پس اینجا چکار میکنند؟ آن ها در صف های طولانی برای خریدن آبجو یا غذایشان می ایستادند. بعد از گرفتن غذا و برگشتن به صندلی کم کم متوجه شدم که بازی به خودی خود تقریبا هیچ اهمیتی ندارد. دیدن بیس بال بیشتر شبیه به یک فعالیت اجتماعی برای بودن با دوستان ست. تقریبا دو ساعت از شروع بازی گذشته بود که می دیدیم جمعیت در حال خارج شدن از ورزشگاه هستند! با تعجب از دوستم پرسیدم بازی که هنوز تمام نشده؟! چیزی معلوم نیست! گفت خیلی ها حوصله شان سر می رود و به خانه بر میگردند! چرا باید چنین باشد! اگر این بازی حوصله سر براست چرا اصلا می آیند؟!

این بازی "حوصله سر بر" باعث می شد که برای جذب بیشتر تماشاچی ها بین هر بخش(شبیه به نیمه های فوتبال) برنامه های مختلفی بگذارند. این میان برنامه ها من رو یاد برنامه عمو قناد می انداخت مثلا در بین یکی از آن ها به صورت تصادفی از یک تماشاچی می پرسیدند که در کمتر از 10 ثانیه اسم حداقل 6 پیتزایی بزرگ زنجیره ای را بگوید. در نهایت یک جایزه از سمت یک پیتزایی بزرگ به او می دادند! انجام شو هایی از پیش برنامه ریزی شده ای مثل این دیگر برای آمریکایی ها شبیه به مواد اولیه زندگی شده است. همه میدانند که تمام اینها در نهایت تبلیغات است.

بازی بیس بال یک نمایشگاه بسیار گویا از نحوه زندگی آمریکایی است. انجام کاری نه برای انجام آن کار بلکه صرفا برای تفریحات حاشیه ای. یک رویداد بدون شروع و بدون پایان! هیچ چیزی در مورد خود کار مهم نیست بلکه سود در فرم لذت برای فقط چند دقیقه مهم تر است. کسی دلبستگی ای به خود اتفاق ندارد. اتفاقی که در متن هست توسط سرگرمی های حاشیه ای کمرنگ و حتی فراموش می شود. در نهایت، بیس بال واقعیت دیگری هم از زندگی آمریکایی مشخص می کند:"ایزوله سازی". در بین رقابت های حساس جام جهانی که تمام مردم جهان را درگیر کرده است جمعیتی برای تماشای بیس بال می آیند که بعضا حتی اسم لیونل مسی را هم نشنیده اند!
Forwarded from اتچ بات
چه غریبانه تو با یاد وطن می نالی/ من چه گویم که غریب است دلم در وطنم
شعر من با مدد ساز تو آوازی داشت/ کی بود باز که شوری به چمن در فکنم
همه مرغان هم آواز پراکنده شدند/ آه از این باد بلاخیز که زد در چمنم
(ه. الف. سایه)

#خرمشهر #خوزستان #ایران #وطن