پایان نامه درمورد ، کاذب، نمونههای، استخراج، ماژول، SSA، پالایش، درستی

بیشتر بخشیدن به الگوریتم تصمیم گیری C5.0 استفاده شده است [27].
معیارهای ارزیابی کارایی
جدول2-1. جدول درهم شامل کلاس های واقعی در مقابل کلاس های پیش بینی شده
ارزیابی دقت مدلهای پیشبینیکننده این تحقیق برای عملگر تصحیح برچسب، برحسب نسبت تعداد تصمیم گیریهای درست از سیستمهای یادگیری در مقایسه با طبقه بندی دستی به تعداد کل کاندیدا است. ماتریس درهم جهت ارزیابی طبقه بندیهای دودویی میباشد که در این تحقیق برای ارزیابی بخش پالایش نمونهها وتصحیح برچسب استفاده میشود [17]. همانطور که در جدول 2-1 مشاهده می شود ماتریس درهم کلاس های واقعی را در مقابل کلاس های پیش بینی شده در داده آزمایش نشان میدهد.
85852021590
ماتریس درهم شامل چهار قسمت می باشد :
مثبت صحیح (TP) : تعداد نمونههای استراتژی که به درستی استراتژی پیش بینی شدهاند.
مثبت کاذب (FP) : تعداد نمونههای غیر استراتژی که به اشتباه استراتژی پیش بینی شده اند.
منفی کاذب (FN): تعداد نمونههای استراتژی که به اشتباه استراتژی غلط پیش بینی شده اند.
منفی صحیح (TN) : تعداد نمونههایی که غیر استراتژی بودهاند و به درستی پیش بینی شده که استراتژی غلط هستند.
چند معیار کارایی از ماتریس درهم بدست میآید که در زیر تشریح میشوند:
Percision=TpTp+Fp*100 Precision : درصد درستی الگوهایی که شناسایی شده اند.
(2-1)

Accuracy=Tp+TnTp+Fp+Fn+Tn*100: Accuracy درصد نمونههای الگو و بدون الگویی که به درستی با نام الگو یا بدون الگو شناسایی شدهاند.
(2-2)

نرخ مثبت صحیح (TPR) : درصد الگوهایی که به درستی شناسایی شدهاند ( همان Recall است) .
(2-3)
Tp rate=TpTp+Fn*100
معیارهای فوق در این تحقیق به منظور ارزیابی دو عملگر پالایش و تصحیح برچسب استفاده میشوند.
جمع بندی
در این فصل به طور خلاصه چند طبقه بند که برای ساخت مدل در این تحقیق استفاده شده است، بررسی گردید. در نهایت هم معیارهای ارزیابی مدلها ارائه گردید.
فصل سوم
مروری بر تحقیقات پیشین
مقدمه
محققان بسیاری در زمینه خودکار یا نیمه خودکارسازی شناسایی الگوهای طراحی از کد منبع یا طراحی کار کردهاند. در ادامه این بخش، به طور خلاصه بر برخی از تحقیقاتی که از نظر هدف و یا شیوه کار شباهت بیشتری به تحقیق ما دارند مروری خواهیم داشت.
کارهای مرتبط
در سال 1998 [10] یک روش سه مرحلهای برای شناسایی الگوها ارائه شد. ابتدا از طریق محاسبه مقادیر یک سری معیارهای عام شیگرا، نظیر شمارش تعداد صفات، تعریفها، و … برای هر کلاس موجود در کد و هر نقش الگوی مورد جستجو، کاندیدهای هر نقش شناسایی شد. در گام اول، فضای جستجو (از طریق حذف کلاسهایی که کاندید نشدند) تا حد زیادی کاهش داده شد. در مرحله دوم از طریق مسأله کوتاهترین مسیر، نزدیکترین مسیر بین کاندیدهایی که میتوانند به هم مرتبط شوند، شناسایی شد. سپس هر ترکیب بدست آمده از مرحله دوم به عنوان کاندیدهای الگوی مورد جستجو شناخته شد. در مرحله سوم به دلیل وجود مثبت کاذب بسیار زیاد در مرحله دوم، از محدودیت واگذاری مسئولیت استفاده شد. چنانچه الگویی باید این محدودیت را داشته باشد، ترکیب بدست آمده از مرحله دو، برای داشتن این محدودیت مورد بررسی قرار داده شد، چنانچه چنین محدودیتی نداشت آن ترکیب حذف میشد. با این حال، روش [10]، میزان مثبت کاذب بالایی دارد. عیب اصلی [10]، در محوریت اصلی کارشان، استفاده از معیارهای عام شیگرایی بود که از پایه با هدف سنجش الگوها استخراج نشده بودند.
درسال 2005 [4]، بجای ابداع یک ابزار جدید، یک روش پالایش ابزار خودکار ارائه داد. ورودی پالایش، خروجی ابزار 2003 [3] بود که توسط خودشان ابداع شده بود و میزان مثبت کاذب بالایی داشت. در[4]، براساس انعطافپذیریها و تنوع پیادهسازیهای هر الگو، یک سری معیار استخراج شد. این معیارها از پایه با هدف سنجش و بررسی حضور الگوها استخراج شدند. روش کار به این صورت بود که خروجی بدست آمده از ابزار[3]، به صورت دستی تجزیه و تحلیل شد، و هر نمونه شناسایی شده، مورد بازبینی قرار گرفت. بطوریکه اگر نمونه به درستی شناسایی شده بود، برچسب درست، و اگر ابزار در شناسایی آن دچار اشتباه شده بود، برچسب نادرست میگرفت. سپس یک مجموعه داده تهیه شد. نمونهها به عنوان رکوردهای آن، معیارها به عنوان صفات توصیف کننده نمونهها، و هویت آنها (درست و نادرست) به عنوان ستون خروجی مجموعه داده قرار گرفت. نهایتا با استفاده از الگوریتمهای دادهکاوی و مقادیر معیارها روی نمونهها، یک سری قوانین استخراج شد که با کمک آنها میتوان نمونههای ناشناخته در مجموعه داده را تعیین هویت کرد.
کار[4] انجام شد تا، نمونههای مثبت کاذب ابزار شناسایی، و از خروجی حذف شوند. پالایش [4]، خروجی [3] را تاحد زیادی بهبود داد، اما معیارهای [4]، تنها بر اساس تنوع پیادهسازیهای یک الگو استخراج شده بودند و ساختار و عملکرد مشابه الگوهای دیگر در تولید معیارها در نظر گرفته نشده بودند. از طرفی با اینکه حذف نمونههای مثبت کاذب خروجی مطمئنتری را در اختیار توسعه دهنده قرار میدهد، در همان حال، خیلی از اطلاعات را نیز از بین میرود.
فرانسیسکا و همکارانش [12][11] ابزاری تحت نام مارپل متشکل از پنج ماژول اصلی را توسعه دادند. این ابزار نه تنها فعالیت شناسایی الگوهای طراحی را بلکه بازسازی معماری نرم افزار را نیز پشتیبانی میکند. اولین ماژول آن، موتور شناسایی اطلاعات نامیده میشود این ماژول مدلی از سیستم میسازد و یک سری معیارها و ساختارهای ریز را جمع آوری میکند. دومین ماژول که وصل کننده نامیده میشود تمام کاندیدای الگوهای طراحی که معیارهای یک تعریف داده شده از هر الگو را برآورده میکنند استخراج میکند. سومین ماژول، طبقه بندی است که کمک میکند مثبت کاذب های بخش قبلی را شناسایی کرده و شباهت آنها را با پیاده سازیهای صحیح هر الگوی مورد نظر، با انتساب مقادیر اطمینان مختلف مورد سنجش قرار میدهد. دو ماژول آخر جهت بازسازی معماری نرم افزار مورد استفاده قرار میگیرند. معیارهای اندازه گیری شده توسط مارپل، معیارهای شیگرایی هستند که در تولید بعضی از منظرهای معماری بهرهگیری میشوند. بخش یادگیری ماشین از فرایند شناسایی، توسط ماژول سوم پیاده سازی میشود که کاندیدای استخراج شده از ماژول دوم را به عنوان ورودی میگیرد و سپس از الگوریتمهای گروه بندی و طبقه بند موجود در نرم افزار weka برای پالایش کردن نمونههای مثبت کاذب استفاده میکند. عملیات پالایش این شیوه با محاسبه نمره مشابهت بین نمونه صحیح هر الگو با کاندیدای شناسایی شده انجام میگیرد. نمره دهی بر حسب مشابهت، به ساختار پایه الگو بسیار محدود میشود درحالیکه الگوهای طراحی در خیلی از موقعیتها از ساختار پایه خود به دلیل انعطاف پذیری که دارند، دور میشوند.
ستورا و همکارانش [13] شیوهای را ارائه دادند که بر اساس آن، کاندیدای نقشهایی که ترکیب آنها کاندیدهای الگوها را تشکیل میدهد، با اندازهگیری یک سری معیارها و تکنیکهای دادهکاوی، جستجو میشود. سپس با آنالیز رابطهی بین کلاسی کاندیدها، الگوی مورد نظر شناسایی میشود. در این شیوه سعی میشود الگوهایی که ساختار مشابهی به یکدیگر دارند از هم تشخیص داده شوند، اما در واقع معیارهای استخراج شده برای الگوهایی با ساختار مشابه را دقیقا یکسان در نظر گرفتهاند و آنها را در یک گروه شناسایی میکنند. در این روش از تکنیک شرایط محدود کننده استفاده نمیشود و خصوصا به همین دلیل روششان آماده پذیرش مثبت کاذب بسیاری میباشد.
تی سن تا لیس و همکارانش [12][9] ابزاری به نام SSAارائه دادند. در SSA از یک الگوریتم نمرهدهی که نمره مشابهت هر زیر گراف سیستم را (فضای جستجو) با هر گراف الگوی مورد جستجو محاسبه میکرد، استفاده شد. چون الگوریتم SSA خواص انتقال را در ارث بری و واگذاری مسئولیت در نظر میگیرد، تنوع پیادهسازیهای یک الگو که از ساختار پایه خود فاصله گرفتهاند را نیز شناسایی میکند. SSA درصد بازیابی بالایی دارد، تعداد زیادی از الگوهای موجود را شناسایی میکند، به راحتی قابل استفاده است، و همچنین سرعت بالایی دارد. اما بدلیل اینکه الگوریتم SSA تنها بر قواعد ساختاری تاکید دارد، الگوهایی که ساختار یکسانی دارند و تنها در رفتار متفاوت میشوند، و یا آنهایی که عملکرد مشابهی دارند، توسط SSA قابل متمایز شدن نیستند و SSA آنها را در یک گروه شناسایی میکند (مثل “وضعیت/ استراتژی”).
شی و همکارانش [5] ابزاری به نام PINOT ارائه دادند. در تولید PINOT از این اصل استفاده شد،” باتوجه به اینکه هر الگوی طراحی باید هدف مشخصی را برآورده کند، بنابراین باید ازآن هدف، یک تعریف عملی در پیادهسازی آن الگو وجود داشته باشد”. در [5] سعی شد تا تعریف عملی مربوط به هدف هر الگو از پیادهسازی آن الگو بیرون کشیده شود، سپس PINOT برای شناسایی الگوها، تعاریف عملی بیرون کشیده شده را به عنوان محدودیتهای اجباری با آنالیز

متن کامل در سایت homatez.com