ویولت یا موجک یکی از ابزارهای مهم در مهندسی می باشد که در سایت گروه برنامه نویسی متلب ایران می توانید مطالب مفیدی را در این زمینه بیابید.
matlab1.ir
مطلبی که می خواهیم در این صفحه در مورد آن صحبت کنیم ترکیب ویولت و شبکه عصبی می باشد.
ابتدا توضیح مختصری در مورد شبکه عصبی می آوریم.
شبکه عصبی MLP
شبکه (MLP) مجموعه ای از نورون ها است که در لایه مختلفی پشت سر هم قرار گرفته اند. مقادیر ورودی پس از ضرب در وزن های موجود در گذر گاه های بین لایه ها به نورون بعدی رسیده و در آن جا با هم جمع می شوند و پس از عبور از تابع شبکه مربوطه خروجی نورون ها را تشکیل می دهند. در پایان خروجی به دست آمده با خروجی مورد نظر مقایسه شده و خطای به دست آمده جهت اصلاح وزن های شبکه به کار می رود ، این امر اصطلاحاً آموزش شبکه عصبی نامیده می شود .
قاعده فراگیری MLP
قاعده فراگیری پرسپترون چند لایه را «قاعده کلی دلتا» یا « قاعده پس انتشار » می گویند . این عناوین در سال 1986 رومل هارت ، مک کللند و ویلیامز پیشنهاد شد.
اولین گروهی بودند که نه تنها قاعده فراگیری پرسپترون را به طور مستقل کشف کردند بلکه با ترکیب آن ها پرسپترون چند لایه را ایجاد نمودند. کتاب آن ها به نام «پردازش توزیع شده موازی» یکی از مهم ترین منابع این حوزه علمی می باشد.
نحوه عمل پرسپترون چند لایه ای مشابه پرسپترون تک لایه ای است. به این صورت که الگویی به شبکه عرضه می شود و خروجی آن محاسبه می گردد ، مقایسه خروجی واقعی و خروجی مطلوب باعث می گردد که ضرایب وزنی شبکه تغییر یابد به طوری که در مراحل بعد خروجی صحیح تری حاصل شود. وقتی به شبکه آموزش ندیده ای الگویی را عرضه می کنیم ، خروجی های تصادفی تولید می کند. ابتدا باید تابع خطایی را تعریف کنیم که تفاوت خروجی واقعی و خروجی مطلوب را نشان دهد. از آن جایی که خروجی مطلوب را می دانیم این نوع فراگیری را « فراگیری با سرپرستی » می نامیم.
برای موفقیت در آموزش شبکه باید خروجی آن را به تدریج به خروجی مطلوب نزدیک کنیم. به عبارت دیگر باید میزان خطا را کاهش دهیم. برای رسیدن به هدف از قانون دلتا استفاده می کنیم.
تبدیل موجک ( ویولت Wavelet )
تبدیلات موجک یا ویولت (Wavelet) از جمله ابزارهایی هستند که کاربردهای فراوانی در شاخه های مختلف علمی و مهندسی، به ویژه هوش مصنوعی، یادگیری ماشینی، پیش بینی سری زمانی، و بازشناسی الگو دارد. تئوری موجک ها در واقع تعمیمی بر تئوری تبدیلات و سری های فوریه است و ضعف های آنالیز فوریه در عملکرد موضعی و مدل سازی رفتارهای کوتاه مدت را، جبران می نماید.
موجک یا ویولت (به انگلیسی: Wavelet) دستهای از توابع ریاضی هستند که برای تجزیه سیگنال پیوسته به مؤلفههای فرکانسی آن بکار میرود که رزولوشن هر مؤلفه برابر با مقیاس آن است. تبدیل موجک تجزیه یک تابع بر مبنای توابع موجک میباشد. موجکها (که به عنوان موجکهای دختر شناخته میشوند) نمونههای انتقال یافته و مقیاس شده یک تابع (موجک مادر) با طول متناهی و نوسانی شدیداً میرا هستند. چند نمونه موجک مادر در شکل زیر نمایش داده شدهاند.
تعداد زیادی تبدیل موجک وجود دارد که لیست آن را میشود در فهرست تبدیلهای مرتبط با موجک مشاهده نمود. معمولترین این تبدیلها عبارتند از:
- تبدیل موجک پیوسته (Continuous wavelet transform (CWT
- تبدیل موجک گسسته Discrete wavelet transform (DWT)
- تبدیل سریع موجک Fast wavelet transform (FWT)
- Lifting scheme
- تجزیه بستههای موجکWavelet packet decomposition (WPD)
- تبدیل موجک ساکن Stationary wavelet transform (SWT)
مقایسه تبدیل موجک با تبدیل فوریه
در مقایسه با تبدیل فوریه میتوان گفت که تبدیل موجک دارای خصوصیت محلیسازی بسیار خوبی است. بطور مثال تبدیل فوریه یک پیک تیز دارای تعداد زیادی ضریب است، چرا که توابع پایه تبدیل فوریه توابع سینوسی و کسینوسی هستند که دامنه آنها در کل بازه ثابت است، در حالی که توابع موجک توابعی هستند که بیشتر انرژی آنها در بازه کوچکی متمرکز شدهاست و به سرعت میرا میشوند. بنابراین با انتخاب مناسب موجک های مادر می توان فشرده سازی بهتری در مقایسه با تبدیل فوریه انجام داد.
ترکیب ویولت و شبکه عصبی MLP :
برای ترکیب ویولت و شبکه عصبی دو راه در مقالات به آن اشاره شده است :
روش 1 :
در ابتدا بوسيله تبديل ويولت گسسته و قابليت آن در تجزيه و تحليل سيگنال با رزولوشن هاي مختلف، سگينال در چند سطح تجزيه مي شود، سپس با استفاده از انحراف معيار ضرايب ويولت هر سطح براي هر اغتشاش يك بردار ويژگي استخراج شده كه مبناي كلاس بندي سيگنال توسط شبكه عصبي مي باشد.
روش 2 :
در این روش ویولت در قلب شبکه عصبی MLP استفاده می شود. همانطور که در قسمت بالا توضیح داده شد. یک شبکه عصبی از چندین نرون تشکیل شده است که هر نرون در خروجی خود یک تابع تبدیل یا transfer function دارد. در این روش تابع تبدیل نرون دستخوش تغییر می شود.
به عبارت دیگر یکی از ویولت ها را به صورت یک تابع می نویسیم و در خروجی هر نرون شبکه عصبی قرار می دهیم. لذا شبکه عصبی ورودیها را می گیرد و بنا به وزن ها و بایاس خود خروجی هایی را تولید می کندو در انتها خروجی از یک تابع تبدیل عبور می کند.
کد های هر دو روش بالا موجود است که شما می توانید با گروه تماس بگیرید و تنها با پرداخت مبلغی ناچیز این دو کد را دریافت کنید.
کد نویسی روش دوم نیاز به تجریه و تبحر بالایی در برنامه نویسی دارد.
چطوری میشه فیلم کاملش رو دانلود کرد؟
به لینک زیر مراجعه کنید
لینک
با سپاس از کارهای خوبتون. لطفا میشه راهنمایی کنید چطور کد ترکیبی شبکه عصبی و ویولت رو میشه برای چند ورودی و یک خروجی استفاده کرد. و دوم اینکه چرا در کد پارامترهای فازی رو هم استفاده کردین؟ متشکرم
سلام
این مدل هم شبیه یک شبکه عصبی می توان تغییرات اعمال کرد و برای مدلهای چند ورودی و چند خروجی مورد استفاده قرار دارد مثل شبکه عصبی.
ما پارامترهای فازی استفاده نکردیم. شاید منظورتون پارامترهای ویولت باشد.
با سلام به شما
ببخشید خواستم بپرسم آیا این شبکه عصبی ویولت می تواند متغیر پاسخ دو حالتی را پیش بینی کند ؟
سلام
لطفا برای خرید کد 2 بنده رو راهنمایی کنین
سلام
به لینک زیر که بروید
لینک شبکه عصبی ویولت