به نام خدا

جایی برای یادگیری ماشین

این جا محلی است برای بحث در مسائل یادگیری ماشین.

جایی برای یادگیری ماشین

این جا محلی است برای بحث در مسائل یادگیری ماشین.

جایی برای یادگیری ماشین

این وبلاگ بر آن است تا محلی باشد برای بحث های نظری یا کاربردی مفید در یادگیری ماشین. جایی برای یاد دادن و یاد گرفتن؛ برای نشر ساده تر؛ برای نظر دادن و کاربردی کردن آن چه می دانیم!

چند نکته و سوال از فصل اول بیشاپ

دوشنبه, ۱۵ مهر ۱۳۹۲، ۰۴:۰۴ ق.ظ
با چند تا از بچه ها داریم کتاب بیشاپ رو میخونیم.
اگه سوال یا نکته جالی پیش اومد اینجا می نویسیم و در موردش بحث می کنیم.
این کتاب عنوانش «تشخیص الگو و یادگیری ماشین» (pattern recognition and machine leaning) . یه کتاب کلاسیک «یادگیری ماشین» هستش که تو خیلی از دانشگاه تدریس میشه. نویسندش کریستوفر بیشاپ (christopher bishop) محقق در آزمایشگاه تحقیقاتی مایکروسافت هستش.

در مورد فصل اول بیشاپ چند تا نکته و سوال به ذهنم رسیده. خودم یه جوابایی براشون دارم اما مطمئن نیستم. می تونیم راجع به شون بحث کنیم در کامنت ها:
۱- صفحه ۹ پاراگراف اول گفته که وقتی پیچیدگی مدل زیاد باشه مدل سعی میکنه خودش رو با نویز تطابق بده و اونها رو هم توجیه کنه و این باعث نوسانات و شکل غیریکنواخت  خم ما میشه. حالا سوال اینجاست که اگه داده ها نویزی نباشن و کاملا از (sin(2\pi x تولید شده باشن اون وقت با M زیاد آیا همین جوری نوسانی نخواهد شد؟ (یعنی میخوام بگم نوسانات زیاد به خاطر نویز نیست بلکه به خاطر پیچیدگی بالاست)
کسی حالش رو داره پیاده سازی کنه؟

۲- روند معرفی ایده ها رو در یک نگاه  ببینید. خیلی جالبه:
الف) اول یه مدل یادگیری برای رگرسیون به صورت کمینه کردن مجموع مربعات خطا.
ب) مشکل overfitting برای این مدل ساده
پ) حل مشکل overfiting به کمک منظم سازی (regularization)
ت)‌ معرفی مدل احتمالی که به یه خم چندجمله ای بالا یه نویز گاوسی اضافه شده. این معادل حالت الف میشه. یعنی رگرسیون با کمینه کردن خطا.
ث) اضافه کردن یک احتمال پیشین به ضرایب چند جمله ای که معادل حالت منظم سازی شده میشه.
ت) تا الآن در دو مدل فوق یک تخمین نقطه ای از ضرایب به دست می یومد و سپس از این تخمین برای پیش بینی نقطه ی جدید استفاده میشد. در روش بیزی کامل بعد از اینکه احتمال پسین ضرایب به دست اومد با استفاده از  قوانین جمع و ضرب احتمال مقدار خروجی برای ورودی جدید رو به صورت جمع وزندار مقدار خروجی با وزنی متناسب با احتمال رخداد ضرایب حساب میشه.

۳-روش بیزین یه روش سیستماتیک و منطبق بر داده هاست برای جلوگیری از overfitting و انتخاب مدل. در منظم سازی احتیاج به cross validation یا روش های مشابه داریم تا پارامتر منظم سازی مناسب رو انتخاب کنیم. ظاهرا در روش بیزی این کار به طور خودکار و به صورت کاملا وابسته به داده ها صورت میگیره. احتمالا در فصل سه در این مورد بیشتر صحبت میکنه. نه؟
کسی میدونه چرا روش بیزی انتخاب مدل و جلوگیری از overfitting رو با تکیه بر خود داده ها انجام میده؟

۴-  صفحه ۲۷ پاراگراف بزرگ وسط صفحه ادعا میکنه که : اریب بودن (bias)  تخمین واریانس در در  روش تمایل بیشینگی! (maximum likelihood) رابطه داره با over-fitting . نظر شما چیه ؟

۵- مشکل بعد بالا رو خیلی جالب مطرح کرده بود :) نه؟

۶- داستانش در مورد لاپلاس دیدین  چه طوری شروع کرده؟‌ نوشته: « خیلی تو کار تواضع و فروتنی این حرفا نبود. خودش رو بهترین ریاضیدان زمان در فرانسه میدونست. »  جا خوردم با این شروعش :)))

نظرات  (۴)

  • احمد خواجه‌نژاد
  • سلام،

    خیلی ممنون به خاطر سوال های خوبت.

    اول یه نکته:

    من ترجمه ای که برای likelihood شنیدم، «درست نمایی» بوده. یعنی maximum likelihood میشه بیشترین درست نمایی.

    دوم این که:
    راستش همون طور که می دونی، من از فصل 3 شروع کردم، ولی با این سوالهای تو، ترغیب شدم که فصل 1 رو هم بخونم.

    فعلا در مورد سوال 3 فکر می کنم می تونم یه چیزی بگم، که البته شاید خودت بدونی:

    ببین، فکر می کنم در مورد روش های مبتنی بر احتمال، می خواد بگه که پارامترها رو با استفاده از بیشترین درست نمایی (maximum likelihood) روی داده های آموزش تنظیم می کنیم. اما وقتی که از منظم سازی استفاده می کنی، معیاری برای این کار نداری و مجبوری از مجموعه ی validation  set استفاده کنی. حالا چند تا نکته ی مهم اینجا وجود داره:

    1. به گمانم استفاده از validation set در واقع یه جورایی تخمین test error هست. اگه اشتباه نکنم، توی کتاب میشل، در مورد این که خطایی که روی یک sample set به دست میاری، نسبت به خطای روی test set به چه احتمالی چه قدر خطا داره یه حرفایی زده. اگه کسی منبه خوبی برای تحلیل خطای cross validation میشناسه لطفا بگه.

    2. مساله اینه که معمولا روش های مبتنی بر منظم سازی، تعبیر احتمالی هم دارن. بعنی معمولا این روش ها شامل دو تا جمله هستند؛ یک جمله خطای عملی (empirical risk) هست و یک جمله، جمله ی منظم ساز که نشان دهنده ی پیچیدگی تابع برچسب گذاری هست. حالا توی تعبیر احتمالی معمولا جمله ی اولی میشه لگاریتم likelihood و جمله ی منظم ساز میشه لگاریتم prior. بنابراین اگه اشتباه نکنم، توی روش های مبتنی بر منظم سازی هم می تونی از همون روش بیشترین درست نمایی استفاده کنی، اما چون تعبیر احتمالی نمی کنی، باید یه تعبیر دیگه براش پیدا کنی، که شاید کار سختی باشه، ولی به نظرم قابل تامله!
    برای مثال، روش منظم سازی با تابع خطای مجموع مربعات رو در نظر بگیرید (منظم سازی تیخونوف)، این تقریبا معادل با رگرسیون با استفاده از فرایند گاوسی و یه تابع کواریانس خاص هست (گفتم تقریبا، به خاطر این که یه مقدار بستگی به اون جمله ی منظم سازی داره). مثلا منظم سازی منیفلدی، تقریبا معادل با فرایند گاوسی با ماتریس کواریانس +L هست. حالا میشه ضریب پشت جمله ی منظم سازی زو با این تعبیر احتمالی، با استفاده از بیشترین درست نمایی حساب کرد. توی اواخر فصل 2 کتاب learning with Gaussian Processes گفته که این پارامتر رو چه طوری میشه تنظیم کرد.

    3. برام سوال شده که آیا استفاده از cross validation یه جور تخمین برای همون استفاده از بیشترین درست نمایی هست؟
  • احمد خواجه‌نژاد
  • چیزی که در مورد کتاب میشل گفتم، فصل 5 کتاب (Machine Learning) بود.
  • مهرداد فرج‌تبار
  • سلام.
    آره. به نظرم حتما فصل ۱ رو بخون. خیلی قشنگ و خوب نوشته شده.
    درستی نمایی بیشینه : یادم بود یه چیز خوبی هست ولی هر چی فکر کردم یادم نیومد چی بهش میگفتیم :)

    در مورد سوال ۳:
    ۱- دلیل اولت به نظرم درست نیست. چون maximum likelihood روی حالت احتمالی ساده به صورت جمع یه تابع چند جمله ای و یه نویز گاوسی ( که معادل کمینه سازی مجموع مربعات خطا میشه)ِ از overfit رنج  می بره. بنابراین «احتمالی شدن» مدل به تنهایی باعث عدم overfit نمیشه. به علاوه که مساله overfit اینگ یه جورایی اصن در ذات تخمین واریانس به وسیله درستی نمایی بیشینه هست ( سوال پنج رو ببین)
    دلیل دومت هم درسته. اما من به دنبال یه دلیل مستقیم هستم برای پیدا کردن علت عدم overfit وقتی که احتمال پیشین اضافه میشه. همون طور که گفتی دانش پیشین اضافه کردن معادل منظم سازی داره، پس چون منظم سازی باعث جلوگیری از overfit میشه، پس احتمال پشیشن جلوی overfit رو میگیره.
    اما به نظرم باید دلیل های مستقیمی باشه. که این احتمال پسین چه میکنه.
    تازه روش های تمام-بیزین پا رو فراتر میذارن. به این معنی که در منظم سازی تهش باید پارامترش رو خودت انتخاب کنی. اما این روش ها تنظیم این پارامترها رو خودشون انجام میدن.
    سلام
    من  فصل اول بی شاپ را تا نصفه خوندم استادمون قدرت بیان ضعیفی داره من هم تا اینجا از انگلیسیش به درک 100 در 100 نرسیدم موندم این روند را ادامه بدم یا برم پی یه منبع فارسی!

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی