"مسئله انتخاب ويژگي، يکي از پيچيدهترين مسائل در بازشناسي الگو است و يک مسئله NP-Hard ميباشد. در اين مقاله به بررسي کاربرد الگوريتم رقابت استعماري (ICA: Imperialis Competitive Algorithm) براي انتخاب ويژگي در مسئله تشخيص چهره ميپردازيم. ويژگيهاي استخراج شده براي سيستم تشخيص چهره مورد نظر، با استفاده از موجک Gabor محاسبه ميشوند. ..." ... اینها بخشهایی از چکیده مقاله نوشته شده در مورد استفاده از الگوریتم رقابت استعماری برای انتخاب ویژگی در سیستم تشخیص چهره می باشد. نویسنده این مقاله جناب آقای محمدحسين سيگاري هستند که در لحظه انتشار این پست، دانشجوی دکتری هوش مصنوعی در دانشگاه تهران می باشند. ایشان، این کار ارزشمند را زیر نظر مرحوم دکتر لوکس انجام داده و منتشر کرده اند. اگر علاقه مند، به مطالعه کامل این مقاله هستید، با ما در ادامه مطلب که باز نشری از نسخه کامل این مقاله است، همراه باشید. نسخه پی دی اف به همراه فیلم توضیحات کامل این مقاله نیز در انتهای پست قابل دانلود است.
چکیده: مسئله انتخاب ويژگي، يکي از پيچيدهترين مسائل در بازشناسي الگو است و يک مسئله NP-Hard ميباشد. در اين مقاله به بررسي کاربرد الگوريتم رقابت استعماري (ICA: Imperialis Competitive Algorithm) براي انتخاب ويژگي در مسئله تشخيص چهره ميپردازيم. ويژگيهاي استخراج شده براي سيستم تشخيص چهره مورد نظر، با استفاده از موجک Gabor محاسبه ميشوند. بنابراين هدف از انتخاب ويژگي، انتخاب بهترين موجکهاي Gabor براي استخراج ويژگي است. در آزمايشهاي انجام شده، عملکرد الگوريتم ICA با الگوريتم بهينهسازي جمعي ذرات (PSO: Particle Swarm Optimization) براي انتخاب ويژگي در مسئله تشخيص چهره مورد ارزيابي قرار گرفت. براي بررسي کارايي دو الگوريتم PSO و ICA، از پايگاه داده تصاوير FERET استفاده شده است. از اين پايگاه داده دو مجموعه A و B استخراج شد که هر مجموعه شامل 100 کلاس چهره ميباشد. هر کلاس چهره فقط شامل 2 تصوير است که يک تصوير براي آموزش سيستم و يک تصوير براي آزمايش سيستم استفاده ميشود. در الگوريتم ICA و PSO، برازش هر جواب (مجموعه ويژگيهاي انتخاب شده) بر اساس ميزان دقت بازشناسي بدست آمده از آن جواب روي مجموعه A محاسبه گرديد. پس از پايان الگوريتم انتخاب ويژگي، ويژگيهاي انتخاب شده توسط بهترين جواب نسل آخر، براي تشخيص چهره روي مجموعه B مورد استفاده قرار گرفت. نتايج آزمايشها نشان داد که الگوريتم ICA ويژگيهاي مناسبي را براي سيستم تشخيص چهره انتخاب ميکند، به طوري که با تعداد ويژگيهاي بسيار محدود ميتوان دقت شناسايي خوبي بدست آورد. علاوه بر اين، کارايي الگوريتم ICA در انتخاب ويژگي، بيشتر از الگوريتم PSO مشاهده گرديد.
واژههای کلیدی: الگوريتم رقابت استعماري (ICA)، بهينهسازي جمعي ذرات (PSO)، تشخيص چهره، انتخاب ويژگي، موجک Gabor.
1- مقدمه
يکي از مهمترين و مشکلترين مسائل در حوزه بازشناسي الگو مسئله انتخاب ويژگي است. هدف از انتخاب ويژگي، انتخاب يک زيرمجموعه از مجموعه ويژگيها است به طوري که تعداد ويژگيهاي انتخاب شده کمترين و دقت بازشناسي الگو بيشترين مقدار را داشته باشد. مسئله انتخاب ويژگي يک مسئله NP-Hard است و يکي از مناسبترين ابزارهاي حل اين مسئله، الگوريتمهاي تکاملي هستند.
يکي از محبوبترين و پرکاربردترين الگوريتمهاي تکاملي، الگوريتم ژنتيک (GA) ميباشد. بيشترين شکل استفاده از الگوريتمهاي ژنتيک براي مسئله انتخاب ويژگي اين گونه است که هر کروموزم با يک رشته بيتي با طولي به اندازه کل مجموعه ويژگيها بازنمايي ميشود. حال انتخاب يا عدم انتخاب يک ويژگي از اين مجموعه با بيت يک و صفر نمايش داده خواهد شد. به اين ترتيب نمايش جوابهاي ممکن مسئله به صورت مجموعهاي از رشتههاي بيتي است. بنابراين به راحتي ميتوان از عملگرهاي ترکيب (Recombination) و جهش (Mutation) براي رشتههاي بيتي استفاده کرد. براي تابع برازش نيز ميتوان معياري قرار داد که ضمن انتخاب زيرمجموعهاي از ويژگيها که بيشترين دقت بازشناسي را دارند، تعداد اعضاي آن زير مجموعه نيز حداقل باشد. مثلا اگر بخواهيم تابع برازش را يک ترکيب خطي از دقت بازشناسي و تعداد اعضاي زيرمجموعه ويژگي انتخاب شده قرار دهيم، چنين خواهد شد:
(1)
در رابطه فوق Fi زيرمجموعهاي از ويژگيهاي انتخاب شده، CCR دقت بازشناسي با استفاده از اين ويژگيها، length تعداد اعضاي زيرمجموعه و α يک عدد در بازه [0,1] ميباشد.
در پژوهش حاضر، مقايسهاي ميان دو الگوريتم PSO و ICA در مسئله انتخاب ويژگي براي تشخيص چهره انجام ميشود. هر دوي اين الگوريتمها جزو الگوريتمهاي بهينهسازي برگرفته از رفتار اجتماعي موجودات زنده هستند که شباهتهاي زيادي به هم دارند. در اين مقاله فرض شده تعداد ويژگيها ثابت و از پيش تعريف شده است.، بنابراين در رابطه (1)، مقدار α برابر يک انتخاب ميگردد.
2- بهينهسازي جمعي ذرات (PSO)
الگوريتم PSO يک الگوريتم بهينهسازي مبتني بر رفتار اجتماعي حرکت پرندگان است. اين الگوريتم اولين بار توسط Kennedy و Eberhart در سال 1995 ارائه شد [2]. در الگوريتم PSO، چند ذره (Particle) به عنوان جوابهاي اوليه در فضاي جستجو ايجاد ميشوند. حرکت اين ذرات در فضاي جستجو يک حرکت تصادفي و متاثر از تجربه خود و ديگر ذرات است. به عبارت ديگر، بردار حرکت هر ذره، به طور تصادفي از برايند حرکت در راستاي بهترين مکاني که قبلا در آن بوده (LBest) و بهترين مکاني که قبلا در کل ذرات مشاهده شده (GBest)، تعيين ميگردد.
فرض کنيد Xi مکان ذره iام و Vi سرعت اين ذره باشد، در اين صورت بردار حرکت هر ذره بر اساس روابط زير محاسبه خواهد شد:
(2)
در اين رابطه w، C1 و C2 به ترتيب ضريب اينرسي، ضريب حرکت به سمت LBest و ضريب حرکت به سمت GBest است که جزو پارامترهاي الگوريتم محسوب ميشوند. R1 و R2 نيز اعداد تصادفي هستند.
3- الگوريتم رقابت استعماري (ICA)
براي فهم بهتر الگوريتم ICA سعي ميکنيم رابطهاي ميان الگوريتم ICA و GA برقرار کنيم. در الگوريتم GA تعدادي فرد وجود دارد که يک جمعيت را تشکيل ميدهند. افراد جمعيت بر اثر عملگرهاي ترکيب و جهش در فضاي جستجو به دنبال پيدا کردن بهترين جواب جابجا ميشوند. انتخاب والدين و انتخاب فرزندان جديد براي نسل بعد در الگوريتم GA بر اساس ميزان برازش هر فرد انجام ميشود.
در الگوريتم ICA، به جاي افراد، کشورهايي وجود دارند که هر کشور مشابه يک فرد در الگوريتم GA داراي مشخصاتي است که مکان آن کشور را در فضاي جستجو مشخص ميکند. در اين مجموعه از کشورها که به عنوان نقاطي از فضاي جستجو هستند، تعدادي کشور که ميزان برازش بيشتري دارند به عنوان استعمارگر انتخاب ميشوند. در الگوريتم ICA به جاي اصطلاح ميزان برازش از اصطلاح قدرت (Power) استفاده ميشود. به اين ترتيب کشورهاي قدرتمند به عنوان استعمارگر و کشورهاي ضعيف به عنوان مستعمره قرار ميگيرند. هرچه ميزان قدرت استعمارگر بيشتر باشد، تعداد کشورهاي مستعمره بيشتري را به خود اختصاص خواهد داد. در ابتداي اجراي الگوريتم، کشورها به طور تصادفي توليد ميشوند و چند کشور قدرتمند به عنوان استعمارگر انتخاب ميشوند. سپس ساير کشورها به طور تصادفي به يکي از استعمارگران منتسب ميشوند، به طوري که تعداد مستعمرات هر استعمارگر متناسب با قدرتش خواهد بود.
حرکت در فضاي جستجو به اين شکل ميباشد که هر کشور در راستاي کشوري که مستعمره آن است به صورت تصادفي حرکت ميکند. به عنوان مثال اگر يک استعمارگر را با ستاره و کشور مستعمره آن را با دايره نشان دهيم، حرکت کشور مستعمره به سمت کشور استعمارگر مطابق شکل 2 خواهد بود.
شکل 2: نحوه حرکت کشورها در فضاي جستجو بر اساس الگوريتم ICA
همانطور که در شکل ديده ميشود، اگر فاصله بين کشور مستعمره تا استعمارگر برابر d باشد، حرکت کشور مستعمره به اندازه x و به سمت محل استعمارگر نظير آن خواهد بود. البته اين حرکت با زاويه θ منحرف ميشود که مقدار حرکت x و زاويه θ به طور تصادفي تعيين ميگردد. معمولا مقدار زاويه θ به طور يکنواخت در بازه [-γ,γ] و مقدار حرکت x به طور يکنواخت در بازه [0,βd] انجام ميشود. مقادير γ و β به عنوان پارامترهاي الگوريتم ICA است که به ترتيب برابر 45 درجه و 2 پيشنهاد شده است [1].
اگر در طول انجام الگوريتم و حرکت کشورها، يک کشور مستعمره قدرت بيشتري از استعمارگر نظير خود پيدا کند، جاي کشور مستعمره و استعمارگر عوض خواهد شد. به عبارت ديگر در مراحل بعدي اجراي الگوريتم، تمام کشورهاي مستعمره استعمارگر قبلي، به استعمارگر جديد تعلق خواهند گرفت و حرکت اين مستعمرات به سمت استعمارگر جديد خواهد بود.
در هر مرحله از تکرار الگوريتم ICA، رقابتي استعماري ميان استعمارگران برقرار است. در اين رقابت، استعمارگري که نسبت به ديگر استعمارگران قدرت کمتري دارد، يکي از مستعمرات خود را از دست ميدهد. به اين ترتيب ضعيفترين مستعمره از ضعيفترين استعمارگر به طور تصادفي به يکي از استعمارگران ديگر ملحق ميشود. احتمال انتساب اين مستعمره جديد به هر يک از استعمارگران متناسب با ميزان قدرت استعمارگران خواهد بود.
اگر استعمارگري به دليل از دست دادن مستعمرات خود، هيچ مستعمرهاي نداشته باشد، آن استعمارگر خود به صورت مستعمره يک استعمارگر ديگر در خواهد آمد. مراحل الگوريتم ICA به همين ترتيب ادامه مييابد تا بالاخره تعداد استعمارگران به يک برسد. در اين حالت تمام کشورها، مستعمره يک استعمارگر هستند و الگوريتم به پايان ميرسد. البته شرايط ديگري نيز ميتوان براي پايان الگوريتم قرار داد که از جمله آن اجراي تعداد تکرار معيني از الگوريتم يا يافتن بهترين جواب ممکن است. به اين ترتيب فلوچارت الگوريتم ICA مطابق شکل 3 خواهد شد.
شکل 3: فلوچارت الگوريتم ICA
"ادامه در پست دوم"
منبع : http://www.icasite.info/2011/03/blog-post.html#more
(جهت دانلود فیلم و فایل پی دی اف به سایت منبع مراجعه شود)
آخرین ویرایش: