حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

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

پیوندهای روزانه

۹ مطلب با موضوع «شبکه های عصبی» ثبت شده است

  • ۰
  • ۰

ترکیب در سطح طبقه بند

1.    برای مجموعه ارقام دستنویس یا تصاویر چهره ORL، ویژگی هیستوگرام گرادیان را پیاده سازی کرده و یک شبکه MLP یا RBF را با آن آموزش دهید. سپس این شبکه را با شبکه ای که قبلا در تمرین دوم آموزش داده اید، ترکیب کنید و نتیجه حاصل را گزارش کنید. برای ترکیب از میانگین گیری استفاده کنید، یعنی مقادیر نرونهای خروجی را میانگین گیری کنید و سپس تصمیم گیری کنید. (در مورد مجموعه ارقام، می‌توانید به جای هیستوگرام گرادیان از مکان مشخصه استفاده کنید.)

ترکیب در سطح ویژگیها

2.    این بار ویژگیها را بعد از نرمال سازی با هم ترکیب کنید و یک شبکه جدید آموزش دهید. نتیجه ترکیب در سطح ویژگی را با نتیجه ترکیب در سطح طبقه بندها که در قسمت 1 انجام دادید، مقایسه کنید.

استفاده از SVM

3.    با استفاده از توابع آماده متلب همین مسئله را با یکی از ویژگیهای قبلی توسط SVM انجام دهید.

پیاده سازی الگوریتم AdaBoost (اختیاری)

4.    (اختیاری 0.5 نمره اضافه) الگوریتم AdaBoost M2 را با استفاده از MLP پیاده سازی کرده و 3 طبقه بند MLP روی مجموعه ارقام آموزش دهید.

موعد تحویل 24 آذر

  • حسین خسروی
  • ۰
  • ۰

تخمین تابع با استفاده از RBF و SOM

تابعی شامل ترکیب چهار گاوسی با پارامترهای مختلف ایجاد کنید (چیزی شبیه شکل زیر البته با 4 قله!). تعداد 100 زوج (x,y) از این فضا (در بازه 5- تا 5+) به عنوان نقاط آموزش انتخاب کنید. دقت کنید که توزیع نمونه‌ها متناسب با توابع گاوسی باشد (برای این کار می‌توانید از randn کمک بگیرید).

  • الف) با استفاده از توابع آماده متلب شبکه som را برای 4 نرون، 12 نرون و 40 نرون روی این نمونه‌ها (مختصات x و y نمونه‌های آموزش) اجرا کنید و بردارهای مراکز به دست آمده را برای استفاده در مرحله بعد ذخیره کنید (در فایل گزارش، موقعیت وزنهای نهایی نمایش داده شود).

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

  • ج) قسمت ب) را با استفاده از newrb پیاده سازی کنید و نتایجتان را مقایسه کنید.

  • د) قسمت ب را برای 3 نرون و 40 نرون مخفی هم تکرار کنید و خطای مجموع (روی 100 نمونه آموزش) را در یک جدول با هم مقایسه کنید.

  • ه) تابع تخمین زده شده را در تمام حالتها با استفاده از توابع meshgrid و surf در بازه بین 5- تا 5+ رسم کنید.

radial basis function radial basis function

 

زمان و نحوه ارسال برنامه

موعد ارسال تمرین:  10 آذر
نحوه ارسال: فایلهای متلب یا C به علاوه یک فایل word شامل اطلاعات نویسندگان، کد نوشته شده و نتایج به دست آمده.

  • حسین خسروی
  • ۰
  • ۰

 الف) شناسایی چهره

تمرین سری دوم را روی شناسایی چهره از مجموعه ORL تکرار کنید. برای استخراج ویژگی حتما از ویژگیهایی غیر از میانگین بلوکی استفاده کنید، مثلا هیستوگرام گرادیان یا PCA یا Harr-like یا تبدیل فوریه یا ... (کد استخراج ویژگی را می توانید از وب تهیه کنید). 50% داده ها برای آموزش، 50% برای آزمایش. برای دانلود مجموعه ORL اینجا را کلیک کنید.

ب) تخمین تابع

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

3.    تابع تخمین زده شده را نمایش دهید (مثل منحنی قرمز رنگ در شکل)

تخمین تابع - Function Approximation

مواردی که باید رعایت کنید:

‌    استفاده از تابع newff متلب یا کتابخانه‌های آماده مثل opencv مجاز نیست و شبکه‌ی MLP را به طور کامل باید خودتان پیاده سازی کنید.
•    الزامی نیست که تابع مورد نظر الگوی مشخصی داشته باشد؛ مثلا می تواند تعداد نقاط مشخص شده توسط کاربر باشد که البته پیچیدگی کافی داشته باشد.
•    این تمرین را می‌‌توانید یک یا دو نفره انجام دهید.

زمان و نحوه ارسال برنامه

موعد ارسال تمرین: 20 آبان ماه

نحوه ارسال: فایلهای متلب یا C به علاوه یک فایل word شامل اطلاعات نویسندگان، کد نوشته شده و تابع به دست آمده.

khosravi.blog.ir

  • حسین خسروی
  • ۰
  • ۰
تمرین سری دوم را از این آدرس دانلود کنید. موضوع این تمرین شناسایی الگو به کمک شبکه MLP است.

موعد تحویل 10 آبان

  • حسین خسروی
  • ۰
  • ۰

Classification by Perceptron or Adaline

Write a program for classification of samples of two classes using single layer perceptron:

  • Samples are in 2D space
  • Sample preparation
  • Randomly around a line
  • From 2 Gaussian distributions with different μ and σ
  • Show the results in each iteration visually
  • Use C++, MATLAB or other languages
  • Optional: User can produce samples interactively
  • Repeat the problem with 5 classes
  • Due date: 25 Mehr

Sample output:

It is not necessary that your output is exactly like this!

طبقه بندی با پرسپترون

  • حسین خسروی
  • ۰
  • ۰

تمرین سری ششم درس شبکه های عصبی: LVQ

دو سری نمونه متعلق به دو کلاس، یکی درون دایره و دیگری بیرون دایره و داخل مربعی با مساحت دوبرابر مساحت دایره، در نظر بگیرید. از هر کلاس 100 نمونه. سپس در حالتهای زیر شبکه LVQ را اجرا کرده و نتایج را به صورت تصویری گزارش کنید:
1.    برای هر کدام از کلاسها 4 بردار در نظر بگیرید.
2.    برای هر کدام 20 بردار در نظر بگیرید.
3.    برای هر کدام 50 بردار در نظر بگیرید.

دایره درون مربع

موعد ارسال تمرین:  30 آذر

نحوه ارسال: فایلهای متلب یا C به علاوه یک فایل word شامل اطلاعات نویسندگان، کد نوشته شده و نتایج به دست آمده.



  • حسین خسروی
  • ۰
  • ۰

اسلایدهای مربوط به بحث شبکه عصبی کانولوشن را از آدرس زیر دانلود کنید:

Convolutional Neural Networks

  • حسین خسروی
  • ۰
  • ۰

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

بخش اول مقالات

بخش دوم مقالات


مثالهای متلب مطرح شده در کلاس

  • حسین خسروی
  • ۰
  • ۰
  • حسین خسروی