Presentation is loading. Please wait.

Presentation is loading. Please wait.

يادگيري ماشين الگوريتمهاي ژنتيک نيمسال اول 87-1386 دکتر مازيار پالهنگ آزمايشگاه هوش مصنوعي دانشکدة مهندسي برق و کامپيوتر دانشگاه صنعتي اصفهان بسمه تعالي.

Similar presentations


Presentation on theme: "يادگيري ماشين الگوريتمهاي ژنتيک نيمسال اول 87-1386 دکتر مازيار پالهنگ آزمايشگاه هوش مصنوعي دانشکدة مهندسي برق و کامپيوتر دانشگاه صنعتي اصفهان بسمه تعالي."— Presentation transcript:

1 يادگيري ماشين الگوريتمهاي ژنتيک نيمسال اول 87-1386 دکتر مازيار پالهنگ آزمايشگاه هوش مصنوعي دانشکدة مهندسي برق و کامپيوتر دانشگاه صنعتي اصفهان بسمه تعالي

2 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13862 انگيزه الگوريتمهاي ژنتيک (ا.ژ.) يک روش يادگيري مشابه تکامل زيست شناختي است. به جاي جستجو از فرضيهاي عام به خاص، يا از فرضيه هاي ساده به پيچيده، ا.ژ. فرضيه هاي بعدي را بوسيلة مکررأ ترکيب قسمتهائي از بهترين فرضيه هاي شناخته شدة فعلي توليد مي کنند.

3 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13863 انگيزه محبوبيت ا.ژ. به چند دليل است که عبارتند از: –تکامل به عنوان يک روش موفق و مقاوم براي تطابق در سيستمهاي زيست شناختي شناخته شده است. –ا.ژ. مي توانند فضاي جستجوي فرضيه هائي را جستجو کنند که شامل قسمتهاي متعامل پيچيده اي هستند، که اثر هر جزء روي برازندگي کلي فرضيه ممکن است براي مدل کردن مشکل باشد.. –ا.ژ. بسادگي موازي مي شوند و مي توانند از مزيت هزينه هاي رو به کاهش سخت افزارهاي کامپيوتري نيرومند بهره ببرند.

4 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13864 جايگاه الگوريتمهاي ژنتيگ روشهاي جستجو روشهاي شمارشيروشهاي جستجوي تصادفيروشهاي محاسباتي الگوريتمهاي تکامليآب فلز کاري روشهاي ديگر الگوريتمهاي ژنتيک موازيمتوالي

5 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13865 الگوريتمهاي ژنتيک الگوريتمهاي ژنتيک معمولأ مسئله را به يک مجموعه از رشته ها، که هر رشته يک حل بالقوه مي باشد، تصوير مي کنند. يک ا.ژ. بر روي يک چرخة ساده عمل مي کند: –ايجاد يک جمعيت اوليه –ارزيابي هر يک از اعضاء –انتخاب بهترين اعضاء –دستکاري ژنتيکي براي ايجاد جمعيت جديد

6 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13866 چرخة اصلي الگوريتمهاي ژنتيک جمعيت (کرمزمها) انتخاب (حوض جفتگيري) عملگرهاي ژنتيکي ارزيابي (برازندگي) رشته هاي رمزگذاري شده والدين توليد جفتها فرزندان

7 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13867 الگوريتم ژنتيک (برازندگي، آستانة_ برازندگي، p، r، m) مقدار اوليه دهي جمعيت : P  p فرضيه بصورت تصادفي توليد کن ارزيابي: براي هر h در P، برازندگي(h) را محاسبه کن تا وقتيکه (حداکثر برازندگي(h)) < آستانة_برازندگي انجام بده يک نسل جديد P S ايجاد کن 1.انتخاب: بطور احتمالي (1-r)p عضو P را انتخاب کن که به P S اضافه شوند. 2.ترکيب: بطور احتمالي r.p/2 جفت از فرضيه هاي P انتخاب کن. براي هر جفت (h 1,h 2 ) دو فرزند با اعمال عملگر ترکيب توليد کن. همة فرزندان را به P S اضافه کن

8 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13868 3.جهش: m درصد از اعضاي P S را با احتمال يکنواخت انتخاب کن. براي هر کدام، يک بيت تصادفي انتخاب شده را معکوس کن. 4.به هنگام در آوري : P  P S 5.ارزيابي: براي هر h در P برازندگي(h) را محاسبه کن –فرضيه اي در P که داراي بالاترين برازندگي است را بازگردان.

9 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-13869 در هر بار تکرار الگوريتم تعدادي فرضيه از جمعيت فعلي بصورت احتمالي با مقدار احتمال زير انتخاب مي شوند:

10 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138610 نمايش فرضيه ها فرضيه ها در ا.ژ. معمولأ بصورت رشته هاي بيتي نمايش داده مي شوند، چون آنها بدين طريق مي توانند بسادگي بوسيلة عملگرهاي ژنتيکي تغيير داده شوند. به عنوان مثال فرض کنيدمي خواهيم کمترين مقدار تابع f(x)=x 2 را براي x در بازة [31-0] بيابيم. مقدار x را مي توانيم توسط معادل دودوئي آن توسط 5 بيت بين [11111-00000] نمايش دهيم.

11 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138611 حتي قوانين اگر-آنگاه را نيز مي توان بصورت رشته هاي بيتي نمايش داد. مثال: (پيش بيني=ابري  باراني )  ( باد=قوي) (011 10) و اگر باد=قوي آنگاه تنيس-بازي=بله پيش بيني باد تنيس-بازي (111 10 10)

12 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138612 عملگرهاي ژنتيکي

13 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138613 عملگرهای ژنتيکي

14 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138614 تابع برازندگي و انتخاب تابعي که گفته شد: به تابع انتخاب چرخ رولت معروف است.

15 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138615 چرخ رولت

16 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138616 روشهاي ديگر انتخاب انتخاب تورنمنت: –h 1 و h 2 را بصورت تصادفي و با توزيع يکنواخت انتخاب کن –با احتمال p، برازنده ترين را انتخاب کن انتخاب رتبه: –همة فرضيه ها را بر اساس برازندگي آنها مرتب کن –احتمال انتخاب متناسب با رتبة فرضیه در اين لیست است

17 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138617 انتخاب رتبه قبل از رتبه بندي (بر اساس برازندگي) بعد از رتبه بندي

18 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138618 يک مثال - GABIL يادگيري مجموعة فصلي قوانين گزاره اي قابل مقايسه با C4.5 برازندگي: نمايش: اگر a 1 =T  a 2 =F آنگاه c=T، اگر a 2 =T آنگاه c=F بصورت: a1a1 a2a2 ca1a1 a2a2 c 11100 011

19 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138619 عملگرهاي ژنتيکي: –رشته هاي بيتي با طول متغير هستند. –مي خواهيم رشته هاي توليد شده قوانين با معنائي باشند. –با شروع از: –و–و –ابتدا نقاط تقاطع را براي h 1 بدست مي آوريم: مثلأ 1و 8 (ترکيب دو نقطه اي تصادفي) –در اين حالت 1=d1 و 3=d2 –حال نقاط تقاطع در h 2 را محدود به حالاتي مي کنيم که توليد قوانين با معنائي نمايند: مثلأ ، ، و a1a1 a2a2 ca1a1 a2a2 c 1001111100 a1a1 a2a2 ca1a1 a2a2 c 0111010011

20 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138620 –با شروع از: –و–و –اگر را انتخاب کنيم خواهيم داشت: a1a1 a2a2 ca1a1 a2a2 c 1[0011111]00 a1a1 a2a2 ca1a1 a2a2 c 0[11]1010011 a1a1 a2a2 c 11100 h1 h2 h3 h4 a1a1 a2a2 ca1a1 a2a2 ca1a1 a2a2 c 0001111 010011

21 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138621 بسطهاي GABIL اضافه کردن عملگرهاي ژنتيکي جديد: 1.اضافة-ديگري (AddAlternative): عموميت دادن محدوديت روي a i با تغيير يک 0 به 1. 2.انداختن- شرط (DropCondition): عموميت دادن محدوديت روي a i با تغيير همة 0 ها به 1. 3.اضافه کردن محدوده هاي جديد به رشته هاي بيتي جهت نمايش آنکه دو عملگر اول اجازة استفاده شدن دارند يا نه: a1a1 a2a2 ca1a1 a2a2 cAADCDC 0001111 010

22 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138622 نتايج GABIL کارآئي GABIL با ديگر روشهاي يادگيري نمادين همانند C4.5، ID5R، AQ14 مقايسه شد. نتايج کارآئي متوسط روي يک مجموعه از 12 مسئلة ساختگي عبارت است از: GABIL بدون AA و DC 92.1% GABIL با AA و DC 95.2% روشهاي نمادين بين 91.2% تا 96.6%

23 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138623 ارزيابي جمعيت چگونه تکامل جمعيت در يک ا.ژ. را ارزيابي کنيم؟ شما = يک رشتة بيتي شامل 0، 1، و * يک شماي نوعي: 00**10 نمونه هائي از شماي فوق: 100000، 101000، 101100،... مشخص کردن جمعيت بوسيلة تعداد نمونه هائي که يک شماي ممکن را نمايش مي دهند. قضية شما تکامل يک جمعيت را بر اساس تعداد نمونه هائي که هر شما را نمايش مي دهند مشخص مي کند.

24 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138624 فقط انتخاب را در نظر بگيريد m(s,t)= تعداد نمونه هاي شماي s در جمعيت در زمان t. = متوسط برازندگي همة افراد در جمعيت در زمان t. = متوسط برازندگي نمونه هاي شماي s در جمعيت در زمان t. احتمال انتخاب h در يک مرحله از انتخاب:

25 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138625 مي دانيم که: احتمال انتخاب h متعلق به s:

26 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138626 تعداد مورد انتظار نمونه هاي s پس از n انتخاب:

27 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138627 قضية شما p c = احتمال ترکيب تک نقطه اي p m = احتمال عملگر جهش l= طول هر يک از رشته ها در جمعيت o(s)= تعداد بيتهاي تعريف شده در s d(s)= فاصلة چپترين و راستترين بيتهاي تعريف شده در s

28 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138628 انبوهي پرکردن جمعيت توسط فردي با برازندگي بيشتر مي تواند باعث کاستن تنوع جمعيت و کند کردن پيشرفت ا.ژ. شود. راه حلها: –تغيير تابع انتخاب –اشتراک برازندگي (برازندگي يک فرد با حضور افراد همنوع کاسته شود.) –محدود کردن نوع افرادي که مي توانند با هم ترکيب شوند.

29 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138629 برنامه نويسي ژنتيکي افراد به جاي رشته هاي بيتي، برنامه هاي کامپيوتري هستند. برنامه ها بصورت يک درخت نشان داده مي شوند. رئوس داراي دو نوع هستند: –تابعها –پايانه ها (ثابتها، وروديها) لازم است ابتدا تابعها و پايانه ها مشخص شوند.

30 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138630 برنامه نويسي ژنتيکي

31 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138631 ترکيب

32 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138632 مسئلة بلوکها پايانه ها: –CS (current stack): نام بالاترين بلوک روي پشته، يا F اگر پشته اي وجود ندارد. –TB (top correct block): نام بالاترين بلوک روي پشته بطوريکه آن و بلوکهاي زير آن به ترتيب صحيح هستند. –NN (next necessary): نام بلوک بعدي که بالاي TB در پشته لازم است. اگر بلوک ديگري لازم نيست F باز مي گرداند.

33 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138633 توابع ابتدائي: –(MS x) (move to stack): اگر بلوک x روي ميز است، x را به بالاي پشته حرکت مي دهد و مقدار T را باز مي گرداند. در غير اينصورت، کاري انجام نمي دهد و مقدار F را باز مي گرداند. –(MT x) (move to table): اگر بلوک x جائي در پشته است، بلوک بالاي پشته را به روي ميز حرکت مي دهد و مقدار T را باز مي گرداند. در غير اينصورت، F باز مي گرداند. –(EQ x y)(equal): اگر x برابر y باشد T باز مي گرداند و در غير اينصورت F باز مي گرداند. –(Not x): اگر x=F T باز مي گرداند، در غير اينصورت F باز مي گرداند. –(DU x y)(do until): عبارت x را مکررأ انجام مي دهد تا وقتيکه عبارت y مقدار T را بازگرداند.

34 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138634 برنامة يادگرفته شده 166 مثال آموزشي 300 برنامة تصادفي در جمعيت اوليه بعد از 10 نسل (EQ(DU(MT CS)(NOT CS))(DU (MS NN)(NOT NN)))

35 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138635 EQ DU MT NOT MS NOT CS NN

36 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138636 برنامه نويسي ژنتيک مثال جالبتر: طراحي مدارهاي صافي الکترونيکي –اعضا برنامه هائي هستند که مدار اوليه را به مدار نهائي بوسيلة اضافه/کم کردن اجزاء و ارتباطات تبديل مي کنند. –استفاده از يک جمعيت 640000 تائي، که روي يک پردازندة موازي 64 رأسي اجرا شد. –مدارهائي قابل رقابت با بهترين طراح انساني يافت شد!!

37 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138637 موازي سازي ا.ژ بصورت دانه درشت –هر واحد پردازشی يک جمعيت را در بر دارد. بصورت دانه ريز –هر واحد پردازشي يک فرد را در بر دارد.

38 مازيار پالهنگيادگيری ماشين - نيمسال اول 87-138638


Download ppt "يادگيري ماشين الگوريتمهاي ژنتيک نيمسال اول 87-1386 دکتر مازيار پالهنگ آزمايشگاه هوش مصنوعي دانشکدة مهندسي برق و کامپيوتر دانشگاه صنعتي اصفهان بسمه تعالي."

Similar presentations


Ads by Google