Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

Hapana, sawa, kwa kweli, siko serious. Lazima kuwe na kikomo kwa kiwango ambacho inawezekana kurahisisha somo. Lakini kwa hatua za kwanza, kuelewa dhana za msingi na haraka "kuingia" mada, inaweza kukubalika. Tutajadili jinsi ya kutaja nyenzo hii kwa usahihi (chaguo: "Kujifunza kwa mashine kwa dummies", "Uchambuzi wa data kutoka kwa diapers", "Algorithms kwa watoto wadogo") mwishoni.

Kwa uhakika. Aliandika programu kadhaa za programu katika MS Excel kwa taswira na uwakilishi wa taswira wa michakato inayotokea katika mbinu tofauti za kujifunza za mashine wakati wa kuchanganua data. Kuona ni kuamini, baada ya yote, kama wabebaji wa tamaduni wanavyosema, ambayo ilitengeneza njia nyingi hizi (kwa njia, sio zote. Mashine ya nguvu zaidi ya "vekta ya msaada", au SVM, mashine ya vekta ya msaada ni uvumbuzi wa mwenzetu Vladimir Vapnik, Taasisi ya Usimamizi ya Moscow. 1963, kwa njia! Sasa, hata hivyo, anafundisha na kufanya kazi huko USA).

Faili tatu za kukaguliwa

1. K-inamaanisha kuunganisha

Matatizo ya aina hii hurejelea "kujifunza bila kusimamiwa," tunapohitaji kugawanya data ya awali katika idadi fulani ya kategoria zinazojulikana mapema, lakini hatuna idadi yoyote ya "majibu sahihi"; ni lazima tuyatoe kutoka kwa data yenyewe. . Tatizo la msingi la kitamaduni la kupata spishi ndogo za maua ya iris (Ronald Fisher, 1936!), Ambayo inachukuliwa kuwa ishara ya kwanza ya uwanja huu wa maarifa, ni ya aina hii tu.

Mbinu ni rahisi sana. Tuna seti ya vitu vinavyowakilishwa kama vekta (seti za nambari za N). Katika irises, hizi ni seti za nambari 4 zinazoonyesha ua: urefu na upana wa lobes ya nje na ya ndani ya perianth, mtawaliwa (irises ya Fischer - Wikipedia) Kipimo cha kawaida cha Cartesian huchaguliwa kama umbali, au kipimo cha ukaribu kati ya vitu.

Ifuatayo, vituo vya nguzo huchaguliwa kwa nasibu (au sio nasibu, angalia chini), na umbali kutoka kwa kila kitu hadi vituo vya nguzo huhesabiwa. Kila kitu katika hatua fulani ya kurudia imetiwa alama kuwa ya kituo cha karibu zaidi. Kisha katikati ya kila nguzo huhamishiwa kwa maana ya hesabu ya kuratibu za wanachama wake (kwa mlinganisho na fizikia, pia inaitwa "katikati ya molekuli"), na utaratibu unarudiwa.

Mchakato unaungana haraka sana. Katika picha katika vipimo viwili inaonekana kama hii:

1. Usambazaji wa nasibu wa awali wa pointi kwenye ndege na idadi ya makundi

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

2. Kubainisha vituo vya nguzo na kugawa pointi kwa makundi yao

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

3. Kuhamisha kuratibu za vituo vya nguzo, kuhesabu upya uhusiano wa pointi mpaka vituo vikiimarisha. Njia ya kituo cha nguzo inayohamia kwenye nafasi yake ya mwisho inaonekana.

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

Wakati wowote, unaweza kuweka vituo vipya vya nguzo (bila kutoa usambazaji mpya wa pointi!) na uone kwamba mchakato wa kugawanya sio daima usio na utata. Kihisabati, hii ina maana kwamba kwa chaguo la kukokotoa linaloboreshwa (jumla ya umbali wa mraba kutoka pointi hadi katikati ya makundi yao), hatupati kimataifa, lakini kiwango cha chini cha ndani. Shida hii inaweza kushinda ama kwa chaguo lisilo la nasibu la vituo vya nguzo vya awali, au kwa kuorodhesha vituo vinavyowezekana (wakati mwingine ni faida kuziweka haswa katika moja ya alama, basi angalau kuna dhamana kwamba hatutapata tupu. makundi). Kwa hali yoyote, seti ya mwisho daima ina infimum.

Unaweza kucheza na faili hii kwenye kiungo hiki (usisahau kuwezesha usaidizi wa jumla. Faili zimechanganuliwa kwa virusi)

Maelezo ya mbinu kwenye Wikipedia - k-njia mbinu

2. Ukadiriaji wa polynomials na uchanganuzi wa data. Kujizoeza upya

Mwanasayansi wa ajabu na maarufu wa sayansi ya data K.V. Vorontsov anafafanua kwa ufupi njia za kujifunza mashine kama "sayansi ya kuchora inapita kupitia alama." Katika mfano huu, tutapata mchoro katika data kwa kutumia mbinu ya angalau miraba.

Mbinu ya kugawanya data ya chanzo katika "mafunzo" na "kudhibiti" inaonyeshwa, pamoja na jambo kama vile kufundisha upya, au "kurekebisha upya" kwa data. Kwa makadirio sahihi, tutakuwa na hitilafu fulani kwenye data ya mafunzo na kosa kubwa kidogo kwenye data ya udhibiti. Ikiwa si sahihi, husababisha marekebisho sahihi kwa data ya mafunzo na kosa kubwa kwenye data ya mtihani.

(Ni ukweli unaojulikana kuwa kupitia alama za N mtu anaweza kuchora curve moja ya digrii ya N-1, na njia hii kwa ujumla haitoi matokeo unayotaka. Lagrange tafsiri ya polynomial kwenye Wikipedia)

1. Weka usambazaji wa awali

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

2. Tunagawanya pointi katika "mafunzo" na "kudhibiti" kwa uwiano wa 70 hadi 30.

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

3. Tunachora curve inayokaribia kando ya vidokezo vya mafunzo, tunaona kosa ambalo linatoa kwenye data ya udhibiti.

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

4. Tunachora curve halisi kupitia sehemu za mafunzo, na tunaona hitilafu kubwa kwenye data ya udhibiti (na sifuri kwenye data ya mafunzo, lakini ni nini uhakika?).

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

Imeonyeshwa, bila shaka, ni chaguo rahisi zaidi na mgawanyiko mmoja katika "mafunzo" na "kudhibiti" subsets; kwa ujumla, hii inafanywa mara nyingi kwa marekebisho bora ya coefficients.

Faili inapatikana hapa, iliyochanganuliwa na antivirus. Washa makro kwa uendeshaji sahihi

3. Kushuka kwa gradient na mienendo ya mabadiliko ya makosa

Kutakuwa na kesi ya 4-dimensional na urejeshaji wa mstari. Mgawo wa urejeshaji wa mstari utabainishwa hatua kwa hatua kwa kutumia mbinu ya mteremko wa gradient, mwanzoni vigawo vyote ni sifuri. Grafu tofauti huonyesha mienendo ya upunguzaji wa hitilafu kadiri mgawo unavyorekebishwa kwa usahihi zaidi na zaidi. Inawezekana kutazama makadirio yote manne ya 2-dimensional.

Ukiweka hatua ya mteremko kuwa kubwa sana, unaweza kuona kwamba kila wakati tutaruka kiwango cha chini na tutafika kwenye matokeo kwa idadi kubwa ya hatua, ingawa mwishowe bado tutafika (isipokuwa tunachelewesha hatua ya kushuka pia. sana - basi algorithm itaenda "katika spades"). Na grafu ya kosa kulingana na hatua ya kurudia haitakuwa laini, lakini "jerky".

1. Tengeneza data, weka hatua ya kushuka kwa gradient

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

2. Kwa uteuzi sahihi wa hatua ya kushuka kwa gradient, sisi vizuri na haraka kufikia kiwango cha chini

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

3. Ikiwa hatua ya mteremko wa gradient imechaguliwa kimakosa, tunapiga risasi juu zaidi, grafu ya hitilafu ni "shida", muunganisho huchukua idadi kubwa ya hatua.

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine
ΠΈ

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

4. Ikiwa tunachagua hatua ya kushuka kwa gradient kwa usahihi kabisa, tunaondoka kutoka kwa kiwango cha chini

Kujifunza kwa mashine bila Chatu, Anaconda na reptilia wengine

(Ili kuzaliana mchakato kwa kutumia viwango vya mteremko wa mteremko ulioonyeshwa kwenye picha, angalia kisanduku cha "data ya kumbukumbu").

Faili iko kwenye kiungo hiki, unahitaji kuwezesha macros, hakuna virusi.

Kulingana na jamii inayoheshimika, je, kurahisisha na njia hiyo ya kuwasilisha nyenzo inakubalika? Je, inafaa kutafsiri makala kwa Kiingereza?

Chanzo: mapenzi.com

Kuongeza maoni