You are on page 1of 33

‫یادگیری ماشین‪ :‬معرفی‬

‫سید ناصر رضوی ‪n.razavi@tabrizu.ac.ir‬‬


‫‪۱۳۹۷‬‬
‫منابع و مراجع (‪)1‬‬
‫‪2‬‬

‫مقدمهای بر یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[آلپایدین‪ ،‬ویراست سوم؛ ‪]20۱4‬‬

‫یادگیری ماشین‪ :‬یک دیدگاه احتماالتی‪.‬‬ ‫‪‬‬

‫[کوین مورفی‪]20۱2 ،‬‬

‫شناسایی الگو و یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[کریستوفر بیشاپ‪]2006 ،‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫منابع و مراجع (‪)2‬‬
‫‪3‬‬

‫مقدمهای بر یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[آلپایدین‪ ،‬ویراست سوم؛ ‪]20۱4‬‬

‫یادگیری ماشین‪ :‬یک دیدگاه احتماالتی‪.‬‬ ‫‪‬‬

‫[کوین مورفی‪]20۱2 ،‬‬

‫شناسایی الگو و یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[کریستوفر بیشاپ‪]2006 ،‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫منابع و مراجع (‪)۳‬‬
‫‪4‬‬

‫مقدمهای بر یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[آلپایدین‪ ،‬ویراست سوم؛ ‪]20۱4‬‬

‫یادگیری ماشین‪ :‬یک دیدگاه احتماالتی‪.‬‬ ‫‪‬‬

‫[کوین مورفی‪]20۱2 ،‬‬

‫شناسایی الگو و یادگیری ماشین‪.‬‬ ‫‪‬‬

‫[بیشاپ‪]2006 ،‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫پیشنیازها‬
‫‪5‬‬

‫روشهای تحلیل و طراحی الگوریتمها‬ ‫‪‬‬

‫‪ ‬تحلیل پیچیدگی محاسباتی الگوریتمهای یادگیری‬

‫جبر خطی‬ ‫‪‬‬

‫‪ ‬ماتریسها‪ ،‬بردارها‪ ،‬عملیات ماتریسی و دستگاه معادالت خطی‬


‫‪ ‬ماتریس وارون‪ ،‬بردارهای ویژه‪ ،‬مرتبه ماتریس‪ ،‬تجزیه مقادیر منفرد‬

‫حساب چند متغیره‬ ‫‪‬‬

‫‪ ‬مشتق‪ ،‬انتگرال‪ ،‬صفحات مماس‬

‫احتماالت‬ ‫‪‬‬

‫‪ ‬متغیرهای تصادفی‪ ،‬مقدار مورد انتظار‪ ،‬واریانس و ‪...‬‬


‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬
‫ارزیابی‬
‫‪6‬‬

‫تمرینها [‪]40%‬‬ ‫‪‬‬

‫‪ ‬مباحث نظری‬
‫‪ ‬برنامهنویسی‬

‫امتحان پایانترم [‪]50%‬‬ ‫‪‬‬

‫حضور مؤثر در کالس [‪]۱0%‬‬ ‫‪‬‬

‫‪MATLAB‬‬ ‫‪OCTAVE‬‬
‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬
‫فهرست مطالب‬
‫‪7‬‬

‫یادگیری نظارت شده‪.‬‬ ‫‪‬‬

‫‪ ‬رگرسیون – رگرسیون خطی تک متغیره و چند متغیره‬


‫‪ ‬دستهبندی – رگرسیون لجستیک‪ ،‬شبکههای عصبی‪ ،‬ماشینهای بردار پشتیبان‬

‫یادگیری بدون نظارت‪.‬‬ ‫‪‬‬

‫‪ ‬خوشهبندی‬

‫یادگیری تقویتی‪.‬‬ ‫‪‬‬

‫برنامهنویسی با استفاده از زبان پایتون (یا اُکتاو)‪.‬‬ ‫‪‬‬

‫توصیههای عملی در استفاده از الگوریتمهای یادگیری ماشین‪.‬‬ ‫‪‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫چند نقل قول‬
‫‪8‬‬

‫«هر گام رو به جلو در جهت یادگیری ماشین دهها برابر مایکروسافت ارزش دارد»‬

‫بیل گیتس ‪ -‬مدیر مایکروسافت‬

‫«نسل بعدی اینترنت چیزی به جز یادگیری ماشین نیست»‬

‫تونی تدر‪ -‬مدیر اسبق دارپا‬

‫«یادگیری ماشین در نهایت به یک انقالب واقعی منجر خواهد شد»‬

‫گرگ پاپادوپولس‪ -‬مدیر اسبق سان‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری ماشین چیست؟‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری ماشین‪ :‬تعاریف‬
‫‪10‬‬

‫آرتور ساموئل‪]۱۹5۹[ .‬‬ ‫‪‬‬

‫« یک حوزه مطالعاتی که به ماشینها توانایی یادگیری میدهد‪ ،‬بدون این که نیاز باشد این‬
‫ماشینها به طور صریح برنامهنویسی شوند‪» .‬‬

‫بازی چکرز‪[ .‬ساموئل‪ ،‬دهه ‪]50‬‬ ‫‪‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری ماشین‪ :‬تعاریف‬
‫‪11‬‬

‫تام میشل‪]۱۹۹8[ .‬‬ ‫‪‬‬

‫« با داشتن یک وظیفه مانند ‪ T‬و یک معیار کارایی مانند ‪ ،P‬میگوییم یک برنامه کامپیوتری از‬
‫تجربهی ‪ E‬یاد میگیرد اگر معیار کارایی آن برنامه یعنی ‪ P‬برای انجام وظیفه ‪ T‬با استفاده از‬
‫تجربه ‪ E‬بهبود یابد‪» .‬‬

‫مثال‪ .‬بازی چکرز‬ ‫‪‬‬

‫‪ ‬وظیفه‪ :‬انجام بازی چکرز‬


‫‪ ‬تجربه‪ :‬هزاران هزار بار بازی در مقابل خود‬
‫‪ ‬معیار کارایی‪ :‬تعداد دفعات برد در برابر رقبای جدید‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مثال‪ :‬تشخیص هرزنامه‬
‫‪12‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مثال‪ :‬تشخیص هرزنامه‬
‫‪13‬‬

‫مثال‪ .‬تشخیص هرزنامه‬ ‫‪‬‬

‫فرض کنید برنامه ایمیل شما به شما امکان میدهد که ایمیلهای دریافتی خود را به عنوان‬
‫هرزنامه عالمت بزنید و بر این اساس یاد میگیرد که چگونه هرزنامهها را بهتر فیلتر کند‪.‬‬

‫‪ ‬وظیفه‪ :‬دستهبندی ایمیلها به عنوان هرزنامه یا ایمیل‪.‬‬


‫‪ ‬تجربه‪ :‬نظارت بر این که شما کدام ایمیلها را به عنوان هرزنامه عالمت میزنید‪.‬‬
‫‪ ‬معیار کارایی‪ :‬تعداد ایمیلهایی که به درستی دستهبندی شدهاند‪.‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫انواع روشهای یادگیری ماشین‬
‫‪14‬‬

‫یادگیری ماشین‪ .‬بهبود عملکرد ماشین در انجام یک وظیفه با کسب تجربه‪.‬‬ ‫‪‬‬

‫س‪ .‬یک ماشین از کجا میتواند بفهمد عملکردش بهبود یافته است؟‬ ‫‪‬‬

‫‪ ‬میتوانیم به ماشین پاسخ درست را برای چند نمونه محدود از ورودیها بدهیم به این امید که بتواند آن را‬
‫برای نمونههای دیگر تعمیم دهد ‪ --‬یادگیری نظارت شده‬
‫‪ ‬میتوانیم به ماشین بگوییم پاسخش تا چه میزان درست بوده (مثال با دادن یک امتیاز) و خود ماشین مسئول‬
‫یافتن پاسخهای درست است ‪ --‬یادگیری تقویتی‬
‫‪ ‬ممکن است هیچ اطالعاتی در مورد پاسخ درست به ماشین ندهیم و تنها از ماشین بخواهیم ورودیهایی را که‬
‫دارای وجوه مشترک هستند پیدا کند ‪ --‬یادگیری بدون نظارت‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری نظارت شده‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری نظارت شده‬
‫‪16‬‬

‫ورودی‪ .‬یک مجموعه آموزشی که در آن به ازای هر ورودی پاسخ درست داده شده است‪.‬‬ ‫‪‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫𝑚‬ ‫𝑚‬


‫𝑥‬ ‫𝑦‪,‬‬ ‫𝑥 ‪,‬‬ ‫𝑦‪,‬‬ ‫𝑥 ‪,…,‬‬ ‫𝑦‪,‬‬

‫مجموعه آموزشی‬ ‫هدف‪ .‬یافتن یک تقریب مناسب برای نگاشت زیر‪:‬‬ ‫‪‬‬

‫𝑌 → 𝑋 ‪𝑓:‬‬
‫مثال‪.‬‬ ‫‪‬‬

‫‪ ‬تشخیص هرزنامه‪ :‬نگاشت ایمیلها به مجموعه {هرزنامه‪ ،‬غیرهرزنامه}‬


‫‪ ‬تشخیص ارقام‪ :‬نگاشت یک مجموعه از پیکسلها به مجموعه {‪}0, ۱, 2 , ..., ۹‬‬
‫‪ ‬تشخیص سرطان‪ :‬نگاشت دادههای پزشکی به مجموعه {بدخیم‪ ،‬خوشخیم}‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫ تشخیص هرزنامه‬:‫مثال‬
17
Dear Sir. ‫ ایمیل‬.‫ورودی‬ 
First, I must solicit your confidence in this
transaction, this is by virture of its nature ‫ غیرهرزنامه‬،‫ هرزنامه‬.‫خروجی‬ 
as being utterly confidencial and top
secret. …

To be removed from future mailings,


simply reply to this message and put
"remove" in the subject.
99 million email addresses for only $99

Ok, I know this is blatantly OT but I'm


beginning to go insane. Had an old Dell
Dimension XPS sitting in the corner and
decided to put it to use, I know it was
working pre being stuck in the corner,
but when I plugged it in, hit the power
nothing happened. 1۳۹۷ - ‫ سید ناصر رضوی‬- ‫ معرفی‬- ‫یادگیری ماشین‬
‫مثال‪ :‬تشخیص ارقام دستنویس‬
‫‪18‬‬

‫ورودی‪ .‬تصویر یک رقم‬ ‫‪‬‬

‫خروجی‪ .‬یک رقم‬ ‫‪‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مثال‪ :‬قیمتگذاری یک خانه‬
‫‪19‬‬

‫ورودی‪ .‬اندازه خانه [برحسب فوت مربع]‬ ‫‪‬‬

‫خروجی‪ .‬قیمت تخمینی‬ ‫‪‬‬

‫‪400‬‬

‫‪300‬‬
‫)‪price (1000’s‬‬

‫‪200‬‬
‫‪160‬‬
‫‪100‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪500‬‬ ‫‪750‬‬ ‫‪1000‬‬ ‫‪1500‬‬ ‫‪2000‬‬ ‫‪2500‬‬
‫)‪size (feet2‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مثال‪ :‬قیمتگذاری یک خانه‬
‫‪20‬‬

‫س‪ .‬کدام یک بهتر است؟ یک تابع خطی یا یک تابع درجه دوم؟‬ ‫‪‬‬

‫‪400‬‬

‫‪300‬‬
‫)‪price (1000’s‬‬

‫‪220‬‬
‫‪200‬‬

‫‪100‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪500‬‬ ‫‪750‬‬ ‫‪1000‬‬ ‫‪1500‬‬ ‫‪2000‬‬ ‫‪2500‬‬
‫)‪size (feet2‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مثال‪ :‬قیمتگذاری یک خانه‬
‫‪21‬‬

‫‪400‬‬

‫‪300‬‬

‫)‪price (1000’s‬‬
‫‪200‬‬

‫‪100‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪500‬‬ ‫‪1000‬‬ ‫‪1500‬‬ ‫‪2000‬‬ ‫‪2500‬‬
‫)‪size (feet2‬‬

‫رگرسیون‪.‬‬ ‫‪‬‬ ‫یادگیری نظارت شده‪.‬‬ ‫‪‬‬

‫پیشبینی کمیتهایی با مقادیر پیوسته (مانند‬ ‫به ازای هر نمونه آموزشی‪« ،‬پاسخ درست» داده شده‬
‫قیمت یک خانه)‬ ‫است‪.‬‬
‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬
‫مثال‪ :‬تشخیص نوع سرطان (بدخیم‪ ،‬خوشخیم)‬
‫‪22‬‬

‫‪1‬‬

‫? ‪Malignant‬‬ ‫‪0‬‬
‫‪Tumor Size‬‬
‫بدخیم یا خوشخیم؟‬

‫کالسبندی‪.‬‬ ‫‪‬‬ ‫یادگیری نظارت شده‪.‬‬ ‫‪‬‬

‫پیشبینی کمیتهایی با مقادیر گسسته (مانند‬ ‫به ازای هر نمونه آموزشی‪« ،‬پاسخ درست» داده شده‬
‫صفر و یک)‪.‬‬ ‫است‪.‬‬
‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬
‫مثال‪ :‬تشخیص نوع سرطان (بدخیم‪ ،‬خوشخیم)‬
‫‪23‬‬

‫ویژگیهای دیگر‪.‬‬ ‫‪‬‬

‫یکنواختی اندازه سلولها‬ ‫‪o‬‬

‫یکنواختی شکل سلولها‬ ‫‪o‬‬

‫‪...‬‬ ‫‪o‬‬
‫‪Age‬‬

‫‪Tumor Size‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری بدون نظارت‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری نظارت شده‬
‫‪25‬‬

‫یادگیری نظارت شده‪ .‬به ازای هر نمونه‪ ،‬پاسخ درست داده شده است‪.‬‬ ‫‪‬‬

‫‪X2‬‬

‫‪X1‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫یادگیری بدون نظارت‬
‫‪26‬‬

‫یادگیری بدون نظارت‪ .‬هیچ گونه اطالعاتی در مورد پاسخهای درست داده نشده است!‬ ‫‪‬‬

‫‪X2‬‬

‫‪X1‬‬

‫هدف‪ .‬تشخیص ساختار در دادههای ورودی (گروهبندی دادههای مشابه)‪.‬‬ ‫‪‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫کاربرد خوشهبندی‪ :‬گروهبندی اخبار مرتبط‬
‫‪27‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫کاربرد خوشهبندی‪ :‬گروهبندی اخبار مرتبط‬
‫‪28‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫چند کاربرد دیگر از یادگیری بدون نظارت‬
‫‪29‬‬

‫سازماندهی کالسترهای محاسباتی (مرکز دادهها)‬ ‫تحلیل شبکههای اجتماعی‬

‫)‪Image credit: NASA/JPL-Caltech/E. Churchwell (Univ. of Wisconsin, Madison‬‬

‫بخشبندی بازار‬ ‫‪1۳۹۷‬نحوه تشکیل کهکشانها)‬


‫شناسی (‬ ‫ناصرستاره‬
‫رضوی ‪-‬‬ ‫سیدهای‬
‫تحلیل‪-‬داده‬
‫یادگیری ماشین ‪ -‬معرفی‬
‫مسئله جشن کوکتل‬
‫‪30‬‬

‫‪Speaker #1‬‬ ‫‪Microphone #1‬‬

‫‪Speaker #2‬‬ ‫‪Microphone #2‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫مسئله جشن کوکتل‬
31

Microphone #1: Output #1:

Microphone #2: Output #2:

Microphone #1: Output #1:

Microphone #2: Output #2:


1۳۹۷ - ‫ سید ناصر رضوی‬- ‫ معرفی‬- ‫یادگیری ماشین‬
‫الگوریتم مسئله جشن کوکتل‬
‫‪32‬‬

‫کد اکتاو‪.‬‬ ‫‪‬‬

‫;)’‪[W, s, v] = svd((repmat(sum(x .* x, 1), size(x, 1), 1) .* x) * x‬‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬


‫پرسش کالسی‬
‫‪33‬‬

‫برای کدام یک از مسائل داده شده زیر باید از یک الگوریتم یادگیری بدون نظارت استفاده شود؟‬ ‫‪‬‬

‫‪ ‬توسعه یک برنامه برای فیلتر کردن هرزنامهها با داشتن تعدادی ایمیل معمولی و تعدادی هرزنامه‬
‫‪ ‬گروهبندی یک مجموعه از مقاالت جدید یافته شده در وب بر اساس موضوع‬
‫‪ ‬گروهبندی مجموعهای از مشتریها در چند بخش مختلف بازار با داشتن یک پایگاه داده در مورد مشتریان‬
‫‪ ‬تشخیص دیابت در بیماران جدید با داشتن دادههای مربوط به تعدادی فرد سالم و دیابتی‬

‫یادگیری ماشین ‪ -‬معرفی ‪ -‬سید ناصر رضوی ‪1۳۹۷ -‬‬

You might also like