بدیهی است که L=0 لایه ورودی را نمایش می دهد . اگر لایه L ام دارای N تا گره باشد ، آنگاه آن را به صورت (L ) N نمایش می دهیم. حال خروجی I امین گره لایه ام را به صورت نمایش داده که (L ) Nو….و۲و۱=I می باشد . این خروجی با عبور از تابع f که به صورت می باشد. حاصل شده است . به این نحوه نمایش در شکل ( الف -۹) دقت کنید . فرض براین است که اتصالات گرها به طور متوالی بوده واز لایه ای به لایه های بعدی پرشی وجود ندارد .
می دانیم که خروجی یک گره به سیگنالهای وارده شده به آن گره ومجموعه پارامترهایش وتابع فعالیت آن بستگی دارد . لذا :
( الف ـ ۱۴)
در این فرمولα وβ وγ و…به صورت پارامترهای وابسته به این گره هستند. حال فرض می کنیم که مجموعه داده های تنظیمی دارای P تا ورودی است . هدف این الگوریتم به حداقل رساندن مقدار خطا (یعنی جمع مربع خطاها) می باشد . این خطا با مقایسه خروجی مدل با خروجی واقعی محاسبه می شود . یعنی
( الف ـ ۱۵)
( =
در فرمول ( الف- ۱۵) بردار خروجی مورد انتظار به k امین قطعه از p امین بردار ورودی است . (البته P ≤ (۱≤ P بدیهی است وقتی که E برابر صفر باشد ، شبکه توانسته است خروجی خود را دقیقاً برابر با خروجی مورد انتظار تولید نماید. ضمناً هدف اصلی کاستن از میزان خطای کلی E می باشد که به صورت زیر تعریف میشود .
( الف ـ ۱۶)
= E
یادآور می شود که نحوه محاسبه E منحصر بفرد نبوده وصرفاً به عنوان یک نمونه در اینجا بیان شده است ، واستفاده از روش های دیگر براساس نوع کاربرد شبکه مشخص می شود . اما آنچه مسلم است. این است E که به خروجی گرهها بستگی دارد . حال برای بهینه کردن عملکرد شبکه، یعنی مینیمم کردن مقدار خطا ، می بایستی بردار مشتق خطا را محاسبه کنیم قبلاً متذکر می شویم که :
علامت⇨ برای نشان رابطه علل استفاده شده است همانگونه که مشاهده می شود یک تغییر جزیی در پارامتر α سبب تغییر در گره ای که شامل پارامترα هست ، گردیده ، و این باعث تاثیر در خروجی لایه نهایی ومقدار خطای کلی می شود .بنابراین مفهوم اساسی در محاسبه مشتق پارامترها درقالب مشتق اطلاعات، از لایه آخر شوع شده و به صورت معکوس (back ward) تا لایه ورودی ادامه می یابد. برای ساده شدن بحث، سیگنال خطا را به صورت در نظر می گیریم، که به عنوان مشتق مقدارخطای E نسبت به خروجی گره ام در لایه I ام هست که هر دو مفهوم جهت وخلاف جهت را در خودش مستتر دارد به زبان ریاضی:
( الف ـ ۱۷)
اینگونه تعریف ، بنام مشتق جهت دار (ordered derivative) بوسیله Werbos بیان شد . به واقع تفاوت بین مشتق جهت دار ومشتق جزیی معمولی در این است که برای گره داخلی ، خروجی که (L=L است ) مشتق جزیی (یعنی ) برابر صفر است . زیرا E مستقیماً به بستگی ندارد. لیکن به طور غیر مستقیم یک تغییر در مستقیماً در مسیر به طرف خروجی منتشر شده و بنابراین در مقدار E تغییر ایجاد می کند. البیته سیگنال خطای می تواند به عنوان نسبت این دو تغییر در نظر گرفته ، چون که مقدار آنها خیلی کوچک می شود .
این پروسه یادگیری بنام قانون یادگیری پس از انتشار خطا (Back Propagationm) موسوم بوده که بوسیله Rumelhart و HintonوWilliams ارائه شد. در اینجا بردار gradient به عنوان مشتق اندازه خطا نسبت به هر پارامتر تعریف می شود. بنابراین ما از قانون مشتق زنجیره ای برای یافتن بردار gradient استفاده می کنیم . حال اگر پارامتر مربوط به I امین لایه باشد، آنگاه :
(الف-۱۸)
باید توجه داشت که اگر پارامتر در بین چندین گره مختلف وجود داشته باشد ، آنگاه فرمول کلی می شود :
(الف-۱۹)
که S مجموعه همه گرههایی است که پارامتر در آنها موجود می باشد هم تابع گره برای محاسبه است . در اینجا مشتق کلی مقادیر خطا نسبت به پارامترα از جـــمع مـقادیر خـطاها بدست می آید یعنی:
( الف ـ ۲۰)
بنابراین فرمول کلی بهنگام شدن پارامتر αعبارتست از :
( الف ـ ۲۱)
که h نرخ یادگیری است ومی توان آن را از فرمول زیر محاسبه کرد:
در این فرمول K ، بنام Step Size موسوم هست که طول هر انتقال ، در امتداد مسیر Gradient در فضای پارامتری را مشخص می کند . معمولاً با تغییرمقدارk می توان سرعت همگرایی را تنظیم کرد . در این، دو روش یادگیری برای شبکه های تطبیقی وجود دارد :
Off – Line یاBatch Learning
On – Line Learning
در روش اول فرمول بهنگام شدن پارامترα مبتنی بر معاداله ( الف -۲۰) می باشد . عمل بهنگام شدن فقط بعد از ورود همه مجموعه داده های تنظیمی آماده شده ، صورت می گیرید، یعنی بعد از Epoch یا sweep، از طرف دیگر یادگیری on-line یا یادگیری الگویی (pattern Learning) پارامترها فوراً پس از وارد شدن زوج داده تنظیمی ( ورودی ـ خروجی ) بهنگام می شوند. در این حالت از فرمول ( الف ـ ۱۸) استفاده می شود. در عمل ممکن است که هر دو روش یادگیری را با هم ترکیب نموده و پارامترها را پس از k تا داده ورودی بهنگام کرد . در این حالت P ≤ ۱≤ P هست و بعضی وقتها به آن اندازه Epoch نیز گویند.
Forecasting Indices of the Top Fifty Companies at Tehran Stock Exchange Using a Neural Network Method
Abstract
This research project was carried out with the aim of forecasting the indices of fifty top companies in Tehran Stock Exchange through using neural networks model. For the purpose of this research project, the results obtained from the desired neural network were compared against those obtained through statistical methods of ARIMA and regression in order to establish weather neural networks or other statistical methods are better means of prediction. In the end, the neural network method turned out to be meaningfully outperforming the statistical methods in question in forecasting the index intended for the purpose of the present research.
The method adopted for this research was a correlation-based comparatively quantitative one. As for the required data, they were collected through a library-based method; that is, through referring to books, articles, sources available at the library of Tehran Stock Exchange Organization, the Internet as well as the information gathered through surveying PhD and MA theses and other relevant sources.
The scope of this research in terms of place is limited to Tehran Stock Exchange Organization; and in terms of time, it covers the time span from 29 June 1991 through 30 May 2007. Topically speaking, the research is deemed to have dealt with informational efficiency of the Iranian capital market at a weak/low level.
By: Roozbeh Kasra
Islamic Azad University
Sciences & Research Campus
Forecasting Indices of the Top Fifty Companies at Tehran Stock Exchange Using a Neural Network Method
A Thesis Submitted in
Partial Fulfillment of the
Requirements for the Degree of
Master of Arts
in Accounting
at
Science & Research Campus of
Islamic Azad University-Tehran, I.R. Iran