مقاله – شبکه هاي عصبي ترکيب شده با الگوريتم رقابت استعماری برای طبقه بندی دیتاهای بازار بورس

http://www.icasite.info/icasite/post_i/neuron_icasite.info.png

“الگوریتم رقابت استعماری الگوریتم جدیدی در حوزه بهینه سازی هوشمند است که توجه محقین بسیاری را به خود جلب کرده است. این الگوریتم با مدلسازی ریاضی فرایند اجتماعی سیاسی استعمار، از آن در جهت ارائه یک الگوریتم قوی و کارا در حوزه بهینه سازی استفاده می کند. دراین نوشتار این الگوریتم بهینه سازی برای یادگیری یک شبکه عصبی استفاده شده است. شبکه عصبی مورد استفاده در حل مسئله طبقه بندی دیتاهای بازار بورس” … اینها بخشهایی از چکیده مقاله نوشته شده در مورد استفاده از الگوریتم رقابت استعماری در ترکیب با شبکه عصبی برای دسته بندی دیتاهای بازار بورس می باشد. اگر علاقه مند، به مطالعه کامل این مقاله هستید، با ما در ادامه مطلب که باز نشری از نسخه کامل این مقاله است، همراه باشید. نسخه پی دی اف مقاله نیز در انتهای پست قابل دانلود است.

چکيده
الگوریتم رقابت استعماری الگوریتم جدیدی در حوزه بهینه سازی هوشمند است که توجه محقین بسیاری را به خود جلب کرده است. این الگوریتم با مدلسازی ریاضی فرایند اجتماعی سیاسی استعمار، از آن در جهت ارائه یک الگوریتم قوی و کارا در حوزه بهینه سازی استفاده می کند. دراین نوشتار این الگوریتم بهینه سازی برای یادگیری یک شبکه عصبی استفاده شده است. شبکه عصبی مورد استفاده در حل مسئله طبقه بندی دیتاهای بازار بورس به کار رفته است. نتایج اعمال الگوریتم رقابت استعماری به مسئله یادکگیری یک شبکه عصبی طبقه بندی کننده و مقایسه آن با الگوریتم ژنتیک حاکي از موفقيت بالاي روش مطرح شده مي باشد.
كلمات كليدي: طبقه بندی، بازار بورس، الگوریتم رقابت استعماری، شبکه های عصبی مصنوعی، الگوریتم های ژنتیک 1-    مقدمه
الگوریتم رقابت استعماری  (ICA) در سال 2007 با هدف بهینه سازی و با رویکرد نوین مدلسازی فرآیند های سیاسی اجتماعی ابداع گردیده است. از مدت رمان کوتاه پس از ارائه، از این الگوریتم در حل مسائل بسیاری در حوزه بهینه سازی استفاده شده است. در اين نوشتار از این الگوریتم برای یادگیری شبکه های عصبی استفاده می کنیم. مسئله ای که می خواهیم با استفاده از شبکه عصبی حل کنیم نیز، طبقه بندی دیتا های بازار بورس است. در ادامه ساختار مسئله طبقه بندی با تبیین اصطلاحات به کار رفته در آن مورد بررسی قرار می گیرد.
1-1-    ساختار دیتاهای طبقه بندی
با توجه به توسعه صنعت در ايران، شرکت ها و کارخانجات صنعتي در راستاي تثبيت اقتصاد توليدي خود و با بهره گيري از مشارکت عمومي اقدام به فروش سهام شرکت مورد نظر کرده تا بدین طريق سرمايه هاي سرگردان را به عرصه توليد نزديک نمايند و با اين ساز و کار باعث پيشبرد پايه هاي تکنولوژي و توليد گردند.
بازار بورس اخيراً داده هاي ويژگي سهام را در سايت هاي رسمي خود ارائه مي دهد که هر سهم در هر روز کاري داراري ويژگي هاي زير مي باشد.
  • حجم سهم
  • ارزش سهم
  • تعداد سهام‌داران سهم
  • بيشترين قيمت سهم
  • کمترين قيمت سهم
  • ميانگين قيمت سهم
  • قيمت ابتداي سهم
  • آخرين قيمت سهم
  • تغيير قيمت سهم
  • بهترين قيمت خريد
  • بهترين قيمت فروش
  • تعداد خريداران سهم
در اين راستا با توجه به آيتمهاي ذکر شده (12 ويژگي) که بطور روزانه و online ارائه مي شود، شاخصي به نام درجه بندي کلاس توسط فعالان بازار بدست مي آيد. هدف از اين کلاس بندي این است که بدانیم سهم مورد نظر براي خريد در آينده چه وضعيتي را دارا مي باشد.
ديتاهاي مورد استفاده در این پژوهش، 416 جفت از ويژگي‌ها و کلاس ها مي باشند و جدول زیر را داريم:
  • تعداد ويژگي ها    12
  • تعداد کلاس ها    5
  • تعداد داده هاي آموزش    312
  • تعداد داده هاي تست    104
1-2-    ارزیابی موفقیت طبقه بندی
در این نوشتار طراحی یک طبقه بندی کننده برای دیتاهای بازار بورس است. براي ارزیابی موفقیت طبقه بندی، معمولاً ماتريسي مربعي به سايز تعداد کلاس ها را تشکيل مي دهيم که آرايه ijام آن نشان مي دهد که چه تعداد از ديتاهاي کلاس iام در کلاس jام قرار مي گيرند. این ماتریس را ماتریس کانفیوژن  می نامند. بهترين حالت زماني اتفاق مي افتد که اين ماتريس يک ماتريس قطري باشد. زيرا نشان مي دهد که هيچ ديتايي از کلاس iام در کلاس jام قرار نگرفته است و همه ديتاهاي کلاس iام درکلاس  مربوط به خودشان يعني کلاس iام قرار گرفته ايند. هرچه اين ماتريس قطري باشد، نشان از کارايي بيشتر ابزار طبقه بندي دارد. در مسئله مورد بررسی در این نوشتار، 5 کلاس داريم و بنابراین اين ماتريس 5*5 خواهد بود.
در نهايت کارايي يک شبکه را با عددي موسوم به نرخ طبقه بندي صحيح  نيز نمايش مي دهيم. اين عدد برابر نسبت تعداد کل طبقه بندي هاي صحيح به تعداد کل طبقه بندي ها است. يعني خواهيم داشت.
CCR = sum(diag(AM))/sum(sum(AM)) * 100
در این نوشتار، ابتدا در بخش 2 مقاله، مروري کوتاه بر الگوریتم ژنتیک خواهیم داشت. سپس در بخش 3، الگوريتم رقابت استعماری مورد استفاده براي يادگيري شبکه مورد بررسي قرار مي‌گيرد. در ادامه کار و در بخش 4، شبکه عصبی مورد استفاده را می بینیم. در بخش 5 نتایج شبیه سازی مورد بررسی قرار می گیرند. و در نهایت در بخش 6 نتيجه‌گيري کار و راهکار‌هاي پيش رو براي تحقيقات آينده مورد بررسي قرار مي‌گيرند.
 2-    الگوریتمهای ژنتیک
الگوريتم ژنتيک، الگوريتمي براي بهينه‌سازي و جستجو است که بر اساس اصول علم ژنتيک و انتخاب طبيعي پايه‌ريزي شده است. در الگوريتم ژنتيک گروهي از اشخاص به وجود مي‌آيند و در شرايطي رشد و نمو مي‌کنند که هدف کلي آن بيشينه کردن شايستگي کل جمعيت يا کمينه کردن يک هزينه‌ي مرتبط با جمعيت است.
هر جواب ممکن و منحصر به فرد مسئله را در الگوريتم ژنتيک، يک کروموزوم  مي ناميم. در يادگيري شبکه عصبي مورد استفاده در اين نوشتار براي تعيين توابع رتبه‌بندي‌، هر کروموزوم مجموعه‌اي از وزنهاي لايه‌هاي شبکه عصبي به همراه باياس‌ها مي باشد. اصطلاحا هر مجموعه از کروموزوم‌هاي موجود را جمعيت  مي‌نامند. مراحل الگوريتم ژنتيک چندين بار تکرار مي‌شوند. هر تکرار از الگوريتم ژنتيک را، اصطلاحا يک نسل  مي‌گويند. در هر نسل، قبل از هر کاري، کروموزوم‌هاي موجود در جمعيت، توسط الگوريتم ژنتيک ارزيابي مي‌شوند و بر حسب شايستگي‌شان ‌ مرتب مي‌شوند.
از بين شايسته‌ترين‌هاي کل جمعيت، تعدادي از کروموزوم‌ها براي توليد کروموزوم‌هاي جديدتر انتخاب مي‌شوند. به اين ترتيب کروموزوم‌هاي فرزندان  به وجود مي‌آيند. در طبيعت، وقتي عمل توليد مثل انجام مي‌گيرد، برخي اوقات در رونويسي رشته‌هاي ژني خطا رخ مي‌دهد. اين پديده به صورت جهش ژني در طبيعت شناخته مي‌شود که باعث مي‌شود فرزندان با والدين خود متفاوت باشند و داراي صفتي باشند که از هيچ يک از والدين‌شان به ارث نبرده‌اند. در الگوريتم ژنتيک نيز، به صورت تصادفي بيت‌هايي از چند کروموزوم کاملا تغيير داده مي‌شوند. به اين ترتيب که ارزش بيت‌هاي منتخب، از صفر به يک و از يک به صفر (در الگوريتم ژنتيک باينري ) تغيير داده مي‌شود. به اين ترتيب، الگوريتم ژنتيک با احتمالي، برخي از نقاط متفاوت و احتمالا غير قابل دسترس از فضاي جستجو را نيز ارزيابي مي‌کند. همه‌ي کروموزوم‌هاي اصلي و فرزندان در کنار هم ارزيابي و دوباره مرتب مي‌شوند. سپس تعداد معيني از آن‌ها انتخاب مي‌شوند و به عنوان نسل بعدي، مراحل مختلف الگوريتم بر روي آن‌ها تکرار مي‌شوند.
اين روند تا جايي ادامه مي‌يابد که شرايط معيني براي خاتمه الگوريتم، برآورده شوند
همان طور که بیان شد، مجموعه‌اي از عمليات بر روي کروموزوم‌ها انجام مي‌گيرد تا مجموعه‌ي بهتري حاصل شود. اين عمليات توسط عملگرها انجام مي‌گيرند. عملگرهاي الگوريتم ژنتيک عبارتند از:
  • عملگر انتخاب: اين عملگر، کروموزوم‌هايي از جمعيت را براي توليد مثل انتخاب مي‌کند. هر چه کروموزوم شايسته‌تر باشد، احتمال انتخاب آن از طرف عملگر انتخاب بيشتر خواهد بود. براي داشتن احتمال انتخاب متناظر با شايستگي، پس از تعيين احتمال انتخاب شدن هر يک از اعضاي جمعيت، معمولاً از فرايندي تحت عنوان چرخه رولت   استفاده مي‌شود.
  • عملگر تقاطع: اين عملگر، دو کروموزوم انتخاب شده را از محلي معين قطع مي‌کند و بخش قبل يا بعد از محل تقاطع را با هم عوض مي‌کند.
  • عملگر جهش: اين عملگر از بين کروموزوم‌هاي جمعيت، چند مورد را انتخاب و ارقامي از آن‌ها را به صورت تصادفي تغيير مي‌دهد.
 3-    الگوريتم‌ رقابت استعماری
این الگوریتم در سال 2007 با هدف بهینه سازی و با رویکرد نوین مدلسازی فرآیند های سیاسی اجتماعی ابداع گردیده است. شمای کلی الگوریتم در شکل شماره … به تصویر کشیده شده است. همانند دیگر الگوریتم‌های تکاملی، این الگوریتم، نیز با تعدادی جمعیت اولیه تصادفی که هر کدام از آنها یک “کشور” نامیده می‌شوند؛ شروع می‌شود.
استعمارگران بسته به قدرتشان، این مستعمرات را با یک روندی به نام سیاست جذب ؛ به سمت خود می‌کشند. قدرت کل هر امپراطوری، به هر دو بخش تشکیل دهنده آن یعنی کشور امپریالیست و مستعمرات آن، بستگی دارد. در حالت ریاضی، این وابستگی با تعریف قدرت امپراطوری به صورت مجوع قدرت کشور امپریالیست، به اضافه در صدی از میانگین قدرت مستعمرات آن، مدل شده است.
با شکل‌گیری امپراطوری‌های اولیه، رقابت امپریالیستی میان آن‌ها شروع می‌شود. هر امپراطوری‌ای که نتواند در رقابت استعماری، موفق عمل کرده و بر قدرت خود بیفزاید (و یا حداقل از کاهش نفوذش جلوگیری کند)، از صحنه رقابت استعماری، حذف خواهد شد. بنابراین بقای یک امپراطوری، وابسته به قدرت آن در جذب مستعمرات امپراطوری‌های رقیب، و به سیطره در آوردن آنها خواهد بود. در نتیجه، در جریان رقابت‌های امپریالیستی، به تدریج بر قدرت امپراطوری‌های بزرگتر افزوده شده و امپراطوری‌های ضعیف‌تر، حذف خواهند شد. امپراطوری‌ها برای افزایش قدرت خود، مجبور خواهند شد تا مستعمرات خود را نیز پیشرفت دهند.بدین ترتیب، با گذشت زمان، مستعمرات، از لحاظ قدرت به امپراطوری‌ها نزدیک‌تر خواهند شد و شاهد یک نوع همگرایی خواهیم بود. حد نهایی (زمان توقف الگوریتم)، زمانی است که یک امپراطوری واحد در دنیا داشته باشیم، با مستمراتی که از لحاظ موقعیت، به خود کشور امپریالیست، خیلی نزدیک هستند. در ادامه مباحث این فصل، سیاست جذب معرفی می‏گردد.
ج) سیاست جذب : به منظور پیاده سازی جذب همانگونه که قبلاً نیز بیان شد، کشورهای استعمارگر، برای افزایش نفوذ خود، شروع به ایجاد عمران (ایجاد زیرساخت‌های حمل و نقل، تاسیس دانشگاه و …) کردند. این بخش از فرایند استعمار در الگوریتم بهینه‌سازی، به صورت حرکت مستعمرات به سمت کشور امپریالیست، مدل شده است. شکل زیر شمای کلی این حرکت را نشان می‌دهد.
http://www.icasite.info/icasite/post_i/image465-la.jpg

شکل: حرکت مستعمرات به سمت امپریالیست 

 

مطابق شکل فوق کشور مستعمره (Colony)، به اندازه   واحد در جهت خط واصل مستعمره به استعمارگر (Imperialist)، حرکت کرده و به موقعیت جدید (New Position of Colony)، رفته است. در این شکل، فاصله میان استعمارگر و مستعمره با   نشان داده شده است.   نیز عددی تصادفی با توزیع یکنواخت (و یا هر توزیع مناسب دیگر) می‌باشد. یعنی برای   داریم.
X~U(0,β ×d)
 
شکل شمای کلی الگوریتم رقابت امپریالست
که در آن   عددی بزرگتر از یک و نزدیک به 2می‌باشد. یک انتخاب مناسب می‌تواند   باشد. وجود ضریب   باعث می‌شود تا کشور مستعمره در حین حرکت به سمت کشور استعمارگر، از جهت‌های مختلف به آن نزدیک شود.برای اینکه حرکت مستعمره به سمت استعمارگر، در جهات مختلفی صورت پذیرد، در حرکت به سمت استعمارگر، کمی زاویه تصادفی نیز به جهت حرکت مستعمره، اضافه می‌کنیم. شکل شماره  زیر این حالت را نشان می‌دهد. بدین منظور این‌بار به جای حرکت به اندازه  ، به سمت کشور استعمارگر و در جهت بردار واصل مستعمره به استعمارگر، به همان میزان، ولی با انحراف   در مسیر، به حرکت خود ادامه می‌دهیم. را به صورت تصادفی و با توزیع یکنواخت درنظر می‌گیریم (اما هر توزیع دلخواه و مناسب دیگر نیز می‌تواند استفاده شود).
θ~U(-γ,γ)
پس پارامتری دلخواه می‌باشد که افزایش آن باعث افزایش جستجوی اطراف امپریالیست شده و کاهش آن نیز باعث می‌شود تا مستعمرات تا حد ممکن، به بردار واصل مستعمره به استعمارگر، نزدیک حرکت کنند. با در نظر گرفتن واحد رادیان برای  ، عددی نزدیک به 4/π، می‌تواند انتخاب مناسبی برای آن باشد .
 http://www.icasite.info/icasite/post_i/image478-la.jpg
شکل: حرکت مستعمرات به سمت امپریالیست در مسیر منحرف شده
ج) جابجایی موقعیت مستعمره و امپریالیست ‏ممکن است در حین حرکت مستعمرات به سمت کشور استعمارگر، بعضی از این مستعمرات به موقعیتی بهتر از امپریالیست برسند. در این حالت، کشور استعمارگر و کشور مستعمره، جای خود را با همدیگر عوض کرده و الگوریتم با کشور استعمارگر در موقعیت جدید ادامه یافته و کشورهای مستعمره به سمت موقعیت جدید، به حرکت درمی‌آیند. تغییر جای استعمارگر و مستعمره، در تصویر زیر بخش لف نشان داده شده است. در این تصویر، بهترین مستعمره‌ی امپراطوری، که هزینه‌ای کمتر از خود امپریالیست دارد، به رنگ تیره‌تر، نشان داده شده است. بخش ب، کل امپراطوری را پس از تغییر موقعیت‌ها، نشان می‌دهد.http://www.icasite.info/icasite/post_i/image490-la.jpghttp://www.icasite.info/icasite/post_i/image488-la.jpg
             ب                                                   الف
شکل جابجایی مستعمره و امپراطور
4-    شبکه‌هاي عصبي
شبکه عصبي پرسپترون چند لايه، که ابزار مورد استفاده در اين تحقيق براي پياده‌سازي طبقه بندی کننده است، از شبکه‌هاي عصبي رايج در کاربردهايي نظير طبقه‌بندي الگو ها ، پيش‌بيني سري‌هاي زماني  و تقريب تابعي  است. کارايي اين ساختار شبکه عصبي براي کاربردهاي مختلف به خوبي نشان داده شده است. شکل‌های زیر شمای کلی این شبکه را به همراه ساختار یک نورون از آن نشان می‌دهند.
http://www.icasite.info/icasite/post_i/ann_structure_icasite.info.png
شکل: شمای کلی شبکه عصبی پرسپترون چند لایه
 

http://www.icasite.info/icasite/post_i/neuron_icasite.info.png

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

4-1-    يادگيري شبکه عصبي
در يک شبکه عصبي منظور از يادگيري، تعيين مقادير بهينه وزن‌ها و ساير پارامتها همچون باياس و شيب تابع تحريک براي داشتن بيشترين کارايي است. در اهداف تقريب تابعي که در آنها شبکه عصبي وظيفه برقراري ارتباط ميان دسته ديتاي ورودي و خروجي را دارد، کارايي شکبه با تعريف خطاي ميان خروجي واقعي و خروجي شبکه براي مجموعه ديتاي آموزش  و تست  صورت مي‌پذيرد. در يادگيري شبکه هدف کم کردن اين خطا با تغيير مناسب وزنها و ساير پارامترهاي شبکه است. متد رايج در اين شيوه نيز به روش پس انتشار خطا  موسوم است. در اين روش که بر مبناي روش‌هاي مبتني بر گراديان بهينه‌سازي مي‌باشد، وزنهاي هر مرحله از يادگيري از روي وزن‌هاي مرحله قبل و با يک گام حرکت در راستاي عکس گراديان تابع خطا صورت مي‌پذيرد.
از آنجا که هر نوع يادگيري يک شبکه عصبي به يک مسئله بهينه‌سازي منجر مي‌شود، بنابراين يک راهکار پيش رو استفاده از روشهاي بهينه سازي تکاملي همچون الگوريتم‌هاي ژنتيک، بهينه‌سازي گروه ذرات و الگریتم رقابت استعماری است. در اين نوشتار از الگوريتم رقابت استعماری برای تعيين وزنهاي شبکه عصبي (یادگیری شبکه عصبی) استفاده خواهد شد. همچنین نتایج حاصل با الگوریتم ژنتیک مقایسه خواهند شد.
 5-    نتايج شبيه‌سازي
در اين بخش نتايج حاصل از اعمال الگوریتم بهینه‌سازی رقابت استعماری براي يادگيري شبکه عصبی مورد بررسي قرار مي‌گيرد. شبکه عصبی مورد یک شبکه عصبی 2 لایه با 10 نورون در لایه اول و 5 نورون (برای 5 کلاس موجود) در لایه دوم است. تابع تحریک لایه اول، تابع سیگموئید و برای لایه دوم تابع خطی انتخاب شده است.
5-1-    استفاده از الگوريتم بهينه‌سازي رقابت استعماری براي يادگيري شبکه‌هاي عصبي
در حل يک مسئله توسط روش ICA، ابتدا بايد تعريف کاملي از کشور  به وجود آمده و سپس تابع برازش مسئله به صورت رياضي تعريف شود. در یادگیری شبکه عصبی، اين دو پارامتر به صورت زير تعريف مي‌شوند.
  • کشور: دسته پارامترهاي مجهول شبکه عصبي همانند وزنهاي لايه‌ها و مقادير باياس مي‌باشد. هر کشور در حقيقت نقش يک شبکه عصبي و يا به عبارت ديگر نقش يک طبقه بندی کننده را بازي مي‌کند.
  • تابع هزینه: میزان میانگین مربعات خطای دیتاهای آموزشی می باشد.
پارامترهاي الگوریتم ICA مورد استفاده در جدول زیر نشان داده شده‌اند.
جدول: پارامتهاي مورد استفاده در الگوريتم ICA
نام پارامتر
مقدار پارامتر
تعداد کشورها
500
تعداد امپراطوری اولیه
30
تعداد دهه ها (تکرارهای الگوریتم)
100
با تعريف تابع هزينه و کشور و پس از اعمال الگوريتم ICA، این الگوریتم به ميزان هزينه 0.0797 رسيده است.
5-2-    اعمال الگوریتم ژنتیک
پارامترهاي الگوریتم ژنتیک مورد استفاده نيز در جدول زیر نشان داده شده‌اند.
جدول: پارامتهاي مورد استفاده در الگوريتم ژنتیک
نام پارامتر
مقدار پارامتر
تعداد جمعیت
500
درصد جهش
10
درصد بازترکیب
60
تعداد نسل ها
100
با تعريف تابع هزينه و کشور و پس از اعمال الگوريتم ژنتیک، این الگوريتم به ميزان هزينه 0.0896 می رسد.
5-3-    بررسي کارايي شبکه مورد  استفاده در عمل طبقه بندی – الگوریتم رقابت استعماری
5-3-1-    میانگین مربعات خطا
با استفاده از الگوریتم رقابت استعماری، میانگین مربعات خطا برای دیتاهای آموزش به صورت زیر می باشد.
MSE Train = 0.0797
این خطا برای دیتاهای تست نیز به صورت زیر می باشد.
MSE Test = 0.1187
5-3-2-    ماتریس کانفیوژن
ماتریس کانفیوژن برای دیتای آموزش برای شبکه عصبی آموزش دیده با الگوریتم رقابت استعماری به صورت زیر به دست می آید.
101    0    0    0    0
7    14    0    0    0
2    0    36    1    0
0    0    0    31    5
0    0    1    1    92
ماتریس کانفیوژن برای دیتای تست برای شبکه عصبی آموزش دیده با الگوریتم رقابت استعماری نیز به صورت زیر به دست می آید.
49    0    1    0    0
2    1    0    0    0
1    1    7    0    0
0    0    0    13    3
0    0    0    0    47
5-3-3-    نرخ طبقه بندی صحیح
همانگونه که قبلاً نیز بیان شد، از روی ماتریس کانفیوژن به راحتی می توان نرخ طبقه بندی صحیح دیتا را تعیین کرد. نرخ طبقه بندی صحیح دیتای آموزش برای شبکه عصبی آموزش دیده با الگوریتم رقابت استعماری به صورت زیر به دست می آید، برابر است با:
CCR Train Data = 94.1581
برای دیتای تست نیز این مقدار برابر است با
CCR Test Data = 93.6000
5-4-    بررسي کارايي شبکه مورد  استفاده در عمل طبقه بندی = الگوریتم ژنتیک
5-4-1-    میانگین مربعات خطا
برای شبکه عصبی آموزش دیده با الگوریتم ژنتیک، میانگین مربعات خطا برای دیتاهای آموزش به صورت زیر به دست می آید.
MSE Train = 0.0896
این خطا برای دیتاهای تست نیز به صورت زیر می باشد.
MSE Test = 0.1551
5-4-2-    ماتریس کانفیوژن
ماتریس کانفیوژن برای دیتای آموزش برای شبکه عصبی آموزش دیده با الگوریتم ژنتیک به صورت زیر به دست می آید.
101     0     0     0     0
5     8     4     0     0
0     2    33     0     0
0     1     0    31     8
0     0     0     3    95
 ماتریس کانفیوژن برای دیتای تست برای شبکه عصبی آموزش دیده با الگوریتم ژنتیک به صورت زیر به دست می آید.
50     0     0     0     0
3     0     4     0     0
0     0    13     0     0
0     1     2     7     2
0     0     0     9    34
5-4-3-    نرخ طبقه بندی صحیح
نرخ طبقه بندی صحیح دیتای آموزش برای شبکه عصبی آموزش دیده با الگوریتم ژنتیک نیز به صورت زیر به دست می آید، برابر است با:
CCR Train Data = 92.0962
برای دیتای تست نیز این مقدار برابر است با:
CCR Test Data = 83.20
نتایج حاکی از موفقیت نسبی الگوریتم رقابت استعماری بر الگوریتم ژنتیک، در تعیین وزنهای شبکه عصبی دارد. البته این موفقیت به سادگی قابل تعمیم به مسائل دیگر و حتی مسائل مشابه شبکه عصبی با ساختار های دیگر نیست و آزمایشهای بیشتری باید انجام گردد.
 6-    نتيجه‌گيري و پيشنهادات
در اين مقاله از ساختار شبکه عصبي براي طبقه بندي دیتاهای بازار بورس استفاده گرديد. ابزار مورد استفاده براي يادگيري شبکه عصبي، الگوريتم رقابت استعماری بود. نتايج مقايسه الگوریتم رقابت استعماری با الگوریتم زنتیک در یادگیری شبکه عصبی، حاکی از موفقیت نسبی آن در انجام طبقه بندی بود. این نوشتار در کنار ارائه یک متد یادگیری شبکه عصبی، یکی از استفاده های الگوریتم رقابت استعماری را نیز نشان داد. آنچه به عنوان ادامه کار مي تواند مد نظر باشد، استفاده از ساختارهاي ديگر شبکه عصبي، همچون شبکه هاي عصبي آربي‌اف  در مرحله طبقه بندی است. همچنین در کنار یادگیری وزنهای شبکه عصبی می توان از الگوریتم‌های تکاملی برای تعیین ساختار بهینه شبکه نیز استفاده نمود. يک گام ديگر پيش روي کار نیز استفاده از ابزار هاي دیگر بهينه‌سازي براي تعيين وزنهاي شبکه است.
 7-    مراجع
[1]    Atashpaz-Gargari, E., Hashemzadeh, F., Rajabioun, R. and Lucas, C. (2008). Colonial Competitive Algorithm, a novel approach for PID controller design in MIMO distillation column process, International Journal of Intelligent Computing and Cybernetics, 1 (3), 337–355.
[2]    Atashpaz-Gargari, E., Lucas, C. (2007). Imperialist Competitive Algorithm: An algorithm for optimization inspired by imperialistic competition, IEEE Congress on Evolutionary Computation, 4661–4667.
[3]    Biabangard-Oskouyi, A., Atashpaz-Gargari, E., Soltani, N., Lucas, C. (2008). Application of Imperialist Competitive Algorithm for materials property characterization from sharp indentation test. To be appeared in the International Journal of Engineering Simulation.
[4]    Rajabioun, R., Hashemzadeh, F., Atashpaz-Gargari, E., Mesgari, B., Rajaei Salmasi, F. (2008). Identification of a MIMO evaporator and its decentralized PID controller tuning using Colonial Competitive Algorithm. Accepted to be presented in IFAC World Congress.
[5]    Rajabioun, R., Atashpaz-Gargari, E., and Lucas, C. (2008). Colonial Competitive Algorithm as a Tool for Nash Equilibrium Point Achievement. Lecture notes in computer science, 5073, 680-695.
[6]    Sepehri Rad, H., Lucas, C. (2008). Application of Imperialistic Competition Algorithm in Recommender Systems. In: 13th Int’l CSI Computer Conference (CSICC’08), Kish Island, Iran.
اطلاعات علمی مقاله

مقاله – شبکه هاي عصبي ترکيب شده با الگوريتم رقابت استعماری برای طبقه بندی دیتاهای بازار بورس
نویسندگان: حميد لطيفي، مجيد لطيفي

دانلود نسخه کامل در قالب فایل پی دی اف
نسخه کامل این مقاله را به صورت فایل پی دی اف، در بخش مقالات فارسی الگوریتم رقابت استعماری در این لینک (“مقالات فارسی” الگوریتم رقابت استعماری (کلیک کنید)) دانلود کرده و مطالعه نمایید.
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *