شبکه عصبی، شبکه های عصبی، بورس اوراق بهادار

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

لايه مياني و لايه خروجي

شكل2-3 : ساختار شبكه عصبي برگشتي با سه لايه ، لايه هاي دوم و سوم برگشتي مي باشند.
شبکه‌های عصبی پیشرو ایستا هستند. بدین معنی که یک ورودی معین تنها یک مجموعه از خروجی‌ها را می‌تواند تولید کند. در مقابل شبکه‌های عصبی بر گشتي، بهواسطه وجود حلقه در ساختارشان حافظهدار هستند و این قابلیت در آن‌ها وجود دارد که اطلاعات موقتاً در حافظه آنها ذخیره شوند.
شبکه‌های عصبی بهعنوان یکی از قدرتمندترین پردازشگرهای غیرخطی سیگنال، برای طیف وسیعی از کاربردهای پردازش سیگنال کاربرد دارند.
در مهندسی عمران شبکه‌های عصبی در تشخیص آسیب‌های سازه‌ای38، شناسائی سیستم سازه‌ای39، مدلسازی رفتار مواد40، بهینه سازی سازه‌ای41، کنترل سازه‌ای42، طرح اختلاط بتن43و… مورد استفاده قرار گرفته است.
در سالهای اخیر، شبکه‌های عصبی مصنوعی، بهعنوان ابزارهای رگرسیون44، کارائی فوق‌العاده‌ای از خود نشان داده‌اند. علی‌الخصوص در کاربردهایی همچون شناسائی الگو45 و تقریب توابع46. این شبکه‌ها قادرند روابط پیچیده غیرخطی بین متغیرهای ورودی و خروجی را در یک سیستم یاد بگیرند بدون اینکه دانشی قبلی نسبت به آن پدیده یا سیستم داشته باشند .

2-4-4- ویژگی های شبکه عصبی
2-4-4-1- ساختار نرون
نرون یک واحد پردازنده اطلاعات است. درواقع کوچکترین واحد تشکیل دهنده شبکه‌های عصبی نرون می‌باشد. بلوک دیاگرام شکل2-4 مدل یک نرون پرکاربرد را نشان می‌دهد. عناصر اصلی تشکیل دهنده یک نرون عبارتند از:
1- مجموعه‌ای از سیناپس‌ها یا لینک‌های ارتباطی، که به هرکدام وزنی اختصاص داده می‌شود. سیگنال x_i ورودی از طریق وزنw_i به هسته مرکزی انتقال داده میشود. برخلاف سیناپس‌های مغز انسان، وزن سیناپسی در نرون‌های مصنوعی می‌تواند هم مقادیر مثبت و هم مقادیر منفی را دربرگیرد.
2- یک جمع کننده، برای جمع کردن سیگنال‌های وزن‌دار
3- تابع فعالسازی47، برای محدود کردن دامنه خروجی نرون در نظر گرفته میشود. معمولاً دامنه خروجی نرمالسازی شده نرون بین[0,1] یا [-1,1]درنظر گرفته می‌شود.

شکل 2-4 : مدل یک نرون خطی و غیرخطی(خطی یا غیر خطی بودن به نوع تابع فعال ساز بستگی دارد)
همچنین، مدل نرونی شکل2-4 دارای یک بایاس خارجی است که بوسیله عدد ثابت مثلا w_0 نشان داده می‌شود. براین اساس فرم ریاضی یک نرون را می‌توان بشکل زیر تعریف نمود.
net=∑_(i=1)^(n_0)▒〖w_i x_i 〗+w_0
W0 بیانگر عرض از مبدا است
که در آن x_1…x_(n_0 )سیگنال‌های ورودی و w_1…w_(n_0 ) وزن‌های سیناپسی می‌باشد. net خروجی ترکیب کننده خطی سیگنال‌های ورودی و بایاس است یا به عبارت بهتر مجموع ورودیهای وزندار نرون است. تابع F نیز تابع فعالسازی o سیگنال خروجی نرون است. تاثیر رفتار w_0 به ازای مقادیر مختلفی در خروجی ترکیب‌کننده خطی net در
شکل2-5 نشان داده شده است.

شکل2-5 : نحوه عملکرد بایاس در خروجی ترکیب کننده خطی

2-4-4-2- توابع فعال سازی
در اینجا چند نوع از انواع توابع فعالسازی را مطرح می‌کنیم. نمودار این توابع در جدول 2-1 و شکل 2-6 نشان داده شده است.
جدول 2-1 : توابع فعالسازی نرون های مختلف در شبکه های عصبی
تابع با قابلیت محدود کننده (حد آستانه)
F(net)=1/(1+e^(-g.net) )
تابع خطی تکه‌ای
F(net)={█(1, ifnet≥□(1/2)@net, if□(1/2)net≥□((-1)/2)@0, ifnet≤□((-1)/2))┤
تابع سیگموئید تک قطبی
F(net)={█(1, ifnet≥0 @0, ifnet0 )┤
تابع گوسین
F(net)=e^(-g^2 ) g=(x-x ̅)/σ, (x=net)
تابع خطی
F(net)=net
تابع سیگموئید دو قطبی
F(net)=(1-e^(-g.net))/(1+e^(-g.net) )

شکل 2-6 : توابع فعالسازی(الف) حدآستانه، (ب) خطی تکه‌ای، (ج) سیگموئید تک قطبی، (د)گوسین، (ه) خطی (و) سیگموئید دوقطبی

2-4-4-3- ساختارهای شبکه
1- شبکه‌های عصبی پیشرو تک‌لایه
در ساده‌ترین شکل شبکه عصبی که در شکل 2-7 نشان داده شده، یک لایه ورودی از گره‌های منبع داریم که در نهایت از طریق وزن‌ها به نرون‌های لایه خروجی وصل می‌شوند. شکل 6 ساختار این شبکه را با n_0 گره (سیگنال) ورودی و n_1 نرون خروجی نشان می‌دهد. چنین ساختاری به شبکه عصبی با دو لایه که فقط لایه خروجی فعال می‌شود.

شکل 2-7 : شبکه پیشرو با یک لایه فعال (خروجی)
لازم به ذکر است تعدادگره های لایه های ورودی و خروجی بر حسب نیاز انتخاب میشوند.

2- شبکه‌های عصبی پیشرو چندلایه48
دسته دوم شبکه‌های عصبی پیشرو همانند شکل 2-8 دارای لایه های ورودی و خروجی میباشد و فقط لایه میانی به آن اضافه شده است، شامل یک یا چند لایه میانی (پنهان) است که نرون‌های این لایه‌ها، نرون‌های مخفی نیز نامیده می‌شوند.

شکل 2-8 : شبکه عصبی پیشرو با یک لایه مخفی و یک لایه خروجی
با اضافه کردن یک و یا چند لایه میانی، شبکه عصبی توانایی تجزیه و تحلیل‌ با درجه بالاتری را خواهد داشت. نمودار شکل ساختار شبکه عصبی پیشرو با دو لایه فعال و یک لایه مخفی (میانی) را نشان می‌دهد. توابع فعالسازی در لایه خروجی عمدتاً براساس نیاز کاربر انتخاب می‌شوند. و تعداد نرون های لایه میانی بر اساس طراحی و نیاز سیستم انتخاب میشود که عمدتا به صورت سعی و خطا میباشد. هر نرون در هر لایه از شبکه بواسطه وزن به هرکدام از نرون‌های لایه بعدی خود متصل شده است. چنین ساختاری را شبکه کامل متصل49 می‌گویند. حال چنانچه بخشی از این ارتباطات وجود نداشته باشند، آن را نیمه متصل50 می‌گویند.

3- شبکه‌های عصبی برگشتی51
در ساختار این نوع از شبکه‌های عصبی حداقل یک حلقه پسخور52 وجود دارد. شکل ساختار شبکه برگشتی را نشان می‌دهد که در آن خروجی هر نرون، سایر نرون‌های شبکه را تغذیه می‌کند. توجه کنید که در این ساختار، حلقه‌های خودپسخور53 وجود ندارد. ارتباط بین خروجی با نرونهای دیگر از طریق وزن ها صورت میگیرد.

شکل 2-9 : شبکه عصبی بازگشتی بدون حلقه خودپسخور و نرون‌های میانی

شکل2-9 کلاس دیگری از شبکه‌های عصبی برگشتی با نرون‌های مخفی را نشان می‌دهد. حلقه‌های پسخور نشان داده شده در
شکل2-10 هم از نرون‌های خروجی و هم از نرون‌های میانی بوجود می‌آیند. وجود این حلقه‌های برگشتی در ساختار شبکه، قدرت یادگیری شبکه را افزایش می‌دهد. و عمق حافظه در این نوع ساختار زیادتر میشود.

شکل 2-10 : شبکه بازگشتی با نرونهای مخفیبا حجم حافظه بالاتر

2-4-5- یادگیری در شبکه های عصبی
سومین مشخصه اصلی یک شبکه عصبی، قابلیت شبکه عصبی برای یادگیری از محیط پیرامون خود و بهبود کارائی از طریق فرآیند یادگیری است. یک شبکه عصبی بواسطه فرآیندهای یادگیری قادر است با اعمال تنظیمات لازم بر روی وزن‌های سیناپسی، محیط اطراف خود را بهتر درک کند. به عبارت بهتر، پس از هر تکرار فرآیند یادگیری، دانش شبکه عصبی درباره محیطی که در آن قرار دارد بیشتر می‌شود.
موضوع یادگیری از نقطه نظرهای مختلف، می‌تواند بسیار متفاوت باشد. هدف و منظور اصلی از یادگیری، می‌تواند در قالب تعریف زیر بیان شود:
“یادگیری فرآیندی است که در آن پارامترهای آزاد یک شبکه عصبی بواسطه یک فرآیند تحریکی بیرونی، با محیطی که شبکه در آن قرار گرفته است، تطبیق پیدا می‌کند.”
از این تعریف موارد زیر حاصل می‌شود :
1- شبکه عصبی بوسیله محیط پیرامون تحریک می‌شود،
2- شبکه عصبی در نتیجه این تحریک تغییراتی در پارامترهای آزادش اعمال می‌کند،
3- شبکه عصبی به دلیل تغییراتی که در ساختار درونی‌اش برحسب الگوهای جدیدی که در محیط پیرامون وجود دارد، رخ داده است، پاسخ مناسب‌تری از خود نشان می‌دهد.
4- تزریق الگوهای جدید به شبکه عصبی، سبب ایجاد دانش جدیدی در شبکه می‌شود.
قوانین فوق یک الگوریتم یادگیری را برای حل مسائل یادگیری ارائه می‌دهد. بوضوح می‌توان دریافت که تنها یک الگوریتم واحد برای طراحی شبکه‌های عصبی وجود ندارد. ما مجموعه‌ای از ابزارهای ارائه شده برای طیف وسیعی از الگوریتم‌های یادگیری در اختیار داریم که هرکدام از آنها مزایای خاص خودشان را دارا می‌باشند. تنها تفاوت الگوریتم‌های یادگیری، در روش فرمول‌بندی تنظیم وزن‌های سیناپسی یا وزن‌های سیناپسی و پارامترهای شبکه عصبی است.

2-4-5-1- شبکه ای با سه نرون
در ابتدا برای مطالعه‌ی ساختار‌ها و فرآیندهای یادگیری تطبیقی از شبکه‌های عصبی، یک نمونه با دو لایه فعال از شبکه‌عصبی با سه نرون مطابق شکل درنظر گرفته می‌شود. دو نرون 〖neur〗_2^1 و 〖neur〗_1^1 در لایه فعال اول یا لایه میانی و یک نرون 〖neur〗_1^2 در لایه فعال دوم قرار گرفته است. در نتیجه مطابق شکل 2-11 وزن‌های مربوط به نرون‌های فعال این دولایه فعال به صورت زیر می‌باشند:
وزنهای بین لایههای اول و ورودی:

{█(w_10^1,w_11^1,w_12^1,…,w_(1n_0)^1@w_20^1,w_21^1,w_22^1,…,w_(2n_0)^1 )┤
وزنهای بین لایههای فعال دوم و اول:

{w_10^2,w_11^2,w_12^2,…,w_(1n_1)^2 ┤}

شکل 2-11 : یک شبکه عصبی با سه نرون و دولایه فعال
بنابراین با توجه به شکل معادلات پیشروبین لایه های ورودی- خروجی مربوط به این دو لایه فعال به صورت زیر خواهند بود:

نرونهای لایه فعال اول:

〖neuron〗_1^1={█(〖net〗_1^1=∑_(i=0)^(n_0)▒〖w_1i^1∙x_i 〗@o_1^1=F(〖net〗_1^1 ) )┤

〖neuron〗_2^1={█(〖net〗_2^1=∑_(i=0)^(n_0)▒〖w_2i^1∙x_i 〗@o_2^1=F(〖net〗_2^1 ) )┤
نرونهای لایه فعال دوم:

〖neuron〗_1^2={█(〖net〗_1^2=∑_(i=0)^(n_1)▒〖w_1i^2∙o_i 〗@o_1^2=F(〖net〗_1^2 ) )┤
که در روابط اخیر x_0^0 و o_0^1 به ترتیب بایاس نرونهای لایه فعال اول و دوم میباشند. حال روابط فوق را به صورت برداری نمایش میدهیم.

2-4-5-2- یادگیری بر پایه پس انتشار خطا
فرآیند یادگیری برای یک شبکه عصبی ساده می‌تواند به فرم زیر ارائه گردد. با در دست داشتن پاسخ مطلوب d، یک فرمول تطبیق‌پذیر برای وزن‌های سیناپسی در شبکه بدست می‌آید به نحوی که خروجی شبکه بقدر کافی به d نزدیک شود و یا اینکه شبکه عصبی دانش لازم را از پاسخ مطلوب dکسب نماید. برای حل این مسئله می‌تواند راهکار پس انتشار مشتق شده از گرادیان نزولی که برپایه قانون زنجیری می‌باشد، مورد استفاده قرار گیرد. جزئیات این روند به این صورت است.مربع خطای لحظه‌ای بین پاسخ مطلوب d و خروجی شبکه در مرحله k را بعنوان تابع معیار عملگرد شبکه در نظر گرفته می شود:

〖E(k)=1/2 e〗^2 (k)=1/2 (d(k)-o^2 (k))^2=〖1/2 (d(k)-F(〖net〗_1^2 (k)))〗^2
که در رابطه فوق o^2 خروجی لایه فعال دوم می باشد.

2-4-5-3- یادگیری بر اساس قانون دلتا
قانون تطبیق وزن ها یا پارامترها در یک شبکه عصبی چند لایه ، در قالب قانون دلتـا نخستین بار بوسیله Rumelhart و McCelland در سال 1986 ارائه شد. این قانون یک فرآیند بهینه سازی را اجرا می‌کند بنحوی که هر خطای خروجی تعریف شده بعنوان خطای بین خروجی مطلوب d(k) و خروجی شبکه عصبی در آن کمینه شود. برای بسط ریاضی این مسئله، یک نمونه تابع خطا در قالب مجموع مربعات خطای خروجی برای شبکه به فرم زیر ارائه می‌گردد.

E=1/2 ∑_(j=1)^(n_2)▒[d_j (k)-o_j^2 (k)]^2 =1/2 ∑_(j=1)^(n_2)▒〖e_j^2 (k) 〗
که در آن خطای خروجی e_j خطای بین j- امین پاسخ مطلوب و j- امین خروجی شبکه می‌باشد. و n_2 تعداد نرون های لایه خروجی هستند.ضریب1/2 در معادله بالا برای سهولت محاسبه مشتق‌ها استفاده شده است. توجه کنید که مجموع مربعات خطای خروجی E تابعی از تمام وزن‌های سیناپسی و مقادیر آستانه مربوط به شبکه عصبی می‌باشد.

2-5- تحلیل تکنیکال
2-5-1- مقدمه:
تحلیل تکنیکی) یا تحلیل فنی (Technical Analysis) روشی برای پیش‌بینی قیمت‌ها در بازار از طریق مطالعه وضعیت گذشته بازار است. در این تحلیل از طریق بررسی تغییرات و نوسان‌های قیمت‌ها و حجم معاملات و عرضه و تقاضا می‌توان وضعیت قیمت‌ها در آینده را پیش‌بینی کرد. این روش تحلیل در بازار ارزهای خارجی، بازارهای بورس اوراق بهادار و بازار طلا و دیگر فلزات

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