یک توصیه برای علاقه‌مندان هوش‌مصنوعی: یادگیری آماری

ترم پیش یه درسی داشتیم به اسم فنون آماری با خانم دکتر امین‌غفاری. این درس به‌نظرم از معدود درس‌هاییه که بشه گفت تو دوران تحصیلم مفیده بود. لااقل از جهت ایده‌هایی که بهم داد. موضوع این درس در یک کلام مبحث یادگیری آماری بود، که در واقع بستری آماری از همون مبحث یادگیری ماشینه که توی اون ابزارهای بستری خوبی برای پیداکردن توابع پیشگو در یادگیری‌های باناظر و بدون ناظره. ابزارهایی که توی مباحث یادگیری ماشین مثلا بینایی ماشین، تشخیص صدا، پرازش سیگنال و… کاربرد اساسی دارن. منبعی که برای این درس خوندیم و من هم بهتون توصیه می‌کنم  کتاب Statistical Learning نوشته‌ی Trevor Hastie. Robert Tibshirani. Jerome Friedman بود.

 لازم می‌دونم بگم نویسنده‌ی اول این کتاب که اسمش Hastie هست با اون «هستی» که تو فارسی داریم که اسم خانمه فرق می‌کنه و اینجا اسم یه آقاست در استنفورد. چون اول تصور می‌کردم یه خانمه. نمی‌دونم چرا :).

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

برآورد عدد π به روش مونت کارلو!

به ذهنم رسیده بود که یک پست بزار از یه کار ساده اما جالب! برآورد عدد معروف پی (π)، به روش مونت‌کارلو!
ایده اصلی توی این روش اینه که برای برآورد ما بیایم از شبیه‌سازی استفاده کنیم. یعنی با تولید اعداد شبه‌تصادفی برآورد می‌کنیم.
برای اینکار شما یک مربع به طول ضلع ۲r و یک دایره که توی مربع محاط شده به شعاع r  رو در نظر بگیرین.
circler

بعد ما بیایم نقاطی تصادفی با توزیع یکنواخت توی مربع انتخاب کنیم. برای این کار هم  وقتی به شکل زوج مرتبی بین تو فاصله‌ی [r,r-] نمونه بگیریم، یعنی اعدادی به شکل:
(X1,Y1);
(X2,Y2);
(X3,Y3);

(Xn,Yn)
به دست بیاریم که همه مولفه‌ها تو فاصله‌ی r تا r- هستن.

اون وقت واضحه‌ که نسبت تعداد نقاطی که توی دایره‌ی محاط شده‌ توی مربع میفتن، برآورد خوبی برای نسبت مساحت دایره به مساحت مربع خواهند بود، که این نسبت برابر می‌شه با:

{\Huge \frac{circle}{rectange} = \frac{\pi r^2}{4 r^2} = \frac{\pi}{4}}

خب برای پیاده‌سازی این روش ما می‌تونیم به طور تصادفی نقاطی رو توی مربع به طول ضلع انتخابی انتخاب کنیم و طبق رابطه‌ای که بالا نوشتیم، نسبت تعداد نقاطی که توی دایره میفتن به تعداد کل نمونه‌ی انتخابیمون برآورد خوبی برای عدد  \frac{\pi}{4} میشه! هر چی که تعداد نمونه‌ای که گرفتیم بیشتر بشه هم دقت ما در برآورد عدد π بیشتر می‌شود وبه عبارتی با میل کردن تعداد نمونه به بینهایت، نسبت تعداد نقاط در دایره به کل نمونه به عدد ۴/π میل می‌کنه! که با ضرب عدد حاصل در ۴ برآوردی برای π به‌دست میاد.
اینجا یه کد ساده‌ی R نوشتم که باهاش با تعداد نمونه‌ی دلخواه می‌شه با روش مونت کارلو برآوردی برای π به دست آورد:

دقت کنید! هر بار اجرای این کد عدد متفاوتی رو به شما می‌ده! چون شبیه‌سازی‌ مبتنی بر عدد تصادفیه! مثلا عدد‌های ۳٫۱۵۱۹۵، ۳٫۱۳۳۲۵ و ۳٫۱۴۳۴ سه‌تا نتیجه از سه شبیه‌سازی پشت سر هم بود که با این نمونه‌ی ۸۰۰۰۰تایی به دست آوردم!
نظراتتون باعث خوشحالیم خواهد بود. 🙂

ترجمه داستان تقابل شیمی‌دان، مهندس و آماردان در مطالعه در بیان اهمیت حجم کافی نمونه

جان دی‌کوک (John D. Cook) تو توییترش یه لینک از یه پست از گوگل‌پلاس Dan Eastwood منتشر کرده بود که توش تقابل یه مهندس، یه شیمی‌دان و یه آماردان رو در حل یه مساله بررسی کرده بود. به نظر من جالب اومد و براتون اینجا ترجمه فارسیش رو می‌ذارم:

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

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

البته حتی با هر حجم نمونه هم که راجع به یک مساله بخواهیم نظر بدیم باید از خطای نمونه‌گیری که گریزناپذیره غافل نشیم و در گزارش کارمون در هر رشته‌ای که پژوهش می‌کنیم این خطا رو در نظر بگیریم و ترجیحا ذکرش کنیم.

امیدوارم تونسته باشم مطالب اون پست گوگل‌پلاس و حرف خودمو به خوبی منتقل کنم.
نظراتتون مورد استقبال من خواهد بود :).