INTRODUCTION فرموله بندی مباحث مهندس ی نرم افزار با استفاده از الگوریتم های بهینه سازی ارائه دهنده مسلم افراشته مهر استاد راهنما دکتر کیوان پور دانشگاه آزاد اسالمی – واحد قزوین پاییز 93-94 This work is licensed under a Creative Commons Attribution © Copyright Showeet.com INTRODUCTION مراحل کلی فرموله بندی مسائل مهندسی نرم افزار با استفاده از الگوریتم های بهینه سازی مبتنی بر جستجو ()SBO جمع آوری دیتاست نمایش مسئله ( )Datasetمعتبر تعریف تابع برازندگی This work is licensed under a Creative Commons Attribution ارزیابی کار © Copyright Showeet.com INTRODUCTION جمع آوری دیتاست ) معتبرDataset( The Artificial COCOMO’81 dataset • • Published By Boehm In His Seminal Book "Software Engineering Economics" COCOMO’81 Dataset Containing 63 Software Projects including business, scientific and system projects, described by 19 variables (18 input variables and 1 output variable) © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION Variables of the COCOMO data set © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION The Tukutuku dataset • • contains 53 Web projects Each Web application described using 9 numerical attributes such as: the number of html or shtml files used, the number of media files and team experience © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION Software attributes for Tukutuku dataset © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION جمع آوری دیتاست ) معتبرDataset( The Desharnais dataset • • The Desharnais data set consists of 81 software projects described by 11 variables nine independent and two dependent © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION سایر منابع NASA Albrecht Kemerer © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION نمایش مسئله در قسمت زیر ،یک راه حل کاندید ممکن برای TCPبا اندازه 6 نمایش داده شده است: یک راه حل کاندید ممکن برای TCPبا یک مجموعه تست با 6آزمون {}t0,…,t5 This work is licensed under a Creative Commons Attribution © Copyright Showeet.com WHY SBSE سایر روش های نمایش Tree String Bit-matrix Integer array Integer vector Binary String String Object-based Matrix Vector © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION تعریف تابع برازندگی ( Fitness )Function اولین گام پیشنهادی برای تعریف تابع برازندگی این است که دنبال یک Metricموجود باشیم که کیفیت آنچه دنبال بهینه سازیش هستیم را اندازه گیری کند در صورت در اختیار داشتن یک Metricمناسب ،نه تنها راهی برای ارزیابی سریع و راحت روش مبتنی بر جستجوی استفاده شده بوده بلکه کانالی برای مقایسه ی نتایج با سایر تکنولوژی های موجود ی باشد. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com INTRODUCTION ارزیابی کار برای ارزیابی مدل های تخمین تالش نرم افزار،به عنوان مثال (Software effort estimation models( • Magnitude Of Relative Error (MRE) • The MRE values are calculated for each project in the datasets © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION • Mean Magnitude Of Relative Error (MMRE) MMRE computes the average over N projects • • Generally, the acceptable target value for MMRE is 25% his indicates that on the average, the accuracy of the established estimation models would be less than 25%. Another widely used criterion is the Pred(l) which represents the percentage of MRE that is less than or equal to the value l among all projects © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION • The definition of Pred(l) is given as follows: • Where N is the total number of observations and k is the number of observations whose MRE is less or equal to l • A common value for l is 0.25, which also used in the present study • The Pred(0.25) represents the percentage of projects whose MRE is less or equal to 25% • The Pred(0.25) value identifies the effort estimates that are generally accurate whereas the MMRE is fairly conservative with a bias against overestimates. © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION EXP 01 GA-based method for feature selection and parameters optimization for machine learning regression applied to software effort estimation © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION روش های تخمین تالش نرم افزار روش سنتی.1 • Constructive Cost Model (COCOMO) روش های یادگیری ماشین.2 • • • • • • Radial Basis Function (RBF) Neural Networks MLP neural networks Multiple Additive Regression trees Wavelet Neural Networks Bagging Predictors Support Vector Regression (SVR) © Copyright Showeet.com This work is licensed under a Creative Commons Attribution INTRODUCTION مراحل انجام کار Feature ( استخراج ویژگی ها )Extraction (Feature Selection) انتخاب ویژگی ها (Classification) دسته بندی © Copyright Showeet.com This work is licensed under a Creative Commons Attribution استخراج ویژگی ها (Feature )Extraction • • در این مرحله باید ویژگی های نرم افزار را استخراج کنیم برای این کار می توانیم از دیتاست معروف از قبیل NASAاستفاده نماییم This work is licensed under a Creative Commons Attribution © Copyright Showeet.com انتخاب ویژگی ها (Feature )Selection • برای افزایش دقت دسته بندی ،بهتر است زیرمجموعه ای مناسب از ویژگی های مرحله ی قبل را انتخاب کرده و سایر ویژگی ها را حذف نماییم (.)Feature Selection • یکی از راه های انجام این کار ،استفاده از الگوریتم های متاهیورستیک از قبیل الگوریتم ژنتیک می باشد This work is licensed under a Creative Commons Attribution © Copyright Showeet.com دسته بندی ((Classification • • اکنون می توانیم با استفاده از یکی از الگوریتم های دسته بندی (یا ترکیبی از آنها) داده ها را در دسته های مناسب قرار دهیم. دسته بندهای معروف از قبیل SVM ،ANNو ... This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تشریح مثال (Feature Extraction) استخراج ویژگی ها ،COCOMO ،NASA ،Desharnais دیتاست6 • در این پژوهش از . استفاده شده استKoten and Gray وKemerer ،Albrecht • از کلیه ی ویژگی های موجود در دیتاست های فوق استفاده شده است © Copyright Showeet.com This work is licensed under a Creative Commons Attribution تشریح مثال انتخاب ویژگی ها )(Feature Selection در این فاز ،برای افزایش دقت دسته بند دو عمل انجام گرفته است: انتخاب زیرمجوعه مناسب از ویژگی ها • همان طور که پیش از این گفته شد ،بعضی از ویژگی ها ممکن است تاثیر چندانی (یا هیچ تاثیری) در افزایش دقت دسته بند نداشته باشند بنابراین باید تا حد امکان از ورود این ویژگی به عملیات دسته بندی کرد © Copyright Showeet.com This. work جلوگیریis licensed under a Creative Commons Attribution تشریح مثال بهینه سازی پارامترهای تکنیک های یادگیری ماشین • یکی دیگر از کارهای مهم برای افزایش دقت الگوریتم دسته بند ،این است که پارامترهای مربوط به آن الگوریتم را تنظیم نماییم. • در حقیقت تکنیک های یادگیری ماشین همواره دارای پارامترهایی هستند که بر کارایی این تکنیک ها تاثیر می گذارد. • به عنوان مثال ،پارامتر ) complexity(Cیکی از پارامترهای مهم الگوریتم SVMمی باشد که بر دقت آن در دسته بندی داده ها بسیار تاثیر گذار است. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تشریح مثال • به عنوان مثال دیگر ،در دسته بند MLPسعی نماییم بهترین تعداد گره های موجود در الیه ی مخفی ،نرخ یادگیری ( )learning rateبرای الگوریتم back-propagationو نرخ حرکت ( )momentum rateبرای الگوریتم back-propagation را مشخص کنیم. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com الگوریتم های استفاده شده در این پژوهش الگوریتم انتخاب ویژگی ها و بهینه سازی پارامترها Genetic Algorithm الگوریتم های دسته بندی SVR RBF SVR linear MLP M5P © Copyright Showeet.com This work is licensed under a Creative Commons Attribution تنظیم پارامترهای الگوریتم ژنتیک .1 نمایش مسئله (طراحی کروموزوم) کروموزوم در این مسئله به 2قسمت تقسیم می شود • • قسمت اول )g1….gn( ،نشان دهنده ی پارامترهای یادگیری ماشین است که باید بهینه شود قسمت دوم )gf( ،نیزنشان دهنده ی ویژگی های ورودی است که باید انتخاب شوند. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... • برای نمایش ژن ها از کدگذاری دودویی ()binary coding استفاده شده است • تبدیل genotypeبه phenotypeبا استفاده از فرمول زیر انجام می گیرد: نماد P Minp Maxp D L This work is licensed under a Creative Commons Attribution توضیحات phenotypeرشته ی بیتی حداقل مقدار پارامتر حداکثر مقدار پارامتر مقدار دسیمال رشته بیتی طول رشته بیتی © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... • • • دقت پارامترها به طول رشته ی بیتی بستگی دارد (در این پژوهش ،طول برابر 20تعریف شده است) حداقل و حداکثر مقدار ،توسط کاربر تعریف می شود. در این کروموزوم ،ژن مربوط به انتخاب ویژگی به صورت زیر تعریف می شود: اگر بیت 1بود یعنی آن ویژگی نباید حذف شود اگر بیت 0بود بدین معنی است که آن ویژگی باید از مجموعه ویژگی ها حذف شود This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... پارامترهای تکنیک های یادگیری ماشین مطالعه شده در این تحقیق This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... .2 تابع برازندگی ()Fitness function روش های اندازه گیری متفاوتی وجود دارند که برای ارزیابی متدهای پیش بینی در وظایف تخمین هزینه ی نرم افزار استفاده می شود. در این تحقیق دو معیار زیر که معموال استفاده می شود را به کار بردیم: )• Mean Magnitude of Relative Error (MMRE )• PRED(25 This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... • MMREبه صورت زیر تعریف می شود: :Yiمقدار واقعی در پروژه ی I :Yiمقدار پیش بینی شده ی آن :Nتعداد نمونه ها متدهای رگرسیون خوب ،مقدار MMREپایین تولید می کنند. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... • ) PRED(25درصد پیش بینی هایی است که در 25درصد داده های واقعی اتفاق می افتد • یک مدل تخمین هزینه ی نرم افزار زمانی صحت قابل قبول دارد که MMREآن حداکثر 0.25و ) PRED(25آن نیز حداقل 0.75باشد در این تحقیق از دو تابع برازندگی استفاده است This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... یکی برای 5دیتاست (Koten ،Kemerer ،Albrecht ،NASA ،Desharnais )and Gray این تابع دنبال پیدا کردن کروموزوم هایی با )PRED(25 تابع برازندگی که از دو معیار فوق تشکیل شده است ایجاد می شود: می باشد و MMRE باال پایین برای دیتاست COCOMOاز یک تابع برازندگی استفاده می شود که هدف آن پیدا کروموزومی با MMREپایین است .دلیل © Copyright Showeet.com work is licensed کار under a Creative Commons Thisاست که نتایج مربوط به این دیتاست با این نیز Attributionاین تنظیم پارامترهای الگوریتم ژنتیک (ادامه )... دیگری برای دیتاست COCOMO برای دیتاست COCOMOاز یک تابع برازندگی استفاده می شود که هدف آن پیدا کروموزومی با MMREپایین است. دلیل این کار نیز این است که نتایج مربوط به این دیتاست با مقاله ای مقایسه شده است که تالش دارد تنها پارامتر MMREرا کاهش دهد. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com معماری سیستم برای روش مبتنی بر الگوریتم ژنتیک ارائه شده © Copyright Showeet.com This work is licensed under a Creative Commons Attribution تشریح گام های اساسی متد مبتنی بر الگوریتم ژنتیک ارائه شده تبدیل genotypeبه Converting genotype to ( phenotype )phenotype تبدیل هر قسمت از کروموزوم ( )genotypeبه phenotypeبا استفاده از فرمول زیر انجام می گیرد: انتخاب زیرمجموعه ویژگی مناسب ()Feature subset بعد از تبدیل هر قسمت از کروموزوم ( )genotypeبه phenotypeیک زیرمجموعه ویژگی می تواند انتخاب شود This work is licensed under a Creative Commons Attribution © Copyright Showeet.com تشریح گام های اساسی متد مبتنی بر الگوریتم ژنتیک ارائه شده (ادامه )... ارزیابی برازندگی ()Fitness evaluation هر کروموزوم که نشان دهنده ی پارامترهای تکنیک های یادگیری ماشین و ویژگی انتخاب شده است ،با استفاده از تابع برازندگی درنظر گرفته شده ارزیابی می شود. معیار خاتمه ()Termination criteria در صورتی که معیار خاتمه راضی کننده بود ،فرایند خاتمه می یابد در غیر این صورت فرایند با نسل بعدی ادامه می یابد و یا تا زمانی که حداکثر مقدار تعریف شده توسط کاربر به وقوع بپیوندد عملگرهای ژنتیک ()Genetic operation در این مرحله ،سیستم با اعمال عملگرهای الگوریتم ژنتیک از قبیل انتخاب ،تلفیق ،جهش و جایگزینی نخبه ساالری دنبال پیداکردن راه حل بهتر است This work is licensed under a Creative Commons Attribution © Copyright Showeet.com ارزیابی • • • در این پژوهش از 6دیتاست برای ارزیابی متد معرفی شده استفاده می شود از آنجایی که نتایج ،به جمعیت تصادفی تولید شده توسط الگوریتم ژنتیک وابسته است ،برای هر دیتاست 10بار شبیه سازی انجام شده است. در تمام ازمایش ها ،پارامترهای الگوریتم ژنتیک به صورت زیر تنظیم شده است: نوع ( crossoverتلفیق) دونقطه ای ( )two-point نوع انتخاب ()Select چرخ رولت ( )roulette wheelو جایگزینی نخبه ساالری جایگزین های زیادی برای عملگرهای تلفیق و انتخاب الگوریتم ژنتیک وجود دارد This work is licensed under a Creative Commons Attribution © Copyright Showeet.com ارزیابی (ادامه )... برای هر دیتاست ،شبیه سازی هایی با استفاده از ترکیب پارامترهای GAاستفاده شده است. مقادیر هر کدام از پارامترها به شرح زیر می باشد: }Population Size = {50, 100, 200, 300, 500 }Number Of Generations = {20, 25, 50, 100, 200 }Crossover Rate = {0.5, 0.8, 0.7, 0.65, .06 }Mutation Rate = {0.05, 0.1, 0.2, 0.3 با ترکیب پارامترهای الگوریتم ژنتیک استفاده شده کارایی به دست آمد. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com )... (ادامه ارزیابی :بهترین ترکیب برای تمام دیتاست ها Population Size = 500 Number Of Generations = 25 Crossover Rate = 0.8 Mutation Rate = 0.3 ، ترکیب های دیگری از پارامترها،البته برای بعضی دیتاست ها نتایج بهتری دادند © Copyright Showeet.com This work is licensed under a Creative Commons Attribution ارزیابی (ادامه )... از آنجایی که هدف این است کل تالش الزم برای توسعه ی پروژه پیش بینی شود برای شبیه سازی ،دیتاست به دو قسمت تقسیم شده است: • • داده های آموزشی داده های تست به عنوان مثال برای دیتاست ،Desharnaisبرای مجموعه داده های تست 18 ،پروژه از 81پروژه به طور تصادفی انتخاب شده است63 . پروژه ی باقی مانده نیز برای مجموعه داده های آموزش استفاده می شود. This work is licensed under a Creative Commons Attribution © Copyright Showeet.com )... (ادامه ارزیابی تعداد ویژگی های ورودی انتخاب توسط الگوریتم های دسته بند :مورد مطالعه • • • • SVR RBF – 4.4 input features on average. SVR linear – 3.3 input features on average. MLP – 2.7 input features on average. M5P – 4.9 input features on average. © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی با استفاده از روشDesharnais نتایج شبیه سازی برای دیتاست مبتنی بر الگوریتم ژنتیک © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی مقایسه روش مبتنی بر الگوریتم ژنتیک با سایر روش ها بر اساس Desharnais دیتاست © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی با استفاده از روش مبتنی برNASA نتایج شبیه سازی برای دیتاست الگوریتم ژنتیک © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی مقایسه روش مبتنی بر الگوریتم ژنتیک با سایر روش ها بر اساس NASA دیتاست © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه • • • • • ارزیابی Each attribute of the project is categorized according with level of impact on effort estimation The levels are: Very Low, Low, Nominal, High, Very High and Extra High ach one of these levels has a numerical value associated After preprocessing the data set, we divided it into six different pairs of training sets and test sets © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی COCOMO data set: pairs of training sets and test sets. Next, we used these six pairs of training and test sets for training and testing the proposed method and to compare the results obtained with those of Tronto et al. © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی Average and standard deviation of experimental results for COCOMO data set using GA-based approach © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی Average and standard deviation of experimental results for COCOMO data set using GA-based approach © Copyright Showeet.com This work is licensed under a Creative Commons Attribution )... (ادامه ارزیابی Comparison of the GA-based method with MLP [26] on the COCOMO data set. © Copyright Showeet.com This work is licensed under a Creative Commons Attribution Thanks © Copyright Showeet.com This work is licensed under a Creative Commons Attribution