Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

Aiwa, zvakanaka, chokwadi, handisi serious. Panofanira kuva nemuganhu wekuti zvinobvira kurerutsa chidzidzo kusvika papi. Asi pamatanho ekutanga, kunzwisisa pfungwa dzekutanga uye nekukurumidza "kupinda" musoro, zvinogona kugamuchirwa. Tichakurukura kuti tingatumidza sei chinyorwa ichi nemazvo (sarudzo: "Machine kudzidza kune dummies", "Data kuongororwa kubva kunapukeni", "Algorithms yevadiki") pamagumo.

Kusvika padanho. Akanyora akati wandei mapurogiramu ekushandisa muMS Excel yekuona uye inomiririra inomiririra maitiro anoitika nenzira dzakasiyana dzekudzidza muchina paunenge uchiongorora data. Kuona ndiko kutenda, shure kwezvose, sezvinotaura vatakuri vetsika, iyo yakagadzira nzira dzakawanda dzeiyi nzira (nenzira, kwete dzose. Iyo ine simba zvikuru "kutsigira vector machine", kana SVM, kutsigira vector machine ndiko kugadzirwa kwe shamwari yedu Vladimir Vapnik, Moscow Institute of Management. 1963, nenzira!Iye zvino, zvisinei, anodzidzisa uye anoshanda muU.SA).

Matatu mafaera ekuongorora

1. K-zvinoreva kuunganidza

Matambudziko erudzi urwu anoreva "kudzidza kusingatarisirwe," kana tichida kupatsanura data rekutanga mune imwe nhamba yezvikamu zvinozivikanwa pachine nguva, asi isu hatina chero nhamba ye "mhinduro chaidzo"; tinofanira kuabvisa kubva mu data pacharo. . Dambudziko rekutanga rekutanga rekutsvaga subspecies yeiris maruva (Ronald Fisher, 1936!), iyo inoonekwa sechiratidzo chekutanga cheiyi ndima yeruzivo, ndeyemhando iyi.

Nzira yacho iri nyore. Tine seti yezvinhu zvinomiririrwa sevheji (seti dzeN nhamba). Mune irises, aya maseti e4 nhamba dzinoratidza ruva: kureba uye hupamhi hwekunze uye mukati lobes ye perianth, zvichiteerana (Fischer's irises - Wikipedia) Iyo yakajairika Cartesian metric inosarudzwa sechinhambwe, kana chiyero chepedyo pakati pezvinhu.

Tevere, nzvimbo dzemasumbu dzinosarudzwa zvisina tsarukano (kana kwete zvisina tsarukano, ona pazasi), uye madaro kubva kune chimwe nechimwe chinhu kuenda kunzvimbo dzemasumbu anoverengerwa. Chinhu chimwe nechimwe padanho rakapihwa rekudzokorora chinoiswa chiratidzo chepakati pepedyo. Zvadaro pakati peboka rimwe nerimwe rinotamirwa kune arithmetic zvinoreva kurongeka kwenhengo dzayo (nekuenzanisa nefizikiki, inonziwo "center of mass"), uye nzira inodzokororwa.

Iyo nzira inopindirana nekukurumidza. Mumifananidzo muzvikamu zviviri zvinoita seizvi:

1. Kutanga kugoverwa kwemapoinzi mundege uye nhamba yemasumbu

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

2. Kutsanangura nzvimbo dzemasumbu uye kugovera mapoinzi kumasumbu awo

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

3. Kuendesa kurongeka kwenzvimbo dzemasumbu, kudzokorora kubatanidzwa kwemapoinzi kusvika nzvimbo dzagadzikana. Iyo trajectory yecluster center inoenda kunzvimbo yayo yekupedzisira inoonekwa.

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

Panguva ipi neipi, iwe unogona kuseta nzvimbo nyowani dzemasumbu (pasina kugadzira kugovera kutsva kwemapoinzi!) Pamasvomhu, izvi zvinoreva kuti kune basa riri kuitwa optimized (hwerengedzo yemamita akaenzana kubva pamapoinzi kuenda kunzvimbo dzemasumbu avo), hatiwane pasi rose, asi hushoma hwepanzvimbo. Dambudziko iri rinogona kukundwa nesarudzo isina kurongeka yenzvimbo dzekutanga dzemasumbu, kana nekuverengera nzvimbo dzinogoneka (dzimwe nguva zvinobatsira kudziisa pane imwe yemapoinzi, ipapo pane vimbiso yekuti hatizowana isina chinhu. masumbu). Chero zvazvingaitika, finite set inogara ine infimum.

Unogona kutamba nefaira iri pane iyi link (usakanganwe kugonesa macro rutsigiro. Mafaira akaongororwa mavhairasi)

Tsanangudzo yenzira paWikipedia - k-zvinoreva nzira

2. Kufungidzira nemapolynomials uye kuparara kwedata. Kudzidzirazve

Anoshamisa sainzi uye mukurumbira we data sainzi K.V. Vorontsov anotsanangura muchidimbu nzira dzekudzidza muchina se "sainzi yekudhirowa macurves kuburikidza nemapoinzi." Mumuenzaniso uyu, tichawana pateni mune data tichishandisa nzira shoma yemakwere.

Iyo nzira yekugovera iyo sosi data kuita "kudzidziswa" uye "kudzora" inoratidzwa, pamwe nechiitiko chakadai sekudzokorora, kana "kugadzirisazve" kune data. Nekufungidzira kwakaringana, isu tichava nekukanganisa pane data rekudzidziswa uye chikanganiso chakati kurei pane data rekudzora. Kana zvisirizvo, zvinokonzeresa kurongeka chaiko kune data rekudzidziswa uye kukanganisa kukuru pane data rebvunzo.

(Ichokwadi chinozivikanwa kuti kuburikidza neN point munhu anogona kudhirowa imwe curve yeN-1th degree, uye iyi nzira mune yakajairika kesi haipe mhedzisiro inodiwa. Lagrange interpolation polynomial paWikipedia)

1. Isa kugovera kwekutanga

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

2. Tinoparadzanisa pfungwa mu "kudzidziswa" uye "kutonga" muchiyero che70 kusvika ku30.

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

3. Isu tinodhirowa curve inoswedera pedyo nenzvimbo dzekudzidzira, tinoona kukanganisa kwainopa pane data rekutonga.

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

4. Isu tinodhirowa curve chaiyo kuburikidza nenzvimbo dzekudzidzira, uye tinoona kukanganisa kwakaipisisa pane yekudzora data (uye zero pane data rekudzidzisa, asi chii chiripo?).

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

Kuratidzwa, hongu, ndiyo yakapusa sarudzo ine kupatsanurwa kumwe chete mu "kudzidziswa" uye "kudzora" subsets; mune yakajairika, izvi zvinoitwa kakawanda kuitira kugadzirisa kwakanakisa kweiyo coefficients.

Iyo faira iripo pano, yakaongororwa neantivirus. Bvumira macros kuti ushande zvakanaka

3. Gradient descent uye simba rekuchinja kwekukanganisa

Pachave ne 4-dimensional kesi uye mutsara regression. Linear regression coefficients ichatemwa nhanho nhanho uchishandisa gradient descent nzira, pakutanga ese coefficients ari zero. Girafu rakasiyana rinoratidza masimba ekuderedza kukanganisa sezvo coefficients inogadziriswa zvakanyanya uye zvakanyanya. Zvinokwanisika kuona ese mana 2-dimensional fungidziro.

Kana iwe ukaseta nhanho yekudzika yakakurisa, unogona kuona kuti pese patinenge tichisvetuka zvishoma uye tichasvika pamhedzisiro nenhamba huru yematanho, kunyangwe kumagumo isu tichiri kusvika (kunze kwekunge tanonoka danho rekudzika zvakare. zvakawanda - ipapo iyo algorithm ichaenda "mu spades"). Uye girafu rekukanganisa zvichienderana nedanho rekudzokorora harizove rakatsetseka, asi "jerky".

1. Gadzira data, isa danho rekudzika gradient

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

2. Nekusarudzwa kwakarurama kwe gradient descent step, isu zvakanaka uye nekukurumidza kusvika kune zvishoma

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

3. Kana iyo gradient descent nhanho isina kusarudzwa zvisiri izvo, isu tinopfuudza iyo yakanyanya, girafu yekukanganisa iri "jerky", convergence inotora nhamba yakakura yematanho.

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira
ΠΈ

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

4. Kana tikasarudza danho rekudzika gradient zvachose zvisizvo, tinosimuka kubva pane zvishoma

Kudzidza muchina pasina Python, Anaconda uye zvimwe zvinokambaira

(Kugadzirazve maitiro uchishandisa gradient descent nhanho tsika inoratidzwa mumifananidzo, tarisa "reference data" bhokisi).

Iyo faira iri pane iyi link, unofanirwa kugonesa macros, hapana mavhairasi.

Maererano nenzanga inoremekedzwa, kurerutsa kwakadaro uye nzira yokupa nayo mashoko zvinogamuchirika here? Zvakakodzera here kuturikira chinyorwa kuChirungu?

Source: www.habr.com

Voeg