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

اطلاعات دوره


مدت زمان
06:20:00
تعداد ویدیو
34
تعداد نظرات
0


مبلغ دوره :

180,000 تومان
مزدک دال کوهی

مزدک دال کوهی


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

مشاهده رزومه

سطح دوره: جامع
مبلغ دوره: 180,000 تومان
تاریخ درج: 1400/04/19
آخرین به روزرسانی: 1400/06/15
دسته بندی : هوش مصنوعی و دیتا ساینتس
نوع آموزش : نرم افزاری

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

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

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

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

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

الگوريتم‌های یادگیری ماشین با یاد گیری و حفظ کردن  داده‌هایی که دریافت می‌کنند می‌توانند مسائلی را حل کنند که بسیار پیچیده‌تر از آن است که بتوان آن را با برنامه‌نویسی ساده حل کرد. الگوریتم های یادگیری ماشین اغلب به دو دسته نظارتی یا 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

    داده ها در یادگیری ماشین Data

    00:24:10 ورود
  • 2

    پیش پردازش داده ها preprocessing

    در این بخش به تکنیک های مختلف پیش پردازش داده می پردازیم تا علاوه بر آشنایی بیشتر با داده، داده ها برای ورود به مدل آماده شوند.
    00:36:38 ورود
  • 3

    نمونه پیش پردازش Preprocessing Template

    روش های گفته شده در جلسه قبل به صورت یک تمپلیت در آمده است
    00:09:48 ورود
  • 4

    Preprocessing Project

    پروژه پیش پردازش داده علاوه بر مرور تکنیک های رایج در پیش پردازش داده ایده های بیشاری در این مورد به شما خواهد داد.
    00:00:00 ورود
  • 5

    معیارهای سنجش عملکرد دسته بندی (معیار های کلاسیفیکیشن) Classification Metrics

    در این درس به معیارهای ارزیابی روش های classification می پردازیم.
    00:23:40 ورود
  • 6

    دسته بند رگرسیون لجستیک Logistic Regression

    در این درس به پایه ای ترین روش classification یعنی رگرسیون لجستیک می پردازیم.
    00:12:15 ورود
  • 7

    دسته بند کا نزدیک ترین همسایه K Nearest Neighbors (KNN)

    00:11:00 ورود
  • 8

    Naive Bayes

    00:11:00 ورود
  • 9

    دسته بند ماشین بردار پشتیبان Support Vector Machines(SVM) - SVC

    00:12:02 ورود
  • 10

    دسته بند درخت تصمیم Decision Tree

    00:13:05 ورود
  • 11

    دسته بند جنگل تصادفیRandomForest Classifier (RF)

    00:10:17 ورود
  • 12

    دسته بند شبکه عصبی چند لایه Multi Layer Perceptron (MLP) Classifier

    00:19:06 ورود
  • 13

    معیارهای سنجش عملکرد رگرسیون Regression Metrics

    00:09:49 ورود
  • 14

    رگرسیون خطی Linear Regression Part 1

    00:12:22 ورود
  • 15

    رگرسیون خطی Linear Regression Part 2

    00:07:34 ورود
  • 16

    رگرسیون کا نزدیک ترین همسایه K Nearest Neighbors (KNN) Regressor

    00:11:05 ورود
  • 17

    رگرسیون ماشین بردار پشتیبان Support Vector Machines(SVM) - SVR

    00:12:41 ورود
  • 18

    درخت تصمیم رگرسیون Decision Tree Regressor

    00:13:05 ورود
  • 19

    رگرسیون جنگل تصادفی Random Forest (RF) Regressor

    00:08:33 ورود
  • 20

    رگرسیون شبکه عصبی چند لایه Multi Layer Perceptron (MLP) Regressor

    00:12:47 ورود
  • 21

    رگرسیون با چند خروجی Multi Output Regression

    00:09:07 ورود
  • 22

    خوشه بندی به روش تجمعی Hierarchical Clustering- Agglomerative

    00:10:46 ورود
  • 23

    خوشه بندی به روش کی مینز KMeans Clusteing

    00:08:11 ورود
  • 24

    خوشه بندی به روش انتشار خویشاوندی Affinity Propagation Clustering

    00:07:24 ورود
  • 25

    خوشه بندی به روش بیرچ Birch Clustering

    00:07:07 ورود
  • 26

    خوشه بندی به روش دی بی اسکن DBSCAN Clustering

    00:05:51 ورود
  • 27

    خوشه بندی به روش اپتیکس OPTICS Clustering

    00:07:24 ورود
  • 28

    یافتن داده های پرت با Elliptic Envelope

    00:05:00 ورود
  • 29

    یافتن داده های پرت با One Class SVM Outlier Detection

    00:03:30 ورود
  • 30

    یافتن داده های پرت با Isolation Forest Outlier Detection

    00:04:11 ورود
  • 31

    یافتن داده های پرت با Local Outlier Detection

    00:05:50 ورود
  • 32

    مولفه های جزییPrincipal Component Analysis (PCA)

    00:12:13 ورود
  • 33

    Linear Discriminant Analysis (LDA) & (QDA)

    00:06:20 ورود
  • 34

    کراس ولیدیشن و یافتن بهترین پارامتر های مدلCross Validation - Hyper Parameter

    00:16:09 ورود

نظرات

جهت درج نظر شما باید وارد حساب کاربری خود شوید.

دوره های مرتبط