3-3) انواع بهینه سازی:41
4-3) فراابتکاری42
5-3) انواع الگوریتم‌های ابتکاری44
1-5-3) الگوریتم ژنتیک46
1-1-5-3) مراحل انجام الگوریتم ژنتیک47

در این سایت فقط تکه هایی از این مطلب با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

2-1-5-3) عملگرهای الگوریتم ژنتیک:47
3-1-5-3) شرایط خاتمه برای الگوریتم ژنتیک58
2-5-3) الگوریتم رقابت استعماری (ICA)58
7-2-5-3) مراحل الگوریتم رقابت استعماری69
3-5-3) الگوریتم بهینه سازی توده ذرات (PSO )71
مراحل الگوریتم PSO72
فصل چهارم : محاسبات و یافته های تحقیق73
فصل پنجم: نتیجه گیری و پیشنهادات83
مراجع:85
فهرست جداول
عنوان صفحه
جدول 2- 1 دسته بندی رکورد های انتخابی بر اساس الگوریتم های اعمالی22
جدول 2-2 بررسی ویژگی های رکوردهای موجود در KDD CUP 9988
جدول 4-1 نتایج حاصل از ترکیب الگوریتم های فراابتکاری با ماشین های بردار پشتیبان چندکلاسه76
فهرست تصاویر و نمودارها
عنوان صفحه
شکل 1-1 : دسته بندی های مختلف سیستم های تشخیص نفوذ………………………………………………………………………………………………………….. 5
شکل 1-2: HIDS ها روی هر یک از سیستم ها بصورت جداگانه نصب می شوند…………………………………………………………………………………. 8
شکل1-3 : NIDS باید در جایی قرار داشته باشد که ترافیک کل شبکه را مورد بررسی قرار دهد………………………………………………………… 9
شکل 2-1 : درصد کارایی الگوریتم های بکار رفته برروی دیتاست مورد نظر22
شکل2-2: صفحه تفکیک کننده داده ها در SVC برای فضای سه بعدی24
شکل 2-3 : نحوه تفکیک ماشین بردار پشتیبان برای داده ها دو بعدی25
شکل 2-4 : دو کلاس خطی جدایی پذیر و طبقه بندی کننده SVM26
شکل 2-5 : نمایش تاثیر تابع کرنل برای نگاشت داده ها به فضای خطی31
شکل2-6 : نمایش خط تفکیک کننده دو کلاس توسط ماشین بردار پشتیبان غیرخطی با C=10 و Sigma=1………………………..37
شکل2-7 : نمایش خط تفکیک کننده دو کلاس توسط ماشین بردار پشتیبان غیرخطی با C=10 و Sigma=3……………………….37
شکل 3-1 : جهش باینری در کروموزوم56
شکل 3-2 : وارونه سازی بیت57
شکل 3-3 : تغییر ترتیب قرارگیری57
شکل 3-4: وارون سازی57
شکل 3-5: اجزای اجتماعی سیاسی تشکیل دهنده یک کشور59

شکل 3-6: چگونگی شکل‌گیری امپراطوری‌های اولیه61
شکل 3-7: شمای کلی حرکت مستعمرات به سمت امپریالیست62
شکل 3-8: حرکت واقعی مستعمرات به سمت امپریالیست63
شکل 3-9: تغییر جای استعمارگر و مستعمره65
شکل 3-10: کل امپراطوری، پس از تغییر موقعیت‌ها65
شکل 3-11: شمای کلی رقابت استعماری: امپراطوری‌های بزرگ‌تر، با احتمال بیشتری، مستعمرات امپراطوری‌های دیگر را تصاحب می‌کنند. 66
شکل 3-12: سقوط امپراطوری‌ ضعیف 69
شکل 3-13: شمای کلی الگوریتم توسعه داده شده 70
شکل 3-14: نحوه حرکت ذرات 72
شکل 3-15 : فلوچارت مربوط به روند انجام تبدیل داده ها از چند کلاسه به دو کلاسه و سپس اعمال پارامترهای دریافت شده از الگوریتم فراابتکاری……………………………………………………………………………………………………………………………………………………………………………………….75
شکل 4- 1: نمودار مربوط به روند پیدا کردن بهترین هزینه توسط الگوریتم ژنتیک 77
شکل 4- 2: نمودار مربوط به روند پیدا کردن بهترین هزینه توسط الگوریتم ICA 77
شکل 4- 3: نمودار مربوط به روند پیدا کردن بهترین هزینه توسط الگوریتم PSO 78
فصل اول : مقدمه و کلیات تحقیق

1-1) تعریف سیستم تشخیص نفوذ :
سیستم تشخیص نفوذ1 (IDS) یک سیستم دفاعی است که فعالیت های خصمانه در یک شبکه کامپیوتری را پیدا می کند. به عبارت دیگر مهمترین مسئله در این سیستم ها این است که اغلب فعالیت هایی که ممکن است امنیت سیستم را به خطر بیندازد و یا کارهایی که منجر به شروع یک خرابکاری در سیستم بشود را تشخیص می دهد مانند شناسایی اولیه اطلاعات سیستم ها و یا فاز جمع آوری داده که منجر به آسیب رساندن به سیستم می شود مانند عملیات اسکن پورت های سیستم.
یک ویژگی مهم سیستم های تشخیص نفوذ توانایی آن ها در نمایش فعالیت های غیرنرمال در شبکه می باشد مانند تلاش کاربران برای ورود به محیط های غیر مجاز و اعلام خطر به مدیر سایت.
علاوه بر آن یک سیستم تشخیص نفوذ این توانایی را دارد که بتواند حملاتی که از داخل یک سازمان و یا خارج از سازمان به داخل آن می شود را تشخیص دهد.
2-1) موارد زیر جزء سیستم های تشخیص نفوذ نمی باشد:
برای درک بهتر سیستم های تشخیص نفوذ باید گفت که برخلاف لغات و اصطلاحات بکار رفته در تعاریف بالا هر چیزی را نمی توان در این دسته بندی قرار داد. به صورت منحصر به فرد ابزار های زیر یک سیستم تشخیص نفوذ نمی باشد:
1-2-1 ) ابزارهایی که برای نگهداری گزارش روزانه یک سیستم بکار می رود به عنوان مثال تشخیص انواع آسیب پذیری هایی که منجر به از کار افتادن سیستم می شود. این ابزارها سیستم های مانیتور ترافیک شبکه می باشند.
2-2-1 ) ابزارهایی که برای تشخیص آسیب پذیری های مربوط به باگ و عیب سیستم های عامل و سرویس های شبکه بکار می روند برای مثال Cyber Cop Scanner
3-2-1 ) ابزارهایی که برای تشخیص نرم افزارهای مخرب مانند ویروس ها، اسب های تروجان، کرم ها و بمب های منطقی طراحی شده اند. اگر چه این موارد بسیار شبیه ویژگی های سیستم های تشخیص نفوذ می باشند یا به عبارت دیگر می توانند زمینه را برای یک نفوذ آماده کنند.
نکته : ویروس ها برنامه هایی هستند که مشابه ویروس های زیستی گسترش یافته و پس از وارد شدن به کامپیوتر اقدامات غیر منتظره ای انجام می دهند. برای اینکه یک برنامه به عنوان ویروس شناخته شود فقط کافیست در ساختار خود یک واحد تکثیر کننده داشته باشد تا بتوانند سایر برنامه های دیگررا آلوده کنند اما درواقع ویروس ها در ساختار خود دارای چهار فسمت اصلی می باشند:
واحد پنهان کننده : یک برنامه گمراه کننده که باعث می شود ویروس بتواند خود را در کامپیوتر پنهان کند
واحد تکثیر کننده : یک برنامه تکثیر کننده که بوسیله آن ویروس می تواند خود را تکثیر کرده و برنامه بیشتری را آلوده کند.
واحد فعال کننده : یک کلید فعال کننده که باعث می شود ویروس در زمان خاصی یا بعد از انجام عمل خاصی فعال شود.
واحد اجرایی :قسمت اجرایی ویروس که ممکن است فقط یک نمایش بدون خطر باشد و یا یک برنامه خطرناک که باعث وارد شدن صدمه به سیستم شود.
اسب های تروجان : بزرگترین تفاوت اسب های تروجان (تراوا) و یک ویروس این است که اسب های تراوا خودشان منتشر نمی شوند.
کرم ها : کرم های کامپیوتری برنامه های هستند که بطور مستقل تکثیر و اجرا و در سراسر ارتباطات شبکه منتشر میشوند.
تفاوت اصلی بین ویروس ها و کرم ها در روش تکثیر و پخش آنهاست. یک ویروس وابسته به یک فایل میزبان یا بخش راه انداز است در حالیکه یک کرم میتواند کاملا مستقل اجرا شود و از طریق ارتباطات شبکه منتشر گردد.
4-2-1 ) فایروال ها
5-2-1 ) سیستمهای رمزنگاری اینترنتی مانند VPN، SSL، Kerberos و غیره[28]
3-1 ) دسته بندی حملات :
بطور کلی حملات را می توان به چهار دسته زیر تقسیم بندی کرد:
1-3-1) وارسی2 : در این نوع از حملات شخص مهاجم برای جمع آوری اطلاعات و یا یافتن نقاط آسیب پذیر سیستم شروع به جمع آوری اطلاعات از سیستم یا شبکه می کند.
2-3-1) حمله از کار انداختن سرویس3 : در این حمله مهاجم آنقدر منابع سیستم را با استفاده از ابزارهایی که دارد مشغول می کند که سیستم سرویس دهنده بدلیل اتمام منابع قادر به پاسخگویی به سرویس ها نمی باشد.
3-3-1) حمله کاربر به ریشه4 : در این حمله مهاجم قصد دارد با دستیابی به نام کاربری یک کاربر مجاز در سیستم، نقاط آسیب پذیر را کشف کند.
4-3-1) حمله کنترل از راه دور5 : در این حمله مهاجم از راه دور و از طریق شبکه بسته هایی را به سیستم های مورد نظر ارسال میکند تا بتواند نقاط آسیب پذیر سیستم را کشف کند [5].
4-1) انواع دسته بندی سیستم های تشخیص نفوذ :
سیستم های تشخیص نفوذ را می توان از جهات مختلف دسته بندی کرد. شکل 1-1 یک نمونه از این دسته بندی را نشان می دهد[29].
شکل 1-1 : دسته بندی های مختلف سیستم های تشخیص نفوذ
[29]
1-4-1) روش های تشخیص نفوذ
1-1-4-1) روش تشخیص امضاء6 :
روش تشخیص امضاء بر اساس داشتن الگویی از نفوذهای شناخته شده عمل میکند. در این روش، مسأله تشخیص نفوذ به یک مسأله دسته بندی تبدیل میشود و سیستم تشخیص نفوذ قادر است حمله هایی را که پیشتر الگوی آنها را در یک مرحله آموزشی فرا گرفته، تشخیص دهد. مهمترین خصیصه این روش آن است که سیستم امنیتی قادر است حمله های شناخته شده را با دقتی بالا و نرخ هشدار غلط خیلی کم?تشخیص دهد. منظور از هشدار غلط هشداری است که هنگام عدم وقوع حمله توسط سیستم تشخیص نفوذ اعمال میگردد. وجود هشدار غلط حتی به میزان کم چنانچه بار ترافیکی عادی شبکه بالا باشد، باعث وقوع هشدارهای متعدد و خسته کننده میگردد. به همین دلیل نرخ تولید هشدار غلط توسط یک سیستم تشخیص نفوذ?بایستی تا حد امکان پایین باشد. البته ذکر این نکته ضروری است که پایین نگه داشتن نرخ مزبور سبب?کاهش توانایی سیستم در تشخیص حملات محتمل میگردد. به عبارتی بایستی میان دقت تشخیص بالا و نرخ هشدار غلط پایین نوعی تعادل برقرار نمود.[6]
2-1-4-1) روش تشخیص بر اساس ناهنجاری7 :
?نوع دیگر سیستمهای تشخیص نفوذ با نام تشخیص ناهنجاری شناخته میشود. در این سیستمها مدلی بر?پایه داده های آماری از فعالیت عادی شبکه ساخته میشود. چنانچه در هر لحظه بار ترافیکی شبکه از?مرزی که بین فعالیتهای عادی و غیر عادی توسط سیستم مشخص شده تخطی کند، سیستم هشداری?مبنی بر وقوع حمله میدهد. بدیهی است که سیستم هایی که با این روش پیاده سازی میشوند توانایی?تشخیص حمله های جدید را دارند. در عین حال معمولا تعیین مرز میان رفتار عادی و غیر عادی در?سیستمهای مزبور کار مشکلی است.
پس می توان گفت تکنیک های مبتنی بر ناهنجاری براین فرض بنا شده که بتوان رفتارهای مخربانه را از رفتارهای عادی سیستم تفکیک کرد[15]
با توجه به انواع روشهای ذکر شده برای تشخیص نفوذ به شبکه، مشخص است که هر روش نقاط ضعف و?قوت مربوط به خودش را دارا میباشد. دقت بالا در تشخیص حملات و نرخ هشدار غلط پایین از جمله?ویژگیهای اصلی در روش تشخیص امضاء میباشد. در عین حال روش مزبور توانایی تشخیص حمله های جدید را دارا نمی باشد. روش تشخیص ناهنجاری با وجود داشتن توانایی بالا در تشخیص حمله های جدید،?دارای نرخ هشدار غلط بالایی است.
3-1-4-1) روش ترکیبی8 :
در این روش که معمولا روش بهتری محسوب می شود سیستم تشخیص نفوذ مزایای دو حالت قبل را با هم مورد استفاده قرار می دهد. ابتدا سیستم حملات شناخته شده را بر اساس تکنیک های روش مبتنی بر امضاء پیدا می کند و برای سایر حملات جدید که الگویی برای شناسایی آنها در پایگاه اطلاعاتی خود ندارد از روش مبتنی بر ناهنجاری استفاده می کند[[23],[35 .[32],
آقایان Zhang و Zulkernine در [21] یک مدل ترکیبی از سیستم های تشخیص نفوذ ارائه دادند که در واقع با استفاده از الگوریتم Random Forest ابتدا حملات شناخته شده را از طریق ماژول مبتنی بر امضاء پیدا می کند و سپس حملات خارج از پایگاه اطلاعاتی را با استفاده از همان الگوریتم و ماژول مبتنی بر ناهنجاری پیدا می کند. برای ارزیابی از مجموعه داده KDDCUP 1999 استفاده کرد که نتایج حاکی از آن است این سیستم ترکیبی 94.7 درصد حملات را با تنها حدود 2 درصد نرخ هشدار غلط توانسته پیدا کند.
2-4-1) دسته بندی براساس ساختار سیستم حفاظتی
1-2-4-1) سیستم تشخیص نفوذ مبتنی بر میزبان9 :
این نوع از سیستم های تشخیص نفوذ که اختصارا HIDS نامیده می شوند تنها به بررسی تبادل اطلاعات موجود در یک کارت شبکه می پردازند. به عبارت دیگر سیستم تشخیص نفوذ در هریک از سیستم ها بصورت جداگانه نصب می شود. بدیهی است که این نوع از سیستم ها قادر به تشخیص برخی از حملات که بصورت گسترده در شبکه می افتد نمی باشند و هزینه بالایی در بر خواهند داشت و نیز با تمامی سیستم های عامل سازگار نمی باشد اما یکی از مزیت های آن این است که با کاهش تعداد قوانین سرعت آن افزایش می یابد.
شکل 1-2: HIDS ها روی هر یک از سیستم ها بصورت جداگانه نصب می شوند
2-2-4-1) سیستم تشخیص نفوذ مبتنی بر شبکه10 :
در این سیستم ها (NIDS) برخلاف حالت قبل به بررسی حملات روی شبکه می پردازد. یعنی علاوه بر برسی بسته های رسیده به کارت شبکه خود به اطلاعات در حال نقل و انتقال در کل شبکه نیز می پردازد.(مثلا بسته های عبوری از روتر را مورد بررسی قرار میدهد) اگر ترافیک شبکه رمز شده باشد، NIDS نمی تواند برخی از حملات را تشخیص دهد این نوع از سیستم های تشخیص نفوذ کارایی بالای برای تشخیص حملات DOS دارند.
شکل1-3 : NIDS باید در جایی قرار داشته باشد که ترافیک کل شبکه را مورد بررسی قرار دهد.
3-2-4-1) مدل ترکیبی:
بدیهی است بهترین حالت وقتی است که ترکیبی از دو حالت قبل یعنی NIDS و HIDS برای تشخیص حملات در شبکه داشته باشیم.
3-4-1) دسته بندی از لحاظ ساختار پردازشی:
از لحاظ ساختار پردازشی بسته می توان سیستم های تشخیص نفوذ را به دو حالت متمرکز و توزیع شده تقسیم بندی کرد. در حالت اول تمام پردازش ها دریک سیستم مرکزی انجام می پذیرد اما در حالت دوم هر سیستم بصورت جداگانه پردازش بسته ها را انجام می دهد.(در این حالت از Agent ها برای این پردازش ها استفاده می کنند)
4-4-1) دسته بندی بر اساس نوع منابع داده:
برحسب اینکه سیستم تشخیص نفوذ از چه منبع داده ای برای تشخیص حملات استفاده می کند می توان سیستم های تشخیص نفوذ را به دسته های مختلفی تبدیل کرد. این منابع داده ای می توانند موارد زیر باشند:
منابع بازرسی شده بصورت دنباله ای مانند لاگ های سیستم
داده های بدست آمده از آنالیز مکان های مختلف سیستم مانند هسته، سرویس، فایل ها و …
بسته های شبکه
5-4-1) دسته بندی براساس رفتار بعد از حمله:
برحسب اینکه بعد از تشخیص حملات چه عملیاتی توسط سیستم های تشخیص نفوذ انجام بگیرد به دو دسته فعال و غیر فعال می توان این سیستم ها را تقسیم بندی کرد. درحالت فعال سیستم، بعد از تشخیص حملات اقدام به هدایت فرد متخاصم به سمت کوزه عسل11 و یا اقداماتی از این قبیل می نماید.
6-4-1) دسته بندی بر اساس جنبه های زمانی
و درنهایت سیستم های تشخیص نفوذ را بر اساس زمانبندی آنالیزها می توان به دو دسته تقسیم بندی کرد: بررسی بسته های شبکه بصورت ممتد یا همان بلادرنگ و بررسی بصورت دوره ای که در این حالت داده ها را ابتدا ذخیره کرده و در بازه های زمانی مختلف به تحلیل آنها و پیدا کردن حملات می پردازند و در صورت پیدا کردن نشانه های از حملات به مدیر شبکه هشدار می دهد.
فصل دوم : ادبیات و پیشینه تحقیق
1-2) داده کاوی: مقدمه
بطور خلاصه داده کاوی12 عبارت است از کاوش یا استخراج دانش در مجموعه عظیمی از داده ها. ?رشد روز افزون داده در شاخه های مختلف صنعت و علوم باعث شده است تا از کامپیوتر و علوم مربوط به آن جهت پردازش این حجم بالا از داده ها استفاده شود. بطور کلی هدف از پردازش داده ها، استخراج?اطلاعات و دانش از آنها به گونه ای است که بتوان در علوم و کاربردهای دیگر از آنها استفاده نمود. کاوش?داده عبارت است از اعمال روشهای مبتنی بر کامپیوتر جهت استخراج دانش از روی داده های خام. در?سالهای اخیر روشهای مختلف و متنوعی جهت کشف و استخراج دانش از روی داده های خام ارائه شده?است. دانش مزبور پس از استخراج شدن قابل ارزیابی توسط اشخاص خبره می باشد. با توجه به ارزیابی?افراد خبره و همچنین روشهای موجود در بررسی کیفیت دانش استخراج شده، این امکان وجود دارد تا ?کارآیی الگوریتم کاوشگر دانش مورد مطالعه و بررسی قرار گیرد.,[4] [25]
?2-2) داده کاوی: مفاهیم کلی?
?بطور کلی علوم و مهندسی بر اساس مدلهای علمی اولیه سعی در توصیف انواع مختلف سیستم ها ?می کنند. این توصیفها معمولا با یک مدل علمی اولیه مانند قوانین نیوتن در حرکت یا معادلات ماکسول در الکترومغناطیس آغاز شده و سپس بر اساس مدل بکار رفته مسائل مختلفی در مهندسی مکانیک یا?مهندسی برق مورد بررسی و آنالیز قرار میگیرد. از داده های آزمایشگاهی در اینگونه موارد جهت ارضاء?مدلهای اولیه موجود استفاده میشود. در این راستا پارامترها و یا متغیرهایی که امکان محاسبه و?اندازه گیری آنها به طور مستقیم وجود ندارد و یا مشکل است تخمین زده می شوند. در علوم مختلف?همیشه امکان داشتن مدلهای اولیه ذکر شده وجود ندارد. همچنین بدست آوردن یک فرمول بندی ریاضی?جهت واکشی یک مدل معمولا پیچیده و حتی در اکثر موارد امکانپذیر نمی باشد.
با رشد علم کامپیوتر و?افزایش داده های متنوع در علوم مختلف، امکان استخراج مدلهای حاکم بر مسائل گوناگون از روی?داده های مزبور میسر است.?
?نیاز به درک وقایع نهفته در حجم انبوهی از داده ها در زمینه های مختلف تجاری، علوم و مهندسی وجود?دارد. در دنیای تجارت، داده های شرکت و مشتری به عنوان منابع اصلی تصمیم گیری شناخته می شوند. استفاده مناسب از داده های مزبور میتواند نقش تعیین کننده ای را در موفقیت و پیشرفت یک مجموعه?تجاری ایفا کند.?
فرآیند استفاده از یک روش مبتنی بر کامپیوتر جهت استخراج دانش از داده های خام را میتوان یک تعریف کلی برای داده کاوی در نظر گرفت.
1-2-2) اهداف مختلف داده کاوی به دو دسته زیر تقسیم بندی?میشوند:???
1-1-2-2) پیش بینی13: شامل استفاده کردن از برخی متغیرها یا فیلدها در مجموعه داده ها جهت پیش بینی مقادیر نامشخص میباشد.?
?2-1-2-2) توضیح یا توصیف14: تمرکز این قسمت بیشتر بر روی استخراج الگوهای توصیف کننده مجموعه داده ها? به گونه ای است که توصیف مزبور قابل درک و تفسیر به کمک انسان خبره باشد.?
?اهمیت هر کدام از اهداف فوق با توجه به کاربرد خاص داده کاوی متفاوت است.
2-2-2) کاربردهای مختلف?داده کاوی در ادامه ارائه شده اند:?
??-2-2-2) دسته بندی15: هدف در دسته بندی، کشف یک مدل پیشگویی کننده به قسمی است که مدل مزبور توانایی دسته بندی یک داده ورودی را به یکی از مجموعه دسته های خروجی ممکن را دارا باشد.?
??-2-2-2) رگرسیون16: هدف در رگرسیون کشف یک مدل پیشگویی کننده با توانایی نگاشت یک نمونه داده ای به یک متغیر تخمینی است.?
??-2-2-2) خوشه بندی17: در خوشه بندی هدف یافتن مجموعه متناهی از دسته ها یا خوشه ها جهت توصیف داده ها می باشد.?
4- 2-2-2)خلاصه بندی18: شامل روشهایی جهت یافتن توصیفی فشرده برای یک مجموعه داده می شود.?
??-2-2-2) مدل کردن وابستگی19: هدف در مدل کردن وابستگی، یافتن مدلی محلی جهت تبیین وابستگی میان متغیرها یا مقادیر ویژگیها در یک مجموعه داده ای یا بخشی از آن است.?
6 -2-2-2) تشخیص انحراف و تغییر20: تشخیص تغییرات عمده در داده ورودی مهمترین هدف این کاربرد می باشد.?
??
فاکتور موفقیت در داده کاوی وابسته به میزان انرژی، دانش و خلاقیتی است که شخص طراح مدل و الگوریتم داده کاوی برای آن صرف می کند. در واقع فرآیند داده کاوی بسیار شبیه حل یک جورچین است.?
?قطعات یک جورچین هر کدام از نظر ساختار به تنهایی پیچیده نیستند. ولی چنانچه این قطعات به صورت مجموعه ای گرد هم آیند، میتوانند مبین سیستم بسیار پیچیده ای باشند. فرآیند داده کاوی از آن جهت شبیه جورچین است که میتوان هر کدام از نمونه ها در مجموعه داده های ورودی را معرف یک قطعه در جورچین دانست. دانش نهفته در داده های مزبور و یا به عبارت دیگر نظم حاکمی که در میان تمام داده ها وجود دارد و قادر است داده های ورودی یا بخشی از آنها را توجیه کند، همان نقشی است که یک جورچین در صورت کامل شدن ارائه می کند. داده کاوی یکی از زمینه هایی است که در صنعت?کامپیوتر رشد قابل توجهی داشته است. یکی از دلایل این امر رشد روز افزون روش های متنوعی است که از آنها جهت کاوش داده ها و استخراج دانش استفاده می شود. از داده کاوی در صنایع مختلفی استفاده می شود. نمونه هایی از این صنایع عبارتند از: خرده فروشی، تولید و ساخت، مخابرات، بهداشت و درمان، بیمه، حمل و نقل، بازاریابی، مهندسی مجدد، قانون و جزاء و امنیت.?
?از دیدگاه کلی میتوان داده کاوی را ترکیبی از علوم آمار و یادگیری ماشین دانست. در علم آمار تأکید ?بیشتر بر روی واکشی یک فرمول ریاضی جهت تبیین رابطه موجود میان داده ها می باشد. در مقابل یادگیری ماشین سعی در توجیه داده ها به صورت کاربردی و ضمنی و نه لزوما فرمولی و صریح، می کند.?
از دیدگاهی دیگر میتوان هدف علم آمار را ارائه یک مدل دقیق برای داده های مورد بررسی دانست. این?هدف در علم یادگیری ماشین بصورت ارائه یک الگوریتم ضمنی جهت بررسی داده ها دنبال می شود. اینکه?علم داده کاوی بیشتر به کدامیک از علوم آمار یا یادگیری ماشین نزدیکتر است بستگی به ماهیت مسأله ای? دارد که داده های مورد کاوش مربوط به آن هستند. هر چقدر که مسأله مزبور شناخته شده تر بوده و دانش ما در مورد داده های مورد کاوش بیشتر باشد، ماهیت علم داده کاوی به علم آمار نزدیکتر می شود.این در حالی است که عدم وجود دانش قبلی درباره داده های مورد کاوش، ماهیت علم داده کاوی را به علم?یادگیری ماشین نزدیکتر می کند. با توجه به آنکه در مسأله تشخیص نفوذ دانش آماری خاصی درباره ?دسته های مختلف (همانند تابع توزیع احتمال وقوع حمله ها، نرخ رخداد دسته های موجود و غیره) برای ما فراهم نمی باشد، به همین دلیل میتوان ماهیت فرآیند داده کاوی را برای این مسأله به علم یادگیری ماشین نزدیکتر دانست.?
3-2) روال داده کاوی?
اگر بخواهیم تعریفی مناسب برای داده کاوی به گونه ای ارائه کنیم که به اندازه کافی گویا بوده و دامنه وسیعی از دیدگاه های موجود در آن را بپوشاند، می توانیم تعریف زیر را ارائه نماییم:?
داده کاوی فرآیندی است که در آن نظم حاکم بر مجموعه ای از داده های موجود کشف شده و در قالب یک مدل توصیف کننده ارائه می گردد.?
کشف یا تخمین وابستگی ها در میان داده ها و یا کشف مفاهیم جدید تنها بخشی از روال کلی است که توسط محققان، مهندسان و همه کسانی که مراحل استاندارد داده کاوی را تا رسیدن به مدل توصیف کننده نهایی طی می کنند، انجام می شود. به عبارت دیگر فرآیند داده کاوی دارای مراحل مختلفی است که ?در ذیل به شرح کلی هر کدام از آنها می پردازیم .[25]
1-3-2) بیان مسأله و فرمول بندی فرضیه?
در این مرحله طراح مدل مجموعه متغیرهایی را که هدف از انجام فرآیند داده کاوی، پیدا کردن چگونگی وابستگی میان آنهاست، تعیین می کند. در صورت امکان شخص مزبور سعی در ارائه فرضیه (ارائه ساختار و مدل کلی پاسخ) در آغاز فرآیند داده کاوی می نماید. آنچه در این مرحله حائز اهمیت است تعامل نزدیک دو فرد خبره می باشد که یکی از آنها در دامنه مسأله ای که داده های مربوط به آن مورد کاوش قرار میگیرد دارای خبرگی است و دیگری در علم داده کاوی. تعامل نزدیک و مناسب دو فرد مزبور در این مرحله سبب ارائه یک فرمول بندی مناسب جهت مسأله ای که داده کاوی سعی در تحلیل آن خواهد داشت، می شود.?
2-3-2) گردآوری داده?
در این مرحله هدف تعیین نحوه و چگونگی تولید و گرد آوری داده های مورد کاوش می باشد. به طور کلی دو وضعیت مشخص و مجزا وجود دارد. اولین وضعیت هنگامی است که فرآیند تولید داده در کنترل طراح مدل می باشد. این روش، آزمون طراحی21 شده نامیده می شود. دومین وضعیت هنگامی است که شخص خبره نمیتواند تأثیری در فرآیند تولید داده داشته باشد. این وضعیت با نام رویکرد مشاهده ای22 شناخته می شود. رویکرد مشاهده ای که گاهی تولید تصادفی داده نیز نامیده می شود در بسیاری از مسائل داده کاوی در نظر گرفته می شود. به طور کلی هنگام جمع آوری داده، چگونگی توزیع داده های نمونه برداری شده کاملا نامشخص است و یا تنها به طور جزئی و ضمنی مشخص می باشد.
وجود دانش مربوط به چگونگی توزیع داده ها میتواند در نتیجه نهایی داده کاوی تأثیر به سزائی داشته باشد. این تأثیر ?هم در کیفیت مدل بدست آمده و همچنین در چگونگی تفسیر آن وجود دارد. همچنین اینکه داده های?آموزشی23(داده هایی که در فرآیند داده کاوی جهت ساخت مدل و تنظیم آن مورد استفاده قرار می گیرند)?و داده های آزمایشی24 (داده هایی که جهت تعیین کارآیی مدل بدست آمده و ارزیابی روش داده کاوی مورد استفاده قرار می گیرند) دارای توزیع یکسانی باشند نیز از اهمیت ویژه ای برخوردار است. در صورت عدم یکسان بودن توزیع مزبور، نمی توان در یک مسأله واقعی از مدل بدست آمده در فرآیند داده کاوی استفاده? نمود.?
3-3-2) انجام پیش پردازش?
?داده ها معموال از پایگاه های داده ای موجود، مخازن داده ها و انبار اختصاصی جمع آوری می شوند. اغلب مرحله پیش پردازش داده ها شامل حداقل دو مرحله معمول می باشد. مراحل مزبور در ادامه توضیح داده ?شده اند.
4-3-2) تشخیص و حذف داده های زائد?
در مجموعه داده هایی که معموال جهت کاوش به الگوریتم داده کاوی ارائه می شوند داده هایی وجود دارند?که در تناقض با داده های دیگر می باشند. به طور معمول داده های مزبور نتیجه خطاهای اندازه گیری، کد?کردن و یا ذخیره کردن هستند. گاهی اوقات هم این داده ها مقادیری غیر عادی هستند که منشاء کاملا?طبیعی دارند. نمونه هایی از مجموعه داده های مورد کاوش که شامل داده های زائد هستند می توانند تأثیر منفی قابل توجهی را در مدل تولیدی الگوریتم داده کاوی داشته باشند. دو راه می توان جهت برخورد با داده های زائد معرفی نمود:?
الف- تشخیص و حذف داده های زائد به عنوان بخشی از مرحله پیش پردازش.?
ب- ارائه مدلی مقاوم که نسبت به داده های زائد (نویزی) غیر حساس باشد.?
نرمال کردن25، کد کردن26 و انتخاب ویژگی ها27?
پیش پردازش داده ها شامل مراحل مختلفی نظیر نرمال و کد کردن متغیرها است. به عنوان مثال چنانچه دو ویژگی داشته باشیم که اولی تغییراتش در بازه [0,1] دومی در بازه [-0.001,1000] باشد، چگونگی تأثیر این دو ویژگی در مدل بدست آمده توسط الگوریتم داده کاوی یکسان نخواهد بود و این اختلاف باعث تأثیر منفی در کارآیی مدل نهایی می گردد. به این ترتیب توصیه می شود که همیشه تمامی ویژگی ها?در یک بازه یکسان نرمال شوند تا از تأثیر تفاوت بازه ها جلوگیری به عمل آید. همچنین با توجه به?مسأله ای که قصد اعمال داده های آن را به الگوریتم داده کاوی داریم، گاهی اوقات با بکارگیری روش کد?کردن خاصی میتوانیم ابعاد داده های ورودی را در مسأله مورد بررسی کاهش دهیم.
به عبارت دیگر تعداد ?ورودی ها را با توجه به یک روش کد کردن خاص می توانیم کاهش دهیم. از آنجا که تعداد کم ورودی ها? همیشه اثری مهم در کاهش پیچیدگی مسأله و به تبع آن افزایش کارآیی الگوریتم داده کاوی در یافتن مدل نهائی می شود، انتخاب روش کدکردنی که بتواند باعث کاهش در تعداد ورودی های اعمالی به الگوریتم داده کاوی شود بسیار مورد توجه می باشد. استفاده از دانش قبلی در هر کدام از انواع روش های پیش پردازش ذکر شده میتواند در افزایش کارآیی فرآیند پیش پردازش نقش به سزائی داشته باشد.
5-3-2) برآورد مدل (کاوش داده)?
انتخاب و پیاده سازی روش داده کاوی مناسب فرآیند مهمی است که در این مرحله انجام می شود. به طور کلی روش ها و الگوریتم های مختلفی جهت یادگیری و تولید یک مدل بر اساس داده های ورودی وجود دارند. به نوعی الگوریتم های مزبور را می توان یک روال جستجو نیز در نظر گرفت. این روال سعی در یافتن مدلی می کند که به بهترین نحو داده های ورودی را پوشش دهد.?
بایستی توجه نمود که الگوریتم داده کاوی که در این مرحله اجرا می گردد، با توجه به ماهیت مسأله ای که?فرآیند داده کاوی سعی در تحلیل داده های آن را دارد، طراحی می گردد.
6-3-2) تعبیر مدل و استخراج نتایج?
?در بسیاری از موارد، مدل های استخراجی توسط روش های مختلف داده کاوی در یک فرآیند تصمیمگیری مورد استفاده قرار می گیرند. مدل های مزبور جهت قابل استفاده بودن بایستی قابل تفسیر باشند. این امر بخاطر آن است که انسان ها تمایل ندارند که اساس و پایه تصمیم های خود را بر مبنای مدل های پیچیده?جعبه سیاه28 قرار دهند. موضوع مهمی که در اینجا وجود دارد آن است که اهداف دقت29 مدل و قابلیت درک30 آن معمولا با یکدیگر در تضاد هستند. اغلب مدل های ساده قابلیت تفسیری بهتری دارند اما دقت آنها پایینتر است. از طرف دیگر مدل های دقیق معمولا ساختار پیچیده ای دارند.?
فرآیند داده کاوی معمولا فرآیندی تکراری در تمامی فازهای آن است. این واقعیت در شکل ?-? نشان?داده شده است. جهت نیل به یک مدل نهائی کارا، بایستی تمامی مراحل مزبور به درستی طی شوند. به عبارت دیگر هیچکدام از این مراحل نمی توانند نقص احتمالی موجود در مراحل دیگر را جبران نماید,[4] ?[25].
4-2) آشنایی با مجموعه داده KDD :

دسته بندی : پایان نامه ها

پاسخ دهید