MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

Ei, ma muidugi ei mĂ”tle tĂ”siselt. Peab ju olema piir, kui palju saab teemat lihtsustada. Kuid esimeste sammude, pĂ”hikontseptsioonide mĂ”istmise ja teema kiire sisseelamise jaoks vĂ”ib-olla on see isegi lubatav. Aga kuidas Ă”igesti nimetada seda materjali (variandid: 'MasinĂ”pe algajatele', 'Andmete analĂŒĂŒs algusest peale', 'Alused algoritmid'), arutame lĂ”pus.

Asjast. Olen kirjutanud mĂ”ned praktilised programmid MS Excelis visuaalsete ja selgete protsesside kujutamiseks, mis toimuvad erinevates masinĂ”ppe meetodites andmete analĂŒĂŒsimisel. Nagu öeldakse, nĂ€gemine on usk, lĂ”ppude lĂ”puks, nagu ĂŒtlevad kultuuri kandjad, kes on vĂ€lja töötanud enamik neist meetoditest (muide, kaugel mitte kĂ”ik. VĂ€ga vĂ”imas „toetavate vektorite meetod” ehk SVM — support vector machine — on meie kaasmaalase Vladimir Vapniku leiutis, Moskva Halduse Instituut. 1963. aasta, muide! Praegu Ă”petab ja töötab ta Ameerikas).

Kolm faili vaatamiseks

1. K-meetoditega klasterdamine

Seda tĂŒĂŒpi ĂŒlesanded kuuluvad «vĂ€henemata Ă”ppimise» alla, kus meie ĂŒlesanne on jagada algandmed teatud ette teadaolevatesse kategooriatesse, kuid meil pole ĂŒhtegi «Ôiget vastust», need tuleb meil andmetest ise vĂ€lja tuua. Meie ala klassikaline pĂ”hikĂŒsimus on iiriste Ă”ite alatĂŒĂŒpide leidmine (Ronald Fisher, 1936. aastal!), mis on just sellise iseloomuga.

Meetod on piisavalt lihtne. Meil on objektide kogum, mis on esindatud vektoritena (N arvu kogumid). Iiristel on see - 4 arvu kogum, mis iseloomustab lille: vÀlimise ja sisemise vÔrdlemise petalikud mÔÔtmed, vastavalt (Fisheri iirised - Vikipeedia). Objekti vaheliseks kauguseks, vÔi sarnasuse mÔÔduks, valitakse tavaline dekartaane metrika.

SeejĂ€rel valitakse juhuslikult (vĂ”i mittejuhuslikult, vaata allpool) klastrite keskpunktid ning arvutatakse iga objekti kaugus klastrite keskpunktidest. Iga objekt mĂ€rgitakse selle sammu iteratsiooni jooksul kuuluvana lĂ€himale keskpunktile. SeejĂ€rel kantakse iga klastrikeskme koordinaadid oma liikmete aritmeetilise keskpunkti (fĂŒĂŒsikas tuntakse seda ka kui „keskpunkti massi”) ja protseduur kordub.

Protsess konvergeerub piisavalt kiiresti. Kaks dimensions on see vÀlja nÀeb jÀrgmiselt:

1. Algne juhuslik punktide jaotus tasapinnal ja klastrite arv

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

2. Klastrite keskpunktide mÀÀramine ja punktide kuuluvuse mÀÀramine oma klastritele

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

3. Klastrite keskpunktide koordinaatide ĂŒleviimine, punktide kuuluvuse ĂŒlekalkuleerimine, kuni keskpunktid stabiliseeruvad. NĂ€ha on klastrikeskme liikumisteed lĂ”ppasendisse.

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

Igal ajal saab mÀÀrata uusi klastrikeskuseid (ilma uue punktijaotuse genereerimiseta!) ja nĂ€ha, et jagamisprotsess ei ole alati ĂŒheselt mĂ”istetav. Matemaatiliselt tĂ€hendab see, et optimeeritava funktsiooni (punktide kauguste kvadrathulkade summeerimine nende klastrikeskuste kaupa) puhul leiame me mitte globaalset, vaid lokaalse miinimumi. Selle probleemi lahendamiseks on vĂ”imalik kas mittejuhuslikult valida algsed klastrikeskused vĂ”i katsetada vĂ”imalikke keskusi (mĂ”nikord on kasulik need tĂ€pselt mĂ”ne punkti peale asetada, siis on vĂ€hemalt garantii, et me ei saa tĂŒhje klastreid). Igal juhul on lĂ”plikul kogumil alati tĂ€pne alumine piir.

Seda faili saab mÀngida selle lingi kaudu (Àra unusta lubada makrode tugi. Failid on viiruste suhtes kontrollitud)

Meetodi kirjeldus Vikipedias — k-meetod

2. PolĂŒnoomide ligikaudne mÀÀramine ja andmete jaotamine. Ülekoolitus

SuurepĂ€rane teadlane ja andmete teaduse populariseerija K.V. Vorontsov rÀÀgib lĂŒhidalt masinĂ”ppe meetoditest kui „punktide kaudu kĂ”verate joonistamise kunstist“. Antud nĂ€ites otsime andmete seaduspĂ€rasusi vĂ€ikseima ruudu meetodiga.

Kohandame algandmed „Ôppe“ ja „testimise“ jagamise tehnikat ning tutvustame sellist nĂ€htust nagu ĂŒleĂ”pe ehk â€žĂŒlemugandumine“ andmetele. Õige lĂ€henemise korral meil esineb mingisugune viga koolitusandmetel ja veidi suurem – testimise andmetel. Vale lĂ€henemise korral on tĂ€pselt kohandamine koolitusandmete suhtes ja tohutu viga testimisandmetel.

(Tuntud fakt, et lÀbi N punkti saab joonistada ainulaadse N-1 astme kÔvera, ja see meetod ei anna enamasti soovitud tulemust.) Lagrange'i interpolatsioonimurd Wikipedia's)

1. MÀÀrame algse jaotuse.

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

2. Jagame punktid „Ôppe“ ja „testimise“ vahel vahega 70 ja 30.

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

3. Joonistame Ôppepunktide jÀrgi approximatiivse kÔvera, nÀeme selle viga, mida ta testimisandmetel genereerib.

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

4. Joonistame tÀpselt lÀbi Ôpetamispunktide ja nÀeme kontrollandmetel tohutut viga (ning nullit Ôpetamiste puhul, kuid mis kasu?).

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

Kuvatakse loomulikult kĂ”ige lihtsam variant, kus on ainult ĂŒks jagamine "Ă”ppimiseks" ja "kontrollimiseks" mĂ”eldud allkogudeks; tavaliselt toimub see korduvalt, et parimal viisil kohandada koefitsiente.

Fail on siin saadaval, viirusetĂ”rjega kontrollitud. Palun lĂŒlitage makrosid sisse, et tagada korrektne töö.

3. Gradientne langus ja vea dĂŒnaamika.

Siin on 4-mÔÔtmeline juhtum ja lineaarne regressioon. Lineaarse regressiooni koefitsiendid mÀÀratakse samm-sammult gradientse languse meetodi abil, alguses on kĂ”ik koefitsiendid nullid. Eraldi graafikul on nĂ€htav veaga seotud dĂŒnaamika, mis nĂ€itab, kuidas vea tĂ€psusega koefitsientide kohandamine paraneb. On vĂ”imalik vaadata kĂ”iki nelja 2-mÔÔtmelist projektsiooni.

Kui mÀÀrata liiga suur gradienti langemise samm, siis on nĂ€htav, et iga kord ĂŒletame minimaali ja jĂ”uame tulemusele pikema arvu sammudega, kuigi lĂ”puks jĂ”uame ikkagi (kui ainult ei tĂ”sta sammupikkust liiga palju — siis algoritm „kaob kontrolli alt vĂ€lja“). Ja graafik vea sĂ”ltuvusest iteratsiooni sammust ei ole sujuv, vaid „vĂ€risev“.

1. Generoome andmed, mÀÀrame gradienti langemise sammu

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

2. Õige gradienti langemise sammu valiku korral jĂ”uame sujuvalt ja piisavalt kiiresti minimaali

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

3. Vale gradienti langemise sammu valiku korral ĂŒletame maksimaali, vea graafik on „vĂ€risev“, konvergents nĂ”uab rohkem samme

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike
ja

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

4. Kui gradienti langemise samm on tÀiesti vale, siis eemaldume minimaali

MasinÔpe ilma Pythonita, Anacondata ja muude sisalike

(Protsessi taastamiseks nĂ€idatud gradienti langemise sammude vÀÀrtustega mĂ€rkige ruut „standardandmed“).

Fail – selle lingi kaudu, makrode lubamine on vajalik, viiruseid pole.

Kuidas arvab austatud kogukond, kas selline lihtsustus ja materjali esitamise meetod on vastuvÔetav? Kas tasub artikkel ingliskeelde tÔlkida?

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster