PDA

مشاهده نسخه کامل : تقريب تابع با شبكه ي عصبي



ravegoat
03-09-11, 12:49
شبكه ي عصبي مصنوعي گونه اي از شبيه سازي ساختار عصبي مغز انسان جهت طراحي يك سيستم هوشمند است. شبكه ي عصبي مصنوعي (ANN) كاربرد گسترده اي در علوم مختلف از جمله هوش مصنوعي، علوم مهندسي، علوم پايه و علوم انساني دارد. در اين تاپيك از گونه ي خاصي از شبكه ي عصبي به نام Wavelet Neural Network براي تخمين ضابطه ي يك تابع ناشناخته ي تك متغيره ي رياضي استفاده مي كنيم.
دليل استفاده از Wavelet براي اين امر سرعت همگرايي مناسب و خطاي نسبتا" كم در تخمين است. در اين زمينه شبكه هاي Orthogonal و يا RBF هم كارايي خوبي دارند كه در ادامه سعي مي شود نمونه از آن ها براي آشنايي شما دوستان در اينجا قرار گيرد.

سورس پيوست شده نمونه اي از يك WNN را نشان مي دهد كه قادر به تخمين يك تابع (Regression) است. اين سورس به زبان VB.NET 2008 است.
تابع تحريك استفاده شده در معماري شبكه Gaussian بوده كه براي تخمين اكثر توابع مناسب است. كاربر مي تواند بسته به دقت مورد نياز، نرخ ياد گيري (Learning Rate)، تعداد نرون ها (Neuron) و تعداد دفعات يادگيري (Iteration) را تعيين كند.
روش ياد گيري اين شبكه Supervised است در نتيجه كاربر بايد تعدادي نقطه در فضاي دو بعدي با مقادير صحيح ((x, f(x) را در بانك اكسس مربوط به برنامه به عنوان Learning Data وارد كند. بديهي است كه هرچه تعداد نقاط بيش تر باشد، كيفيت آموزش بالا تر مي رود.
همچنين اين برنامه قادر به رسم نمودار دقيق تابع و نمودار تخمين زده شده ي آن براي مقايسه ي بهتر است. :cool:

در صورت هرگونه سوال و يا نياز به تحليل سورس پيوست شده، بنده در خدمتم.
آرمين :love: