You are on page 1of 6

‫در علم یادگیری ماشین (‪ ،)Machine Learning‬به موضوع طراحی ماشین‌هایی پرداخته‬

‫می‌شود که با استفاده از مثال‌های داده شده به آن‌ها و تجربیات خودشان‪ ،‬بیاموزند‪ .‬در واقع‪،‬‬
‫در این علم تالش می‌شود تا با بهره‌گیری از الگوریتم‌ها‪ ،‬یک ماشین به شکلی طراحی شود‬
‫که بدون آنکه صراحتا برنامه‌ریزی و تک تک اقدامات به آن دیکته شود بتواند بیاموزد و‬
‫عمل کند‪ .‬در یادگیری ماشین‪ ،‬به جای برنامه‌نویسی همه چیز‪ ،‬داده‌ها به یک الگوریتم;‬
‫عمومی داده می‌شوند و این الگوریتم است که براساس داده‌هایی که به آن داده شده منطق خود‬
‫را می‌سازد‪ .‬یادگیری ماشین روش‌های گوناگونی دارد که از آن جمله می‌توان به‬
‫یادگیری‪ ‬نظارت شده‪ ،‬نظارت نشده و ‪ ‬یادگیری تقویتی‪ ‬اشاره کرد‪ .‬الگوریتم‌های مورد استفاده‬
‫در یادگیری ماشین جزو این سه دسته هستند‪.‬‬

‫الگوریتم دسته‌بندی مثالی برای مطلب بیان شده است‪ .‬این الگوریتم; می‌تواند داده‌ها را در‬
‫گروه‌های (دسته‌های) مختلف قرار دهد‪ .‬الگوریتم دسته‌بندی که برای بازشناسی الفبای‬
‫دست‌خط استفاده می‌شود را می‌توان برای دسته‌بندی ایمیل‌ها به هرزنامه و غیر هرزنامه نیز‬
‫استفاده کرد‪.‬‬
‫تام میشل (‪ )Tom M. Mitchell‬در تعریف یادگیری ماشین می‌گوید‪(« :‬یک برنامه‬
‫یادگیرنده) برنامه رایانه‌ای است که به آن گفته شده تا از تجربه ‪ E‬مطابق با برخی وظایف ‪،T‬‬
‫و کارایی عملکرد ‪ P‬برای وظیفه ‪ T‬که توسط ‪ P‬سنجیده می‌شود‪ ،‬یاد بگیرد که تجربه ‪ E‬را‬
‫بهبود ببخشد‪».‬‬

‫به عنوان مثالی دیگر‪ ،‬می‌توان بازی دوز (چکرز) را فرض کرد‪.‬‬
‫‪ :E‬تجربه بازی کردن بازی دوز به دفعات زیاد است‪.‬‬ ‫‪‬‬

‫‪ :T‬وظیفه انجام بازی دوز است‪.‬‬ ‫‪‬‬

‫‪ :P‬احتمال آنکه برنامه بتواند بازی بعدی را ببرد است‪.‬‬ ‫‪‬‬

‫مثال‌های متعددی برای یادگیری ماشین وجود دارند‪ .‬در اینجا چند مثال از مسائل طبقه‌بندی‬
‫زده می‌شود که در آن‌ها هدف دسته‌بندی اشیا به مجموعه‌ای مشخص از گروه‌ها است‪.‬‬
‫تشخیص چهره‪ :‬شناسایی چهره در یک تصویر (یا تشخیص اینکه آیا چهره‌ای وجود‬ ‫‪‬‬
‫دارد یا خیر)‪.‬‬
‫فیلتر کردن‪  ‬ایمیل‌ها‪ :‬دسته‌بندی ایمیل‌ها در دو دسته هرزنامه و غیر هرزنامه‪.‬‬ ‫‪‬‬

‫تشخیص پزشکی‪ :‬تشخیص اینکه آیا بیمار مبتال به یک بیماری است یا خیر‪.‬‬ ‫‪‬‬

‫پیش‌بینی آب و هوا‪ :‬پیش‌بینی اینکه برای مثال فردا باران می‌بارد یا خیر‪.‬‬ ‫‪‬‬

‫یادگیری ماشین در کدام بخش‌های زندگی ما دیده می‌شود؟‬


‫احتماال به این فکر می‌کنید که یادگیری ماشین کجای زندگی ما حضور دارد و اصال‬
‫به چه دردی می‌خورد‪ .‬آیا واقعا این علم توانسته راهش را به زندگی روزمره‪ 5‬ما باز‬
‫کند؟ جواب مثبت است و می‌توانیم بگوییم تقریبا غیرممکن است زندگی عادی شما‬
‫تحت تاثیر این شاخه شگفت‌انگیز قرار نگرفته باشد‪ .‬نگاهی به سرویس‌های زیر‬
‫بیندازید تا تاثیر ماشین لرنینگ در زندگی روزمره را حس کنید‪:‬‬

‫گوشی هوشمند شما به طور خودکار چهره شما را تشخیص می‌دهد یا زمان عکس‬
‫گرفتن چهره افراد را می‌تواند بشناسد‪.‬‬
‫اینستاگرام‪ ،‬فیس بوک و سایر شبکه‌های اجتماعی با توجه به عالیق و سلیقه شما‬
‫تبلیغات و افراد مختلف را به شما نشان می‌دهند‪.‬‬
‫آمازون‪ ،‬دیجی کاال و سایر فروشگاه‌های آنالین با توجه تاریخچه جستجو شما‬
‫محصوالت جالبی را پیشنهاد می‌دهند‪.‬‬
‫بانک‌ها برای تشخیص تقلبی بودن بعضی از معامالت به صورت بالدرنگ از‬
‫یادگیری ماشین استفاده می‌کنند‪.‬‬
‫مثال‌های باال تنها اشاره کوتاهی به کاربردهای یادگیری ماشین داشتند و این حوزه‬
‫بسیار گسترده‌تر است‪.‬‬
‫انواع یادگیری ماشین‬

‫الگوریتم‌های یادگیری ماشین بر سه نوع هستند‪:‬‬

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


‫یادگیری نظارت نشده‬ ‫‪‬‬
‫یادگیری تقویتی‬ ‫‪‬‬

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


‫غلب روش‌های یادگیری ماشین از یادگیری نظارت شده استفاده می‌کنند‪ .‬در یادگیری ماشین‬
‫نظارت شده‪ ،‬سیستم تالش می‌کند تا از نمونه‌های پیشینی بیاموزد که در اختیار آن قرار‬
‫گرفته‪ .‬به عبارت دیگر‪ ،‬در این نوع یادگیری‪ ،‬سیستم تالش می‌کند تا الگوها را بر اساس‬
‫مثال‌های داده شده به آن فرا بگیرد‪.‬‬
‫به بیان ریاضی‪ ،‬هنگامی که متغیر ورودی (‪ )X‬و متغیر خروجی (‪ )Y‬موجودند و می‌توان بر‬
‫اساس آن‌ها از یک الگوریتم برای حصول یک تابع نگاشت ورودی به خروجی استفاده کرد‬
‫در واقع یادگیری نظارت شده است‪ .‬تابع نگاشت به صورت (‪ Y = f(X‬نشان داده می‌شود‪.‬‬
‫برای باز شدن مساله در ادامه توضیحات بیشتری ارائه می‌شود‪ .‬همانطور که پیش از این‬
‫بیان شد‪ ،‬در یادگیری ماشین مجموعه داده (هایی) به الگوریتم; داده می‌شود و ماشین منطق‬
‫خود را بر اساس آن مجموعه داده (ها) شکل می‌دهد‪ .‬این مجموعه داده دارای سطرها و‬
‫ستون‌هایی است‪ .‬سطرها (که از آن‌ها با عنوان رکورد و نمونه داده نیز یاد می‌شود) نماینده‬
‫نمونه داده‌ها هستند‪ .‬برای مثال اگر مجموعه داده مربوط به بازی‌های فوتبال (وضعیت جوی)‬
‫باشد‪ ،‬یک سطر حاوی اطالعات یک بازی خاص است‪ .‬ستون‌ها (که از آن‌ها با عنوان‬
‫خصیصه‪ ،‬ویژگی‪ ،‬مشخصه نیز یاد می‌شود) در واقع ویژگی‌هایی هستند که هر نمونه داده را‬
‫توصیف می‌کنند‪.‬‬
‫در مثالی که پیش‌تر بیان شد‪ ،‬مواردی مانند وضعیت هوا شامل ابری بودن یا نبودن‪ ،‬آفتابی‬
‫بودن یا نبودن‪ ،‬وجود یا عدم وجود مه‪ ،‬بارش یا عدم بارش باران و تاریخ بازی از جمله‬
‫ویژگی‌هایی هستند که وضعیت یک مسابقه فوتبال را توصیف می‌کنند‪ .‬حال اگر در این‬
‫مجموعه داده به عنوان مثال‪ ،‬ستونی وجود داشته باشد که مشخص کند برای هر نمونه داده‬
‫در شرایط جوی موجود برای آن نمونه خاص بازی فوتبال انجام شده یا نشده (برچسب‌ها)‬
‫اصطالحا می‌گوییم مجموعه داده برچسب‌دار است‪ .‬اگر آموزش الگوریتم; از چنین مجموعه‬
‫داده‌ای استفاده شود و به آن آموخته شود که بر اساس نمونه داده‌هایی که وضعیت آن‌ها‬
‫مشخص است (بازی فوتبال انجام شده یا نشده)‪ ،‬درباره نمونه داده‌هایی که وضعیت آن‌ها‬
‫نامشخص است تصمیم‌گیری کند‪ ،‬اصطالحا گفته می‌شود یادگیری ماشین نظارت شده است‪.‬‬
‫مسائل یادگیری ماشین نظارت شده قابل تقسیم به دو دسته «دسته‌بندی» و «رگرسیون»‬
‫هستند‪.‬‬
‫دسته‌بندی‪ :5‬یک مساله‪ ،‬هنگامی دسته‌بندی محسوب می‌شود که متغیر خروجی یک دسته یا‬
‫گروه باشد‪ .‬برای مثالی از این امر می‌توان به تعلق یک نمونه به دسته‌های «سیاه» یا «سفید»‬
‫و یک ایمیل به دسته‌های «هرزنامه» یا «غیر هرزنامه» اشاره کرد‪.‬‬
‫رگرسیون‪ :‬یک مساله هنگامی رگرسیون است که متغیر خروجی یک مقدار حقیقی مانند‬
‫«قد» باشد‪ .‬در واقع در دسته‌بندی با متغیرهای گسسته و در رگرسیون با متغیرهای پیوسته‬
‫کار می‌شود‪.‬‬
‫در یادگیری نظارت نشده‪ ،‬الگوریتم باید‪ ‬خود به تنهایی به‌دنبال ساختارهای جالب موجود در‬
‫داده‌ها باشد‪ .‬به بیان ریاضی‪ ،‬یادگیری نظارت نشده مربوط به زمانی است که در مجموعه‬
‫داده فقط متغیرهای ورودی (‪ )X‬وجود داشته باشند و هیچ متغیر داده خروجی موجود نباشد‪.‬‬
‫به این نوع یادگیری‪ ،‬نظارت نشده گفته می‌شود زیرا برخالف یادگیری نظارت شده‪ ،‬هیچ‬
‫پاسخ صحیح داده شده‌ای وجود ندارد و ماشین خود باید به دنبال پاسخ باشد‪.‬‬
‫به بیان دیگر‪ ،‬هنگامی که الگوریتم برای کار کردن از مجموعه داده‌ای بهره گیرد که فاقد‬
‫داده‌های برچسب‌دار (متغیرهای خروجی) است‪ ،‬از مکانیزم دیگری برای یادگیری و‬
‫تصمیم‌گیری استفاده می‌کند‪ .‬به چنین نوع یادگیری‪ ،‬نظارت نشده گفته می‌شود‪ .‬یادگیری‬
‫نظارت نشده قابل تقسیم به مسائل خوشه‌بندی و انجمنی است‪.‬‬
‫قوانین انجمنی‪ :‬یک مساله یادگیری هنگامی قوانین انجمنی محسوب می‌شود که هدف کشف‬
‫کردن قواعدی باشد که بخش بزرگی از داده‌ها را توصیف می‌کنند‪ .‬مثال‪« ،‬شخصی که کاالی‬
‫الف را خریداری کند‪ ،‬تمایل به خرید کاالی ب نیز دارد»‪.‬‬
‫خوشه‌بندی‪ :‬یک مساله هنگامی خوشه‌بندی محسوب می‌شود که قصد کشف گروه‌های ذاتی‬
‫(داده‌هایی که ذاتا در یک گروه خاص می‌گنجند) در داده‌ها وجود داشته باشد‪ .‬مثال‪ ،‬گروه‌بندی‬
‫مشتریان بر اساس رفتار خرید آن‌ها‪.‬‬
‫چرا نگرانی از ریاضیات؟‬
‫دالیل متعددی وجود دارد که آموختن ریاضیات برای یادگیری ماشین را الزامی می‌کند‪.‬‬
‫برخی از این دالیل در ادامه آورده شده‌اند‪.‬‬
‫انتخاب الگوریتم مناسب برای یک مساله خاص‪ ،‬که شامل در نظر گرفتن صحت‪،‬‬ ‫‪‬‬
‫زمان آموزش‪ ،‬پیچیدگی مدل‪ ،‬تعداد پارامترها و تعداد مشخصه‌ها است‪.‬‬
‫استفاده از موازنه واریانس‪-‬بایاس برای شناسایی حاالتی که بیش‌برازش; با کم‌برازش;‬ ‫‪‬‬
‫در آن‌ها به وقوع پیوسته است‪.‬‬
‫انتخاب تنظیمات پارامترها و استراتژی‌های اعتبارسنجی‪.‬‬ ‫‪‬‬

‫تخمین دوره تصمیم‌گیری; صحیح و عدم قطعیت‪.‬‬ ‫‪‬‬

‫چه سطحی از ریاضیات مورد نیاز است؟‬


‫پرسشی که برای اغلب افراد عالقمند به آموختن علم یادگیری ماشین مطرح است و بارها در‬
‫مقاالت و کنفرانس‌های گوناگون این حوزه به آن پاسخ داده شده این است که چه میزان تسلط‬
‫بر ریاضیات برای درک این علم مورد نیاز محسوب می‌شود‪ .‬پاسخ این پرسش چند بُعدی و‬
‫وابسته به سطح دانش ریاضی هر فرد و میزان عالقمندی آن شخص به یادگیری است‪ .‬در‬
‫ادامه حداقل دانش ریاضی که برای مهندسان یادگیری ماشین و تحلیل‌گران داده مورد نیاز‬
‫است آورده شده‪.‬‬
‫جبر خطی‪ :‬ماتریس‌ها و عملیات روی آن‌ها‪ ،‬پروجکشن‪ ،‬اتحاد و تجزیه‪ ،‬ماتریس‌های‬ ‫‪‬‬
‫متقارن‪ ،‬متعامدسازی‪.‬‬
‫نظریه آمار و احتماالت‪ :‬قوانین احتمال و اصل (منطق)‪ ،‬نظریه بیزی‪ ،‬متغیرهای‬ ‫‪‬‬
‫تصادفی‪ ،‬واریانس و امید ریاضی‪ ،‬توزیع‌های توام و شرطی‪ ،‬توزیع استاندارد‪.‬‬
‫حساب‪ :‬حساب دیفرانسیل و انتگرال‪ ،‬مشتقات جزئی‪.‬‬ ‫‪‬‬

‫الگوریتم‌ها و بهینه‌سازی پیچیدگی‌ها‪ :‬درخت‌های دودویی‪ ،‬هیپ‪ ،‬استک‪.‬‬ ‫‪‬‬


‫تفاوت‌های بین سه مفهوم هوش مصنوعی‪ ،‬یادگیری ماشین و یادگیری عمیق‬

‫هوش مصنوعی‪ ،‬یادگیری ماشین و یادکیری عمیق سه مبحث مرتبط با یکدیگر هستند که‬
‫برخی آن‌ها را با هم اشتباه می‌گیرند‪ .‬نمودار زیر تفاوت این سه مفهوم را به خوبی نشان‬
‫می‌دهد‪.‬‬

‫زبان برنامه نویسی برای هوش مصنوعی‬


‫برای برنامه‌نویسی در هوش مصنوعی و یادگیری ماشین یکی از مسائل مهم انتخاب زبان‬
‫برنامه نویسی است‪ .‬برای کسانی که می‌خواهند تازه وارد دنیای هوش مصنوعی شوند‪،‬‬
‫انتخاب زبان برنامه‌نویسی چالشی است که یقینا با آن رو به رو خواهند شد‪ .‬این چالش از آن‬
‫جایی که هوش مصنوعی علمی کامپیوتری است و زبان برنامه نویسی در کامپیوتر اهمیت‬
‫بسیاری دارد تا حدی قابل درک است‪ .‬اما باید به این امر توجه کرد که مسئله اصلی در هوش‬
‫مصنوعی ریاضی و توانایی حل مسئله می‌باشد‪ .‬قدرت ریاضی شما در هوش مصنوعی و‬
‫یادگیری ماشین تا حد زیادی تعیین کننده است و باید برای آن بیشتر وقت بگذارید و نگران‬
‫باشید و تعیین نوع زبان برنامه نویسی اولویت‌های بعدی شما خواهد بود‪ .‬اما به طور کلی‬
‫معروف‌ترین و محبوب‌ترین زبان‌های برنامه نویسی برای هوش مصنوعی و یادگیری ماشین‬
‫پایتون‪ C++، Java، LISP، Prolog ،‬می‌باشد‪.‬‬

You might also like