آموزش شبکه لایه کوهوننیکشنبه 15, دسامبر 2019
آموزش شبکه لایه کوهونن
در ادامه آموزش های سایت همیارپروژه درباره شبکه خودسازمانده با شبکه (لایه) کوهونن آشنا خواهیم شد . در این آموزش مقدماتی از این شبکه را فرا میگیریم.
ریشه ي قانون یادگیري کوهونن به سالهاي ۱۹۶۲ و قبل از آن و به مباحث خوشه بندي بی نظارت بر می گردد.در دهه ي ۷۰ کریستف واندرمالزبرگ قانونی معرفی نمود مبتنی بر این ایده که مجموع وزن هاي مربوط به ورودي ها در واحدهاي مختلف که از یک خروجی آمده اند بایستی ثابت باشند. مبناي این ایده محدود بودن ماده شیمیایی موجود در خروجی مورد بحث و تقسیم شدن آن بین ورودي هاي مختلف متصل به این خروجی بود.
در سال ۱۹۷۶ استفن گراسبرگ ایده مالزبرگ را رد کرد و قانونی که در این بخش مطرح می شود را ارائه نمود. اما در اواخر دهه ي ۷۰ کوهونن به این نتیجه ي مهم رسید که هدف این قانون یادگیري بایستی ساختن یک را تشکیل می دهند، باشند. که ارائه هاي هم احتمال یک تابع چگالی احتمال ثابت wi مجموعه بردار داشته با تابع چگالی احتمال X بایستی طوري خودرا تغییر دهند که براي هر بردار ورودي wi یعنی بردارهاي باشیم:
این ایده براي توابع چگالی احتمال یکنواخت به طور مطلوب کار می کرد، در سال ۱۹۸۷ دوین دسینو تغییري در قانون کوهونن ایجاد نمود که مشکل مزبور را حل کرد اما هنوز به واسطه ي نقش مهم کوهونن در این زمینه،قانون را قانون کوهونن می گویند.
ساختار شبکه
یک لایه کوهونن آرایه اي از نورون ها است به صورت یک بعدي، دو بعدي یا بیشتر است که نمونه اي از آن را در شکل فوق مشاهده می نمائید.
در فاز یادگیري هر یک از واحدها فاصله ي بردار ورودي X تا وزن هاي خود را به صورت زیر محاسبه می کنند.
که D تابع سنجش فاصله است و می توان هر یک از توابع مرسوم براي سنجش فاصله را استفاده نمود، مثلا
فاصله ي کمان کروي
یا فاصله ي اقلیدسی را می توان استفاده نمود. واحدها با این محاسبه می خواهند بدانند نزدیکترین بردار وزن به x را دارند یا نه که این همان بخش رقابتی در اینگونه از شبکه ها می باشد.
واحد داراي نزدیکترین وزن به بردار ورودي، برنده این مرحله از رقابت خواهد بود که براي آن Zi مربوطه برابر ۱ قرار داده می شود و سایر zi ها برابر صفر خواهند بود. آنگاه قانون کوهونن که به صورت ذیل است براي به روز رسانی وزن ها استفاده می شود:
مشکلات و راه حل ها:
واحدي که وزن هاي آن اصلا اصلاح نشود در این شبکه یک واحد مرده نامیده می شود. البته چندین راه برايحل مشکل پیشنهاد شده است که در ادامه با برخی از آنها آشنا می شویم.
(Redial Sproting) روش رشد دادن شعاعی
۲) افزایش نویز
در این روش به Xi ها نویز داراي توزیع ثابت با دامنه قوي اضافه می شود، به طوري که در ابتدا نویز بر Xi ها غالب باشد با گذشت زمان نویز تضعیف می شود و یادگیري انجام می شود. مشکل این روش نیز سرعت بسیار پایین آن می باشد.
۳) استفاده از همسایگی برنده
در این روش بجاي اصلاح وزنهاي واحد برنده به تنهایی، وزنهاي واحدهاي همسایه واحد برنده را نیز اصلاح می کنیم. در ابتدا آموزش همسایگی را بسیار بزرگ در نظر می گیرند به طوري که تقریبا همه واحدها در آن جاي گیرند. اما با پیشرفت یادگیري شعاع همسایگی را تدریجا کوچک می کنیم تا در پایان آموزش به نواحی محلی مجزا که نماینده کلاسهاي مختلف ورودي هستند برسیم.
۴) روش دسینو
در ادامه روشی که توسط دسینو براي حل مشکل آموزش شبکه مطرح شده است اشاره می شود. یک مکانیزم وجدان در شبکه در نظر می گیریم در این حال سابقه برنده شدن واحدها نگهداشته می شود و اگر واحدي بیش از m/1 دفعه برنده شود براي مدتی از رقابت خارج می شود. این روش در اکثر اوقات بسیار خوب عمل می کند.پیاده سازي آن می تواند به صورت زیر انجام پذیرد.
در آموزش بعدی در مورد شیوه هاي انتخاب همسایگی صحبت خواهیم کرد.شبکه لایه کوهونن مبحثی است که در انجام پروژه های متلب کاربرد دارد.
سپاس از همراهی شما با آموزش های سایت همیارپروژه
دیدگاهتان را بنویسید