Vélnám án Python, Anaconda og annarra skriðdýra

Nei, auðvitað, mér er ekki alvara. Það verða að vera takmörk fyrir því hversu hægt er að einfalda viðfangsefni. En fyrir fyrstu stigin, að skilja grunnhugtök og fara fljótt inn í efnið, gæti það verið ásættanlegt. Við munum ræða hvernig á að nefna þetta efni rétt (valkostir: "Vélnám fyrir dúllur", "Gagnagreining frá bleyjum", "Reiknirit fyrir litlu börnin") í lokin.

Beint að efninu. Skrifaði nokkur forrit í MS Excel fyrir sjónræna framsetningu og myndræna framsetningu ferla sem eiga sér stað í mismunandi vélanámsaðferðum við greiningu gagna. Að sjá er að trúa, þegar allt kemur til alls, eins og burðarmenn menningarinnar segja, sem þróaði flestar þessar aðferðir (við the vegur, ekki allar. Öflugasta „support vektor vél“, eða SVM, stuðning vektor vél er uppfinning af landa okkar Vladimir Vapnik, Moscow Institute of Management. 1963, að vísu! Nú kennir hann hins vegar og starfar í Bandaríkjunum).

Þrjár skrár til skoðunar

1. K-þýðir þyrping

Vandamál af þessu tagi vísa til „náms án eftirlits,“ þegar við þurfum að skipta upphafsgögnunum í ákveðinn fjölda flokka sem vitað er um fyrirfram, en við höfum ekki neinn fjölda „réttra svara“; við verðum að draga þau úr gögnunum sjálfum. . Hið klassíska grundvallarvandamál að finna undirtegund lithimnublóma (Ronald Fisher, 1936!), sem er talið fyrsta merki þessa þekkingarsviðs, er einmitt þess eðlis.

Aðferðin er frekar einföld. Við höfum mengi af hlutum sem táknuð eru sem vektorar (mengi af N tölum). Í lithimnu eru þetta sett af 4 tölum sem einkenna blómið: lengd og breidd ytri og innri blaðlauksins, í sömu röð (Irises Fischers – Wikipedia). Venjulegur kartesískur mælikvarði er valinn sem fjarlægð, eða mælikvarði á nálægð milli hluta.

Næst eru klasamiðstöðvar valin af handahófi (eða ekki af handahófi, sjá hér að neðan) og fjarlægðir frá hverjum hlut til klasamiðjanna reiknaðar. Hver hlutur í tilteknu endurtekningarþrepi er merktur sem tilheyra næst miðju. Síðan er miðja hvers klasa flutt yfir í reiknað meðaltal hnita meðlima hans (í hliðstæðu við eðlisfræði, hún er einnig kölluð „massamiðja“) og aðferðin er endurtekin.

Ferlið rennur saman nokkuð fljótt. Á myndum í tvívídd lítur þetta svona út:

1. Upphafleg tilviljunarkennd dreifing punkta á planinu og fjölda þyrpinga

Vélnám án Python, Anaconda og annarra skriðdýra

2. Tilgreina klasamiðstöðvar og úthluta punktum á klasa þeirra

Vélnám án Python, Anaconda og annarra skriðdýra

3. Að flytja hnit klasamiðstöðva, endurreikna tengingu punktanna þar til miðstöðvarnar verða stöðugar. Ferill klasamiðstöðvarinnar sem færist í lokastöðu sína er sýnilegur.

Vélnám án Python, Anaconda og annarra skriðdýra

Hvenær sem er geturðu stillt nýjar klasamiðstöðvar (án þess að búa til nýja dreifingu punkta!) og sjá að skiptingarferlið er ekki alltaf ótvírætt. Stærðfræðilega þýðir þetta að fyrir fallið sem verið er að fínstilla (summan af vegalengdum í veldi frá punktum að miðjum klasa þeirra), finnum við ekki alþjóðlegt, heldur staðbundið lágmark. Hægt er að vinna bug á þessu vandamáli annað hvort með vali á upphafsþyrpingamiðstöðvum sem ekki er af handahófi eða með því að telja upp mögulegar miðstöðvar (stundum er hagkvæmt að staðsetja þær nákvæmlega á einum punktanna, þá er allavega trygging fyrir því að við verðum ekki tómar klasa). Í öllum tilvikum hefur endanlegt mengi alltaf infimum.

Þú getur spilað með þessari skrá á þessum hlekk (ekki gleyma að virkja macro support. Skrárnar hafa verið skannaðar fyrir vírusum)

Lýsing á aðferðinni á Wikipedia - k-þýðir aðferð

2. Nálgun með margliðum og sundurliðun gagna. Endurmenntun

Merkilegur vísindamaður og vinsæll gagnavísinda K.V. Vorontsov lýsir í stuttu máli vélanámsaðferðum sem „vísindum um að draga ferla í gegnum punkta. Í þessu dæmi munum við finna mynstur í gögnunum með því að nota minnstu ferningsaðferðina.

Sýnd er tæknin við að skipta upprunagögnunum í „þjálfun“ og „stjórn“, sem og fyrirbæri eins og endurþjálfun eða „aðlögun“ að gögnunum. Með réttri nálgun munum við hafa ákveðna villu á þjálfunargögnum og aðeins stærri villu á eftirlitsgögnum. Ef það er rangt leiðir það til nákvæmrar aðlögunar að þjálfunargögnum og mikillar villu í prófunargögnum.

(Það er vel þekkt staðreynd að í gegnum N punkta er hægt að draga eina feril af N-1. gráðu og þessi aðferð í almennu tilvikinu gefur ekki tilætluðum árangri. Lagrange innskotsmargliður á Wikipedia)

1. Stilltu upphafsdreifingu

Vélnám án Python, Anaconda og annarra skriðdýra

2. Við skiptum stigunum í „þjálfun“ og „stjórn“ í hlutfallinu 70 til 30.

Vélnám án Python, Anaconda og annarra skriðdýra

3. Við teiknum nálgunarferilinn meðfram þjálfunarpunktunum, við sjáum villuna sem hún gefur á eftirlitsgögnunum

Vélnám án Python, Anaconda og annarra skriðdýra

4. Við teiknum nákvæma feril í gegnum þjálfunarpunktana og við sjáum stórkostlega villu á eftirlitsgögnunum (og núll á þjálfunargögnunum, en hvað er málið?).

Vélnám án Python, Anaconda og annarra skriðdýra

Sýndur er auðvitað einfaldasti valkosturinn með einni skiptingu í „þjálfun“ og „stýringu“ undirmengi; í almennu tilvikinu er þetta gert margsinnis til að stilla stuðlana sem best.

Skráin er fáanleg hér, skönnuð með vírusvörn. Virkjaðu fjölva fyrir rétta notkun

3. Lækkun halla og gangverki villubreytinga

Það verður 4-vídd fall og línuleg aðhvarf. Línulegir aðhvarfsstuðlar verða ákvarðaðir skref fyrir skref með því að nota hallafallslækkunaraðferðina, upphaflega eru allir stuðlar núll. Sérstakt línurit sýnir gangverki skekkjuminnkunar þar sem stuðlarnir eru stilltir með meiri og nákvæmari hætti. Það er hægt að skoða allar fjórar tvívíddar vörpunirnar.

Ef þú stillir hallarlækkunarskrefið of stórt, geturðu séð að í hvert skipti sleppum við lágmarkinu og komumst að niðurstöðunni í fleiri þrepum, þó að á endanum komumst við samt (nema við frestum lækkunarskrefinu líka mikið - þá fer reikniritið „í spaða“). Og línurit villunnar, eftir endurtekningarskrefinu, verður ekki slétt, heldur „hnykkt“.

1. Búðu til gögn, stilltu hallastigið

Vélnám án Python, Anaconda og annarra skriðdýra

2. Með réttu vali á hallastigslækkunarþrepinu náum við slétt og fljótt lágmarkinu

Vélnám án Python, Anaconda og annarra skriðdýra

3. Ef stigfallslækkunarþrepið er rangt valið, þá förum við yfir hámarkið, villugrafið er „hnykkt“, samleitni tekur fleiri skref

Vélnám án Python, Anaconda og annarra skriðdýra
и

Vélnám án Python, Anaconda og annarra skriðdýra

4. Ef við veljum hallarlækkunarþrepið algjörlega rangt, færumst við frá lágmarkinu

Vélnám án Python, Anaconda og annarra skriðdýra

(Til að endurskapa ferlið með því að nota lækkunarstigsgildin sem sýnd eru á myndunum, merktu við „tilvísunargögn“ reitinn).

Skráin er á þessum hlekk, þú þarft að virkja fjölvi, það eru engir vírusar.

Er slík einföldun og aðferð við framsetningu efnisins ásættanleg að mati hinu virta samfélags? Er það þess virði að þýða greinina á ensku?

Heimild: www.habr.com

Bæta við athugasemd