شبکه ایمن

آموزش هوش مصنوعی و الگوریتم های فراابتکاری با پایتون

آموزش هوش مصنوعی و الگوریتم های فراابتکاری در با Python

در این بخش فیلم آموزش هوش مصنوعی و الگوریتم های فراابتکاری در پایتون را آماده کرده ایم که توسط Holczer Balazs از مجموعه آموزشی Udemy به زبان انگلیسی در ۱۷ ساعت تهیه شده است. در ادامه توضیحاتی از معرفی دوره ارائه شده و فهرست مطالب قرار داده شده است.

معرفی دوره

تمرکزاین دوره آموزشی بر روی مفاهیم بنیادی هوش مصنوعی و الگوریتم های فراابتکاری (Metaheuristic) یا بهینه سازی با زبان برنامه نویسی Python است. الگوریتم های یادگیری می توانند الگوهایی را تشخیص دهند که از نمونه آنها می توان به تشخیص سرطان اشاره کرد. ما می‌ توانیم الگوریتم‌ هایی را پیاده سازی کنیم که قارد باشد حرکت قیمت سهام را در بازار حدس بزند. در بخش های ابتدایی دوره اصول الگوریتم های گراف، جستجوی اول عرض (BFS) ، جستجوی اول عمق (DFS) و الگوریتم های جستجوی *A ارائه شده است. با استفاده از این آموزش AI می توان چندین الگوریتم پیشرفته را به کمک گراف ها حل نمود، بنابراین به نظر می رسد این الگوریتم ها بسیار مهم و کاربردی می باشند. فصل های بعدی آموزش در رابطه با الگوریتم های ابتکاری و فرا ابتکاری (الگوریتم های بهینه سازی) می باشد. در این دوره آموزشی هوش مصنوعی تئوری و پیاده سازی الگوریتم تبرید شبیه سازی شده (Simulated Annealing)، الگوریتم های ژنتیک (GA) و الگوریتم بهینه سازی ازدحام ذرات (PSO) را با چندین مسئله همچون مسئله معروف N-queens، مشکل فروشنده دوره گرد (TSP) و دیگر روش ها بررسی خواهیم کرد. این دوره آموزشی برای برنامه نویسان مبتدی پایتون که در مورد هوش مصنوعی و بهینه سازی ترکیباتی کنجکاو هستند، بسیار مناسب و کاربردی خواهد بود.

شکل انوع الگوریتم های بهینه سازی

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

مقدمه

  • مقدمه
  • اسلایدها و کد منبع

الگوریتم های گراف

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

الگوریتم جستجوی اول عرض (DFS)

  • جستجوی اول عرض چیست؟
  • پیاده سازی جستجوی اول عرض
  • کاربردهای جستجوی اول عرض

چالش ۱ – وب کراولر

  • چالش شماره ۱ – مسئله وب کراولر
  • وب کراولر (هسته موتورهای جستجوی) چیست؟
  • پیاده سازی اولیه وب کراولر

الگوریتم جستجوی اول عمق (DFS)

  • جستجوی اول عمق چیست؟
  • پیاده سازی جستجوی اول عمق
  • پیاده سازی جستجوی اول عمق با بازگشت
  • جستجوی اول عمق و مصورسازی استک مموری
  • مقایسه حافظه الگوریتم های پیمایش گراف
  • کاربردهای جستجوی اول عمق

چالش شماره ۲ – حل کننده ماز

  • چالش شماره ۲ – مسئله ماز
  • مقدمه مسئله ماز
  • پیاده سازی مسئله ماز
  • مصورسازی استک مموری مسئله ماز

الگوریتم جستجوی *A

  • الگوریتم جستجوی *A چیست؟
  • تصویر سازی الگوریتم جستجوی *A
  • پیاده سازی الگوریتم جستجوی *A – بخش اول
  • پیاده سازی الگوریتم جستجوی *A – بخش دوم
  • پیاده سازی الگوریتم جستجوی *A – بخش سوم
  • مقایسه الگوریتم های مسیریابی

الگوریتم های فرا ابتکاری

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

تبرید شبیه سازی شده

  • تبرید شبیه سازی شده چیست؟
  • آزمون تبرید شبیه سازی شده

پیاده سازی تبرید شبیه سازی شده – توابع پیوسته

  • پیاده سازی تبرید شبیه سازی شده – بخش اول
  • پیاده سازی تبرید شبیه سازی شده – بخش دوم
  • پیاده سازی تبرید شبیه سازی شده – بخش سوم

پیاده سازی تبرید شبیه سازی شده – بهینه سازی ترکیباتی

  • مسئله فروشنده دوره گرد (STP) چیست؟
  • پیاده سازی مسئله فروشنده دوره گرد – بخش اول
  • پیاده سازی مسئله فروشنده دوره گرد – بخش دوم
  • پیاده سازی مسئله فروشنده دوره گرد – بخش سوم
  • پیاده سازی مسئله فروشنده دوره گرد – بخش چهارم

پیاده سازی تبرید شبیه سازی شده – سودوکو

  • مسئله سودوکو چیست؟
  • پیاده سازی مسئله سودوکو – بخش اول
  • پیاده سازی مسئله سودوکو – بخش دوم
  • پیاده سازی مسئله سودوکو – بخش سوم
  • پیاده سازی مسئله سودوکو – بخش چهارم

الگوریتم های ژنتیک

  • مقدمه الگوریتم ها ژنتیک – مبانی
  • مقدمه الگوریتم ها ژنتیک – کروموزوم ها
  • مقدمه الگوریتم ها ژنتیک – تقاطع
  • مقدمه الگوریتم ها ژنتیک – جهش
  • مقدمه الگوریتم ها ژنتیک – انتخاب
  • مقدمه الگوریتم ها ژنتیک – الگوریتم
  • نخبه گرایی چیست؟
  • مزایا و محدودیت های الگوریتم های ژنتیک
  • آزمون های الگورتم ژنتیک

پیاده سازی الگوریتم های ژنتیک – مثال ساده

  • پیاده سازی الگوریتم ژنتیک – بخش اول
  • پیاده سازی الگوریتم ژنتیک – بخش دوم
  • پیاده سازی الگوریتم ژنتیک – بخش سوم
  • پیاده سازی الگوریتم ژنتیک – بخش چهارم
  • پیاده سازی الگوریتم ژنتیک – بخش پنجم – نخبه گرایی

پیاده سازی الگوریتم های ژنتیک – مسائل دسته بندی محدودیت

  • مسئله N-queens چیست؟
  • پیاده سازی مسئله N-queens – بخش اول
  • پیاده سازی مسئله N-queens – بخش دوم

چالش شماره ۳ – مسئله کوله پشتی

  • چالش دوره شماره ۳ – بررسی مسئله کوله پشتی
  • مسئله کوله پستی چیست؟
  • پیاده سازی مسئله کوله پشتی

بهینه سازی ازدحام ذرات

  • هوش ازدحامی چیست؟
  • مقدمه بهینه سازی هوش ازدحام ذرات – مبانی
  • مقدمه بهینه سازی هوش ازدحام ذرات – الگوریتم
  • Trade-off اکتشاف و بهره برداری
  • آزمون بهینه سازی ازدحام ذرات

بهینه سازی ازدحام ذرات – مثال ساده

  • پیاده سازی بهینه سازی ازدحام ذرات – بخش اول
  • پیاده سازی بهینه سازی ازدحام ذرات – بخش دوم
  • پیاده سازی بهینه سازی ازدحام ذرات – بخش سوم

بازی دو نفره

  • مقدمه درختان بازی
  • آزمون بازی دو نفره

الگوریتم مینیماکس – موتورهای بازی

  • مقدمه الگوریتم مینیماکس – مبانی
  • مقدمه الگوریتم مینیماکس – الگوریتم
  • مقدمه الگوریتم مینیماکس – مرتبط با بازی دوز
  • مقدمه هرس آلفا بتا
  • مثال هرس آلفا بتا
  • مسئله شطرنج

بازی دوز

  • پیاده سازی بازی دوز – بخش اول
  • پیاده سازی بازی دوز – بخش دوم
  • پیاده سازی بازی دوز – بخش سوم
  • پیاده سازی بازی دوز – بخش چهارم
  • پیاده سازی بازی دوز – بخش پنجم
  • پیاده سازی بازی دوز – بخش ششم
  • مصورسازی بازی دوز – بخش هفتم – هرس کردن

یادگیری تقویتی

  • یادگیری تقویتی چیست؟
  • کاربردهای یادگیری تقویتی

تئوری فرآیند تصمیم گیری مارکوف (MDP)

  • مبانی فرآیندهای تصمیم گیری مارکوف – بخش اول
  • مبانی فرآیندهای تصمیم گیری مارکوف – بخش دوم
  • مبانی فرآیندهای تصمیم گیری مارکوف – معادلات
  • مبانی فرآیندهای تصمیم گیری مارکوف – تصویرسازی
  • معادله بلمن
  • چگونه مسئله MDP را حل کنیم؟
  • تکرار ارزش چیست؟
  • تکرار سیاست چیست؟
  • فرمول ریاضی یادگیری تقویتی
  • آزمون مبانی یادگیری تقویی

مسئله اکتشاف در مقابل بهره برداری

  • مسئله اکتشاف در مقابل بهره برداری
  • مقدمه مسئله راهزن چند مسلح (N-armed bandit)
  • پیاده سازی مسئله راهزن چند مسلح (N-armed bandit)
  • کاربردها – تست A/B در بازاریابی
  • آزمون اکتشاف در مقابل بهره برداری

تئوری Qlearning

  • Qlearning چیست؟
  • مقدمه Qlearning – الگوریتم
  • تصویرسازی Qlearning
  • فرمول ریاضی Qlearning
  • آزمون QLearning

پیاده سازیQLearning – بازی دوز

  • بازی دوز با استفاده از Qlearning بخش اول
  • بازی دوز با استفاده از Qlearning بخش دوم
  • بازی دوز با استفاده از Qlearning بخش سوم
  • بازی دوز با استفاده از Qlearning بخش چهارم
  • بازی دوز با استفاده از Qlearning بخش پنجم
  • بازی دوز با استفاده از Qlearning بخش ششم
  • بازی دوز با استفاده از Qlearning بخش هفتم
  • بازی دوز با استفاده از Qlearning بخش هشتم

پیوست – دوره فشرده برنامه نویسی پایتون

  • مقدمه دوره فشرده سازی

پیوست ۱ – مبانی پایتون

  • مرحله اولیه در پایتون
  • انواع اولیه داده چیست؟
  • بولین ها
  • رشته ها
  • اسلایس کردن رشته
  • Type casting
  • عملگرها
  • دستورات شرطی
  • چگونه از چندین دستور شرطی استفاده کنیم؟
  • تمرین – دستورات شرطی
  • راه حل – دستورات شرطی

پیوست ۲ – توابع

  • تابع چیست؟
  • تعریف توابع
  • آرگومان های پوزیشنال و آرگومان های کلیدواژه
  • بازگردانی مقادیر
  • بازگردانی مقادیر چندگانه
  • تمرین – توابع
  • راه حل – توابع
  • عملگر Yield
  • متغیرهای محلی و گلوبال
  • مرتبط ترین توابع داخلی کدامند؟
  • بازگشت چیست؟
  • تمرین – بازگشت
  • راه حل – بازگشت
  • متغیر های محلی در مقابل گلوبال
  • تابع __main__

پیوست ۳ – ساختارهای داده در پایتون

  • چگونه زمان اجرای الگوریتم ها را اندازی گیری کنیم؟
  • مقدمه ساختارهای داده
  • ساختارهای داده آریه – بخش اول
  • ساختارهای داده آرایه – بخش دوم
  • لیست ها در پایتون
  • لیست ها در پایتون – عملیات های پیشرفته
  • لیست های در پایتون – list comprehension
  • آرایه ها و لیست ها در پایتون
  • تمرین – list comprehension
  • راه حل – list comprehension
  • تاپل چیست؟
  • تغییر پذیری و تغییر ناپذیری
  • ساختارهای داده لیست پیوندی چیست؟
  • پیاده سازی لیست پیوندی دو طرفه در پایتون
  • هشینگ و پیچیدگی زمان اجرای ۰(۱)
  • دیکشینری ها در پایتون
  • مجموعه ها در پایتون
  • تمرین – ایجاد دیکشینری ها
  • راه حل – ایجاد دیکشینری ها
  • مرتب سازی

پیوست ۴ – برنامه نویسی شی گرا (OPP)

  • برنامه نویسی شی درا (OPP) چیست؟
  • مبانی کلاس و آبجکت ها
  • استفاده از constructor
  • متغیرهای نمونه و متغیرهای کلاس
  • تمرین – ایجاد کلاس ها
  • راه حل – ایجاد کلاس ها
  • متغیرهای خصوصی و دستکاری نام
  • وراثت در OOP چیست؟
  • کلیدواژه super
  • تابع override (متد)
  • پلی مورفیسم چیست؟
  • مثال انتزاع و پلی مورفیسم
  • تمرین – انتزاع
  • راه حل – انتزاع
  • ماژول ها
  • تابع __str__
  • مقایسه آبجکت ها – تابع overriding

پیوست ۵ – NumPy

  • مزیت کلیدی NumPy چیست؟
  • ایجاد و بروزرسانی آرایه ها
  • ابعاد آرایه ها
  • ایندکس ها و اسلایس کردن
  • تایپ ها
  • تغییر شکل
  • تمرین – مسئله تغییر شکل
  • راه حل – مسئله تغییر شکل
  • استک سازی و ادغام آرایه ها
  • فیلتر
  • مقایسه زمان اجرا – آرایه ها و لیست ها

مواد دوره

  • اسلاید ها و کد منبع

دیدگاهتان را بنویسید