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

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

5 (1 امتیاز)
1,027 دانشجو
متوسط
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
نظرات کاربران
درباره استاد

آنچه در این دوره می‌آموزید

ساخت و آموزش یک شبکه عصبی با TensorFlow برای انجام طبقه‌بندی چند‌طبقه

بهترین روش‌ها برای توسعه یادگیری‌ماشین به منظور تعمیم مدل‌های شما به داده‌ها و وظایف در دنیای واقعی

ساخت و استفاده از درختان تصمیم‌گیری و روش‌های دسته‌بندی درختان از جمله random forests و boosted trees

محتوای دوره

4 فصل 59 جلسه 9 ساعت ویدیو
فصل اول: شبکه عصبی
فصل دوم: آموزش مدل در شبکه عصبی
فصل سوم: یادگیری ماشین کاربردی
فصل چهارم: درخت تصمیم

پیش‌نیاز‌ها

این دوره دومین دوره از تخصص یادگیری ماشین بوده و پیشنیاز آن دوره آموزش الگوریتم‌های نظارت‌شده در ماشین‌لرنینگ است.

درباره دوره

تخصص یادگیری ماشین مجموعه سه دوره بنیادی است که با هم کاری DeepLearning.AI و استنفورد آنلاین ایجاد شده است.

این تخصص توسط اندروانگ، یک متخصص هوش مصنوعی آموزش داده می‌شود که تحقیقات مهمی را در دانشگاه استنفورد و کارهای پیشگامانه‌ای در Google Brain ،Baidu و Landing.AI برای پیشرفت حوزه هوش مصنوعی انجام داده است.

این دوره تخصصی یک نسخه به روز شده و گسترش یافته از دوره پیشگام یادگیری ماشینی است که از زمان راه‌اندازی در سال 2012، امتیاز 4.9 از 5 را کسب کرده و بیش از 5 میلیون کاربر آن را فراگرفته‌اند.

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

 

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

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

 

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

با ثبت نام در این دوره آموزشی شما با مفاهیم زیر آشنا خواهید شد:

  • ساخت و آموزش یک شبکه عصبی با TensorFlow برای انجام طبقه‌بندی چند‌طبقه
  • بهترین روش‌ها برای توسعه یادگیری‌ماشین به منظور تعمیم مدل‌های شما به داده‌ها و وظایف در دنیای واقعی
  • ساخت و استفاده از درختان تصمیم‌گیری و روش‌های دسته‌بندی درختان از جمله random forests و boosted trees

این تخصص توسط اندرو انگ آموزش داده می‌شود.

 

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

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

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

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

امروزه هوش مصنوعی که معادل فارسی آن "Artificial Intelligence" است و به اختصار به آن "AI" می‌گویند، یکی از داغ‌ترین بحث‌های روز در دنیای فناوری به حساب می‌آید. به طور خلاصه می‌توان گفت که هوش مصنوعی به شبیه‌سازی هوش انسان در ماشین‌هایی گفته می‌شود که وظیفه تقلید از اقدامات و فکر کردن مانند انسان‌ها را دارند. پیشرفت‌ها و نوآوری‌های جدید در زمینه هوش مصنوعی در سال‌های اخیر کمک کرده تا ماشین‌ها نیز از ویژگی‌های مرتبط با ذهن انسان مانند حل مسئله و یادگیری برخوردار باشند.

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

 

هوش مصنوعی چیست ؟

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

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

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

 

مثالی ساده برای درک بهتر مفهوم هوش مصنوعی

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

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

 

هوش مصنوعی و یادگیری ماشین

یادگیری ماشین "Machine Learning" قسمتی از Artificial Intelligence است. در حقیقت به فرآیند استفاده از مدل‌ها و الگوریتم‌های ریاضی ساخته شده براساس داده‌ها توسط ماشین را یادگیری ماشین می‌گویند. هدف از یادگیری ماشین، توسعه و ساخت سیستمی است که بتواند بدون استفاده از دستورالعمل‌های خط به خطر، خودش به تنهایی یاد بگیرد و بیاموزد. در ماشین لرنینگ سیستمی طراحی می‌شود که مدام در حال یادگیری است و رفته رفته براساس تجربیات می‌تواند خودش را بهبود دهد.

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

به طور کلی الگوریتم‌های ماشین لرنینگ در 4 دسته کلی طبقه‌بندی تقسیم می‌شود که به شرح زیر می‌باشد:

  • یادگیری نظارت شده
  • یادگیری بدون نظارت
  • یادگیری تقویتی
     

همچنین معروف‌ترین الگوریتم های ماشین لرنینگ به شرح زیر است:

  • رگرسیون خطی
  • رگرسیون لجستیک
  • درخت تصمیم  (Decision Tree)
  • الگوریتم  SVM (Support Vector Machine)
  • الگوریتم ساده بیز (Naïve Bayes)
  • الگوریتم KNN (K- Nearest Neighbors) 
  • الگوریتم  K-Means
  • الگوریتم جنگل تصادفی
  • الگوریتم کاهش ابعاد
  • الگوریتم Deep learning
  • الگوریتم تقویت گرادیان (Gradient boosting) و الگوریتم  AdaBoosting

 

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

برخی از الگوریتم‌های برتر یادگیری ماشین به شرح زیر است:

1. یادگیری نظارت شده (supervised learning)

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

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

برخی از الگوریتم‌های یادگیری نظارت شده به شرح زیر است:

  • رگرسیون خطی
  • جنگل تصادفی
  • تقویت گرادیان
  • ماشین بردار پشتیبان
  • رگرسیون لجستیک
  • شبکه های عصبی مصنوعی

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

2. یادگیری بدون نظارت (unsupervised learning)

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

  • خوشه بندی
  • K-meams
  • DBSCAN
  • خوشه بندی سلسله مراتبی
  • تشخیص ناهنجاری
  • خودرمزگذار ها ( Autoencoders )
  • شبکه باور عمیق
  • تحلیل مولفه های اصلی
  • الگوریتم یادگیری بدون نظارت یکی از رایج‌ترین روش‌ها برای شناسایی مشتریان بالقوه است.

 

3. یادگیری تقویتی (Reinforcement Learning)

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

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

برخی از الگوریتم های ماشین لرنینگ در حوزه یادگیری تقویتی به شرح زیر است :

  • Q-Learning
  • SARSA
  • Deep Q-network

 

اصطلاحات مهم در یادگیری الگوریتم های ماشین لرنینگ در حوزه یادگیری تقویتی

1. عامل (Agent) :
موجودی که در محیط به جستجو و اکتشاف می‌پردازد تا از طریق شناخت محیط بتواند متناسب با شرایط تصمیم ‌گیری و اقدام کند.

2. محیط (Environment) :

به شرایطی که عامل در آن حضور دارد و در حقیقت توسط آن احاطه شده است.

3. عمل (Action) :

حرکت هایی که توسط عامل در محیط صورت می‌گیرد.

4. حالت (State) :

شرایطی که بعد از هر عمل، از طرف محیط بازگردانده خواهد شد.

5. پاداش (Reward) :

بازخوردی که از طرف محیط به عامل داده خواهد شد تا یک عمل را ارزیابی کند.

6. سیاست (Policy) :

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

7. ارزش (Value) :

میزان ارزش ایجاد شده در بلند مدت و می‌تواند با پاداش کوتاه مدت تفاوت‌هایی داشته باشد. به این معنا که برخی از تصمیم‌ها یا عمل‌ها در کوتاه مدت پاداشی ندارند یا حتی پاداش ان‌ها منفی است. اما جهت دستیابی به هدف نهایی مسئله تنظیم شده اند.

 

دیپ‌لرنینگ (Deep learning) یا یادگیری عمیق چیست؟

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

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

  • الگوریتم یادگیری نظارت شده
  • الگوریتم یادگیری بدون نظارت
  • الگوریتم یادگیری نیمه نظارتی
  • الگوریتم یادگیری تقویتی

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

  • کشاورزی
  • هوافضا و دفاع
  • خودرو
  • خدمات مالی
  • مراقبت‌های بهداشتی
  • شخصی‌سازی درمان‌های پزشکی
  • بیمه
  • ساخت و تولید
  • محصولات دارویی و پزشکی

برنامه‌نویسی هوش مصنوعی به چه صورت است‌؟

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

با استفاده از Artificial Intelligence می‌توان قابلیت‌های زیادی را اجرا نمود. اما برای هر یک از قابلیت‌ها نیاز به استفاده از زبان‌های برنامه نویسی متفاوتی وجود دارد. برخی از پر استفاده ترین و محبوب ترین زبان‌ های برنامه نویسی هوش مصنوعی به شرح زیر است :

  • پایتون
  • جاوا 
  • R
  • PROLOG
  • جولیا (Julia)
  • LISP
  • Haskell
  • اسکالا
  • متلب

 

برنامه نویسی هوش مصنوعی با پایتون چگونه است؟

در این بخش به شما خواهیم گفت که آموزش یادگیری ماشین با پایتون به چه صورت است. توجه داشته باشید که الگوریتم‌های ماشین لرنینگ از جمله رگرسیون (Regression) و دسته‌بندی (Classification) به صورت تخصصی و با استفاده از کتابخانه scikit-learn در پایتون قابل پیاده‌سازی و اجرا می‌باشد. همچنین با کتابخانه ‌های Caffe ،Keras و TensorFlow  نیز می‌توان دیپ لرنینگ را با دقت و ظرافت بالا اجرا نمود. 

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

  • NumPy
  • SciPy
  • Matpolib
  • SimpleAI
  • سایر موارد
     

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

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

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

اطلاعات بیشتر

دوره‌های پیشنهادی

این دوره در کدام مسیرهای یادگیری است؟

درباره استاد

Andrew Ng
Andrew Ng
17 دوره
28,485 دانشجو

اندرو انگ استاد دانشکده علوم کامپیوتر دانشگاه استنفورد و سرپرست آزمایشگاه هوش مصنوعی استنفورد است. وی هم چنین بنیان‌گذار کورسرا (coursera.org) است و بر اساس گزارش تکنولوژی دانشگاه ام ای تی یکی از 35 مخترع برتر جوان دنیا است.
او دکتری خود را از دانشگاه کالیفرنیا برکلی گرفته و زمینه‌های پژوهش او هوش مصنوعی و علوم رباتیک است.

اطلاعات بیشتر

دیگر دوره‌های Andrew Ng

سوالات پرتکرار

حداقل و حداکثر زمانی که می توانم یک دوره را بگذرانم چقدر است؟

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