MasinÔpe ilma Pythonita, Anacondata ja muude madude

Ei, ma muidugi ei mĂ”tle tĂ”siselt. Peab ju olema mingi piir, kui palju saab teemat lihtsustada. Kuid algfaasis, peamiste kontseptsioonide mĂ”istmiseks ja kiireks teemaga tutvumiseks vĂ”ib-olla on see lubatav. Ja millise nimega seda materjali Ă”igesti nimetada (variandid: „MasinĂ”pe algajatele“, „Andmete analĂŒĂŒs algusest peale“, „Algoritmid kĂ”ige vĂ€iksematele“), arutame hiljem.

Asume siis asja juurde. Olen koostanud mitmeid rakenduste programme MS Excelis protsesside visualiseerimiseks ja selgeks jĂ”udmiseks, mis toimuvad erinevates masinĂ”ppe meetodites andmete analĂŒĂŒsimisel. Lood on veidigi uskumatud, nagu ĂŒtlevad kultuuri esindajad, kes on vĂ€lja töötanud enamik neist meetoditest (muide, mitte kĂ”ik. VĂ”imas „toetavate vektorite meetod“ ehk SVM – toetav vektormasin – on meie kaasmaalase Vladimir Vapnik’i leiutis, Moskva Juhtimisinstituut. 1963. aasta, muide! Praegu Ă”petab ja töötab ta aga Ameerikas).

Kolm faili tutvumiseks

1. K-meetoditega klasterdamine

Selliste ĂŒlesannete liik kuulub „Ôpetamata Ă”ppimise” alla, kui peame jagama esialgsed andmed teatud eelnevalt tuntud kategooriate arvuks, kuid meil ei ole kĂŒllalt „Ôigeid vastuseid”, need tuleb andmetest vĂ€lja töötada. Alustav klassikaline ĂŒlesanne iiriste liikide mÀÀramine (Ronald Fisher, 1936. aasta!), mis loetakse selle teadmiste valdkonna esimeseks etapiks – on just sellise olemusega.

Meetod on piisavalt lihtne. Meil on objektiloend, mis on esitatud vektoritena (N numbrite kogum). Iiristel on see – kogum 4 numbrit, mis iseloomustavad lille: Ă”ie vĂ€lise ja sisemise osade pikkus ja laius, vastavalt (Iirised Fisher – Vikipeedia). Objektide vahelise kauguse vĂ”i sarnasuse meetodina valitakse tavaline Dekarti meetrika.

JĂ€rgmiseks valitakse juhuslikult (vĂ”i mitte juhuslikult, vaata edasi) klastrite keskpunktid ning arvutatakse iga objekti kaugus klastrite keskpunktidest. Iga objekt mĂ€rgitakse selle iteratsiooni sammul kuuluvaks sellele lĂ€himale keskpunktile. SeejĂ€rel liigutatakse iga klastrikeskuse kohta oma liikmete koordinaatide aritmeetiline keskpunkt (fĂŒĂŒsikas nimetatakse seda ka „massikeskuseks”) ja protseduur kordub.

Protsess konvergeerub piisavalt kiiresti. KahemÔÔtmeliselt nÀeb see vÀlja nii:

1. Algne juhuslik punktide jaotumine tasandil ning klastrite arv

MasinÔpe ilma Pythonita, Anacondata ja muude madude

2. Klastrite keskpunktide mÀÀramine ja punktide mÀÀramine oma klastritesse

MasinÔpe ilma Pythonita, Anacondata ja muude madude

3. Klastrite keskpunktide koordinaatide ĂŒmberpaigutamine, punktide kuuluvuse ĂŒmberarvestamine, kuni keskpunktid stabiliseeruvad. On nĂ€ha klastrite keskuste liikumisteed lĂ”ppasendisse.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

Igal hetkel on vĂ”imalik mÀÀrata uusi klastrite keskpunkte (ilma uue punktide jaotuse genereerimiseta!) ja nĂ€ha, et protsess ei ole alati ĂŒheselt mĂ”istetav. Matemaatiliselt tĂ€hendab see, et optimeeritava funktsiooni (punktide kauguste ruutude summad oma klastrite keskpunktidest) puhul leiame me mitte globaalset, vaid lokaalse miinimumi. Selle probleemi lahendamiseks vĂ”ib kas valida mittejuhuslikud algset keskpunktid vĂ”i proovida erinevaid keskpunktide kombinatsioone (mĂ”nikord on kasulik need paigutada tĂ€pselt mĂ”nda punktidesse, siis on vĂ€hemalt kindel, et me ei saa tĂŒhje klastreid). Igatahes on lĂ”pliku kogumi puhul alati tĂ€pne alumine piir.

Selle failiga saab mÀngida sellel lingil (Àrge unustage lubada makrode toetust. Failid on viiruste suhtes kontrollitud)

Meetodi kirjeldus Vikipeedias — k-ennustuste meetod

2. PolĂŒnoomide ligikaudne hindamine ja andmete jagamine. Ülekoolitus

ImetlusvÀÀrne teadlane ja andmete teaduse populariseerija K.V. Vorontsov rÀÀgib lĂŒhidalt masinĂ”ppemeetoditest kui "kĂ”verate joonistamisest punktide kaudu". Selles nĂ€ites selgitame andmete mustrite leidmist vĂ€ikeste ruutude meetodi abil.

On nĂ€idatud andmete jagamise tehnika "Ă”ppimis" ja "kontroll" rĂŒhmadesse, samuti nĂ€htust, mida tuntakse kui ĂŒlekoolitamine. Õige ligikaudse hindamise korral on meil teatud viga Ă”ppimisandmetes ja veidi suurem viga kontrollandmetes. Vale hindamisega on tĂ€pne sobitamine Ă”ppimisandmetele ja tohutu viga kontrollandmetes.

(Tuntud on fakt, et N punkti kaudu saab joonistada ainulaadse N-1 astme kĂ”vera, ja see meetod ei anna ĂŒldjuhul soovitud tulemust. Lagrange'i interpoleeriv polĂŒnoom Vikipeedias)

1. MÀÀrame esialgse jaotuse

MasinÔpe ilma Pythonita, Anacondata ja muude madude

2. Jagame punktid "Ă”ppimis" ja "kontroll" rĂŒhmadesse suhtega 70:30.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

3. Joonistame approximatiivse kÔvera Ôpetamispunktide kaudu, nÀeme viga, mille ta kontrollandmetel annab.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

4. Joonistame tÀpse kÔvera Ôpetamispunktide kaudu ja nÀeme kohutavat viga kontrollandmetel (ja nulli Ôpetamispunktidel, aga mis sellest kasu on?).

MasinÔpe ilma Pythonita, Anacondata ja muude madude

NĂ€idatud on muidugi kĂ”ige lihtsam variant, millel on ainsad jaotused "Ă”petamise" ja "kontrolli" alamgruppidesse, ĂŒldjuhul tehakse seda korduvalt parimate koefitsientide seadistamiseks.

Fail on siin saadaval, kontrollitud viirusetĂ”rjega. Palun lĂŒlitage makrod sisse, et see Ă”igesti töötaks.

3. Gradientne langemine ja vea muutumise dĂŒnaamika.

Siin on 4-mÔÔtmeline juhtum ja lineaarsed regressioonid. Lineaarsete regressioonide koefitsiendid mÀÀratakse sammude kaudu gradientsete langemismeetodi abil, alguses on kĂ”ik koefitsiendid nullid. Eraldi graafik nĂ€itab vea vĂ€henemise dĂŒnaamikat, kui koefitsiente ĂŒha tĂ€psemalt seadistatakse. On vĂ”imalus vaadata kĂ”iki nelja 2-mÔÔtmelist projektsiooni.

Kui seadistada liiga suur gradientse langemise samm, siis on nĂ€ha, et igal korral me hĂŒppame miinimumist ĂŒle ja tulemusele jĂ”uame rohkemate sammudega, kuigi lĂ”puks me kĂ”ik ĂŒheselt siiski jĂ”uame (kui ainult me ei tĂ”sta langemise sammu liiga palju - siis algoritm pĂ€rast enam ei tööta). Ja graafik vea sĂ”ltuvusest iteratsiooni sammust ei ole sujuv, vaid "tĂ”mblev".

1. Genererime andmed, seame gradientse langemise sammu.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

2. Õige gradientse langemise sammu valimisega jĂ”uame sujuvalt ja piisavalt kiiresti miinimumini.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

3. Vale gradientse langemise sammu valimisega hĂŒppame maksimumist ĂŒle, vea graafik on "tĂ”mblev", konvergents vĂ”tab rohkem samme.

MasinÔpe ilma Pythonita, Anacondata ja muude madude
ja

MasinÔpe ilma Pythonita, Anacondata ja muude madude

4. ÄÀrmiselt vale gradientse langemise sammu valimisega eemaldume miinimumist.

MasinÔpe ilma Pythonita, Anacondata ja muude madude

(Protsessi kordamiseks nÀidatud gradientse langemise sammu vÀÀrtustega, palun valige "standardandmed").

Fail - selle lingi kaudu, peate makrosid sisse lĂŒlitama, viiruseid pole.

Kuidas arvab austatud kogukond, kas selline lihtsustamine ja materjali esitamise meetod on lubatud? Kas tasub artikkel inglise keelde tÔlkida?

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster