خاطرات بهینه‌سازانه

این هفته‌ی اخیر پوست‌ام بگی نگی کنده شد. در واقع قانون کلی این است که هر چه به آخر ترم نزدیک‌تر می‌شوم، سرعت پوست‌کندگی هم بیش‌تر می‌شود. البته این برای یک برنامه‌ی تحصیلات تکمیلی تقریبا طبیعی است (مثلا در دانش‌گاه تهران هم همین‌طور بود دقیقا. یک ماه اول اولین ترم‌ام بسیار زندگی شیرین بود، بعد به تدریج فشرده‌تر شد). طبیعی می‌نماید که در لیسانس هم همین‌طوری باشد اما تا جایی که به خاطر دارم دقیقا این‌طوری نبود. آخرهای ترم‌ها معمولا خیلی کار داشتم ولی قابل مقایسه با دوره‌های بعدی نبود. در دوران لیسانس کلا کارهای خیلی بیش‌تری می‌کردم: انجمن علمی، فلان جلسات ادبی و … ! بگذریم …
آخرین پروژه‌ی این دست بهینه‌سازی مربوط می‌شد بهینه‌سازی‌ی مقید. باید یک SVM را تعلیم می‌دادیم که تعلیم آن منجر می‌شد به یک quadratic problem با قیدهای تساوی و ناتساوی‌ی خطی. تا به حال مسایل بهینه‌سازی‌ی مقید را با روش‌های کلاسیک حل نکرده بودم. تجربه‌ی جالبی بود و البته کمی دردسردار. چند نکته باعث شده بود که این تکلیف کمی بیش‌تر از تکلیف‌های پیشین اذیت‌ام کند: چند جلسه‌ای دیر رفته بودم سر جلسه‌ها و جزوه‌های‌ این بخش‌ام خیلی کامل و دقیق نبود. هم‌چنین کم‌تر از بخش‌های دیگر هم بلدش بودم. به نظر می‌رسد پیاده‌سازی‌ی مناسب این روش‌ها پیچیده‌تر باشد از روش‌های بهینه‌سازی‌ی بدون قید. یعنی برای این‌که این روش‌ها درست کار کند نه تنها الگوریتم‌های نامقیدتان باید درست کار کند (که مثلا برای روش‌ای مثل نیوتون همیشه آسان نیست)، بلکه با دردسرهای طبیعی‌ی روش‌های مقید -که باعث می‌شود مسایل از نظر عددی پیچیده و بدرفتار- نیز سر و کار داریم. مهم‌تر از این‌ها این که وقت خیلی کم‌تری برای این تکلیف داشتم. عملا چهارشنبه شب شروع کردم به برنامه‌نوشتن و گزارش‌اش را هم بعد از تمام شدن مهلت مقرر شروع کردم به نوشتن!!! نتیجه‌اش این شد که تا هفت صبح بیدار بودم. دفعه‌ی اول حدود یک هفته قبل از سر رسیدن مهلت، برنامه‌های‌ام کار می‌کردند. البته خیلی هم تقصیر من نیست چون نمی‌شود گفت خیلی تنبلی هم کرده‌ام.
اما خوش‌بختانه در آخرین لحظات روش‌های‌ام تا حدود قابل قبولی کار کردند. البته باز هم باید مقایسه شود ولی فکر کنم قابل قبول باشند.
اندکی راجع به روش‌هایی که پیاده‌سازی کردم بنویسم. با این‌که با این کارم از فرم معمول ضدخاطرات خارج می‌شوم اما تا این‌جای‌اش هم به اندازه‌ی کافی متفاوت شده است که نوشتن دو تا اسم عجیب و غریب را توجیه کند. یکی از روش‌های‌ام استفاده از augmented Lagrangian بود که یک روش exterior point بر اساس penalization است. این را با دو بهینه‌سازی‌ی نامقید steepest descent و damped newton حل کردم. روش دیگر اسم‌اش خارق‌العاده است: primal-dual interior point log-barrier!!! روش دوست‌داشتنی و هوش‌مندانه‌ای است که خیلی هم خوب کار می‌کند اما عیب‌اش این است که باید از یک راه‌حلی شروع کرد که قیدها را از همان ابتدا تامین کند. در نتیجه به کارگیری‌ی این روش کمی مشکل‌دار می‌شود. اما گویا ملت از این روش خوش‌شان می‌آید و اتفاقا جدیدا بسیار استفاده می‌شود.
به‌ترین پاسخ به دست آمده از آن روش دوم بود و روش augmented Lagrangian با damped Newton هم به‌تر از آن دیگری -که تقریبا پرت بود- کار کرد. دیگر چه؟! همین! آها … یک مقدار خاطره‌ی بی‌ربط:
این‌جا سرد شده است. در حدود -۱۵ تا -۲۲ درجه‌ی سانتیگراد است. خب، جالب است! هوا جوری سرد است که به نظرم می‌اید در بینی‌ام کریستال تشکیل می‌شود. حالا باید یک‌بار آینه با خودم ببرم بیرون ببینم دقیقا چه اتفاقی می‌افتد اما حس‌اش این‌طوری است و به نظر یک چیزهایی جدا آن تو یخ می‌زند. خب، البته خیلی هم بد نیست. فعلا می‌توان زنده ماند.

Advertisements

2 نظر برای “خاطرات بهینه‌سازانه

  1. فکر کنم این‌طوری هم می‌شود به‌اش نگاه کرد. در واقع اکثر مسائل همین‌طورند. اما نکته‌ی جالب این است که معمولا نمی‌دانیم تابع‌ای که باید بهینه شود دقیقا چیست. فقط تعدادی نمونه از آن دریافت می‌کنیم و گاهی امتیازی بابت کاری که کرده‌ایم.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s