که در آن مقدارگشتاور α بصورت ۰ <= α <= 1 میباشد.
افزودن گشتاور باعث می شود تا با حرکت در مسیر قبلی در سطح خطا:
-
- از گیر افتادن در حداقل محلی پرهیز شود
-
- از قرارگرفتن در سطوح صاف پرهیز شود
-
- با افزایش تدریجی مقدار پلهی تغییرات، سرعت جستجو افزایش یابد.
۳-۱-۴) روند شبیه سازی مسائل
به منظور شبیهسازی یک طبقه بندی مسأله با بهره گرفتن از شبکه های عصبی به روش با سرپرست و با فرض در اختیار داشتن داده های برچسبدار، اولین کار انتخاب ابعاد شبکه است. با توجه به بحث پیشین، انتخاب تعداد لایه ها محدود به سه لایه می شود. در لایهی ورودی باید به تعداد ابعاد هر الگوی ورودی، سلول عصبی قرار دهیم. بنابراین اندازه لایهی ورودی را بعد داده های ورودی تعیین می کند. در لایهی خروجی نیز به وضوح باید به تعداد کلا سها،سلول عصبی داشته باشیم[۳۰].
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
پیش از شروع شبیهسازی، باید داده های ورودی را به دو گروه تقسیم نمود:
-
- داده های آموزش: این داده ها از میان داده های برچسبدار و به منظور آموزش شبکه به کار میروند. عمدتاً از میان کل داده ها ۶۰% تا ۷۰% آنها را به طور تصادفی یا با یک پیش فرض به عنوان داده های آموزش انتخاب می کنند. پس از آنکه شبکه توسط این داده ها آموزش دید، وزنها مقدار نهایی خود را یافتهاند به نحوی که شبکه برای داده های آموزش، کمترین خطا را بدست میدهد.
-
- داده های تست: پس از آن که شبکه توسط داده های آموزش تا رسیدن به حداقل خطا آموزش یافت، مابقی داده ها که در آموزش نقشی نداشتهاند، به عنوان ورودی به شبکه داده شده و پاسخ
شبکه با پاسخ مطلوب(برچسب آنها) مقایسه میگردد و بدین ترتیب راندمان شبکه آموزش دیده محک زده می شود.
شایان ذکر است که اگر تعداد نمونههای آموزش به حد کافی زیاد باشد، استفاده از روش ارائه الگو جوابهای بهتری میدهد، اما در کاربردهایی که تعداد نمونههای برچسب دار آموزش کم باشند، هر دو روش ارائه الگو و ارائه یکجا به یک جواب یکسان منجر خواهند شد. همچنین باید توجه داشت که در اولین گام اجرای الگوریتم، وزن تمامی لایه ها به طور تصادفی انتخاب میشوند و در هر گام با بهره گرفتن از روش پسانتشار خطا، وزنها تصحیح میشوند.
اشاره به این نکته حائز اهمیت است که پس از آ نکه تمام نمونهها یک بار به شبکه ارائه شدند، در بار بعدی ، ابتدا بهتر است داده های آموزشی به طور تصادفی بر زده شوند. این کار به ویژه سبب می شود که شبکه عصبی به ازای نمونههای خاص بایاس نشود و همچنین از گیر کردن در حداقلهای محلی جلوگیری می کند.
۳-۲) الگوریتم رقابت استعماری
این الگوریتم روشی در حوزه محاسبات تکاملی است که به یافتن پاسخ بهینه مسائل مختلف بهینهسازی میپردازد. این الگوریتم با مدلسازی ریاضی فرایند تکامل اجتماعی - سیاسی، الگوریتمی برای حل مسائل ریاضی بهینهسازی ارائه میدهد. از لحاظ کاربرد، این الگوریتم در دستهی الگوریتمهای بهینهسازی تکاملی همچون الگوریتمهای ژنتیک[۹۹]، بهینهسازی انبوه ذرات[۱۰۰] ، بهینهسازی کلونی مورچگان[۱۰۱] و غیره قرار میگیرد. همانند همه الگوریتمهای قرار گرفته در این دسته، الگوریتم رقابت استعماری نیز مجموعه اولیهای از جوابهای احتمالی را تشکیل میدهد. این جوابهای اولیه در الگوریتم ژنتیک با عنوان “کروموزوم"، در الگوریتم ازدحام ذرات با عنوان “ذره” و در الگوریتم رقابت استعماری نیز با عنوان “کشور” شناخته میشوند. الگوریتم رقابت استعماری با روند خاصی که در ادامه می آید، این جوابهای اولیه (کشورها) را به تدریج بهبود داده و در نهایت جواب مناسب مسئله بهینهسازی (کشور مطلوب) را در اختیار می گذارد.
پایههای اصلی این الگوریتم را سیاست همسانسازی[۱۰۲]، رقابت استعماری[۱۰۳] و انقلاب[۱۰۴] تشکیل میدهند. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخشهایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه میدهد که میتوانند به حل مسائل پیچیده بهینه سازی کمک کنند. در واقع این الگوریتم جوابهای مسئله بهینهسازی را در قالب کشورها نگریسته و سعی میکند در طی فرایندی تکرار شونده این جوابها را رفته رفته بهبود داده و در نهایت به جواب بهینه مسئله برساند[۳۴].
بهینهسازی اهمیت زیادی در بسیاری از شاخه های علوم دارد. به عنوان مثال فیزیکدانها، شیمیدانها، و مهندسان علاقه دارند تا یک طرح بهینه برای طراحی یک پروسه شیمیایی به کار برند و محصول تولید شده را با داشتن شروطی مثل هزینه و آلودگی کم، بیشینه کنند. همچنین در برازش غیرخطی مدل و منحنی نیز، به نوعی به بهینه سازی، نیاز داریم. اقتصاددانان و تحقیق کنندگان در عملیات نیز باید جایابی بهینه منابع در جامعه و صنعت را پیدا کنند[۳۵]. روشهای مطرح شده برای بهینهسازی می توانند در دو دسته عمده طبقه بندی شوند. بهینهسازی محلی و بهینهسازی فراگیر یا عام. برای بهینهسازی عام، اغلب از روشهای تکاملی استفاده می شود[۳۴]، [۳۶]. الگوریتمهای ژنتیک شناخته شدهترین الگوریتمهای تکاملی هستند و تا به امروز کاربردهای فراوانی در بهینهسازی توابع و شناسایی سیستم پیدا کرده اند. آنچه که واضح است این است که تکامل فکری و فرهنگی بشر بسیار سریع تر از تکامل جسمی و ژنتیکی او صورت میپذیرد. بنابراین تکامل فرهنگی و دیدگاهی بشر نیز نادیده گرفته نشده و دستهای از الگوریتمها، موسوم به الگوریتم های فرهنگی معرفی شده اند. الگوریتمهای فرهنگی در حقیقت یک دستهی کاملاً جدید از الگوریتمها نیستند. بلکه ایده اصلی این است که این الگوریتمها با افزودن قابلیت تکامل فرهنگی به الگوریتمهای موجود، سرعت همگرایی آنها را مطابق انتظار افزایش می دهند. الگوریتم رقابت استعماری نیز بر مبنای تکامل اجتماعی و سیاسی انسان پایهگذاری شده است[۳۴].
۳-۲-۱) تشکیل جمعیت اولیه
الگوریتم ICA، همانند سایر روشهای بهینهسازی تکاملی، با تعدادی جمعیت اولیه شروع می شود. در این الگوریتم، هر عنصر جمعیت، یک کشور[۱۰۵] نامیده می شود. کشورها به دو دستهی مستعمره[۱۰۶] و استعمارگر[۱۰۷] تقسیم میشوند. هر استعمارگر، بسته به قدرت خود، تعدادی از کشورهای مستعمره را به سلطهی خود درآورده و آ نها را کنترل می کند.
شکل۳-۵ ) تناظر متغیر های بهینه سازی مسئله با ویژگی های اجتماعی سیاسی[۳۴]
برای شروع الگوریتم، تعداد Ncountry کشور اولیه را ایجاد میکنیم. هر کشور یک بردار است که مؤلفه های آن متغیرهای مسأله است(شکل ۳-۵). Nimp تا از بهترین اعضای این جمعیت (کشورهای دارای کمترین مقدار تابع هزینه) را به عنوان امپریالیست انتخاب میکنیم. باقیماندهی Ncol تا از کشورها، مستعمراتی را تشکیل میدهند که هرکدام به یک امپراطوری تعلق دارند. برای تقسیم مستعمرات اولیه بین امپریالستها، به هر امپریالیست، تعدادی از مستعمرات را که این تعداد، متناسب با قدرت آن است، میدهیم. در شکل ۳-۶ نحوه تقسیم مستعمرات، میان کشورهای استعمارگر به صورت نمادین نشان داده شده است[۳۴].
شکل۳-۶ ) نحوه تقسیم مستعمرات، میان کشورهای استعمارگر[۳۴]
نحوه محاسبه هزینه هر کشور به صورت زیر است:
۳-۲-۲) سیاست جذب
سیاست همگونسازی (جذب) با هدف تحلیل فرهنگ و ساختار اجتماعی مستعمرات در فرهنگ حکومت مرکزی انجام میگرفت. همانگونه که قبلاً نیز بیان شد، کشورهای استعمارگر، برای افزایش نفوذ خود، شروع به ایجاد عمران (ایجاد زیرساختهای حمل و نقل، تاسیس دانشگاه و …) کردند. به عنوان مثال کشورهایی نظیر انگلیس و فرانسه با تعقیب سیاست همگونسازی در مستعمرات خود در فکر ایجاد انگیس نو و فرانسهی نو در مستعمرات خویش بودند. با در نظر گرفتن شیوه نمایش یک کشور در حل مسلئه بهینهسازی، در حقیقت این حکومت مرکزی با اعمال سیاست جذب سعی داشت تا کشور مستعمره را در راستای ابعاد مختلف اجتماعی سیاسی به خود نزدیک کند. این بخش از فرایند استعمار در الگوریتم بهینهسازی، به صورت حرکت مستعمرات به سمت کشور امپریالیست، مدل شدهاست. در راستای این سیاست، کشور مستعمره، به اندازه x واحد در جهت خط واصل مستعمره به استعمارگر، حرکت کرده و به موقعیت جدید کشانده میشود. x عددی تصادفی با توزیع یکنواخت (و یا هر توزیع مناسب دیگر) میباشد. اگر فاصله میان استعمارگر و مستعمره با d نشان داده شود، معمولاً برای d داریم.
x ~ U(0,ß*d)
که در آن ß عددی بزرگتر از یک و نزدیک به ۲ میباشد. وجود ضریب۱ ß≥ باعث میشود تا کشور مستعمره در حین حرکت به سمت کشور استعمارگر، از جهتهای مختلف به آن نزدیک شود. همچنین در کنار این حرکت، یک انحراف زاویهای کوچک نیز با توزیع یکنواخت به مسیر حرکت افزوده میشود. یک نمای گرافیکی از اعمال سیاست جذب در الگوریتم رقابت استعماری در صفحه دو بعدی در شکل ۳-۷ نشان داده شده است[۳۴].
شکل۳-۷) اعمال سیاست جذب در الگوریتم رقابت استعماری[۳۴]
در مورد داده های گسسته سیاست جذب با جایگزین کردن برخی ویژگیهای کشور مستعمره با کشور امپریالیست صورت میگیرد.
۳-۲-۳) انقلاب
بروز انقلاب، تغییرات ناگهانی را در ویژگیهای اجتماعی سیاسی یک کشور ایجاد می کند. در الگوریتم رقابت استعماری، انقلاب با جابجایی تصادفی یک کشور مستعمره به یک موقعیت تصادفی جدید مدلسازی می شود. انقلاب از دیدگاه الگوریتمی باعث می شود کلیت حرکت تکاملی از گیر کردن در درههای محلی بهینگی نجات یابد که در بعضی موارد باعث بهبود موقعیت یک کشور شده و آن را به یک محدوده بهینگی بهتری می برد(شکل ۳-۸) [۳۴].
شکل۳-۸ ) عمل انقلاب در الگوریتم رقابت استعماری[۳۴]
۳-۲-۴) جابجایی موقعیت مستعمره و امپریالیست
در حین حرکت مستعمرات به سمت کشور استعمارگر، ممکن بعضی از این مستعمرات به موقعیتی بهتر از امپراطوری برسند (به نقاطی در تابع هزینه برسند که هزینه کمتری را نسبت به مقدار تابع هزینه در موقعیت امپراطوری، تولید میکنند.) در این حالت، کشور استعمارگر و کشور مستعمره، جای خود را با همدیگر عوض کرده و الگوریتم با کشور استعمارگر در موقعیت جدید ادامه یافته و این این بار این کشور امپریالیست جدید است که شروع به اعمال سیاست همگونسازی بر مستعمرات خود میکند. نحوه جابجایی موقعیت مستعمره و استعمارگر در شکل زیر نشان داده شده است[۳۴].
شکل۳-۹ ) جابجایی موقعیت مستعمره و استعمارگر[۳۴]
۳-۲-۵) رقابت استعماری
قدرت یک امپراطوری به صورت قدرت کشور استعمارگر، به اضافه درصدی از قدرت کل مستعمرات آن تعریف میشود.
هر امپراطوریای که نتواند بر قدرت خود بیفزاید و قدرت رقابت خود را از دست بدهد، در جریان رقابتهای امپریالیستی، حذف خواهد شد. این حذف شدن، به صورت تدریجی صورت میپذیرد. بدین معنی که به مرور زمان، امپراطوریهای ضعیف، مستعمرات خود را از دست داده و امپراطوریهای قویتر، این مستعمرات را تصاحب کرده و بر قدرت خویش میافزایند. در الگوریتم رقابت استعماری، امپراطوری در حال حذف، ضعیفترین امپراطوری موجود است. بدین ترتیب، در تکرار الگوریتم، یکی یا چند مورد از ضعیفترین مستعمرات ضعیفترین امپراطوری را برداشته و برای تصاحب این مستعمرات، رقابتی را میان کلیه امپراطوریها ایجاد میکنیم. مستعمرات مذکور، لزوماً توسط قویترین امپراطوری، تصاحب نخواهند شد، بلکه امپراطوریهای قویتر، احتمال تصاحب بیشتری دارند. رقابت استعماری میان چندین استعمار گر برای جذب مستعمرات همدیگر در شکل ۳-۱۰ر به خوبی نشان داده شده است[۳۴].
شکل۳-۱۰ ) رقابت استعماری میان چندین استعمارگر[۳۴]
۳-۲-۶) سقوط امپراطوریهای ضعیف
در جریان رقابتهای امپریالیستی، خواه ناخواه، امپراطوریهای ضعیف به تدریج سقوط کرده و مستعمراتشان به دست امپراطوریهای قویتر میافتد. شروط متفاوتی را میتوان برای سقوط یک امپراطوری در نظر گرفت. در الگوریتم پیشنهاد شده، یک امپراطوری زمانی حذف شده تلقی میشود که مستعمرات خود را از دست داده باشد. شکل ۳-۱۱ یک نمای کلی از سقوط امپراطوری ها در روند چرخه الگوریتم، ارائه می دهد[۳۴].