به نام خدا

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

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

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

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

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

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

۲ مطلب با موضوع «هوش مصنوعی :: نظری» ثبت شده است

با چند تا از بچه ها داریم کتاب بیشاپ رو میخونیم.
اگه سوال یا نکته جالی پیش اومد اینجا می نویسیم و در موردش بحث می کنیم.
این کتاب عنوانش «تشخیص الگو و یادگیری ماشین» (pattern recognition and machine leaning) . یه کتاب کلاسیک «یادگیری ماشین» هستش که تو خیلی از دانشگاه تدریس میشه. نویسندش کریستوفر بیشاپ (christopher bishop) محقق در آزمایشگاه تحقیقاتی مایکروسافت هستش.

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

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

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

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

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

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

  • مهرداد فرج‌تبار

تساوی عنوان که در آن فرض می‌شود x تنک است در دو حوزه‌ی متفاوت، اما با راه حل‌های مشابه ظاهر می‌شود:

حوزه‌ی نخست پردازش سیگنال است. این‌جا y نتیجه‌ی اندازه‌گیری‌های به دست آمده از شیء مورد نظر، x، توسط عملگری خطی است که با A نمایش داده می‌شود. در این‌جا به دنبال بازسازی سیگنال اصلی x از تعداد محدودی اندازه‌گیری هستیم. برای دستیابی به این هدف لازم است بر x و y محدودیت‌هایی اعمال کنیم. معمولا فرض می‌شود که x یا خودش تنک است و یا در پایه‌ای معلوم مانند موجک (wavelet)، نمایشی تنک دارد. A معمولا به گونه‌ای انتخاب می‌شود که با پایه‌ی تنک کننده‌ی سیگنال اصلی نامتجانس باشد. به این ترتیب راه حل این است که x را به گونه‌ای بیابیم که تنک باشد و شرط y = Ax را براورده کند.

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

در پردازش سیگنال، جایی که A ماتریس اندازه‌گیری است، ما به دنبال استفاده از ماتریس‌هایی هستیم که اطلاعات موجود در x را با کمترین تعداد اندازه‌گیری‌ها درون y حفظ کنند. در یادگیری ماشین به دنبال یادگیری واژه‌نامه‌ی A هستیم به گونه‌ای که منجر به ویژگی‌هایی تنک شود که اطلاعات را درون x حفظ می‌کنند. با توجه به مفهوم اطلاعات متقابل می‌دانیم که میزان اطلاعاتی که y در مورد x به ما می‌دهد برابر با میزان اطلاعاتی است که x در مورد y به ما می‌دهد. به این ترتیب به نظر می‌رسد که ماتریس A یکسانی می‌تواند برای این هر دو منظور مناسب باشد. این در حالی است که به دست آوردن A در این دو حوزه به شیوه‌های بسیار متفاوتی انجام می‌شود. جامعه‌ی پردازش سیگنال به دنبال ماتریسی (با تعداد ستون‌های معلوم) می‌گردد که ستون‌های آن حداقل شباهت را به یکدیگر داشته باشند و در عین حال کمترین تعداد سطرها را داشته باشد (دو هدف متضاد). جامعه‌ی یادگیری ماشین به دنبال واژه‌نامه‌هایی (با تعداد سطرهای معلوم) دارای افزونگی (شباهت ستون‌ها) است که کمترین تعداد ستون‌ها را داشته باشد (دو هدف متضاد).

  • علی سلطانی