شبکه عصبی ویولت چیست ؟

morlet

ویولت یا موجک یکی از ابزارهای مهم در مهندسی می‌باشد که در سایت گروه برنامه نویسی متلب ایران می‌توانید مطالب مفیدی را در این زمینه بیابید.

matlab1.ir

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

ابتدا توضیح مختصری در مورد شبکه عصبی می‌آوریم.

شبکه عصبی MLP

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

قاعده فراگیری MLP

قاعده فراگیری پرسپترون چند لایه را «قاعده کلی دلتا» یا « قاعده پس انتشار » می‌گویند . این عناوین در سال 1986 رومل‌هارت ، مک کللند و ویلیامز پیشنهاد شد.

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

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

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

Wavelet_-_Morlet

 تبدیل موجک ( ویولت Wavelet )

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

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

تعداد زیادی تبدیل موجک وجود دارد که لیست آن را می‌شود در فهرست تبدیل‌های مرتبط با موجک مشاهده نمود. معمول‌ترین این تبدیل‌ها عبارتند از:

 

مقایسه تبدیل موجک با تبدیل فوریه

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

ترکیب ویولت و شبکه عصبی MLP :

برای ترکیب ویولت و شبکه عصبی دو راه در مقالات به آن اشاره شده است :

روش 1 :

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

روش 2 :

در این روش ویولت در قلب شبکه عصبی MLP استفاده می‌شود. همانطور که در قسمت بالا توضیح داده شد. یک شبکه عصبی از چندین نرون تشکیل شده است که هر نرون در خروجی خود یک تابع تبدیل یا transfer function دارد. در این روش تابع تبدیل نرون دستخوش تغییر می‌شود.

به عبارت دیگر یکی از ویولت‌ها را به صورت یک تابع می‌نویسیم و در خروجی هر نرون شبکه عصبی قرار می‌دهیم. لذا شبکه عصبی ورودیها را می‌گیرد و بنا به وزن‌ها و بایاس خود خروجی‌هایی را تولید می‌کندو در انتها خروجی از یک تابع تبدیل عبور می‌کند.

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

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

 



لینک دنلود

7 دیدگاه دربارهٔ «شبکه عصبی ویولت چیست ؟»

  1. با سپاس از کارهای خوبتون. لطفا میشه راهنمایی کنید چطور کد ترکیبی شبکه عصبی و ویولت رو میشه برای چند ورودی و یک خروجی استفاده کرد. و دوم اینکه چرا در کد پارامترهای فازی رو هم استفاده کردین؟ متشکرم

    1. سلام
      این مدل هم شبیه یک شبکه عصبی می توان تغییرات اعمال کرد و برای مدلهای چند ورودی و چند خروجی مورد استفاده قرار دارد مثل شبکه عصبی.
      ما پارامترهای فازی استفاده نکردیم. شاید منظورتون پارامترهای ویولت باشد.

  2. با سلام به شما
    ببخشید خواستم بپرسم آیا این شبکه عصبی ویولت می تواند متغیر پاسخ دو حالتی را پیش بینی کند ؟

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *