منبع پایان نامه درمورد اعتبار سنجی، شبکه های عصبی، شبیه سازی، پرسپترون چند لایه

دانلود پایان نامه ارشد

ورودی و خروجی باید به یکی از فرمت های ورودی نرم افزار مورد استفاده در آورده شوند. چهار نوع فرمت متفاوت قابل قبول است: ASCII،ASCII ستونی،binary و Bitmap قبل از وارد نمودن داده ها به شبکه های عصبی باید آنها پیش پردازش شوند. برای مثال:
الف- داده ها باید به گونه ای تغییر یابند که فرایند شناخته شده ی فیزیکی را بهتر نشان دهند.
ب- با استفاده از روش های عمومی PCA و SOFM، داده ها را باید به شکلی به هم پیوسته تر تبدیل شوند. در اولین لایه ی شبکه، می توان این روش ها را به صورت آنلاین انجام داده شوند.
ج- داده های غیر ضروری را حذف شوند. حذف داده های غیر ضروری بعد از آموزش شبکه نیز امکان پذیر است(سلطانی و دیگران، 1389).

3-3-5-3-اعتبار سنجی در شبکه
هنگامی که شبکه با داده های ورودی32 آموزش داده می شود، اعتبار سنجی33 میزان خطای داده های تست 34را محاسبه می نماید. میانگین مربعات خطا35 در مرحله ی آموزش، روند کاهشی دارد ولی ممکن است میانگین مربعات خطا در داده های تست، افزایش یابد. این واقعه زمانی اتفاق می افتد که ثبت الگوهای آموزش یافته ی قبلی آغاز می شود. شبکه را باید به گونه ای تنظیم نمود که وقتی میزان میانگین مربعات خطای اعتبار سنجی افزایش می یابد، شبکه به صورت خودکار متوقف می شود. اگر داده ها بسیار کوچک هستند و امکان اعتبار سنجی وجود ندارد، زمانی که منحنی آموزش برای اولین بار شروع به تنزل می کند، آموزش را می بایستی قطع شود .
در حین آموزش، داده های مورد نظر به صورت پیوسته به شبکه ارائه می شوند. در حین یادگیری شبکه، خطا به صفر کاهش پیدا می کند. اما در همه ی موارد، خطای پایین تر به معنای یک شبکه ی بهتر نیست، زیرا ممکن است شبکه اشباع شده باشد. اعتبار سنجی معیار بسیار مناسبی برای پایان دادن به آموزش شبکه است. به این منظور باید تصمیم بگیریم که داده های خود را چگونه میان آموزش و اعتبار سنجی تقسیم نماییم. شبکه با داده های آموزشی، آموزش داده می شود و با داده های تست ارزیابی می شود. آموزش شبکه اصولاً فرآیندی کند است، زیرا وزن های شبکه بر اساس خطای موجود، دوباره احیا می شوند. از طریق داده های اعتبار سنجی می توان آموزش شبکه را ارزیابی نمود. اعتبار سنجی مربع تفاوت میان خروجی شبکه و پاسخ مطلوب است که در طول آموزش تغییر یافته است.
منحنی خطای خروجی در مقابل تعداد چرخه های آموزش را منحنی یادگیری می نامند. در اصل، منحنی آموزش به صورت نمایی تا صفر یا یک مقدار ثابت اندک کاهش می یابد. آموزش شبکه را می توان با یک مجموعه تست خارجی نیز پایش نمود. تنوع زیادی در انجام شبکه ای که چندین بار آموزش داده شده است وجود دارد، ولی این تنوع ها از شرایط متفاوت آغازین منشاء می گیرند. بنابراین، باید آموزش چندین بار تکرار شود و هر بار اندازه ی شبکه و یا پارامترهای آن را تغییر دهیم. از میان شبکه هایی که بهترین نتیجه را ایجاد می کنند- مخصوصاً از نظر اعتبار سنجی- شبکه ای که دارای کمترین وزن آزاد است باید انتخاب شود. شبکه را با داده های جدید تست می کنیم. اینجاست که کاربردی بودن شبکه ی ما مشخص می شود. اگر مراحل قبلی را به خوبی طی کرده باشیم، شبکه ی ما در مورد داده های جدید به خوبی عمل می کند(همان) .

3-3-5-4-آنالیز حساسیت در شبکه
در زمان آموزش شبکه، ممکن است لازم شود که اثر هر ورودی شبکه بر روی خروجی مشخص شود. این بررسی باعث می شود، بفهمیم که اثر کدام یک از ورودی ها بر روی خروجی شبکه چشم گیر تر است. با این کار، می توان با حذف نمودن ورودی های بی اهمیت، شبکه ای کارآمد تر طراحی نمود. حذف ورودی های غیر ضروری، اندازه ی شبکه را کاهش می دهد، در نتیجه میزان پیچیدگی شبکه و زمان آموزش آن نیز کاهش می یابد.
آنالیز حساسیت روشی برای استخراج علت رابطه ی میان ورودی ها و خروجی های شبکه است. برای آنکه وزن های شبکه از بیرون تأثیر نپذیرند هنگام بررسی حساسیت، فرایند آموزش شبکه متوقف می شود. حساسیت شبکه، به این صورت سنجیده می شود که ابتدا ورودی های شبکه به آرامی تغییر می کنند و تغییرات متناظر آنها در خروجی شبکه، به صورت درصد و یا میزان تفاوت کلی ثبت می شود. بررسی حساسیت، اثر ایجاد تغییرات کوچک در ورودی ها را بر روی خروجی ها نشان می دهد و بر روی کل داده های آموزشی به کار می رود. می توان این تست را برای شناسایی ورودی های غیر ضروری به کار برد. این ورودی ها باید حذف شوند و شبکه دوباره تکرار شود(همان).

3-3-5-5-توپولوژی شبکه
بعد از گردآوری داده ها و آماده نمودن داده های تست شبکه، باید توپولوژی شبکه را مشخص کنیم. عمومی ترین توپولوژی شبکه، پرسپترون چند لایه با دو لایه مخفی است. در این توپولوژی، تعداد عناصر پردازنده در هر لایه را می توان بر حسب میزان پیچیدگی مسئله تغییر داد. نتایج قبلی نشان می دهد که معمولاً بیشتر از دو لایه مورد نیاز نیست. زیرا با افزوده شدن تعداد لایه ها، سرعت شبکه کاهش می یابد. این مسأله کاملاً شبیه به جریان آب در چند لوله است.اگر مقدار زیادی آب را در اولین شیرها وارد شود، مقدار کمتر و کمتری آب برای شیرهای آخر موجود خواهد بود. در شبکه ی چند لایه، خطای خروجی شبکه را می توان به مثابه آب درون شیرها در نظر گرفت. خطا به عقب پس انتشار می یابد تا وزن ها را آموزش دهد. به علت غیر خطی بودن شبکه، این خطا در هر لایه ضعیف تر می شود. بدین ترتیب اگر از یک توپولوژی با تعداد لایه های زیاد استفاده شود، خطای آموزش وزن های اولین لایه بسیار کوچک خواهد بود. بدین ترتیب زمان آموزش به صورت مشقت باری افزایش می یابد. هر لایه قدرت جداکنندگی شبکه را افزایش می دهد، ولی زمان آموزش را بالا می برد. بدین ترتیب باید حالت بهینه در نظر گرفته شود. شبکه ای بدون لایه ی مخفی فقط می تواند در مسائل طبقه بندی به کار رود(همان).

3-3-5-6-پایش نمودن علایم
یک شبیه سازی موفق، نیازمند مشخص نمودن تعداد زیادی مشخصه است. راه حل مناسب برای فهمیدن اینکه تعداد پارامترها مناسب است، مشاهده ی علایمی است که درون شبکه جاری می شوند. منوهای پایش، امکان مشاهده ی تغییر وزن ها، خطای منتشر شده و مهم تر از همه هزینه را در حین کارکردن شبکه فراهم می کنند. به این معنی که نیازی نیست که برای اطلاع از نرخ آموزش بالای شبکه، تا انتهای آموزش صبر نمایید.

3-3-5-7-انجام شبیه سازی
در هنگام شبیه سازی، باید دقت شود که داده ها به درستی به درون شبکه وارد شده اند. موضوع مهم دیگر آن است که نرخ آموزش باید به اندازه ای کم باشد که از واگرایی شبکه جلوگیری شود. معمولاً واگرایی در آغاز آموزش اتفاق می افتد.

3-3-5-8-تعیین ماتریکس همبستگی
اگر ورودی های شبکه همبستگی های بالایی با هم داشته باشند، ماتریکس داده ها منفرد36 شده که برای ساختن شبکه مناسب نیست. بدین منظور قبل از وارد نمودن داده ها به شبکه عصبی، باید میان ورودی های نوعی پیش انتخاب انجام داد و داده های بسیار همبسته را حذف نمود. بدین منظور می توان از نرم افزارهای مختلفی مانند NCSS یاSPSS یا دیگر نرم افزارهای مناسب استفاده نمود و به روش رگرسیون متقابل37 ماتریکس همبستگی را ترسیم کرده، سپس داده هایی با همبستگی بالاتر از 9/0 را از شبکه ی داده ها حذف نمود.

3-3-5-9-تقسیم نمودن داده ها
به منظور آموزش صحیح شبکه و جلوگیری از مشکلاتی از قبیل اشباع شدن شبکه، و وجود وزن های بی معنی، باید حجم مناسبی از داده ها را به مراحل اصلی شبکه اختصاص داد. یک تقسیم بندی معمول عبارت است از اختصاص دادن 20 درصد داده ها برای اعتبار سنجی، 10 درصد برای تست و 70 درصد برای آموزش شبکه. البته در مواردی می توان به صورت تجربی و با تغییر دادن این نسبت ها، نتایج بهتری بدست آورد.

3-3-5-10-نرمال سازی
در شبکه های عصبی،قابلیت نرمال سازی اطلاعات میان بالاترین و پائین ترین دسته ی طبقه بندی شده وجود دارد. داده های اولیه را قبل از ورود به شبکه ی عصبی، داده های خام(raw data) می نامند. اصولاً استفاده از داده ها به صورت خام، باعث کاهش سرعت و دقت شبکه می شود. به منظور جلوگیری از چنین حالتی و همچنین به منظور یکسان کردن ارزش داده ها برای شبکه، عمل نرمال سازی صورت می گیرد. عمل نرمال سازی مانع کوچک شدن بیش از حد وزن ها و سبب جلوگیری از اشباع زود هنگام نرون ها می گردد. برای نرمال سازی داده ها روش های گوناگونی مورد استفاده قرار می گیرد. یک روش معمول(که معمولاً ضریب تقریب ساز جهانی نامیده می شود) به صورت فرمول زیر بیان می شود:
Xnormal=0.5* = [(X-X ̅)/(X_max-X_min )]+0.5

در این فرمولX_normal مقدار نرمال شده ی پارامتر،x مقدار واقعی هر پارامتر،X_max بیش ترین مقدار پارامتر مورد نظر و X_min کمترین مقدار پارامتر مورد نظر است.
3-3-5-11-معماری شبکه
به دلیل وجود الگوریتم های مختلف برای شبکه های عصبی، قبل از شروع به آموزش تعیین بهترین الگوریتم بسیار مناسب است. البته این امر در صورتی اتفاق می افتد که در زمینه ی مورد نظر، از قبل تجربه هایی وجود داشته باشد. روش دیگری که استفاده می شود استفاده از الگوریتم های مختلف، مقایسه ی نتایج آنها با هم و تعیین بهترین نتیجه است. بر اساس قضیه ی کولوموگروف- تقریب ساز جهانی- هر شبکه ی عصبی پرسپترون چند لایه با یک لایه ی مخفی سیگموئیدی و یک لایه خروجی خطی قادر به تخمین هر نگاشت پیچیده ای خواهد بود، که در این پژوهش نیز از این نوع معماری بهره گرفته شده است.

3-3-5-12-آنالیز های شبکه های عصبی و تابع هزینه
در بالاترین سطح از آنالیز های شبکه های عصبی، مدل عصبی قرار دارد. مدل عصبی بیانگر یک مدل دینامیک است. آنچه ما آن را شبکه های عصبی می نامیم، چیزی به غیر از توپولوژی خاص مدل های عصبی نیست. معمول ترین مدل عصبی، مدل فزاینده است و معادله ی آن به صورت زیر می باشد:
dx/dt=-τx_i+σ(∑_(j=1)^n▒〖xj wij〗)+I_i i=1,…N

که در آن I_i ورودی احتمالی واحد i است τ زمان دائمی واحد است، σ غیر خطی بودن است و wij وزن های داخلی هستند. این مدل در بیشتر شبکه های عصبی به کار می رود. مدل دیگر، مدل گراسبرگ است که در آن وزن ها مستقیماً به ورودی ها مربوطند. یک شبکه ی عصبی عبارت است از اتصال عناصر پردازنده به نحوی که در شکل 4-1 مشاهده می کنید:
بلوک های اصلی یک شبکه ی عصبی را می توان از شکل بالا تشخیص داد: یک نقشه ی خطی، مجموع وزن دار فعال سازی واحدهای دیگری که متغیر محلی 〖net〗_i را با معادله ی زیر تولید می کند:

〖net〗_i=∑_(j=1)^n▒〖xj wij〗

عناصر پردازنده ی مک کلوچ- پیت: وزن ها در عنصر پردازنده ی PEi پردازش شده و متغییر اولیه neti را ایجاد می کنند. نقشه ی غیر خطی این متغییر را به خروجی ارتباط می دهد.
و یک نقشه ی غیر خطی که neti را به متغیر خروجی Xi،- یعنی فعالیت عنصر
پردازنده ی liم که با رابطه) Xi=Q(neti تعریف می شود- تبدیل می کند. در اینجاXiy وزن هایی هستند که عنصر پردازنده ی liم را نشان می دهد،Xiy فعال سازی عنصر پردازنده ی liم است. در کل، شکل غیر خطی تابعی اشباعی و افزایش یابنده ی خفیف(smooth) است. شکل غیر خطی خفیف برای آموزش پسخور به کار می رود. شکل(4-2) انواعی از توابع غیر خطی و معادلات آنها را نشان می دهد.

3-3-5-13-سنجش کارایی شبکه
اشباع شبکه38:: یکی از مشکلات همیشگی در شبکه های عصبی مصنوعی است. این مسئله، در نتیجه ی وجود تعداد زیادی وزن های ارتباطی میان لایه ها پدیدار می شود. معمولاً برای جلوگیری از اشباع شبکه، تعداد لایه های مخفی و نرون های آن را در کمترین حد انتخاب می کنند. همچنین از روش Y-randomization به منظور مطمئن شدن از تصادفی نبودن شبکه و عدم اشباع شبکه استفاده می شود.در فرایند Y-randomizationابتدا مقادیر Y به صورت تصادفی بین مقادیر ورودی جابجا نموده و سپس شبکه ساخته می شود. این کار 25 بار تکرار می شود. اگر خروجی 25 شبکه، کمتر از خروجی شبکه ی اصلی باشد، می توان نتیجه گرفت که شبکه ی ما تصادفی نیست و مشکل اشباع در آن وجود ندارد. همچنین شاخص های کمی بسیاری جهت ارزیابی

پایان نامه
Previous Entries منبع پایان نامه درمورد شبکه های عصبی، شبیه سازی، پرسپترون چند لایه، شبکه عصبی Next Entries منبع پایان نامه درمورد داده های ورودی، شبکه های عصبی، فرایند آموزش، شبکه های عصبی مصنوعی