استفاده تبدیل میشوند و پس از بهبود آنها، الگوهایی که کارا محسوب میشوند، در یک سیستم اجرایی به کار گرفته خواهند شد.
2-3-5- داده کاوی و رابطه آن با علم آمار
داده کاوی شباهت زیادی به تحلیلهای آماری دارد، ولی از جهات زیادی با آمار تفاوت داشته و مزیتهای زیادی نسبت به آمار دارد .جالب ترین تفاوت داده کاوی با تحلیلهای آماری این است که در آمار ما فرضیهای طرح میکنیم و با استفاده از تحلیلهای آماری به اثبات یا رد فرضیه میپردازیم، اما داده کاوی به فرضیه احتیاجی ندارد. در واقع ابزار داده کاوی فرض میکند که شما خود هم نمیدانید به دنبال چه میگردید و این نکتهای است که باعث میشود کار آمدی داده کاوی در مواقع بروز مشکل نمایان شود. برای مثال ما در آمار فرض میکنیم که دو گروه با هم ارتباط دارند، سپس با استفاده از ضریب هم بستگی پیرسون مشخص می کنیم که ارتباط وجود دارد یا خیر. ولی داده کاوی بدون توجه به اینکه ما اینگونه فرضی داشته باشیم یا نه با کاوش میان دادهها اگر ارتباط مخفی معنی داری وجود داشته باشد آن را به اطلاع ما میرساند. تفاوت بعدی آمار و داده کاوی در این است که آمار فقط می تواند از داده های عددی استفاده کند ولی داده کاوی از داده های غیر عددی هم استفاده میکند. برنامههای کاربردی که در زمینه تجزیه و تحلیل اطلاعات به کار میروند از امکاناتی چون پرس و جوی ساخت یافته که در بسیاری از بانکهای اطلاعاتی یافت میشود و از ابزارهای تجزیه و تحلیل آماری برخوردار اند، اما برنامههای مربوط به داده کاوی در عین برخورداری از این قابلیتها از نظر نوع با آنها تفاوت دارند. بسیاری از ابزارهای ساده برای تجزیه و تحلیل دادهها روشی بر پایه راستی آزمایی را به کار میبرند که در آن فرضیه بسط داده شده، آنگاه دادهها برای تایید یا رد آن بررسی میشوند. به طور مثال ممکن است این نظریه مطرح شود که فردی که یک چکش خریده حتما یک بسته میخ هم خواهد خرید. کارایی این روش به میزان خلاقیت کاربر برای اریه فرضیه های متنوع و همچنین ساختار برنامه بکار رفته بستگی دارد. در مقابل در داده کاوی روشهایی برای کشف روابط بکار برده میشوند و به کمک الگوریتمهایی روابط چند بعدی بین داده ها تشخیص داده شده و آنهایی که یکتا یا رایج هستند شناسایی میشوند. به طور مثال در یک فروشگاه سخت افزار ممکن است بین خرید ابزار توسط مشتریان با تملک خانه شخصی یا نوع خودرو، سن، شغل، میزان درآمد یا فاصله محل اقامت آنها با فروشگاه رابطهای برقرار شود. تفاوتهای دیگری هم میان آمار و داده کاوی وجود دارد، ولی از آنجایی که هدف این بخش تنها معرفی داده کاوی است و نمیخواهیم به مقایسه داده کاوی و آمار بپردازیم، از ذکر آنها خودداری میکنیم.
2-4- شبکه عصبی
2-4-1- معرفی:
در اواخر سال 1940 میلادی پیشگامان علم شبکههای عصبی، مککلوچ و پیتس23 در رابطه با توانایی ارتباط درونی24 مدل یک نرون، مطالعاتی انجام دادند. آنها یک مدل محاسباتی بر مبنای یک عنصر شبیهنرونی25 ساده ارائه نمودند. در همان زمان دانشمندان دیگری مثل دونالد هب26 نیز بر روی قوانین تطبیق27 در سیستمهای نرونی کار میکردند.
در سال 1949، دونالد هب، یک قانون یادگیری برای تطبیق ارتباطات بین نرونهای مصنوعی ارائه نمود. اندکی بعد در سال 1958 روزنبلات28 ، پرسپترون29 را مطرح کرد و سپس تئوری تفکیک آماری30 را برمبنای آن توسعه داد.
قدم بزرگ بعدی کشف فرمولبندی قانون یادگیری جدید بهوسیله ویدرو و هاف31 در طرحی موسوم به آدالاین32 بود. در سال 1971 وربوس33 ، یک الگوریتم پسانتشار را در رساله دکتری خود منتشر کرد و در نهایت روزنبلات این تکنیک را در 1986 کشف مجدد نمود.
2-4-2- کاربرد شبکه های عصبی
امروزه شبکههای عصبی مصنوعی بهطور گستردهای، با هدف دستیابی به کارایی شبه انسانی مطالعه میشوند. این شبکهها از تعدادی عناصر محاسباتی خطی و غیرخطی که بهطور موازی عمل میکنند، تشکیل شدهاند.
شبکههای عصبی مصنوعی تحت عناوین مختلفی همچون مدلهای پیوندگرا34، مدلهای پردازش موازی توزیعشده و سیستمهای نورومورفیک35 مطرح گردیدهاند. ایده اصلی مدل پیوندگرا به فیلسوف بزرگ یونان باستان ارسطو برمیگردد. وی مفهومی را مطرح کرد که در آن تعدادی از عناصر ساده مرتبط بههم بهواسطه یک سری مکانیزمهای خاص، منجر به پیدایش حافظه میشدند.
بهطور کلی میتوان گفت که شبکههای عصبی از دو دیدگاه مورد مطالعه قرار میگیرند. دیدگاه نخست مربوط به علوم شناختی36 است و دیدگاه دوم که در واقع به تئوری پردازش اطلاعات برمیگردد، همان پیوندگرایی است. شبکههای عصبی مطرح شده در این تحقیق نیز مربوط به دیدگاه دوم از نقطه نظر مهندسی میباشد.
2-4-3- تعریف پایه شبکه های عصبی
اساس شبکه های عصبی بر پایه ساختار آنها بنا شده است، که این ساختار شامل یک یا چند لایه ، که هر لایه دارای تعداد نرون که این نرون ها از طریق وزن ها به یکدیگر متصل می باشند. هر نرون دارای ورودی (ها) و خروجی (ها) می باشند که هر نرون بر اساس ورودی (ها)محاسبه و خروجی (ها)لازم را تولید میکند. عملکرد کلی شبکه های عصبی بر اساس ساختار شبکه عصبی، که شامل ساختار پیش رو(ساختار اول) می باشد، که در آن، هیچ حلقهای در ساختار شبکه وجود ندارد، شکل 2-2 و ساختار بر گشتی(ساختار دوم)، که در آن بهواسطه ارتباطات پسخور37، حلقههایی در ساختار شب
ک
ه بهوجود میآید، شکل 2-3 ، این ساختار ها شامل چند لایه و تعدادی نرون در لایه ها می باشند. لذا از این منظر میتوان شبکههای عصبی را به دو گروه عمده دستهبندی نمود.
شکل2-2 : ساختار شبکه عصبی پیش رو (غیر بازگشتی) باسه لایه ،لایه ورودی ، لایه میانی و لایه خروجی
شکل2-3 : ساختار شبکه عصبی برگشتی با سه لایه ، لایه های دوم و سوم برگشتی می باشند.
شبکههای عصبی پیشرو ایستا هستند. بدین معنی که یک ورودی معین تنها یک مجموعه از خروجیها را میتواند تولید کند. در مقابل شبکههای عصبی بر گشتی، بهواسطه وجود حلقه در ساختارشان حافظهدار هستند و این قابلیت در آنها وجود دارد که اطلاعات موقتاً در حافظه آنها ذخیره شوند.
شبکههای عصبی بهعنوان یکی از قدرتمندترین پردازشگرهای غیرخطی سیگنال، برای طیف وسیعی از کاربردهای پردازش سیگنال کاربرد دارند.
در مهندسی عمران شبکههای عصبی در تشخیص آسیبهای سازهای38، شناسائی سیستم سازهای39، مدلسازی رفتار مواد40، بهینه سازی سازهای41، کنترل سازهای42، طرح اختلاط بتن43و… مورد استفاده قرار گرفته است.
در سالهای اخیر، شبکههای عصبی مصنوعی، بهعنوان ابزارهای رگرسیون44، کارائی فوقالعادهای از خود نشان دادهاند. علیالخصوص در کاربردهایی همچون شناسائی الگو45 و تقریب توابع46. این شبکهها قادرند روابط پیچیده غیرخطی بین متغیرهای ورودی و خروجی را در یک سیستم یاد بگیرند بدون اینکه دانشی قبلی نسبت به آن پدیده یا سیستم داشته باشند .
2-4-4- ویژگی های شبکه عصبی
2-4-4-1- ساختار نرون
نرون یک واحد پردازنده اطلاعات است. درواقع کوچکترین واحد تشکیل دهنده شبکههای عصبی نرون میباشد. بلوک دیاگرام شکل2-4 مدل یک نرون پرکاربرد را نشان میدهد. عناصر اصلی تشکیل دهنده یک نرون عبارتند از:
1- مجموعهای از سیناپسها یا لینکهای ارتباطی، که به هرکدام وزنی اختصاص داده میشود. سیگنال x_i ورودی از طریق وزنw_i به هسته مرکزی انتقال داده میشود. برخلاف سیناپسهای مغز انسان، وزن سیناپسی در نرونهای مصنوعی میتواند هم مقادیر مثبت و هم مقادیر منفی را دربرگیرد.
2- یک جمع کننده، برای جمع کردن سیگنالهای وزندار
3- تابع فعالسازی47، برای محدود کردن دامنه خروجی نرون در نظر گرفته میشود. معمولاً دامنه خروجی نرمالسازی شده نرون بین[0,1] یا [-1,1]درنظر گرفته میشود.
شکل 2-4 : مدل یک نرون خطی و غیرخطی(خطی یا غیر خطی بودن به نوع تابع فعال ساز بستگی دارد)
همچنین، مدل نرونی شکل2-4 دارای یک بایاس خارجی است که بوسیله عدد ثابت مثلا w_0 نشان داده میشود. براین اساس فرم ریاضی یک نرون را میتوان بشکل زیر تعریف نمود.
net=?_(i=1)^(n_0)??w_i x_i ?+w_0
W0 بیانگر عرض از مبدا است
که در آن x_1…x_(n_0 )سیگنالهای ورودی و w_1…w_(n_0 ) وزنهای سیناپسی میباشد. net خروجی ترکیب کننده خطی سیگنالهای ورودی و بایاس است یا به عبارت بهتر مجموع ورودیهای وزندار نرون است. تابع F نیز تابع فعالسازی o سیگنال خروجی نرون است. تاثیر رفتار w_0 به ازای مقادیر مختلفی در خروجی ترکیبکننده خطی net در
شکل2-5 نشان داده شده است.
شکل2-5 : نحوه عملکرد بایاس در خروجی ترکیب کننده خطی
2-4-4-2- توابع فعال سازی
در اینجا چند نوع از انواع توابع فعالسازی را مطرح میکنیم. نمودار این توابع در جدول 2-1 و شکل 2-6 نشان داده شده است.
جدول 2-1 : توابع فعالسازی نرون های مختلف در شبکه های عصبی
تابع با قابلیت محدود کننده (حد آستانه)
F(net)=1/(1+e^(-g.net) )
تابع خطی تکهای
F(net)={?(1, ifnet??(1/2)@net, if?(1/2)net??((-1)/2)@0, ifnet??((-1)/2))?
تابع سیگموئید تک قطبی
F(net)={?(1, ifnet?0 @0, ifnet0 )?
تابع گوسین
F(net)=e^(-g^2 ) g=(x-x ?)/?, (x=net)
تابع خطی
F(net)=net
تابع سیگموئید دو قطبی
F(net)=(1-e^(-g.net))/(1+e^(-g.net) )
شکل 2-6 : توابع فعالسازی(الف) حدآستانه، (ب) خطی تکهای، (ج) سیگموئید تک قطبی، (د)گوسین، (ه) خطی (و) سیگموئید دوقطبی
2-4-4-3- ساختارهای شبکه
1- شبکههای عصبی پیشرو تکلایه
در سادهترین شکل شبکه عصبی که در شکل 2-7 نشان داده شده، یک لایه ورودی از گرههای منبع داریم که در نهایت از طریق وزنها به نرونهای لایه خروجی وصل میشوند. شکل 6 ساختار این شبکه را با n_0 گره (سیگنال) ورودی و n_1 نرون خروجی نشان میدهد. چنین ساختاری به شبکه عصبی با دو لایه که فقط لایه خروجی فعال میشود.
شکل 2-7 : شبکه پیشرو با یک لایه فعال (خروجی)
لازم به ذکر است تعدادگره های لایه های ورودی و خروجی بر حسب نیاز انتخاب میشوند.
2- شبکههای عصبی پیشرو چندلایه48
دسته دوم شبکههای عصبی پیشرو همانند شکل 2-8 دارای لایه های ورودی و خروجی میباشد و فقط لایه میانی به آن اضافه شده است، شامل یک یا چند لایه میانی (پنهان) است که نرونهای این لایهها، نرونهای مخفی نیز نامیده میشوند.
شکل 2-8 : شبکه عصبی پیشرو با یک لایه مخفی و یک لایه خروجی
با اضافه کردن یک و یا چند لایه میانی، شبکه عصبی توانایی تجزیه و تحلیل با درجه بالاتری را خواهد داشت. نمودار شکل ساختار شبکه عصبی پیشرو با دو لایه فعال و یک لایه مخفی (میانی) را نشان میدهد. توابع فعالسازی در لایه خروجی عمدتاً براساس نیاز کاربر انتخاب میشوند. و تعداد نرون های لایه میانی بر اساس طراحی و نیاز سیستم انتخاب میشود که عمدتا به صورت سعی و خطا می
باشد. هر نرون در هر لایه از شبکه بواسطه وزن به هرکدام از نرونهای لایه بعدی خود متصل شده است. چنین ساختاری را شبکه کامل متصل49 میگویند. حال چنانچه بخشی از این ارتباطات وجود نداشته باشند، آن را نیمه متصل50 میگویند.
3- شبکههای عصبی برگشتی51
در ساختار این نوع از شبکههای عصبی حداقل یک حلقه پسخور52 وجود دارد. شکل ساختار شبکه برگشتی را نشان میدهد که در آن خروجی هر نرون، سایر نرونهای شبکه را تغذیه میکند. توجه کنید که در این ساختار، حلقههای خودپسخور53 وجود ندارد. ارتباط بین خروجی با نرونهای دیگر از طریق وزن ها صورت میگیرد.
شکل 2-9 : شبکه عصبی بازگشتی بدون حلقه خودپسخور و نرونهای میانی
شکل2-9 کلاس دیگری از شبکههای عصبی برگشتی با نرونهای مخفی را نشان میدهد. حلقههای پسخور نشان داده شده در
شکل2-10 هم از نرونهای خروجی و هم از نرونهای میانی بوجود میآیند. وجود این حلقههای برگشتی در ساختار شبکه، قدرت یادگیری شبکه را افزایش میدهد. و عمق حافظه در این نوع ساختار زیادتر میشود.
شکل 2-10 : شبکه بازگشتی با نرونهای مخفیبا حجم حافظه بالاتر
2-4-5- یادگیری در شبکه های عصبی
سومین مشخصه اصلی یک شبکه عصبی، قابلیت شبکه عصبی برای یادگیری از محیط پیرامون خود و بهبود کارائی از طریق فرآیند یادگیری است. یک شبکه عصبی بواسطه فرآیندهای یادگیری قادر است با اعمال تنظیمات لازم بر روی وزنهای سیناپسی، محیط اطراف خود را بهتر درک کند. به عبارت بهتر، پس از هر تکرار فرآیند یادگیری، دانش شبکه عصبی درباره محیطی که در آن قرار دارد بیشتر میشود.
موضوع یادگیری از نقطه نظرهای مختلف، میتواند بسیار متفاوت باشد. هدف و منظور اصلی از یادگیری، میتواند در قالب تعریف زیر بیان شود:
“یادگیری فرآیندی است که در آن پارامترهای آزاد یک شبکه عصبی بواسطه یک فرآیند تحریکی بیرونی، با محیطی که شبکه در آن قرار گرفته است، تطبیق پیدا میکند.”
از این تعریف موارد زیر حاصل میشود :
1- شبکه عصبی بوسیله محیط پیرامون تحریک میشود،
2- شبکه عصبی در نتیجه این تحریک تغییراتی در پارامترهای آزادش اعمال میکند،
3- شبکه عصبی به دلیل تغییراتی که در ساختار درونیاش برحسب الگوهای جدیدی که در محیط پیرامون وجود دارد، رخ داده است، پاسخ مناسبتری از خود نشان میدهد.
4- تزریق الگوهای جدید به شبکه عصبی، سبب ایجاد دانش جدیدی در شبکه میشود.
قوانین فوق یک الگوریتم یادگیری را برای حل مسائل یادگیری ارائه میدهد. بوضوح میتوان دریافت که تنها یک الگوریتم واحد برای طراحی شبکههای عصبی وجود ندارد. ما مجموعهای از ابزارهای ارائه شده برای طیف وسیعی از الگوریتمهای یادگیری در اختیار داریم که هرکدام از آنها مزایای خاص خودشان را دارا میباشند. تنها تفاوت الگوریتمهای یادگیری، در روش فرمولبندی تنظیم وزنهای سیناپسی یا وزنهای سیناپسی و پارامترهای شبکه عصبی است.
2-4-5-1- شبکه ای با سه نرون
در ابتدا برای مطالعهی ساختارها و فرآیندهای یادگیری تطبیقی از شبکههای عصبی، یک نمونه با دو لایه فعال از شبکهعصبی با سه نرون مطابق شکل درنظر گرفته میشود. دو نرون ?neur?_2^1 و ?neur?_1^1 در لایه فعال اول یا لایه میانی و یک نرون ?neur?_1^2 در لایه فعال دوم قرار گرفته است. در نتیجه مطابق شکل 2-11 وزنهای مربوط به نرونهای فعال این دولایه فعال به