Download presentation
Presentation is loading. Please wait.
Published byAstrid Lorentzen Modified over 6 years ago
1
دانشگاه صنعتی امیرکبیر Instructor : Saeed Shiry & Mitchell Ch. 1
یادگیری ماشین Instructor : Saeed Shiry & Mitchell Ch. 1
2
مقدمه تعریف فرهنگ لغات از یادگیری: تعریف یادگیری ماشین:
یادگیری عبارت است ازبدست آوردن دانش و یا فهم آن از طریق مطالعه، آموزش و یا تجربه همچنین گفته شده است که یادگیری عبارت است از بهبود عملکرد از طریق تجربه تعریف یادگیری ماشین: یادگیری ماشین عبارت است از اینکه چگونه میتوان برنامه ای نوشت که از طریق تجربه یادگیری کرده و عملکرد خود را بهتر کند. یادگیری ممکن است باعث تغییر در ساختار برنامه و یا داده ها شود.
3
تعریف یادگیری ماشین 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.
4
مقدمه یادگیری ماشین زمینه نسبتا جدیدی از هوش مصنوعی است که در حال حاضر دوران رشد و تکامل خود را میگذراند. یادگیری ماشین یک زمینه تحقیقاتی بسیار فعال در علوم کامپیوتر است. علوم مختلفی در ارتباط با یادگیری ماشین در ارتباط هستند از جمله: هوش مصنوعی، روانشناسی، فلسفه، تئوری اطلاعات ، آمار و احتمالات، تئوری کنترل و ...
5
اهداف درس هدف از این درس ارائه یک دید کلی نسبت به یادگیر ماشین است که مباحث زیر را در بر میگیرد: جنبه های عملی شامل: الگوریتم های یادگیری مختلف نظیر درخت های تصمیم گیری، شبکه های عصبی و شبکه های باور بیزی، مدلهای عمومی شامل: الگوریتم ژنتیک و یادگیری تقویتی مفاهیم تئوریک شامل: زمینه های مرتبط درعلم آمار، یادگیری بیزین و ساختاریادگیریPAC . در این مباحث ارتباط تعداد مثالها با کارائی یادگیری بررسی میشوند، میزان خطای قابل انتظار محاسبه میشود، و بررسی میشود که کدام الگوریتم یادگیری برای چه مسائلی کارائی بیشتری دارد.
6
مراجع کتاب درس: 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. کتاب های درس از طریق سایت درس قابل دانلود کردن است.
7
سایت درس http://ceit.aut.ac.ir/~shiry/lecture/machine-learning/ml.html
تمرینات و سایر اطلاعات مربوط به درس ازطریق آدرس فوق در اختیار دانشجویان قرار خواهند گرفت.
8
ارزیابی پروژه 30% تکالیف 30% پایان ترم 30% ارائه 10%
9
انواع تکالیف تکالیفی از کتاب پیاده سازی الگوریتم های یادگیری
آزمایش یک الگوریتم موجود با استفاده از نرم افزارهای آماده نظیر MATLAB و WEKA برای هر تکلیف باید یک گزارش کتبی شامل: پاسخ سوالات، خلاصه کارهای انجام شده، نحوه پیاده سازی الگوریتم و نتایج بدست آمده ارائه شود. برنامه نوشته شده را میتوانید برروی CD تحویل دهید.
10
پروژه هر دانشجو در مورد یک زمینه مرتبط با یادگیری ماشین آزمایشی را انجام داده و بصورت عملی پیاده سازی می نماید. نتیجه بصورت یک گزارش کتبی تحویل داده شده و در زمان تعیین شده بصورت شفاهی آن را ارائه می نماید.
11
ارائه در این درس دو نوع ارائه مد نظر قرار دارد:
ارائه یک مقاله مرتب با بحث هفته در سر کلاس تهیه یک متن آموزشی جهت معرفی یکی از زمینه های مرتبط با درس بصورت فایل pdf یا سایت اینترنتی
12
سیلابس درس مقدمه 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
13
چرا یادگیری؟ چرا ماشین را برنامه نویسی نکنیم؟
بعضی کارها را بدرستی نمیتوان توصیف نمود. در صورتیکه ممکن است آنها را بتوان بصورت مثالهای ( ورودی/خروجی) معین نمود. ممکن است در خیل عظیمی از داده اطلاعات مهمی نهفته باشد که بشر قادر به تشخیص آن نباشد ( داده کاوی). ممکن است موقع طراحی یک سیستم تمامی ویژگیهای آن شناخته شده نباشد در حالیکه ماشین میتواند حین کار آنها را یاد بگیرد. ممکن است محیط در طول زمان تغییر کند. ماشین میتواند با یادگیری این تغییرات خود را با آنها وفق دهد.
14
چرا یادگیری؟ در عمل نوشتن برنامه ای برای تشخیص یک صورت میتواند کار مشکلی باشد. زیرا تعریف دقیقی برای آن وجود ندارد و حتی در صورت وجود داشتن نوشتن برنامه ای بر اساس آن کار سختی است. در نتیجه بجای نوشتن یک برنامه با دست، میتوان با تهیه مقدار زیادی نمونه صحیح و اعمال آن به یک الگوریتم یادگیری ماشین برنامه ای تولید کنیم که کار مورد نظر را انجام دهد. این برنامه بسیار با آنچه که قرار بود با دست نوشته شود متفاوت خواهد بود. اگر این برنامه درست تهیه شده باشد میتواند برای نمونه هائی که تاکنون ندیده است نیز خروجی مورد نظر را تولید کند.
15
چرا یادگیری ؟ در سالهای اخیر پیشرفتهای زیادی در الگوریتم ها و تئوری های مربوطه بوجود آمده و زمینه های تحقیقاتی جدید زیادی پدید آمده اند. داده های آزمایشی زیادی بصورت Online بوجود آمده اند. کامپیوتر ها قدرت محاسباتی زیادی بدست آورده اند جنیه های عملی با کاربردهای صنعتی بوجود آمده اند. ( در زمینه پردازش گفتار برنامه های مبتنی بر یادگیری از همه روشهای دیگر پیشی گرفته اند)
16
برخی از کاربردهای یادگیری ماشین
کنترل روباتها داده کاوی تشخیص گفتار شناسائی متن پردازش داده های اینترنتی Bioinformatics بازهای کامپیوتری
17
یادگیری مدل در یادگیری ماشین با استفاده از تئوری اطلاعات مدلهای ریاضی ساخته میشود که میتوانند برای استنتاج استفاده شوند. مدل ممکن است پیشگویانه (Predictive) باشد که برای پیش بینی موارد جدید بکار می روند. مدل ممکن است توصیفی باشد (descriptive) که دانش آن از داده یادگرفته میشود. البته مدل می تواند هر دو خاصیت فوق را داشته باشد.
18
وظیفه یادگیری ماشین دسته بندی یا classification مثل تشخیص گفتار
حل مسئله، طراحی و عمل مثل بازی ها، راندن اتومبیل در بزرگراه
19
مبنای ارزیابی الگوریتمهای یادگیری
دقت دسته بندی صحت راه حل و کیفیت آن سرعت عملکرد
20
یادگیری انسان و ماشین یادگیری انسان چگونه است؟
انسان از طریق تعامل با محیط بیرونی یاد میگیرد یک عامل باید وجود داشته باشد تا یادگیری را شروع کند یادگیری ماشین چگونه اشت؟ از طریق نوشتن برنامه میتوان به ماشین گفت که چه باید بکند. از طریق نمایش مثالهای متعدد میتوان ماشین را وادار به یادگیری نمود. ماشین میتواند از طریق تجربه محیط واقعی یاد بگیرید. در حالتیکه مثالها مشخص نیستند و خبره ای وجود ندارد ماشین میتواند از طریق مشاهده یادبگیرد.
21
انواع یادگیری یادگیری ماشین در مسایل مختلفی کاربرد دارد:
Classification ماشین یاد میگیرد که ورودیها را به دسته های از پیش تعیین شده ای نسبت دهد. Clustering سیستم یادگیر کشف میکند که کدام ورودیها با هم در یک دسته بندی قرار میگیرند. Numeric prediction ماشین یاد میگیرد که به جای تعیین دسته بندی یک ورودی مقدار عددی آنرا پیش بینی نماید.
22
برخی کاربردهای موفق یادگیری ماشین
شناسائی الگو: شناسائی چهره و حالات آن شناسائی حروف دست نویس شناسائی گفتار شناسائی رفتار های نادرست تشخیص خرابی سیگناهای سنسور ها تشخیص سو استفاده از کارت های اعتباری پیش بینی قیمت سهام پیش بینی قیمت ارز
23
تکنیک های مختلف یادگیری
یادگیری استتنتاجی ( inductive) که یادگیری بر مبنای مثالهای متعدد انجام میشود. مثل درخت های تصمیم یادگیری Connectionist که یادگیری بر مبنای مدل مغز بشر صورت میپذیرد. مثل شبکه های عصبی مصنوعی یادگیری Bayesian که فرضیه های مختلفی در مورد داده ارائه میشود. یادگیری Reinforcement که از سنسورها و تجربه در محیط استفاده میشود. یادگیری Evolutionary مثل الگوریتم ژنتیک
24
دسته بندی یادگیری یادگیری با ناظر:
یک مجموعه از مثالهای یادگیری وجود دارد بازای هر ورودی، مقدار خروجی و یا تابع مربوطه نیز مشخص است. هدف سیستم یادگیر بدست آوردن فرضیه ای است که تابع و یا رابطه بین ورودی و یا خروجی را حدس بزند یادگیری بدون ناظر: یک مجموعه از مثالهای یادگیری وجود دارد که در آن فقط مقدار ورودی ها مشخص است و اطلاعاتی در مورد خروجی صحیح در دست نیست. یادگیری بدون ناظر برای دسته بندی ورودیها و یا پیش بینی مقدار بعدی بر اساس موقعیت فعلی بکار میرود. بادگیری تقویتی: مثالها بصورت ورودی/خروجی نیستند بلکه بصورت وضعیت/پاداش هستند که یادگیر در وضعیت های مختلف عملیات مختلفی را انجام داده و پاداشهای متفاوتی دریافت و بر اساس مجموع پاداش های دریافتی عمل متناسب با هر وضعیت را یاد میگیرد. یادگیری نیمه نظارتی: مثالها طوری هستند که برای تعداد کمی از آنها مقدار خروجی موجود است اما برای مثالهای زیادی مقدار خروجی مشخص نیست.
25
الگوریتم یادگیری ماشین
یادگیری با ناظر مثالهای جدید الگوریتم یادگیری ماشین مثالهای آموزشی قوانین دسته بندی کلاس پیش بینی شده
26
مثالی از یادگیری با ناظر
یک دیتا بیس شامل قیمت 50 خانه و مساحت خانه ها وجود دارد چگونه میتوان نرخ خانه ها را بر اساس تابعی از اندازه آنها یاد گرفت؟ مساحت قیمت 560 1012 893 2196 936 37 79 76 130 82
27
مثالی از یادگیری با ناظر
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 نامیده میشود.
28
رگراسیون و دسته بندی رگراسیون:
وقتی که تابع هدف بصورت پیوسته باشد مسئله یادگیری یک مسئله رگراسیون خواهد بود. مثل یادگیری رابطه قیمت و مساحت خانه ها دسته بندی (classification) : وقتی که y بتواند تعداد محدودی مقدار گسسته بگیرد مسئله یادگیری یک مسئله دسته بندی خواهد بود. مثل: آیا خانه مورد نظر یک آپارتمان است؟
29
یادگیری می گوییم یک برنامه کامپیوتری از تجربه E در مورد کارT یادگیری انجام داده است اگر عملکرد آن در صورت اندازه گیری با معیار P پس از این تجربه بهبود پیدا کند . یادگیری بازی checkers یادگیری تشخیص حروف دست نویس یادگیری کنترل یک ربات T :انجام بازی checkers P : درصد بازیهایی که بر حریف غلبه می کند T.E : انجام بازی بر علیه خودش T : تشخیص حروف دست نویس در داخل تصویر P : درصد تشخیص صحیح حروف T.E : database ای ازکلمات دست نویس ودسته بندی هر کدام T : هدایت یک ربات در بزرگراه چهار بانده با استفاده از دوربین P : میانگین فاصله طی شده قبل از اینکه خطایی رخ دهد T.E : با ضبط عملیات یک راننده و تصاویر پشت سر هم جاده بدست می آید
30
پیاده سازی سیستم یادگیر، بازی Checkers
روی یک تخته 8x8 بازی میشود که تاحدی شبیه صفحه شطرنج است. هر بازیکن 12 مهره قرمز یا سیاه دارد اگر مهره ای به انتهای سمت مقابل برسد به شاه تبدیل میشود. هر مهره یک حرکت افقی انجام میدهد. ...
31
پیاده سازی سیستم یادگیر، بازی Checkers
مسائل مطرح : نوع دقیق دانشی که باید یادگرفته شود:انتخاب حرکتی که باید در هرحالت صفحه انجام شود نحوه نمایش دانش مورد نظر مکانیزم یادگیری یک انتخاب برای دانش عبارتست از تابع یا برنامه ای که با دانستن حالت فعلی بازی بهترین حرکت را انتخاب کند (M :حرکت B : یک حالت صفحه) بعلت اینکه یادگیری چنین تابعی مشکل است بجای آن یک تابع Evaluation انتخاب می کنیم که این تابع به هر آرایش صفحه یک امتیاز می دهد
32
انتخاب تجربه یادگیری اولین مرحله طراحی این است که نوع تجربه آموزشی را مشخص نمائیم. نوع تجربه آزمایشی میتواند تاثیر زیادی درموفقیت یا شکست یادگیرداشته باشد. یک ویژگی مهم این است که فیدبک بازگشتی توسط سیستم اندازه گیری معیار فیدبک مستقیم است یا غیر مستقیم. بازی چکرز: فیدبک مستقیم: حالت آرایش صفحه و حرکت صحیح هر حالت توسط مربی مشخص شود. فید بک غیر مستقیم: مجموعه ای از حرکتهای پشت سرهم از یک بازی و نتیجه آن موجود باشد.
33
مشکلات فیدبک غیر مستقیم
در حالتی که فید بک غیر مستقیم باشد با مسئله تعیین اعتبار و یا Credit Assignment روبروخواهیم بود. از آنجائیکه اعتبار هر حرکت از روی نتیجه نهائی بازی تعیین میشود، تعیین اینکه این حرکت خوب یا بد بوده کار مشکلی خواهد بود. زیرا ممکن است یک حرکت در زمان خود حرکت خوبی بوده ولی بازی بعلت حرکت های بعدی واگذار شده باشد. در حالت کلی یادگیری از طریق فیدبک مستقیم ساده تر است.
34
کنترل یادگیرنده برروی مثالهای آموزشی
ویژگی دیگر یک تجربه آموزشی مقدار کنترلی است که یاد گیرنده بر انتخاب مثالهای آموزشی دارد. اینکار به روشهای زیرانجام میشود: ارائه توسط یک معلم: یک معلم میتواند مثالهای مفیدی از صفحات بازی وحرکت های صحیح هر کدام را انتخاب نمابد. انتخاب توسط یادگیرنده: یادگیرنده ممکن است صفحاتی را که در آنها دچار سردرگمی است را انتخاب و از معلم حرکت صحیح را بپرسد. انتخاب تصادفی: یادگیر بدون حضور معلم از طریق بازی به تنهائی اقدام به یادگیری میکند.
35
شباهت مثالهای آموزشی به نمونه های واقعی
یک ویژگی مهم در مسئله یادگیری از روی مثالهای آموزشی این است که این مثالها تا چه حد با مثالهائی که برای ارزیابی نهائی سیستم مورد استفاده قرار خواهند گرفت شباهت دارند. در بازی چکرز اگر یادگیراز طریق بازی برعلیه خود یادگرفته باشد ممکن است که توزیع این تجربه یادگیری بسیار متفاوت از آنچه که در عمل اتفاق خواهد افتاد باشد. بسیاری از تئوریهای فعلی یادگیری بر این پایه استوارند که مجموعه یادگیری و مجموعه تست از توزیع یکسانی برخوردارند. اما در عمل همیشه این فرض صحیح نیست.
36
یادگیری بازی چکرز از طریق بازی بر علیه خود.
در صورتی که بازی را بخواهیم از طریق بازی برعلیه خود انجام دهیم دیگر نیازی به معلم نخواهیم داشت: مسائل مطرح : نوع دقیق دانشی که باید یادگرفته شود:انتخاب حرکتی که باید در هرحالت صفحه انجام شود نحوه نمایش دانش مورد نظر مکانیزم یادگیری
37
انتخاب تابع هدف یک انتخاب برای دانشی که باید یاد گرفته شود عبارتست از تابع یا برنامه ای که با دانستن حالت فعلی بازی بهترین حرکت را انتخاب کند. یعنی اینکه خروجی یادگیر تابعی بصورت زیر باشد: (M :حرکت B : یک حالت صفحه) در روش یادگیری با فیدبک غیر مستقیم یادگرفتن چنین تابعی بسیار مشکل خواهد شود. بجای آن یک تابع Evaluation انتخاب می کنیم که این تابع به هر آرایش صفحه یک امتیاز می دهد
38
پیاده سازی سیستم یادگیر، بازی چکرز (ادامه)
تابع به آرایشهای بهتر امتیازهای بهتری می دهد. با داشتن این تابع می توان به ازاء هرحرکت ممکن آرایش صفحه وامتیاز آنرا تعیین نمود بدیهی است حرکتی انتخاب خواهد شد که بیشترین امتیاز را داشته باشد یک انتخاب برای مقدار تابع B می تواند بصورت زیر باشد :
39
انتخاب تابع
40
پیاده سازی سیستم یادگیر، بازی چکرز (ادامه)
تعریف برگشتی فوق را اصطلاحا یک تعریف غیر عملی میگویند زیرا برای بدست آوردن آن باید برای هرحالت بازی را تا آخر ادامه داد که کاری نشدنی است. لذا باید بدنبال تعریف دیگری برای V بود که در زمان محدودی قابل انجام باشد. Function Approximation از آنجائیکه در عمل پیدا کردن تابع هدف ایده آل ممکن است میسر نباشد، سیستم یادگیری بجای آن ممکن است به یادگیری تقریبی از آن بسنده کند. یعنی بجای V(b) تقریبی مثل را یاد بگیرد.
41
نوع نمایش تابع هدف در برنامه کامپیوتری که برای یادگیر نوشته میشود باید بتوان تابع هدف را بطور مناسبی نشان داد. برخی انتخاب های ممکن: استفاده از یک جدول بزرگ استفاده از مجموعه ای از قوانین یک تابع چند جمله ای از ویژگی ها یک شبکه عصبی انتخاب این تابع یک trade off بین دقت و تعداد مثالها را در بر خواهد داشت: هر چه نحوه نمایش به تابع اصلی نزدیک تر باشد، تعداد مثالهای آموزشی بیشتری مورد نیاز خواهد شد.
42
انتخاب تابع هدف که در آن:
در بازی checkers یک انتخاب ساده برای تابع هدف میتواند بصورت زیر باشد: که در آن: که wi ها وزنهایی هستند که باید توسط الگوریتم یادگیری آموخته شوند.
43
انتخاب الگوریتمی برای تقریب تابع
برای یادگیری تابع نیاز به مثالهای آموزشی بصورت زیر است: که در آن برای هر حالت برد b مقدار تابع هدف V مشخص شده باشد. مثال: با توجه به اینکه در این مثال یادگیری از طریق بازی برعلیه خود انجام میشود نیاز به روشی داریم که مثالهای آموزشی را تولید نمائیم.
44
مثال انتخاب مقداری برای تابع هدف برای حالتهای نهائی که بازی به برد یا باخت منجر شده است میتواند ساده باشد درحالتیکه برای حالتهای میانی رابطه مستقیمی وجود ندارد. برای مثال اگر 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 یک انتخاب برای حالتهای میانی که به طرزجالبی موفق عمل کرده است عبارتست از : که successor(b) حالتی از صفحه را نشان می دهد که بعد ازمرحله کنونی دوباره نوبت بازی، برنامه شده است. این نحوه انتخاب تکراری برای حالاتی از صفحه که به انتهای بازی نزدیکتر هستند دقیق تر میباشد. با این وجود میتوان نشان داد که تحت شرایط معینی این روش همگراست.
45
تنظیم وزنها wi ها باید طوری انتخاب شوند که بهترین انطباق را با مثالهای آموزشی داشته باشند. یک تعریف بهترین انطباق می تواند انتخابی باشد که خطای زیر را حداقل کند : الگوریتم Least Mean Square
46
مثال
47
مثال
48
مثال
49
مثال
50
مثال
51
مثال
52
مثال
53
مثال
54
خلاصه
55
مقایسه آیا سیستم طراحی شده فوق قادر به شکست انسان خواهد بود؟
به احتمال زیاد خیر! زیرا تابع خطی که برای تقریب تابع هدف استفاده شد به اندازه کافی دقیق نیست تا تمامی جنبه های لازم برای موفقیت در بازی را در نظر گرفته باشد. برنامه هائی وجود دارند که با نمایش های پیچیده تری مثلا با استفاده از یک شبکه عصبی توانسته اند بازیهای قدرتمندی ارائه دهند.
56
یادگیری و جستجو در واقع یک سیستم یادگیر با یک مسئله جستجو درگیر است که در آن در فضای بسیار بزرگ فرضیه ها بدنبال بهترین فرضیه ای است که با داده های آموزشی و دانش قبلی سازگار باشد. برای مثال چکرز یادگیر باید در فضای مقادیر ممکن برای وزنهای w0 –w6 بدنبال فرضیه ای بگردد که بیشترین سازگاری را دارد. اینکار از طریق الگوریتم LMS انجام میشد.
57
Learning Requires Bias
یادگیری نیازمند “ گرایش “ است معمولا انتخابهای متعددی برای تابع یادگیری وجود دارد ، ولی طراح بر اساس یکسری اطلاعات اولیه ممکن است تابع خاصی را انتخاب کند به این اطلاعات اولیه Bias گویند ، بدون وجود Bias یادگیری صورت نخواهد گرفت.
58
چند سوال در مورد یک مسئله یادگیری
از چه الگوریتم یادگیری برای یک مسئله خاص میتوان استفاده کرد؟ چه مقدار داده آموزشی موردنیاز است؟ مثال آموزشی بعدی را چگونه باید انتخاب نمود؟ چگونه میتوان مسئله یادگیری را به مسئله تقریب تابع تبدیل نمود؟ آیا میتوان نحوه نمایش یادگیر را بطور خودکار تغییر داد تا با مسئله سازگاری بیشتری داشته باشد؟
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.