Introduction
Download
Report
Transcript Introduction
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