Գտեք S ալգորիթմը մեքենայական ուսուցման մեջ


Մեքենայական ուսուցման ալգորիթմները հեղափոխել են այն ճանապարհը, թե ինչպես ենք մենք արժեքավոր պատկերացումներ կորզում և տեղեկացված որոշումներ կայացնում հսկայական քանակությամբ տվյալներից, բազմաթիվ ալգորիթմների շարքում Find-S ալգորիթմը առանձնանում է որպես ոլորտում հիմնարար գործիք: Մշակված Թոմ Միտչելի կողմից այս պիոներ ալգորիթմը մեծ նշանակություն ունի հիպոթեզների տարածության ներկայացման և հայեցակարգի ուսուցման մեջ:

Find-S ալգորիթմն իր պարզությամբ և արդյունավետությամբ ուշադրություն է գրավել պիտակավորված ուսուցման տվյալներից օրինաչափություններ հայտնաբերելու և ընդհանրացնելու իր ունակության համար: Այս հոդվածում մենք խորանում ենք Find-S ալգորիթմի ներքին աշխատանքի մեջ՝ ուսումնասիրելով դրա հնարավորություններն ու պոտենցիալ կիրառությունները ժամանակակից մեքենայական ուսուցման պարադիգմներում:

Ի՞նչ է Find-S ալգորիթմը մեքենայական ուսուցման մեջ:

S ալգորիթմը, որը նաև հայտնի է որպես Find-S ալգորիթմ, մեքենայական ուսուցման ալգորիթմ է, որը ձգտում է գտնել առավելագույն հատուկ վարկած՝ հիմնված պիտակավորված վերապատրաստման տվյալների վրա: Այն սկսվում է առավել կոնկրետ վարկածից և ընդհանրացնում այն՝ ներառելով դրական օրինակներ: Այն անտեսում է բացասական օրինակները ուսումնական գործընթացում:

Ալգորիթմի նպատակն է բացահայտել մի վարկած, որը ճշգրիտ կերպով ներկայացնում է թիրախային հայեցակարգը՝ աստիճանաբար ընդլայնելով հիպոթեզի տարածությունը, մինչև այն ծածկի բոլոր դրական դեպքերը:

Find-S ալգորիթմում օգտագործվող նշանները

Find-S ալգորիթմում հետևյալ նշանները սովորաբար օգտագործվում են տարբեր հասկացություններ և գործողություններ ներկայացնելու համար.

  • ∅ (Դատարկ հավաքածու)  Այս խորհրդանիշը ներկայացնում է որևէ հատուկ արժեքի կամ հատկանիշի բացակայություն: Այն հաճախ օգտագործվում է հիպոթեզը որպես առավել կոնկրետ հասկացություն սկզբնավորելու համար:

  • (Հոգ չէ)  Հարցը. նշանի սիմվոլը ներկայացնում է հատկանիշի «թքած ունենալ» կամ «անհայտ» արժեք: Այն օգտագործվում է, երբ վարկածը պետք է ընդհանրացվի տարբեր հատկանիշների արժեքների նկատմամբ, որոնք առկա են դրական օրինակներում:

  • Դրական օրինակներ (+)  Պլյուս խորհրդանիշը ներկայացնում է դրական օրինակներ, որոնք պիտակավորված են որպես նպատակային դաս կամ ուսուցվող հայեցակարգ:

  • Բացասական օրինակներ (-)  Մինուս խորհրդանիշը ներկայացնում է բացասական օրինակներ, որոնք պիտակավորված են որպես ոչ նպատակային դասեր կամ հասկացություններ, որոնք չպետք է ծածկվեն վարկածով:

  • Վարկած (ը)  h փոփոխականը ներկայացնում է վարկածը, որը սովորած հայեցակարգն է կամ ընդհանրացումը՝ հիմնված վերապատրաստման տվյալների վրա: Այն վերամշակվում է ամբողջ ալգորիթմի ընթացքում:

Այս խորհրդանիշները օգնում են ներկայացնել և շահարկել հիպոթեզի տարածությունը և տարբերակել դրական և բացասական օրինակները հիպոթեզի ճշգրտման գործընթացում: Նրանք օգնում են գրավել թիրախի հայեցակարգը և այն ճշգրիտ ընդհանրացնել չտեսնված դեպքերին:

Find-S ալգորիթմի ներքին աշխատանք

Find-S ալգորիթմը գործում է հիպոթեզային տարածության վրա՝ գտնելու ընդհանուր հիպոթեզ, որը ճշգրիտ կերպով ներկայացնում է նպատակային հայեցակարգը՝ հիմնված պիտակավորված վերապատրաստման տվյալների վրա: Եկեք խորանանք ալգորիթմի ներքին աշխատանքի մեջ

  • Նախնականացում  Ալգորիթմը սկսվում է. առավել կոնկրետ վարկածը, որը նշվում է որպես հ. Այս նախնական վարկածը ամենասահմանափակող հայեցակարգն է և սովորաբար դրական օրինակներ չի ենթադրում: Այն կարող է ներկայացվել որպես h=<∅, ∅, ..., ∅>, որտեղ ∅ նշանակում է «թքած ունեմ» կամ «անհայտ» արժեքներ յուրաքանչյուր հատկանիշի համար:

  • Կրկնվող գործընթաց  Ալգորիթմը կրկնվում է յուրաքանչյուր ուսումնական օրինակի միջոցով և ճշգրտում է վարկածը՝ հիմնվելով օրինակի դրական կամ բացասական լինելու վրա:

    • Յուրաքանչյուր դրական ուսուցման օրինակի համար (օրինակ, որը նշված է որպես թիրախային դաս), ալգորիթմը թարմացնում է վարկածը՝ ընդհանրացնելով այն՝ ներառելով օրինակի հատկանիշները: Վարկածն ավելի ընդհանրական է դառնում, քանի որ այն ներառում է ավելի շատ դրական օրինակներ:

    • Յուրաքանչյուր բացասական ուսուցման օրինակի համար (օրինակ, որը պիտակավորված է որպես ոչ նպատակային դաս), ալգորիթմը անտեսում է այն, քանի որ վարկածը չպետք է ծածկի բացասական օրինակները: Բացասական օրինակների համար վարկածը մնում է անփոփոխ։

  • Ընդհանրացում  Բոլորը մշակելուց հետո ուսուցման օրինակներ, ալգորիթմը ստեղծում է վերջնական վարկած, որն ընդգրկում է բոլոր դրական օրինակները՝ բացառելով բացասական օրինակները: Այս վերջնական վարկածը ներկայացնում է ընդհանրացված հայեցակարգը, որն ալգորիթմը սովորել է վերապատրաստման տվյալներից:

Կրկնվող գործընթացի ընթացքում ալգորիթմը կարող է դրական օրինակներից տարբերվող ատրիբուտների հիպոթեզում ներմուծել «հոգ չէ» խորհրդանիշները կամ տեղապահները (հաճախ նշվում են որպես «?»): Սա թույլ է տալիս ալգորիթմին ընդհանրացնել հայեցակարգը՝ համապատասխանեցնելով տարբեր հատկանիշների արժեքները: Ալգորիթմը հայտնաբերում է օրինաչափություններ վերապատրաստման տվյալների մեջ և ապահովում է սովորվող հայեցակարգի հուսալի ներկայացում:

Եկեք ուսումնասիրենք ալգորիթմի քայլերը՝ օգտագործելով գործնական օրինակ −

Ենթադրենք, մենք ունենք կենդանիների տվյալների հավաքածու երկու հատկանիշով՝ «ունի մորթի» և «ձայն է տալիս»: Յուրաքանչյուր կենդանի պիտակավորված է որպես շուն կամ կատու: Ահա ուսուցման տվյալների հավաքածուի նմուշ −

Animal

Has Fur

Makes Sound

Label

Dog

Yes

Yes

Dog

Cat

Yes

No

Cat

Dog

No

Yes

Dog

Cat

No

No

Cat

Dog

Yes

Yes

Dog

Find-S ալգորիթմը կիրառելու համար մենք սկսում ենք առավել կոնկրետ վարկածից, որը նշվում է որպես h, որն ի սկզբանե ներկայացնում է ամենասահմանափակող հասկացությունը: Մեր օրինակում նախնական վարկածը կլինի h=<∅, ∅>՝ ցույց տալով, որ ոչ մի կոնկրետ կենդանի չի համապատասխանում հայեցակարգին:

  • Յուրաքանչյուր դրական ուսուցման օրինակի համար (օրինակ, որը պիտակավորված է որպես թիրախային դաս), մենք թարմացնում ենք h վարկածը՝ ներառելու այդ օրինակի հատկանիշները: Մեր դեպքում վարժեցման դրական օրինակները շներն են։ Հետևաբար, h-ը կթարմացվի h=<Այո, Այո>:

  • Յուրաքանչյուր բացասական ուսուցման օրինակի համար (օրինակ, որը պիտակավորված է որպես ոչ նպատակային դաս), մենք անտեսում ենք այն, քանի որ h վարկածը չպետք է ընդգրկի այդ օրինակները: Մեր դեպքում վարժեցման բացասական օրինակները կատուներն են, և քանի որ h-ն արդեն ծածկում է շներին, մենք կարիք չունենք թարմացնելու վարկածը։

  • Վերապատրաստման բոլոր օրինակները մշակելուց հետո մենք ստանում ենք ընդհանրացված վարկած, որն ընդգրկում է բոլոր դրական վերապատրաստման օրինակները և բացառում է բացասական օրինակները: Մեր օրինակում վերջնական վարկածը h=<Այո, Այո> ճշգրտորեն ներկայացնում է շան հասկացությունը:

Օրինակ

Ահա Python ծրագիր, որը ցույց է տալիս Find-S ալգորիթմը −

# Training dataset
training_data = [
   (['Yes', 'Yes'], 'Dog'),
   (['Yes', 'No'], 'Cat'),
   (['No', 'Yes'], 'Dog'),
   (['No', 'No'], 'Cat'),
   (['Yes', 'Yes'], 'Dog')
]

# Initial hypothesis
h = ['∅', '∅']

# Find-S algorithm
for example, label in training_data:
   if label == 'Dog':
      for i in range(len(example)):
         if h[i] == '∅':
            h[i] = example[i]
         elif h[i] != example[i]:
            h[i] = '?'

print("Final hypothesis:", h)

Արդյունք

Final hypothesis: ['?', 'Yes']

Այս ծրագրում վերապատրաստման տվյալները ներկայացված են որպես բազմակի ցուցակ: Ալգորիթմը կրկնվում է յուրաքանչյուր օրինակի միջոցով՝ համապատասխանաբար թարմացնելով վարկածը: Վերջնական վարկածը ներկայացնում է շան հայեցակարգը, որը հիմնված է վարժեցման տվյալների վրա:

Find-S ալգորիթմը ծառայում է որպես հիմք ավելի բարդ մեքենայական ուսուցման ալգորիթմների համար և ունի գործնական կիրառություն տարբեր ոլորտներում, ներառյալ դասակարգումը, օրինաչափությունների ճանաչումը և որոշումների կայացման համակարգերը:

Եզրակացություն

Եզրափակելով, Find-S ալգորիթմը ապացուցել է, որ հզոր գործիք է մեքենայական ուսուցման մեջ, որը թույլ է տալիս մեզ սովորել հասկացություններ և ընդհանրացնել օրինաչափությունները պիտակավորված վերապատրաստման տվյալներից: Իր կրկնվող գործընթացով և առավելագույնս կոնկրետ վարկածներ գտնելու ունակությամբ այս ալգորիթմը ճանապարհ է հարթել հիպոթեզների տարածության ներկայացման և հայեցակարգի ուսուցման առաջընթացի համար՝ դարձնելով այն ոլորտում հիմնարար տեխնիկա: Դրա պարզությունն ու արդյունավետությունը դարձնում են այն արժեքավոր ակտիվ մեքենայական ուսուցման տարբեր ծրագրերում: