یادگیری ماشین Instructor : Saeed Shiry & Mitchell Ch. 1 مقدمه  تعریف فرهنگ لغات از یادگیری :    تعریف یادگیری ماشین :  2 یادگیری عبارت است ازبدست آوردن دانش و.

Download Report

Transcript یادگیری ماشین Instructor : Saeed Shiry & Mitchell Ch. 1 مقدمه  تعریف فرهنگ لغات از یادگیری :    تعریف یادگیری ماشین :  2 یادگیری عبارت است ازبدست آوردن دانش و.

‫یادگیری ماشین‬
Instructor : Saeed Shiry
&
Mitchell Ch. 1
1
‫مقدمه‬
‫‪‬‬
‫تعریف فرهنگ لغات از یادگیری‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تعریف یادگیری ماشین‪:‬‬
‫‪‬‬
‫‪2‬‬
‫یادگیری عبارت است ازبدست آوردن دانش و یا فهم آن از طریق‬
‫مطالعه‪ ،‬آموزش و یا تجربه‬
‫همچنین گفته شده است که یادگیری عبارت است از بهبود عملکرد از‬
‫طریق تجربه‬
‫یادگیری ماشین عبارت است از اینکه چگونه میتوان برنامه ای نوشت‬
‫که از طریق تجربه یادگیری کرده و عملکرد خود را بهتر کند‪.‬‬
‫یادگیری ممکن است باعث تغییر در ساختار برنامه و یا داده ها شود‪.‬‬
‫تعریف یادگیری ماشین‬

From Mitchell (1997):
A computer program is said to learn from experimence E with
respect to some class of tasks T and performance measure P, if
its performance at tasks in T, as measured by P, improves with
experience E.

From Witten and Frank (2000):
things learn when they change their behavior in a way that makes
them perform better in the future.

From Ethem Alpaydın (2010):
Machine learning is programming computers to optimize a
performance criterion using example data or past experience.
In practice this means:
We have sets of examples from which we want to extract
regularities.
3
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫یادگیری ماشین زمینه نسبتا جدیدی از هوش مصنوعی است که‬
‫در حال حاضر دوران رشد و تکامل خود را میگذراند‪.‬‬
‫یادگیری ماشین یک زمینه تحقیقاتی بسیار فعال در علوم‬
‫کامپیوتر است‪.‬‬
‫علوم مختلفی در ارتباط با یادگیری ماشین در ارتباط هستند از‬
‫جمله‪:‬‬
‫‪‬‬
‫‪4‬‬
‫هوش مصنوعی‪ ،‬روانشناسی‪ ،‬فلسفه‪ ،‬تئوری اطالعات ‪ ،‬آمار و‬
‫احتماالت‪ ،‬تئوری کنترل و ‪...‬‬
‫اهداف درس‬
‫هدف از این درس ارائه یک دید کلی نسبت به یادگیر ماشین است که مباحث‬
‫زیر را در بر میگیرد‪:‬‬
‫‪ ‬جنبه های عملی شامل‪ :‬الگوریتم های یادگیری مختلف نظیر درخت های‬
‫تصمیم گیری‪ ،‬شبکه های عصبی و شبکه های باور بیزی‪،‬‬
‫‪ ‬مدلهای عمومی شامل‪ :‬الگوریتم ژنتیک و یادگیری تقویتی‬
‫‪ ‬مفاهیم تئوریک شامل‪ :‬زمینه های مرتبط درعلم آمار‪ ،‬یادگیری بیزین و‬
‫ساختاریادگیری ‪ .PAC‬در این مباحث ارتباط تعداد مثالها با کارائی‬
‫یادگیری بررسی میشوند‪ ،‬میزان خطای قابل انتظار محاسبه میشود‪ ،‬و‬
‫بررسی میشود که کدام الگوریتم یادگیری برای چه مسائلی کارائی‬
‫بیشتری دارد‪.‬‬
‫‪5‬‬
‫مراجع‬




:‫ کتاب درس‬
Machine learning by Tom Mitchell, McGraw Hill,
1997.
Pattern Recognition and Machine Learning,
Christopher M. Bishop, 2006.
Introduction to Machine Learning, Second
Edition. Ethem Alpaydın,The MIT Press, 2010.
‫ سایر مراجع‬
Reinforcement learning: An introduction, By
Richard S. Sutton & Andrew G Barto.
.‫ کتاب های درس از طریق سایت درس قابل دانلود کردن است‬
6
‫سایت درس‬
‫‪http://ceit.aut.ac.ir/~shiry/lecture/machine‬‬‫‪learning/ml.html‬‬
‫تمرینات و سایر اطالعات مربوط به درس ازطریق آدرس فوق‬
‫در اختیار دانشجویان قرار خواهند گرفت‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪7‬‬
‫ارزیابی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫پروژه‬
‫تکالیف‬
‫پایان ترم‬
‫ارائه‬
‫‪%30‬‬
‫‪%30‬‬
‫‪%30‬‬
‫‪%10‬‬
‫انواع تکالیف‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تکالیفی از کتاب‬
‫پیاده سازی الگوریتم های یادگیری‬
‫آزمایش یک الگوریتم موجود با استفاده از نرم افزارهای آماده‬
‫نظیر ‪ MATLAB‬و ‪WEKA‬‬
‫برای هر تکلیف باید یک گزارش کتبی شامل‪ :‬پاسخ سواالت‪،‬‬
‫خالصه کارهای انجام شده‪ ،‬نحوه پیاده سازی الگوریتم و نتایج‬
‫بدست آمده ارائه شود‪ .‬برنامه نوشته شده را میتوانید برروی‬
‫‪ CD‬تحویل دهید‪.‬‬
‫‪9‬‬
‫پروژه‬
‫‪‬‬
‫‪‬‬
‫‪10‬‬
‫هر دانشجو در مورد یک زمینه مرتبط با یادگیری ماشین‬
‫آزمایشی را انجام داده و بصورت عملی پیاده سازی می نماید‪.‬‬
‫نتیجه بصورت یک گزارش کتبی تحویل داده شده و در زمان‬
‫تعیین شده بصورت شفاهی آن را ارائه می نماید‪.‬‬
‫ارائه‬
‫‪‬‬
‫در این درس دو نوع ارائه مد نظر قرار دارد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪11‬‬
‫ارائه یک مقاله مرتب با بحث هفته در سر کالس‬
‫تهیه یک متن آموزشی جهت معرفی یکی از زمینه های مرتبط با‬
‫درس بصورت فایل ‪ pdf‬یا سایت اینترنتی‬
‫سیالبس درس‬
Introduction
Concept learning
Decision Tree Learning
Artificial Neural Networks
Evaluating Hypothesis
Bayesian learning
Computational Learning Theory
‫مقدمه‬
‫یادگیری مفهوم‬
‫درخت تصمیم گیری‬
‫شبکه های عصبی مصنوعی‬
‫ارزیابی فرضیه‬
‫یادگیری بیزین و شبکه های باور بیزی‬
‫تئوری یادگیری محاسباتی‬
Instance based learning
‫یادگیری نمونه‬
Genetic Algorithms
‫الگوریتم ژنتیک‬
Reinforcement Learning
‫بادگیری تقویتی‬
Support Vector Machine
‫ماشین بردار پشتیبان‬
Hidden Markov Model
Cellular Learning Automata
‫مدل مخفی مارکف‬
‫اتوماتای یادگیر سلولی‬
12
‫چرا یادگیری؟‬
‫‪‬‬
‫چرا ماشین را برنامه نویسی نکنیم؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪13‬‬
‫بعضی کارها را بدرستی نمیتوان توصیف نمود‪ .‬در صورتیکه ممکن‬
‫است آنها را بتوان بصورت مثالهای ( ورودی‪/‬خروجی) معین نمود‪.‬‬
‫ممکن است در خیل عظیمی از داده اطالعات مهمی نهفته باشد که‬
‫بشر قادر به تشخیص آن نباشد ( داده کاوی)‪.‬‬
‫ممکن است موقع طراحی یک سیستم تمامی ویژگیهای آن شناخته شده‬
‫نباشد در حالیکه ماشین میتواند حین کار آنها را یاد بگیرد‪.‬‬
‫ممکن است محیط در طول زمان تغییر کند‪ .‬ماشین میتواند با یادگیری‬
‫این تغییرات خود را با آنها وفق دهد‪.‬‬
‫چرا یادگیری؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪14‬‬
‫در عمل نوشتن برنامه ای برای تشخیص یک صورت‬
‫میتواند کار مشکلی باشد‪ .‬زیرا تعریف دقیقی برای آن وجود‬
‫ندارد و حتی در صورت وجود داشتن نوشتن برنامه ای بر‬
‫اساس آن کار سختی است‪.‬‬
‫در نتیجه بجای نوشتن یک برنامه با دست‪ ،‬میتوان با تهیه‬
‫مقدار زیادی نمونه صحیح و اعمال آن به یک الگوریتم‬
‫یادگیری ماشین برنامه ای تولید کنیم که کار مورد نظر را‬
‫انجام دهد‪.‬‬
‫این برنامه بسیار با آنچه که قرار بود با دست نوشته شود‬
‫متفاوت خواهد بود‪ .‬اگر این برنامه درست تهیه شده باشد‬
‫میتواند برای نمونه هائی که تاکنون ندیده است نیز خروجی‬
‫مورد نظر را تولید کند‪.‬‬
‫چرا یادگیری ؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪15‬‬
‫در سالهای اخیر پیشرفتهای زیادی در الگوریتم ها و تئوری‬
‫های مربوطه بوجود آمده و زمینه های تحقیقاتی جدید زیادی‬
‫پدید آمده اند‪.‬‬
‫داده های آزمایشی زیادی بصورت ‪ Online‬بوجود آمده اند‪.‬‬
‫کامپیوتر ها قدرت محاسباتی زیادی بدست آورده اند‬
‫جنیه های عملی با کاربردهای صنعتی بوجود آمده اند‪ ( .‬در‬
‫زمینه پردازش گفتار برنامه های مبتنی بر یادگیری از همه‬
‫روشهای دیگر پیشی گرفته اند)‬
‫برخی از کاربردهای یادگیری ماشین‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪16‬‬
‫کنترل روباتها‬
‫داده کاوی‬
‫تشخیص گفتار‬
‫شناسائی متن‬
‫پردازش داده های اینترنتی‬
‫‪Bioinformatics‬‬
‫بازهای کامپیوتری‬
‫یادگیری مدل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫در یادگیری ماشین با استفاده از تئوری اطالعات مدلهای‬
‫ریاضی ساخته میشود که میتوانند برای استنتاج استفاده شوند‪.‬‬
‫مدل ممکن است پیشگویانه )‪ (Predictive‬باشد که برای پیش‬
‫بینی موارد جدید بکار می روند‪.‬‬
‫مدل ممکن است توصیفی باشد )‪ (descriptive‬که دانش آن‬
‫از داده یادگرفته میشود‪.‬‬
‫البته مدل می تواند هر دو خاصیت فوق را داشته باشد‪.‬‬
‫وظیفه یادگیری ماشین‬
‫‪.1‬‬
‫‪.2‬‬
‫‪18‬‬
‫دسته بندی یا ‪ classification‬مثل تشخیص گفتار‬
‫حل مسئله‪ ،‬طراحی و عمل مثل بازی ها‪ ،‬راندن اتومبیل در‬
‫بزرگراه‬
‫مبنای ارزیابی الگوریتمهای یادگیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪19‬‬
‫دقت دسته بندی‬
‫صحت راه حل و کیفیت آن‬
‫سرعت عملکرد‬
‫یادگیری انسان و ماشین‬
‫‪‬‬
‫یادگیری انسان چگونه است؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یادگیری ماشین چگونه اشت؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪20‬‬
‫انسان از طریق تعامل با محیط بیرونی یاد میگیرد‬
‫یک عامل باید وجود داشته باشد تا یادگیری را شروع کند‬
‫از طریق نوشتن برنامه میتوان به ماشین گفت که چه باید بکند‪.‬‬
‫از طریق نمایش مثالهای متعدد میتوان ماشین را وادار به یادگیری‬
‫نمود‪.‬‬
‫ماشین میتواند از طریق تجربه محیط واقعی یاد بگیرید‪.‬‬
‫در حالتیکه مثالها مشخص نیستند و خبره ای وجود ندارد ماشین‬
‫میتواند از طریق مشاهده یادبگیرد‪.‬‬
‫انواع یادگیری‬
‫‪‬‬
‫یادگیری ماشین در مسایل مختلفی کاربرد دارد‪:‬‬
‫‪Classification ‬‬
‫ماشین یاد میگیرد که ورودیها را به دسته های از پیش تعیین شده ای نسبت دهد‪.‬‬
‫‪Clustering ‬‬
‫سیستم یادگیر کشف میکند که کدام ورودیها با هم در یک دسته بندی قرار میگیرند‪.‬‬
‫‪Numeric prediction ‬‬
‫ماشین یاد میگیرد که به جای تعیین دسته بندی یک ورودی مقدار عددی آنرا پیش بینی نماید‪.‬‬
‫‪21‬‬
‫برخی کاربردهای موفق یادگیری ماشین‬
‫‪‬‬
‫شناسائی الگو‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫شناسائی رفتار های نادرست‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تشخیص خرابی سیگناهای سنسور ها‬
‫تشخیص سو استفاده از کارت های اعتباری‬
‫پیش بینی‬
‫‪‬‬
‫‪‬‬
‫‪22‬‬
‫شناسائی چهره و حاالت آن‬
‫شناسائی حروف دست نویس‬
‫شناسائی گفتار‬
‫قیمت سهام‬
‫پیش بینی قیمت ارز‬
‫تکنیک های مختلف یادگیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪23‬‬
‫یادگیری استتنتاجی )‪( inductive‬‬
‫که یادگیری بر مبنای مثالهای متعدد انجام میشود‪ .‬مثل درخت های تصمیم‬
‫یادگیری ‪Connectionist‬‬
‫که یادگیری بر مبنای مدل مغز بشر صورت میپذیرد‪ .‬مثل شبکه های‬
‫عصبی مصنوعی‬
‫یادگیری ‪Bayesian‬‬
‫که فرضیه های مختلفی در مورد داده ارائه میشود‪.‬‬
‫یادگیری ‪Reinforcement‬‬
‫که از سنسورها و تجربه در محیط استفاده میشود‪.‬‬
‫یادگیری ‪Evolutionary‬‬
‫مثل الگوریتم ژنتیک‬
‫دسته بندی یادگیری‬
‫‪ ‬یادگیری با ناظر‪:‬‬
‫یک مجموعه از مثالهای یادگیری وجود دارد بازای هر ورودی‪ ،‬مقدار خروجی و یا تابع مربوطه‬
‫نیز مشخص است‪ .‬هدف سیستم یادگیر بدست آوردن فرضیه ای است که تابع و یا رابطه بین‬
‫ورودی و یا خروجی را حدس بزند‬
‫‪ ‬یادگیری بدون ناظر‪:‬‬
‫یک مجموعه از مثالهای یادگیری وجود دارد که در آن فقط مقدار ورودی ها مشخص است و‬
‫اطالعاتی در مورد خروجی صحیح در دست نیست‪ .‬یادگیری بدون ناظر برای دسته بندی‬
‫ورودیها و یا پیش بینی مقدار بعدی بر اساس موقعیت فعلی بکار میرود‪.‬‬
‫بادگیری تقویتی‪:‬‬
‫مثالها بصورت ورودی‪/‬خروجی نیستند بلکه بصورت وضعیت‪/‬پاداش هستند که یادگیر در وضعیت‬
‫های مختلف عملیات مختلفی را انجام داده و پاداشهای متفاوتی دریافت و بر اساس مجموع‬
‫پاداش های دریافتی عمل متناسب با هر وضعیت را یاد میگیرد‪.‬‬
‫یادگیری نیمه نظارتی‪:‬‬
‫مثالها طوری هستند که برای تعداد کمی از آنها مقدار خروجی موجود است اما برای مثالهای زیادی‬
‫مقدار خروجی مشخص نیست‪.‬‬
‫‪24‬‬
‫یادگیری با ناظر‬
‫مثالهای جدید‬
‫قوانین دسته بندی‬
‫کالس پیش‬
‫بینی شده‬
‫‪25‬‬
‫الگوریتم‬
‫یادگیری‬
‫ماشین‬
‫مثالهای‬
‫آموزشی‬
‫مثالی از یادگیری با ناظر‬
‫‪‬‬
‫یک دیتا بیس شامل قیمت ‪ 50‬خانه و مساحت خانه ها وجود‬
‫دارد چگونه میتوان نرخ خانه ها را بر اساس تابعی از اندازه‬
‫آنها یاد گرفت؟‬
‫مساحت‬
‫‪560‬‬
‫‪1012‬‬
‫‪893‬‬
‫‪2196‬‬
‫‪936‬‬
‫‪26‬‬
‫قیمت‬
‫‪37‬‬
‫‪79‬‬
‫‪76‬‬
‫‪130‬‬
‫‪82‬‬
‫مثالی از یادگیری با ناظر‬
‫مساحت خانه = )‪Input feature: x(i‬‬
‫قیمت خانه =)‪Output feature: y(i‬‬
‫‪‬‬
‫‪‬‬
‫> )‪< x(i), y(i‬‬
‫مثال یادگیری‬
‫مجموعه یادگیری }‪{ x(i), y(i) , i=1:m‬‬
‫عمل یادگیری‪:‬‬
‫با داشتن یک مجموعه یادگیری میخواهیم تابعی بصورت‬
‫‪ h: x y‬یاد بگیریم که )‪h(x‬بتواند مقدار ‪ y‬را بخوبی‬
‫حدس بزند‪ .‬این تابع فرضیه و یا ‪ hypothesis‬نامیده میشود‪.‬‬
‫‪27‬‬
‫رگراسیون و دسته بندی‬
‫‪‬‬
‫‪‬‬
‫‪28‬‬
‫رگراسیون‪:‬‬
‫وقتی که تابع هدف بصورت پیوسته باشد مسئله یادگیری یک‬
‫مسئله رگراسیون خواهد بود‪ .‬مثل یادگیری رابطه قیمت و‬
‫مساحت خانه ها‬
‫دسته بندی )‪: (classification‬‬
‫وقتی که ‪ y‬بتواند تعداد محدودی مقدار گسسته بگیرد مسئله‬
‫یادگیری یک مسئله دسته بندی خواهد بود‪ .‬مثل‪ :‬آیا خانه مورد‬
‫نظر یک آپارتمان است؟‬
‫یادگیری‬
‫‪‬‬
‫می گوییم یک برنامه کامپیوتری از تجربه ‪ E‬در مورد کار‪T‬‬
‫یادگیری انجام داده است اگر عملکرد آن در صورت اندازه‬
‫گیری با معیار ‪ P‬پس از این تجربه بهبود پیدا کند ‪.‬‬
‫یادگیری بازی ‪checkers‬‬
‫‪T‬‬
‫‪:‬انجام بازی ‪checkers‬‬
‫یادگیری تشخیص حروف دست نویس‬
‫یادگیری کنترل یک ربات‬
‫‪ : T‬تشخیص حروف دست‬
‫نویس در داخل تصویر‬
‫‪ : T‬هدایت یک ربات در‬
‫بزرگراه چهار بانده با استفاده از‬
‫دوربین‬
‫‪ : P‬درصد بازیهایی که بر‬
‫حریف غلبه می کند‬
‫‪ : P‬درصد تشخیص صحیح‬
‫حروف‬
‫‪ : T.E‬انجام بازی بر علیه‬
‫خودش‬
‫‪ database : T.E‬ای‬
‫ازکلمات دست نویس ودسته بندی ‪ : T.E‬با ضبط عملیات یک‬
‫راننده و تصاویر پشت سر هم‬
‫هر کدام‬
‫جاده بدست می آید‬
‫‪29‬‬
‫‪ : P‬میانگین فاصله طی شده قبل‬
‫از اینکه خطایی رخ دهد‬
‫پیاده سازی سیستم یادگیر‪ ،‬بازی ‪Checkers‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪30‬‬
‫روی یک تخته ‪ 8x8‬بازی‬
‫میشود که تاحدی شبیه صفحه‬
‫شطرنج است‪.‬‬
‫هر بازیکن ‪ 12‬مهره قرمز یا‬
‫سیاه دارد‬
‫اگر مهره ای به انتهای سمت‬
‫مقابل برسد به شاه تبدیل میشود‪.‬‬
‫هر مهره یک حرکت افقی انجام‬
‫میدهد‪.‬‬
‫‪...‬‬
‫پیاده سازی سیستم یادگیر‪ ،‬بازی ‪Checkers‬‬
‫‪‬‬
‫مسائل مطرح ‪:‬‬
‫‪.1‬‬
‫نوع دقیق دانشی که باید یادگرفته شود‪:‬انتخاب حرکتی که باید در هرحالت صفحه انجام‬
‫شود‬
‫‪.2‬‬
‫‪.3‬‬
‫نحوه نمایش دانش مورد نظر‬
‫مکانیزم یادگیری‬
‫یک انتخاب برای دانش عبارتست از تابع یا برنامه ای که با دانستن حالت فعلی‬
‫بازی بهترین حرکت را انتخاب کند‬
‫(‪: M‬حرکت ‪ : B‬یک حالت صفحه)‬
‫بعلت اینکه یادگیری چنین تابعی مشکل است بجای آن یک تابع ‪ Evaluation‬انتخاب‬
‫می کنیم که این تابع به هر آرایش صفحه یک امتیاز می دهد‬
‫‪31‬‬
‫انتخاب تجربه یادگیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اولین مرحله طراحی این است که نوع تجربه آموزشی را‬
‫مشخص نمائیم‪ .‬نوع تجربه آزمایشی میتواند تاثیر زیادی‬
‫درموفقیت یا شکست یادگیرداشته باشد‪.‬‬
‫یک ویژگی مهم این است که فیدبک بازگشتی توسط سیستم‬
‫اندازه گیری معیار فیدبک مستقیم است یا غیر مستقیم‪.‬‬
‫بازی چکرز‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪32‬‬
‫فیدبک مستقیم‪ :‬حالت آرایش صفحه و حرکت صحیح هر حالت توسط‬
‫مربی مشخص شود‪.‬‬
‫فید بک غیر مستقیم‪ :‬مجموعه ای از حرکتهای پشت سرهم از یک‬
‫بازی و نتیجه آن موجود باشد‪.‬‬
‫مشکالت فیدبک غیر مستقیم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪33‬‬
‫در حالتی که فید بک غیر مستقیم باشد با مسئله تعیین اعتبار و‬
‫یا ‪ Credit Assignment‬روبروخواهیم بود‪.‬‬
‫از آنجائیکه اعتبار هر حرکت از روی نتیجه نهائی بازی تعیین‬
‫میشود‪ ،‬تعیین اینکه این حرکت خوب یا بد بوده کار مشکلی‬
‫خواهد بود‪ .‬زیرا ممکن است یک حرکت در زمان خود حرکت‬
‫خوبی بوده ولی بازی بعلت حرکت های بعدی واگذار شده باشد‪.‬‬
‫در حالت کلی یادگیری از طریق فیدبک مستقیم ساده تر است‪.‬‬
‫کنترل یادگیرنده برروی مثالهای آموزشی‬
‫‪‬‬
‫ویژگی دیگر یک تجربه آموزشی مقدار کنترلی است که یاد‬
‫گیرنده بر انتخاب مثالهای آموزشی دارد‪ .‬اینکار به روشهای‬
‫زیرانجام میشود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪34‬‬
‫ارائه توسط یک معلم‪ :‬یک معلم میتواند مثالهای مفیدی از صفحات‬
‫بازی وحرکت های صحیح هر کدام را انتخاب نمابد‪.‬‬
‫انتخاب توسط یادگیرنده‪ :‬یادگیرنده ممکن است صفحاتی را که در آنها‬
‫دچار سردرگمی است را انتخاب و از معلم حرکت صحیح را بپرسد‪.‬‬
‫انتخاب تصادفی‪ :‬یادگیر بدون حضور معلم از طریق بازی به تنهائی‬
‫اقدام به یادگیری میکند‪.‬‬
‫شباهت مثالهای آموزشی به نمونه های واقعی‬
‫‪‬‬
‫‪‬‬
‫‪35‬‬
‫یک ویژگی مهم در مسئله یادگیری از روی مثالهای آموزشی‬
‫این است که این مثالها تا چه حد با مثالهائی که برای ارزیابی‬
‫نهائی سیستم مورد استفاده قرار خواهند گرفت شباهت دارند‪.‬‬
‫در بازی چکرز اگر یادگیراز طریق بازی برعلیه خود یادگرفته‬
‫باشد ممکن است که توزیع این تجربه یادگیری بسیار متفاوت از‬
‫آنچه که در عمل اتفاق خواهد افتاد باشد‪.‬‬
‫بسیاری از تئوریهای فعلی یادگیری بر این پایه استوارند که‬
‫مجموعه یادگیری و مجموعه تست از توزیع یکسانی‬
‫برخوردارند‪ .‬اما در عمل همیشه این فرض صحیح نیست‪.‬‬
‫یادگیری بازی چکرز از طریق بازی بر علیه‬
‫خود‪.‬‬
‫در صورتی که بازی را بخواهیم از طریق بازی برعلیه‬
‫خود انجام دهیم دیگر نیازی به معلم نخواهیم داشت‪:‬‬
‫مسائل مطرح ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪ .1‬نوع دقیق دانشی که باید یادگرفته شود‪:‬انتخاب حرکتی که باید در هرحالت‬
‫صفحه انجام شود‬
‫نحوه نمایش دانش مورد نظر‬
‫مکانیزم یادگیری‬
‫‪.2‬‬
‫‪.3‬‬
‫‪36‬‬
‫انتخاب تابع هدف‬
‫یک انتخاب برای دانشی که باید یاد گرفته شود عبارتست از تابع یا‬
‫برنامه ای که با دانستن حالت فعلی بازی بهترین حرکت را انتخاب‬
‫کند‪ .‬یعنی اینکه خروجی یادگیر تابعی بصورت زیر باشد‪:‬‬
‫(‪: M‬حرکت ‪ : B‬یک حالت صفحه)‬
‫در روش یادگیری با فیدبک غیر مستقیم یادگرفتن چنین تابعی بسیار‬
‫مشکل خواهد شود‪ .‬بجای آن یک تابع ‪ Evaluation‬انتخاب می‬
‫کنیم که این تابع به هر آرایش صفحه یک امتیاز می دهد‬
‫‪37‬‬
‫پیاده سازی سیستم یادگیر‪ ،‬بازی چکرز‬
‫(ادامه)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪38‬‬
‫به آرایشهای بهتر امتیازهای بهتری می دهد‪.‬‬
‫تابع‬
‫با داشتن این تابع می توان به ازاء هرحرکت ممکن آرایش‬
‫صفحه وامتیاز آنرا تعیین نمود بدیهی است حرکتی انتخاب‬
‫خواهد شد که بیشترین امتیاز را داشته باشد‬
‫یک انتخاب برای مقدار تابع ‪ B‬می تواند بصورت زیر باشد ‪:‬‬
‫انتخاب تابع‬
‫‪39‬‬
‫پیاده سازی سیستم یادگیر‪ ،‬بازی چکرز‬
‫(ادامه)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪40‬‬
‫تعریف برگشتی فوق را اصطالحا یک تعریف غیر عملی‬
‫میگویند زیرا برای بدست آوردن آن باید برای هرحالت بازی‬
‫را تا آخر ادامه داد که کاری نشدنی است‪ .‬لذا باید بدنبال تعریف‬
‫دیگری برای ‪ V‬بود که در زمان محدودی قابل انجام باشد‪.‬‬
‫‪Function Approximation‬‬
‫از آنجائیکه در عمل پیدا کردن تابع هدف ایده آل ممکن است‬
‫میسر نباشد‪ ،‬سیستم یادگیری بجای آن ممکن است به یادگیری‬
‫را‬
‫تقریبی از آن بسنده کند‪ .‬یعنی بجای )‪ V(b‬تقریبی مثل‬
‫یاد بگیرد‪.‬‬
‫نوع نمایش تابع هدف‬
‫‪‬‬
‫در برنامه کامپیوتری که برای یادگیر نوشته میشود باید بتوان‬
‫تابع هدف را بطور مناسبی نشان داد‪ .‬برخی انتخاب های‬
‫ممکن‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪41‬‬
‫استفاده از یک جدول بزرگ‬
‫استفاده از مجموعه ای از قوانین‬
‫یک تابع چند جمله ای از ویژگی ها‬
‫یک شبکه عصبی‬
‫انتخاب این تابع یک ‪ trade off‬بین دقت و تعداد مثالها را در‬
‫بر خواهد داشت‪ :‬هر چه نحوه نمایش به تابع اصلی نزدیک تر‬
‫باشد‪ ،‬تعداد مثالهای آموزشی بیشتری مورد نیاز خواهد شد‪.‬‬
‫انتخاب تابع هدف‬
‫در بازی ‪ checkers‬یک انتخاب ساده برای تابع هدف میتواند بصورت‬
‫زیر باشد‪:‬‬
‫که در آن‪:‬‬
‫که ‪ wi‬ها وزنهایی هستند که باید توسط الگوریتم یادگیری آموخته شوند‪.‬‬
‫‪42‬‬
‫انتخاب الگوریتمی برای تقریب تابع‬
‫‪‬‬
‫نیاز به مثالهای آموزشی بصورت زیر‬
‫برای یادگیری تابع‬
‫که در آن برای هر حالت برد ‪ b‬مقدار‬
‫است‪:‬‬
‫تابع هدف ‪ V‬مشخص شده باشد‪.‬‬
‫مثال‪:‬‬
‫‪‬‬
‫با توجه به اینکه در این مثال یادگیری از طریق بازی برعلیه‬
‫خود انجام میشود نیاز به روشی داریم که مثالهای آموزشی را‬
‫تولید نمائیم‪.‬‬
‫‪‬‬
‫‪43‬‬
‫مثال‬
‫انتخاب مقداری برای تابع هدف برای حالتهای نهائی که بازی به‬
‫برد یا باخت منجر شده است میتواند ساده باشد درحالتیکه برای‬
‫حالتهای میانی رابطه مستقیمی وجود ندارد‪.‬‬
‫برای مثال اگر ‪ x1=0,x2=1,x3=2,x4=0,x5=0,x6=0‬یک حالت برد باشد‬
‫و ‪ x1=1,x2=0,x3=0,x4=0,x5=0,x6=0‬یک حالت باخت باشد پس‬
‫خواهیم داشت ‪:‬‬
‫‪V(x1=0,x2=1,x3=2,x4=0,x5=0,x6=0)=+100‬‬
‫‪V(x1=0,x2=1,x3=2,x4=0,x5=0,x6=0)= -100‬‬
‫‪44‬‬
‫یک انتخاب برای حالتهای میانی که به طرزجالبی موفق عمل کرده‬
‫است عبارتست از ‪:‬‬
‫که )‪ successor(b‬حالتی از صفحه را نشان می دهد که بعد‬
‫ازمرحله کنونی دوباره نوبت بازی‪ ،‬برنامه شده است‪ .‬این نحوه‬
‫انتخاب تکراری برای حاالتی از صفحه که به انتهای بازی نزدیکتر‬
‫هستند دقیق تر میباشد‪ .‬با این وجود میتوان نشان داد که تحت شرایط‬
‫معینی این روش همگراست‪.‬‬
‫تنظیم وزنها‬
‫‪ wi‬ها باید طوری انتخاب شوند که بهترین انطباق را با مثالهای‬
‫آموزشی داشته باشند‪.‬‬
‫یک تعریف بهترین انطباق می تواند انتخابی باشد که خطای‬
‫زیر را حداقل کند ‪:‬‬
‫الگوریتم ‪Least Mean Square‬‬
‫‪45‬‬
‫مثال‬
‫‪46‬‬
‫مثال‬
‫‪47‬‬
‫مثال‬
‫‪48‬‬
‫مثال‬
‫‪49‬‬
‫مثال‬
‫‪50‬‬
‫مثال‬
‫‪51‬‬
‫مثال‬
‫‪52‬‬
‫مثال‬
‫‪53‬‬
‫خالصه‬
‫‪54‬‬
‫مقایسه‬
‫‪‬‬
‫آیا سیستم طراحی شده فوق قادر به شکست انسان خواهد بود؟‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪55‬‬
‫به احتمال زیاد خیر!‬
‫زیرا تابع خطی که برای تقریب تابع هدف استفاده شد به اندازه کافی‬
‫دقیق نیست تا تمامی جنبه های الزم برای موفقیت در بازی را در‬
‫نظر گرفته باشد‪.‬‬
‫برنامه هائی وجود دارند که با نمایش های پیچیده تری مثال با‬
‫استفاده از یک شبکه عصبی توانسته اند بازیهای قدرتمندی‬
‫ارائه دهند‪.‬‬
‫یادگیری و جستجو‬
‫‪‬‬
‫‪‬‬
‫‪56‬‬
‫در واقع یک سیستم یادگیر با یک مسئله جستجو درگیر است که‬
‫در آن در فضای بسیار بزرگ فرضیه ها بدنبال بهترین فرضیه‬
‫ای است که با داده های آموزشی و دانش قبلی سازگار باشد‪.‬‬
‫برای مثال چکرز یادگیر باید در فضای مقادیر ممکن برای‬
‫وزنهای ‪ w0 –w6‬بدنبال فرضیه ای بگردد که بیشترین‬
‫سازگاری را دارد‪ .‬اینکار از طریق الگوریتم ‪ LMS‬انجام‬
‫میشد‪.‬‬
‫‪Learning Requires Bias‬‬
‫یادگیری نیازمند “ گرایش “ است‬
‫‪‬‬
‫‪57‬‬
‫معموال انتخابهای متعددی برای تابع یادگیری وجود دارد ‪ ،‬ولی‬
‫طراح بر اساس یکسری اطالعات اولیه ممکن است تابع‬
‫خاصی را انتخاب کند به این اطالعات اولیه ‪ Bias‬گویند ‪،‬‬
‫بدون وجود ‪ Bias‬یادگیری صورت نخواهد گرفت‪.‬‬
‫چند سوال در مورد یک مسئله یادگیری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪58‬‬
‫از چه الگوریتم یادگیری برای یک مسئله خاص میتوان استفاده‬
‫کرد؟‬
‫چه مقدار داده آموزشی موردنیاز است؟‬
‫مثال آموزشی بعدی را چگونه باید انتخاب نمود؟‬
‫چگونه میتوان مسئله یادگیری را به مسئله تقریب تابع تبدیل‬
‫نمود؟‬
‫آیا میتوان نحوه نمایش یادگیر را بطور خودکار تغییر داد تا با‬
‫مسئله سازگاری بیشتری داشته باشد؟‬