کلاس بندی فرآيند پيدا کردن يک مدل توصيف کننده و تميز دهنده برای کلاس های داده ها است. اين مدل بايد به شکلی باشد که بتوان از آن برای پيش بينی کلاس داده هايی که برچسب آن ها نامشخص است، استفاده کرد. کلاس بندی کننده، بوسيله يک مجموعه داده آموزش که برای آن ها برچسب کلاس ها مشخص است، ساخته می شود. مدل به دست آمده به شکل های مختلفی مي تواند ارائه شود، برای مثال می توان به قوانين کلاس بندی ، درخت های تصميم ، فرمول های رياضی و شبکه های عصبی اشاره کرد (11).
در زمينه کلاسبندی تحقيقات زيادی انجام شده و روشهای زيادی برای ساخت و بهبود مدلها ارائه شده است. در ادامه اين قسمت روشها و مفاهيمی که در زمينه کلاسبندی در اين تحقيق استفاده شدهاند، شرح داده میشوند.
1-2-2-1- ماشين بردار پشتيبانی[1]
الگوريتم SVMاوليه در 1963 توسط وپنيک[2]ابداع شدو در سال 1995 توسط وپنيک و کورتس[3]برای حالت غيرخطی تعميم داده شد. الگوريتم SVM،جزء الگوريتمهای تشخيص الگو دسته بندی میشود.از الگوريتم SVM، در هر جايی که نياز به تشخيص الگو يا دسته بندی اشياء در کلاسهای خاص باشد ميتوان استفاده کرد. اين روش با فرض اينکه دستهها به صورت خطی جدايی پذير هستند، به دنبال اَبُرصفحهای با حداکثر حاشيه[4] که بتواند دستهها را جدا کند، است. در مسائلی که دادهها به صورت خطی جداپذير نباشند، دادهها به فضايی با ابعاد بيشتر نگاشت پيدا میکنند تا بتوان آنها را در اين فضای جديد به صورت خطی جدا نمود. SVMدر حالت پايه يک روش کلاسبندی کننده دو کلاسه است، اما تحقيقات و پياده سازیها مختلفی برروی آن برای حل مسائل دارای بيش از دو کلاس نيز انجام شده است (12).
1-2-2-2- بگينگ[5]
در اين روش از ترکيب کلاسبندیهای پيشبينی شده توسط چند مدل استفاده میشود و نتيجه نهايی پيشبينی مدلها را يک رأی گيری ساده مشخص خواهد کرد. فرض کنيد چندين مجموعه داده آموزش با اندازههای يکسان به صورت تصادفی از ميان دادههای موجود انتخاب شدهاند و سپس با يک روش يکسان، کلاسبندی کنندههايی با اين دادهها، آموزش داده شدهاند. آيا واقعاً اين کلاسبندی کنندهها يکسان هستند؟ تجربه نشان داده است که نتايج پيشبينی حاصل از اين کلاسبندی کنندهها در برخی موارد يکسان نيست. اين تفاوت در حالتی که مجموعه دادههای آموزش کوچک است، بيشتر میباشد. هدف بگينگ اين است که نتايج اين کلاسبندی کنندههای مختلف را با هم ترکيب کند، به عبارت ديگر کلاسی که بيشترين رأی را در بين پيشبينیهای کلاسبندی کنندهها به دست آورد، به عنوان کلاس داده مورد نظر معرفی میشود. تجربه نشان داده است که نتايج حاصل از بگينگ عموماً نسبت به حالتی که فقط از يک کلاسبندی کننده استفاده شده، بهتر است (12).
1-2-2-3- جنگل تصادفی[6]
جنگل تصادفی مجموعهای متشکل از درختان تصميم است. يک جنگل تصادفی معمولاً از دهها يا صدها درخت تصميم ساخته شده است. در اين روش برای تعيين نتايج نهايی پيشبينی از بگينگ (يا بوستينگ[7] که بگينگ وزندار است) استفاده میشود. اين روش بر خلاف حالت استفاده از يک درخت تصميم حساسيت به نويز پايينی دارد و مدل پايدارتری را ارئه میدهد. اين روش از نظر کارايی با کلاسبندی کنندههای غيرخطی مانند شبکههای عصبی مصنوعی و SVMدر رقابت است.
در اين روش هر درخت تصميم گيری با زيرمجموعهای از دادههای آموزش ساخته میشود؛ اين زيرمجموعهها به صورت تصادفی همراه با جايگذاری انتخاب میشوند. واضح است که برخی از دادهها بيشتر از يک بار در اين مجموعهها ظاهر میشوند و برخی از دادهها اصلاً انتخاب نمیشوند. به طور کلی تقريباً دو سوم دادهها در مجموعههای آموزش ظاهر میشوند و تقريباً يک سوم آنها انتخاب نمیشوند. سپس با استفاده از هر يک از مجموعه دادههای آموزش يک درخت تصميم ساخته میشود و همانطور که پيش از اين نيز اشاره شد، رأیگيری به روش بگينگ نتيجه پيشبينی در اين روش را مشخص میکند (11).
1-2-2-4- اعتبار متقاطع[8]
الگوريتمهای دادهکاوی عموماً بخشی از دادههای موجود را برای آموزش و بخش باقی مانده دادهها را برای تست کلاسبندی کنندهها استفاده میکنند. در عمل معمولاً دو سوم دادهها برای آموزش و يک سوم آنها برای تست استفاده میشود. واضح است که در اين روش امکان اينکه دادههای متعلق به يک کلاس اصلاً در مجموعه دادههای آموزش (يا تست) قرار نگيرند نيز وجود دارد. بنابراين ممکن است استفاده از چنين طبقه بندی کنندهای منجر به بهترين و صحيحترين نتيجه نشود.
اما در روش “اعتبار متقاطع” تعداد ثابتی دسته[9] يا بخش بندی برای دادهها در نظر گرفته میشود. به عنوان مثال n برای تعداد بخشها انتخاب میشود. سپس دادهها به n بخش تقريباً مساوی تقسيم میشوند و در هر مرحله يک بخش برای تست و ديگر بخشها برای آموزش استفاده میشوند و اين کار n بار تکرار خواهد شد. در نتيجه هر داده دقيقاً يک مرتبه به عنوان تست استفاده شده است. در نهايت ميانگين خطای n مرحله به عنوان خطای کلی در نظر گرفته میشود.
عموماً از n=10 برای اعتبار متقاطع استفاده میشود. آزمايشاتی که روی حجم انبوهی از مجموعه دادهها با الگوريتمهای آموزش مختلف انجام شده نشان داده است که n=10 عددی مناسب برای دست يافتن به مقدار تقريبی بهترين خطا است، البته تعدادی مدارک نظری نيز برای مناسب بودن n=10 نيز وجود دارد. با توجه به انتخاب تصادفی دستهها، يک مرتبه انجام اعتبار متقاطع ممکن است، دقتی که کاملاً قابل اعتماد باشد را ارائه نکند، بنابراين بهتر است که انجام اعتبار متقاطع چندين بار تکرار شود (12).
1-2-2-5- اعتبار متقاطع نگهداشتن يکی[10]
روش “اعتبار متقاطع نگهداشتن يکی” مشابه اعتبار متقاطع معمولی است با اين تفاوت که n در اين روش برابر با تعداد نمونهها در مجموعه دادهها است. اين روش ابتدا يک نمونه را جدا میکند، سپس آموزش با استفاده از همه نمونههای باقی مانده انجام میشود و پس از آن يک نمونه نگه داشته شده، به کلاسبندی کننده، برای تست داده میشود. اين روش به دو دليل مورد توجه قرار میگيرد: اول اينکه از بزرگترين مجموعه داده آموزش استفاده میشود و اين مسئله شانس رسيدن به يک کلاسبندی کننده دقيق را افزايش میدهد. دوم اينکه اين روش يک روش قطعی است. يعنی مجموعهها به صورت تصادفی انتخاب نمیشوند و با هر بار تکرار فقط يک نتيجه حاصل میشود. اما اين روش هزينه محاسباتی زيادی دارد، زيرا برای هر داده يک بار فرآيند آموزش تکرار میشود و در عمل اين روش فقط برای مجموعه دادههای کوچک قابل استفاده ميباشد (12).
[1] Support Vector Machines (SVM)
[2]Vapnik Vladimir
[3]Cortes Corinna
[4] Maximum margin
[5]Bagging
[6] Random Forest
[7]Boosting
[8]Cross-Validation
[9] Folds
[10]Leave-One-Out