Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

Ոչ, լավ, իհարկե, ես լուրջ չեմ: Պետք է լինի սահման, թե որքանով է հնարավոր պարզեցնել առարկան: Բայց առաջին փուլերի համար, հասկանալով հիմնական հասկացությունները և արագ «մուտք գործելով» թեմա, դա կարող է ընդունելի լինել: Վերջում մենք կքննարկենք, թե ինչպես ճիշտ անվանել այս նյութը (տարբերակներ. «Մեքենայական ուսուցում խաբեբաների համար», «Տվյալների վերլուծություն տակդիրներից», «Ալգորիթմներ փոքրերի համար») վերջում:

Դեպի կետ. Գրել է մի քանի կիրառական ծրագրեր MS Excel-ում՝ տվյալների վերլուծության ժամանակ մեքենայական ուսուցման տարբեր մեթոդներում տեղի ունեցող գործընթացների վիզուալիզացիայի և տեսողական ներկայացման համար: Տեսնելը հավատալն է, ի վերջո, ինչպես ասում են մշակույթի կրողները, որոնք մշակել են այս մեթոդների մեծ մասը (ի դեպ, ոչ բոլորը: Ամենահզոր «աջակցության վեկտորային մեքենան» կամ SVM, աջակցող վեկտորային մեքենան գյուտն է. Մեր հայրենակից Վլադիմիր Վապնիկը, Մոսկվայի կառավարման ինստիտուտ, 1963թ., ի դեպ, այժմ, սակայն, դասավանդում և աշխատում է ԱՄՆ-ում):

Երեք ֆայլ վերանայման համար

1. K-նշանակում է կլաստերավորում

Այս տիպի խնդիրները վերաբերում են «չվերահսկվող ուսուցմանը», երբ մենք պետք է նախնական տվյալները բաժանենք նախապես հայտնի որոշակի թվով կատեգորիաների, բայց մենք չունենք «ճիշտ պատասխանների» քանակ, մենք պետք է դրանք հանենք հենց տվյալներից։ . Իրիսի ծաղիկների ենթատեսակների հայտնաբերման հիմնարար դասական խնդիրը (Ռոնալդ Ֆիշեր, 1936!), որը համարվում է գիտելիքի այս ոլորտի առաջին նշանը, հենց այսպիսի բնույթ ունի:

Մեթոդը բավականին պարզ է. Մենք ունենք մի շարք օբյեկտներ, որոնք ներկայացված են որպես վեկտորներ (N թվերի բազմություն): Իրիսներում սրանք 4 թվերի հավաքածուներ են, որոնք բնութագրում են ծաղիկը.Ֆիշերի հիրիկները - Վիքիպեդիա). Սովորական դեկարտյան չափանիշն ընտրվում է որպես օբյեկտների միջև հեռավորություն կամ մոտիկության չափ:

Այնուհետև, կլաստերային կենտրոնները ընտրվում են պատահականորեն (կամ ոչ պատահական, տես ստորև), և յուրաքանչյուր օբյեկտից մինչև կլաստերային կենտրոնների հեռավորությունները հաշվարկվում են: Տրված կրկնման քայլի յուրաքանչյուր օբյեկտ նշվում է որպես ամենամոտ կենտրոնին պատկանող: Այնուհետև յուրաքանչյուր կլաստերի կենտրոնը փոխանցվում է նրա անդամների կոորդինատների միջին թվաբանականին (ֆիզիկայի անալոգիայով այն կոչվում է նաև «զանգվածի կենտրոն»), և ընթացակարգը կրկնվում է։

Գործընթացը բավականին արագ է զուգակցվում։ Երկու չափերի նկարներում այսպիսի տեսք ունի.

1. Հարթության վրա կետերի սկզբնական պատահական բաշխումը և կլաստերների քանակը

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

2. Կլաստերային կենտրոնների ճշգրտում և դրանց կլաստերներին միավորներ հատկացնելը

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

3. Կլաստերային կենտրոնների կոորդինատների տեղափոխում, կետերի պատկանելիության վերահաշվարկ՝ մինչև կենտրոնների կայունացումը։ Տեսանելի է կլաստերի կենտրոնի հետագիծը, որը շարժվում է դեպի իր վերջնական դիրքը։

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

Ցանկացած ժամանակ կարող եք նոր կլաստերային կենտրոններ դնել (առանց միավորների նոր բաշխում ստեղծելու) և տեսնել, որ բաժանման գործընթացը միշտ չէ, որ միանշանակ է: Մաթեմատիկորեն սա նշանակում է, որ օպտիմիզացված ֆունկցիայի համար (կետերից մինչև դրանց կլաստերների կենտրոնների քառակուսի հեռավորությունների գումարը) մենք գտնում ենք ոչ թե գլոբալ, այլ տեղական նվազագույն: Այս խնդիրը կարելի է հաղթահարել կա՛մ նախնական կլաստերային կենտրոնների ոչ պատահական ընտրությամբ, կա՛մ հնարավոր կենտրոնների թվարկումով (երբեմն ձեռնտու է դրանք տեղադրել հենց կետերից մեկում, ապա գոնե երաշխիք կա, որ մենք դատարկ չենք դառնա։ կլաստերներ): Ամեն դեպքում, վերջավոր բազմությունը միշտ ունի ինֆիմում։

Այս ֆայլով կարող եք խաղալ այս հղումով (մի մոռացեք միացնել մակրո աջակցությունը: Ֆայլերը սկանավորվել են վիրուսների համար)

Մեթոդի նկարագրությունը Վիքիպեդիայում - k-միջոցների մեթոդ

2. Մոտավորություն բազմանդամներով և տվյալների բաշխում: Վերապատրաստում

Նշանավոր գիտնական և տվյալների գիտության հանրահռչակող Կ.Վ. Վորոնցովը հակիրճ նկարագրում է մեքենայական ուսուցման մեթոդները որպես «կետերի միջով կորեր գծելու գիտություն»։ Այս օրինակում մենք տվյալների մեջ կգտնենք օրինաչափություն՝ օգտագործելով նվազագույն քառակուսիների մեթոդը:

Ցուցադրվում է աղբյուրի տվյալները «վերապատրաստման» և «հսկողության» բաժանելու տեխնիկան, ինչպես նաև այնպիսի երևույթ, ինչպիսին է վերապատրաստումը կամ տվյալների «վերակարգավորումը»: Ճիշտ մոտավորմամբ մենք կունենանք որոշակի սխալ ուսուցման տվյալների վրա և մի փոքր ավելի մեծ սխալ՝ հսկողության տվյալների վրա: Եթե ​​սխալ է, դա հանգեցնում է վերապատրաստման տվյալների ճշգրիտ ճշգրտմանը և թեստի տվյալների վրա հսկայական սխալի:

(Հայտնի փաստ է, որ N կետերի միջոցով կարելի է գծել N-1 աստիճանի մեկ կոր, և այս մեթոդը ընդհանուր դեպքում ցանկալի արդյունք չի տալիս։ Լագրանժի ինտերպոլացիայի բազմանդամը Վիքիպեդիայում)

1. Սահմանեք նախնական բաշխումը

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

2. Միավորները 70-ից 30 հարաբերակցությամբ բաժանում ենք «մարզման» և «վերահսկման»:

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

3. Մոտավոր կորը գծում ենք մարզման կետերի երկայնքով, տեսնում ենք այն սխալը, որը տալիս է կառավարման տվյալների վրա

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

4. Ուսուցման կետերի միջով մենք ճշգրիտ կոր ենք գծում, և հսկիչ տվյալների վրա տեսնում ենք հրեշավոր սխալ (և զրոյական ուսուցման տվյալների վրա, բայց ո՞րն է իմաստը):

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

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

Ֆայլը հասանելի է այստեղ՝ սկանավորված հակավիրուսով։ Միացնել մակրոները ճիշտ աշխատանքի համար

3. Գրադիենտ անկում և սխալի փոփոխության դինամիկան

Կլինի 4-չափ դեպք և գծային ռեգրեսիա: Գծային ռեգրեսիայի գործակիցները կորոշվեն քայլ առ քայլ՝ օգտագործելով գրադիենտ վայրէջքի մեթոդը, սկզբում բոլոր գործակիցները զրո են: Առանձին գրաֆիկը ցույց է տալիս սխալի նվազեցման դինամիկան, քանի որ գործակիցները ճշգրտվում են ավելի ու ավելի ճշգրիտ: Հնարավոր է դիտել բոլոր չորս 2-չափ պրոյեկցիաները:

Եթե ​​դուք չափից դուրս մեծ եք սահմանում իջման աստիճանը, ապա կարող եք տեսնել, որ ամեն անգամ մենք բաց կթողնենք նվազագույնը և արդյունքի կհասնենք ավելի մեծ թվով քայլերով, թեև ի վերջո մենք դեռ կհասնենք (եթե մենք նույնպես հետաձգենք վայրէջքի քայլը): շատ - այդ դեպքում ալգորիթմը կգնա « բահերով»): Եվ կրկնման քայլից կախված սխալի գրաֆիկը կլինի ոչ թե հարթ, այլ «կտրուկ»:

1. Ստեղծեք տվյալներ, սահմանեք գրադիենտ վայրէջքի քայլը

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

2. Գրադիենտ վայրէջքի աստիճանի ճիշտ ընտրությամբ մենք սահուն և արագ հասնում ենք նվազագույնին

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

3. Եթե գրադիենտ վայրէջքի քայլը սխալ է ընտրված, մենք գերազանցում ենք առավելագույնը, սխալի գրաֆիկը «կտրուկ» է, կոնվերգենցիան ավելի մեծ թվով քայլեր է կատարում:

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների
и

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

4. Եթե մենք բոլորովին սխալ ենք ընտրում գրադիենտ վայրէջքի աստիճանը, մենք հեռանում ենք նվազագույնից

Մեքենայի ուսուցում առանց Python-ի, Anaconda-ի և այլ սողունների

(Գործընթացը վերարտադրելու համար՝ օգտագործելով նկարներում ցուցադրված գրադիենտ վայրէջքի աստիճանի արժեքները, նշեք «տեղեկանքի տվյալներ» վանդակը):

Ֆայլը գտնվում է այս հղումով, պետք է միացնել մակրոները, վիրուսներ չկան։

Ըստ հարգելի համայնքի՝ ընդունելի՞ է արդյոք նյութի մատուցման նման պարզեցումն ու մեթոդը։ Արժե՞ արդյոք հոդվածը թարգմանել անգլերեն։

Source: www.habr.com

Добавить комментарий