شبکه های عصبی 3
قضیه بنیادی دنبالهها:
یک خصوصیت قابل توجه perceptron این است که آنها میتوانند دنبالهای از ردهبندی صحیح مثالهای مثبت ومنفی باشند.
فرض کنیم: X = X+ ب X-
X+ : مجموعهای از مثالهای مثبت
X- : مجموعهای از مثالهای منفی
گوییم که رشته بیکران S x= X1 , X2 , …, Xk ,… یک رشته متوالی(ترتیبی) برای X است در صورتی که هر Xi یک مثال در X است و هر عنصر از X اغلب به طور نامحدود در Sx رخ میدهد(نمایان میشود).
فرض کنیم Wk ضریب وزنی در سطح k دنباله باشد. وزن اولیه میتواند به صورت قراردادی باشد (برای مثال W1=0 ). حال رشته استاندارد حاصله، وزنها را به صورت زیر ارتقا میدهد:
بسته به استرادژی مورد نظر ممکن است مقادیر C k همگی یکسان باشند یا ممکن است با k تغییر کنند.
قضیه 1)یک بردار حل وزنها برای X وجود داشته باشد, در این صورت رویه رشته استاندارد باید بعد از یک تعداد فرض کنیم یک مجموعه از رشته نمونه X و هر رشته ترتیبی برای آن داریم, اگر Ck یک ثابت مثبت مراحل مشخص یک راهحل پیدا کند به طوری که اگر برای بعضی k0 ها داشته باشیم: WK0 = WK0+1 = WK0+2 = …
که WK0 یک راهحل برای X است.
بنابراین ما میتوانیم با استفاده از شبکههای عصبی هر چه بیشتر به شبیهسازی انسان توسط کامپیوترها نزدیک شویم به منظور واگذاری کارهای تکراری, وقتگیر و مسائلی که با توجه به پیشرفت بشری دیگر درخور بشر نیست.
هوش جمعی
فرض کنید شما و گروهی از دوستانتان به دنبال گنج میگردید. هر یک از اعضای گروه یک فلزیاب و یک بیسیم دارد که میتواند مکان و وضعیت کار خود را به همسایگان نزدیک خود اطلاع بدهد. بنابراین شما میدانید آیا همسایگانتان از شما به گنج نزدیکترند یا نه؟ پس اگر همسایهای به گنج نزدیکتر بود شما میتوانید به طرف او حرکت کنید. با چنین کاری شانس شما برای رسیدن به گنج بیشتر میشود و همچنین گنج زودتر از زمانی که شما تنها باشید، پیدا میشود.
این یک مثال ساده از رفتار جمعی یا Swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری میکنند. این روش مؤثرتر از زمانی است که افراد جداگانه عمل کنند. Swarm را میتوان به صورت مجموعهای سازمان یافته از موجوداتی تعریف کرد که با یکدیگر همکاری میکنند. در کاربردهای محاسباتی Swarm intelligence از موجوداتی مانند مورچهها، زنبورها، موریانهها، دستههای ماهیان و دستهی پرندگان الگو برداری میشود. در این نوع اجتماعات هر یک از موجودات ساختار نستباً سادهای دارند ولی رفتار جمعی آنها بینهایت پیچیده است. برای مثال در کولونی مورچهها هر یک از مورچهها یک کار سادهی مخصوص را انجام میدهد ولی به طور جمعی عمل و رفتار مورچهها، ساختن بهینهی لایه، محافظت ازملکه و نوزادان، تمیز کردن لانه، یافتن بهترین منابع غذایی و بهینهسازی استراتژی حمله را تضمین میکند. رفتار کلی، یک Swarm به صورت غیر خطی از آمیزش رفتارهای تکتک اجتماع بدست میآید. یا به عبارتی یک رابطهی بسیار پیچیده بین رفتار جمعی و رفتار فردی یک اجتماع وجود دارد. رفتار جمعی فقط وابسته به رفتار فردی افراد اجتماع نیست بلکه به چگونگی تعامل میان افراد نیز وابسته است. تعامل بین افراد، تجربهی افراد دربارهی محیط را افزایش میدهد و موجب پیشرفت اجتماع میشود.
ساختار اجتماعی Swarm بین افراد مجموعه کانالهای ارتباطی ایجاد میکند که طی آن افراد میتوانند به تبادل تجربههای شخصی بپردازند، مدلسازی محاسباتی Swarmها کاربردهای موفق و بسیاری را در پی داشته است مانند:
Function optimization, Finding optimal roots, scheduling, structural optimization, Image and data analysis
کاربردهای زیادی از مطالعهی Swarmهای مختلف وجود دارد. از این دسته میتوان به کولونی مورچهها (Ant Colony) و دستهی پرندگان (Bird Flocks) اشاره نمود.
(Particle Swarm Optimitation(PSO:
الگوریتم PSO یک الگوریتم جستجوی اجتماعی است که از روی رفتار اجتماعی دستههای پرندگان مدل شده است. در ابتدا این الگوریتم به منظور کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شکل بهینهی دسته به کار گرفته شد.
در PSO، particleها در فضای جستجو جاری میشوند. تغییر مکان particleها در فضای جستجو تحت تأثیر تجربه و دانش خودشان و همسایگانشان است. بنابراین موقعیت دیگر particleهای Swarm روی چگونگی جستجوی یک particle اثر میگذارد.
نتیجهی مدلسازی این رفتار اجتماعی فرایند جستجویی است که particleها به سمت نواحی موفق میل میکنند. Particleها در Swarm از یکدیگر میآموزند و بر مبنای دانش بدست آمده به سمت بهترین همسایگان خود میروند.
Particle swarm Optimitation Algorithm:
اساس کار PSO بر این اصل استوار است که در هر لحظه هر particle مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگیاش وجود دارد، تنظیم میکند.
فرض کنید میخواهیم زوج مرتب (x,y) را طوری بدست آوریم که تابع F(x,y)=x2+y2، مینیمم شود. ابتدا نقاطی را به صورت تصادفی در فضای جستجو، روی صفحهی x-y انتخاب میکنیم. فرض کنید این Swarm را به 3 همسایگی تقسیم کنیم که در هر همسایگی نقاط موجود با یکدیگر تعامل دارند. در هر همسایگی هر یک از نقاط به سمت بهترین نقطه در آن همسایگی و بهترین مکانی که آن نقطه تاکنون در آن قرار داشته است، حرکت میکند. برای حل یک مسئله چند متغیر بهینهسازی میتوان از چند Swarm استفاده کرد که هر یک از Swarmها کار مخصوصی را انجام میدهند. این همان ایدهای است که Ant colony از آن ریشه میگیرد. از آنجا که دانش Swarm intelligence بسیار جدید است در حال حاضر کاربردهای کمی از آن شناخته شده است. ولی صاحبنظران معتقدند با این رشد روزافزون، Swarm intelligence میتواند نقش مهمی را در علوم مختلف از جمله مهندسی نفت ایفا کند.