Loading...
  • 5.0/5.0
  • (1 نظرات)
  • تعداد قسمت 34
  • مدت زمان 06:43:14
  • انتشار 1403/03/06
  • آخرین ویرایش 1403/03/06

مزدک دال کوهی

مدرس دانشسرا

آشنایی و پیاده سازی الگوریتم های یادگیری ماشین

  • 5.0/5.0
  • تعداد مهارتجو 23
  • آخرین ویرایش 1403/03/06
  • انتشار 1403/09/01

توضیحات آشنایی و پیاده سازی الگوریتم های یادگیری ماشین

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

علم یادگیری ماشینی باعث می‌شود رایانه‌ها بدون نیاز به یک برنامه ، روند یک موضوع خاص را یاد بگیرند. به عنوان زیر مجموعه‌ای از هوش مصنوعی، الگوریتم های یادگیری ماشین مدل های ریاضی هستند که بر اساس داده‌های نمونه به منظور پیش‌بینی بدون برنامه‌ریزی آشکار، ایجاد می‌کنند.



یادگیری ماشین شاخه‌ای از فناوری هوش مصنوعی است که از شیوه‌ها یا الگوريتم‌های خاص برای ساخت خودکار مدل‌هایی از داده استفاده می‌کند. برخلاف یک سیستم معمولی که با پیروی از قوانین مشخص یک وظیفه را انجام می‌دهد، سیستم  یادگیری ماشین از طریق تجربه کردن وظایف خود را یاد می‌گیرد.



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



الگوريتم‌های یادگیری ماشین با یاد گیری و حفظ کردن



الگوريتم‌های یادگیری ماشین با یاد گیری و حفظ کردن  داده‌هایی که دریافت می‌کنند می‌توانند مسائلی را حل کنند که بسیار پیچیده‌تر از آن است که بتوان آن را با برنامه‌نویسی ساده حل کرد. الگوریتم های یادگیری ماشین اغلب به دو دسته نظارتی یا Supervised (داده‌های آموزشی که با پاسخ‌ها برچسب گذاری می‌شوند) بدون نظارت یا Unsupervised (برچسب‌های موجود به الگوریتم آموزش نشان داده نمی‌شود) تقسیم می‌شوند.



مسائل یادگیری ماشین نظارتی نیز به دو گروه طبقه‌بندی یا Classification (پیش‌بینی پاسخ‌های غیر عددی، مانند احتمال خطا در پرداخت وام مسکن) و رگرسیون یا Regression (پیش‌بینی پاسخ‌های عددی، مانند تعداد چیزهایی که ماه آینده در فروشگاه شما فروخته می‌شود) تقسیم می‌شوند.



یادگیری بدون نظارت هم به سه دسته خوشه‌ بندی یا Clustering (پیدا کردن گروه‌هایی از شیا مشابه مانند کفش‌های ورزشی، کفش‌های طبی و کفش‌های مجلسی)، مشارکتی یا Association (پیدا کردن توالی‌های مشترک از اشیا، مانند قهوه و خامه) و کاهش ابعاد یا Dimensionality Reduction (طرح‌ریزی، انتخاب ویژگی و استخراج ویژگی) تقسیم می‌شوند.



کاربردهای یادگیری ماشین



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



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



تبدیل خودکار متن به گفتار برای زبان‌هایی با لهجه اصلی به خوبی کار می‌کند، اما هنوز در برخی لهجه‌های قومی‌ و منطقه‌ای با مشکل مواجه است و وضعیت  و عملکرد آن به مجموعه آموزش‌های مورد استفاده خدمات‌ دهندگان بستگی دارد.



تجزیه و تحلیل خودکار احساسات رسانه‌های اجتماعی



تجزیه و تحلیل خودکار احساسات رسانه‌های اجتماعی به سطح موفقیت نسبتا خوبی دست پيدا كرده و این احتمالا به دلیل آن است که مجموعه‌های آموزشی (به عنوان مثال، رتبه‌بندی محصولات آمازون، که یک نظر را با امتیازدهی عددی ترکیب می‌کند) گسترده و دسترسی به آن‌ها آسان است.



از جمله مباحث بحث‌ برانگیز غربالگری خودکار رزومه است. به عنوان مثال، آمازون مجبور شد سیستم داخلی خود را به دلیل بروز اختلالات نمونه گیری که باعث پایین آورده شدن رتبه همه سمت‌های شغلی مربوط به زنان شده بود، کنار بگذارد.



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



تحقيقات زیادی در زمینه حذف تعصبات ضمنی در یادگیری ماشین توسط مایکروسافت و سایرین صورت گرفته است. طبقه‌بندی خودکار آسیب‌شناسی و تصاویر رادیولوژی پیشرفت زیادی داشته تا جایی که می‌تواند به آسیب‌شناسان و رادیولوژیست‌ها برای تشخیص نوع خاصی از اختلالات کمک کنند.



در عین حال، سیستم‌های شناسایی چهره هم به دلایل ملاحظات حفظ حريم خصوصی و کوتاهی کردن در تشخیص چهره زنان و رنگین‌پوستان (باز هم به دلیل تعصبات در رفتارهای آموزشی) بسیار بحث‌‌‌‌ برانگیز شده است.



الگوریتم های یادگیری ماشین



یادگیری ماشین برای تبدیل مجموعه‌ای از داده‌ها به یک مدل به تعدادی از الگوريتم‌ها وابسته است. این‌ که کدام الگوريتم‌ها از همه بهتر کار می‌کند، به نوع مسئله‌ای که شما در حال حل کردن آن هستید، منابع محاسباتی موجود و ماهیت داده‌ها وابسته است. مهم نیست از چه الگوريتم یا الگوريتم‌هایی استفاده می‌کنیم، در مرحله نخست باید داده‌ها را برای الگوریتم های یادگیری ماشین  پاکسازی و مرتب کنید.



الگوريتم‌های طبقه‌ بندی



طبقه‌ بندی، نوعی مسئله یادگیری نظارتی است که یک انتخاب بین دو یا چند طبقه را درخواست می‌کند. صرف‌ نظر از شبکه‌ های عصبی و یادگیری عمیق که به سطح بالاتری از منابع محاسباتی نیاز دارند، رایج‌ترین الگوريتم‌ها Naive Bayes, Decision Tree, Logistic Regression, K-Nearest Neighbors و SVM (سرنام Support Vector Machine) هستند. شما می‌توانید از روش‌های گروهی (ترکیبی از مدل‌ها) مانند:



Random Forest، AdaBoost و XGBoost استفاده کنید.



الگوريتم‌های رگرسیون



مسئله رگرسیون، نوعی مسئله یادگیری نظارتی است که این مدل را برای پیش‌ بینی یک عدد درخواست می‌کند. ساده‌ترين و سریع‌ترین الگوريتم رگرسیون نوع  خطی آن است، اما به آن بسنده نکنید، زیرا این روش اغلب یک نتیجه متوسط را به شما ارائه می‌دهد.



از جمله دیگر الگوريتم‌های رگرسیون یادگیری ماشین رایج می‌توان به Naive Bayes, Decision Tree, K-Nearest Neighbors, LVQ (Learning Vector Quantization), LARS Lasso, Elastic Net, Random Forest, AdaBoost و XGBoost اشاره کرد. لازم به توضیح است که بین الگوريتم‌های یادگیری ماشین رگرسیون و طبقه‌بندی اشتراکاتی وجود دارد.



الگوريتم‌های خوشه‌بندی



مسئله خوشه‌بندی، نوعی مسئله از الگوریتم های یادگیری ماشین بدون نظارت است که این مدل را برای یافتن گروه‌هایی از نقاط داده مشابه درخواست می‌کند. معروف‌ترین الگوريتم K-Means Clustering است. از جمله الگوريتم‌های دیگر می‌توان به



Mean-Shift Clustering, DBSCAN (Density-Based Gaussian)



(سرنام Spatial Clustering of Applications with Noise), GMM (Gaussian Mixture Models و HAC (Hierarchical Agglomerative Clustering)



اشاره کرد.



الگوريتم‌های کاهش ابعاد



مسئله کاهش ابعاد، نوعی مسئله از الگوریتم های یادگیری ماشین بدون نظارت است که این مدل را برای کم کردن یا ترکیب متغیرهایی که تاثیر کمی‌ روی نتیجه دارند یا اصلا بی‌تاثیر هستند، درخواست می‌کند. از این الگوريتم اغلب در ترکیب با الگوريتم طبقه‌بندی یا رگرسیون استفاده می‌شود.



الگوريتم‌های کاهش ابعاد شامل حذف متغیرهایی با مقادیر گمشده زیاد، حذف متغیرهایی با واریانس پایین، Decision Tree, Random Forest، حذف یا ترکیب متغیرهایی با همبستگی بالا، Backward Feature Elimination, Forward Feature Selection, Factor Analysis و (PCA (Principal Component Analysis هستند.



چگونه از الگوریتم های یادگیری ماشین استفاده کنیم؟



ساخت یک مدل یادگیری ماشین با پاکسازی و مرتب كردن داده‌ها شروع می‌شود، با ویژگی‌های مهندسی ادامه پیدا می‌کند و بعد از رسیدن به الگوریتم های یادگیری  از ماشین مناسب استفاده خواهد شد.



در دنیای واقعی هیچ چیز به اندازه پاکسازی و مرتب كردن داده‌های ورودی حائز اهمیت نیست. برای این‌که داده‌ها در کاربردهای یادگیری ماشین کارآمد باشند باید بلافاصله فیلتر شوند. برای مثال؛ باید داده‌ها را جستوجو کرده و هر ستونی را که شامل داده‌های ناقص و از دست رفته است را جداسازی کنیم. سپس با نگاه دوباره به داده‌ها، ستون‌هایی را که قصد استفاده از آن ها را برای پیش‌بینی‌های خود دارید، انتخاب کنید.



ویژگی مهندسی برای یادگیری ماشین



مفهوم «ویژگی» به یک متغیر توضیحی مربوط است که در تکنیک‌های آماری مانند رگرسیون خطی استفاده می‌شود. بردارهای ویژگی، تمام ویژگی‌های یک ردیف را با یکدیگر ترکیب کرده و به یک بردار عددی تبدیل می‌کند. بخشی از هنر انتخاب ویژگی‌ها این است که بتوانید مجموعه‌ای از متغیرهای مستقلی که مسئله را توضیح می‌دهند، انتخاب کنید.



اگر دو متغیر به میزان زیادی همپوشانی داشته باشند یا باید آن‌ها را به یک ویژگی واحد ترکیب کرد یا باید آن را حذف کرد. گاهی اوقات مردم تجزیه و تحلیل مولفه‌های اصلی را برای تبدیل متغیرهای همبسته به مجموعه‌ای از متغیرهای خطی نامشخص انجام می‌دهند.



تقسیم داده‌‌‌ها برای یادگیری ماشین



روش معمول برای یادگیری ماشین نظارتی تقسیم مجموعه داده‌‌ها به زیر مجموعه‌هایی برای آموزش، اعتبارسنجی و آزمایش است. یک روش برای انجام این کار اختصاص یافته است %80  داده‌‌‌ها به مجموعه داده‌های آموزشی و %10 برای هر یک از دو بخش مجموعه داده‌های اعتبارسنجی و آزمایش است.



البته این را هم باید در نظر داشته باشید که تقسیم‌بندی دقیق به اولويت‌ها بستگی دارد. بخش عمده‌ای از آموزش در مجموعه داده‌های آموزشی انجام می‌شود و پیش‌بینی در مجموعه داده‌های اعتبارسنجی ، در پایان هر دوره انجام می‌گیرد.



خطاهای مجموعه داده اعتبارسنجی



از خطاهای مجموعه داده اعتبارسنجی می‌توان برای شناسایی معیار توقف یا انجام بهینه‌‌ سازی‌های هایپر پارامتر استفاده کرد. مهم‌تر از همه این‌ که، خطاهای موجود در مجموعه داده اعتبارسنجی می‌تواند به شما در شناسایی این‌ که آیا این مدل بیش از حد ، از داده‌های آموزشی برخوردار است یا خیر، کمک کند.



پیش‌بینی در مجموعه داده‌های آزمايش در مدل نهایی انجام می‌شود. اگر از مجموعه داده‌‌های آزمایشی هرگز برای آموزش استفاده نشود، گاهی اوقات آن را مجموعه داده‌های حاوی اطلاعات نام‌گذاری می‌کنند.



چندین طرح دیگر برای تقسیم داده وجود دارد. یک تکنیک معروف اعتبارسنجی متقابل نام دارد که شامل تقسیم مکرر تمام مجموعه داده‌‌ها به زیرمجموعه‌های آموزشی و اعتبارسنجی است. در پایان هر دوره داده‌ها با هم مخلوط شده و دوباره تقسیم می‌شوند.



بهینه‌‌سازی هایپرپارامتر و AutoML



بهینه‌‌‌سازی هایپرپارامتر و AutoML راهکارهایی را برای آزمايش چندین مدل مختلف برای شناسایی بهترین آن‌ها از طریق کامپیوتر ارائه می‌کند. با AutoML کامپیوتر تمام مدل‌های یادگیری ماشین مناسب و همچنین تمام ویژگی‌های مهندسی مناسب و تکنیک‌های گسترش‌ پذیری ویژگی را امتحان می‌کند.



در بهینه‌سازی هایپرپارامتر شما تعیین می‌کنید که می‌خواهید کدام‌ یک از هایپرپارامترها را از یک مدل خاص (مثل تعداد لایه‌های مخفی)، نرخ یادگیری و نرخ رهاسازی پاکسازی کنید.



گوگل برای Google Cloud AutoML تعریف متفاوتی دارد. به جای امتحان تمام مدل‌ های یادگیری ماشین مناسب، این سیستم تلاش می‌کند تا یک مدل یادگیری عمیق مرتبط (بصری، ترجمه یا زبان طبیعی) را با استفاده از یادگیری انتقال عمیق سفارشی‌سازی کند. سرویس Azure Machine Learning خدمات یادگیری انتقال را با اسامی متفاوتی از قبیل بینایی سفارشی، سخنرانی و ترجمه قابل سفارشی‌‌سازی و جست‌وجوی سفارشی ارائه می‌کند.



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



یادگیری ماشین و یادگیری عمیق را می‌توانید روی سیستم شخصی خود یا روی ابر اجرا کنید. AWS, Azure و Google Cloud همگی خدمات یادگیری ماشین را ارائه می‌کنند که بر اساس نیاز خود می‌توانید از آن‌ها استفاده کنید. این خدمات‌دهندگان شتاب‌دهنده‌های سخت‌افزاری را مطابق با نیازتان عرضه می‌کنند.



علاوه بر استفاده از خدمات رایگان هر سه شرکت می‌توانید در صورت نیاز به منابع بیشتر از GPU، TPU یا FPGA و از خدمات ماهیانه پولی استفاده کنید. شما باید بین هزینه کردن برای کارهای عملیاتی با هزینه سرمایه برای خرید کامپیوتر و پردازنده‌های گرافیکی یک توازن برقرار کنید. اگر به طور مداوم به آموزش تعداد بسیار زیادی از مدل‌ها نیاز دارید، باید حداقل یک پردازنده گرافیکی برای استفاده در موارد شخصیمان خریداری کنید.



بزرگ‌ترین مزیت استفاده از ابر



برای یادگیری ماشین و یادگیری عمیق این است که شما می‌توانید طی چند دقیقه منابع قابل توجهی را جمع‌آوری کنید، آموزش‌های خود را به سرعت انجام دهید و منابع ابر را آزاد کنید.



همچنین هر سه خدمات‌ دهنده عمده این حوزه از فناوری خدمات یادگیری ماشین و یادگیری عمیق را به شکلی ارائه می‌کنند که برای راه‌اندازی آن به مهارت تخصصی در زمینه علم داده نیازی نباشد.



همچنین می‌توانید از مدل‌های پیش فرض آن‌ها استفاده کنید و مدل‌های آن‌ها را بر اساس نیاز خود سفارشی‌‌سازی کرده یا مدل‌های اختصاصی خود را با استفاده از فریم‌ ورک‌های مطرح این شاخه از فناوری مانند Scikit-learn, PyTorch و TensorFlow ایجاد کنید.



 



 



در این آموزش تمامی موارد فوق به صورت عملی معرفی می شود.



 


قسمت های آشنایی و پیاده سازی الگوریتم های یادگیری ماشین

1 - آموزش استفاده از داده ها در یادگیری ماشین

00:24:10


2 - آموزش پیش پردازش داده ها در یادگیری ماشین

00:36:38


3 - نمونه پیش پردازش داده ها در یادگیری ماشین

00:09:49


5 - آموزش معیارهای ارزیابی عملکرد در یادگیری ماشین

00:23:40


6 - آموزش رگرسیون لجستیک در یادگیری ماشین

00:12:15


7 - آموزش نزدیکترین همسایه در یادگیری ماشین

00:11:01


8 - آموزش استفاده از بیز ساده در یادگیری ماشین

00:06:41


9 - آموزش استفاده از ماشین بردار پشتیبان در یادگیری ماشین

00:12:03


10 - آموزش ساخت درخت تصمیم در یادگیری ماشین

00:13:05


11 - آموزش ساخت جنگل تصادفی در یادگیری ماشین

00:10:18


13 - آموزش ارزیابی عملکرد رگرسیون در یادگیری ماشین

00:09:49


14 - آموزش رگرسیون خطی در یادگیری ماشین- 1

00:12:22


15 - آموزش رگرسیون خطی در یادگیری ماشین- ۲

00:07:35


16 - آموزش رگرسیون با نزدیک ترین همسایه در یادگیری ماشین

00:11:05


17 - آموزش رگرسیون با ماشین بردار پشتیبان در یادگیری ماشین

00:12:41


18 - آموزش رگرسیون درخت تصمیم در یادگیری ماشین

00:13:05


19 - آموزش رگرسیون جنگل تصادفی در یادگیری ماشین

00:08:33


20 - آموزش رگرسیون شبکه عصبی چند لایه در یادگیری ماشین

00:12:47


21 - آموزش رگرسیون با چند خروجی در یادگیری ماشین

00:09:07


22 - آموزش خوشه بندی براساس روش تجمعی در یادگیری ماشین

00:10:46


23 - آموزش خوشه بندی به روش کا مینز در یادگیری ماشین

00:08:12


24 - آموزش خوشه بندی به روش خویشاوندی در یادگیری ماشین

00:07:25


25 - آموزش خوشه بندی به روش بیرچ در یادگیری ماشین

00:07:07


26 - آموزش خوشه بندی به روش دی بی اسکن در یادگیری ماشین

00:05:51


27 - آموزش خوشه بندی به روش اپتیکس در یادگیری ماشین

00:07:42


28 - آموزش یافتن داده های پرت با Elliptic Envelope در یادگیری ماشین

00:05:09


29 - آموزش یافتن داده های پرت با SVM در یادگیری ماشین

00:03:35


31 - یافتن داده های پرت با Local Outlier Detection در یادگیری ماشین

00:05:51


32 - آموزش بررسی مولفه های اصلی در یادگیری ماشین

00:12:13


33 - آموزش انالیز تشخیص خطی در یادگیری ماشین

00:06:20


34 - آموزش اعتبار ستجی متقابل و یافتن بهترین پارامترهای مدل در یادگیری ماشین

00:16:09

فایل پیوست آشنایی و پیاده سازی الگوریتم های یادگیری ماشین

فایل پیوست

فایل های پیوست دوره

سوالت را بپرس ...