Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

Dili, maayo, siyempre, dili ako seryoso. Kinahanglan nga adunay limitasyon sa gidak-on nga posible nga pasimplehon ang usa ka hilisgutan. Apan alang sa unang mga hugna, pagsabot sa mga batakang konsepto ug dali nga "pagsulod" sa hilisgutan, kini mahimong madawat. Atong hisgotan kon unsaon sa hustong paghingalan niini nga materyal (mga opsyon: "Pagkat-on sa makina alang sa mga dummies", "Pag-analisar sa datos gikan sa mga lampin", "Mga algorithm alang sa gagmay nga mga bata") sa katapusan.

Sa punto. Nagsulat ug daghang mga programa sa aplikasyon sa MS Excel para sa visualization ug biswal nga representasyon sa mga proseso nga mahitabo sa lain-laing mga pamaagi sa pagkat-on sa makina sa pag-analisar sa datos. Ang pagtan-aw mao ang pagtoo, human sa tanan, sama sa giingon sa mga nagdala sa kultura, nga nagpalambo sa kadaghanan niini nga mga pamaagi (sa paagi, dili tanan niini. Ang labing gamhanan nga "support vector machine", o SVM, suporta vector machine mao ang pag-imbento sa ang among kababayan nga si Vladimir Vapnik, Moscow Institute of Management. 1963, by the way! Karon, bisan pa niana, siya nagtudlo ug nagtrabaho sa USA).

Tulo ka mga file alang sa pagsusi

1. K-nagpasabot sa clustering

Ang mga problema niini nga matang nagtumong sa "dili bantayan nga pagkat-on," kung kinahanglan naton bahinon ang inisyal nga datos sa usa ka piho nga gidaghanon sa mga kategorya nga nahibal-an nang daan, apan wala kami bisan unsang gidaghanon sa "husto nga mga tubag"; kinahanglan naton kini makuha gikan sa datos mismo. . Ang sukaranan nga klasikal nga problema sa pagpangita sa mga subspecies sa mga bulak sa iris (Ronald Fisher, 1936!), Nga giisip nga una nga timaan sa kini nga natad sa kahibalo, kini nga kinaiya.

Ang pamaagi yano ra. Kita adunay usa ka hugpong sa mga butang nga girepresentahan isip mga vector (mga set sa N nga mga numero). Sa mga iris, kini ang mga set sa 4 nga mga numero nga nagpaila sa bulak: ang gitas-on ug gilapdon sa gawas ug sulod nga lobes sa perianth, matag usa (Mga iris ni Fischer - Wikipedia). Ang naandan nga Cartesian metric gipili isip gilay-on, o sukod sa kaduol tali sa mga butang.

Sunod, ang mga sentro sa cluster gipili nga random (o dili random, tan-awa sa ubos), ug ang mga gilay-on gikan sa matag butang ngadto sa mga cluster center gikalkula. Ang matag butang sa gihatag nga lakang sa pag-uli gimarkahan nga nahisakop sa labing duol nga sentro. Dayon ang sentro sa matag pungpong gibalhin ngadto sa aritmetika nga kahulogan sa mga koordinasyon sa mga membro niini (pinaagi sa analohiya sa pisika, gitawag usab kini nga "sentro sa masa"), ug ang pamaagi gisubli.

Ang proseso naghiusa sa kadali. Sa mga litrato sa duha ka dimensyon kini ingon niini:

1. Inisyal nga random nga pag-apod-apod sa mga punto sa eroplano ug ang gidaghanon sa mga cluster

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

2. Pagtino sa mga cluster center ug pag-assign sa mga punto sa ilang mga cluster

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

3. Pagbalhin sa mga koordinasyon sa mga sentro sa cluster, pagkalkula pag-usab sa kalambigitan sa mga punto hangtud nga ang mga sentro molig-on. Makita ang trajectory sa cluster center nga mibalhin sa kataposang posisyon niini.

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

Bisan unsang orasa, mahimo nimong itakda ang bag-ong mga sentro sa cluster (nga wala maghimo usa ka bag-ong pag-apod-apod sa mga puntos!) Ug tan-awa nga ang proseso sa pagbahin dili kanunay dili klaro. Sa matematika, kini nagpasabot nga alang sa pag-obra nga gi-optimize (ang kadaghanon sa mga squared nga gilay-on gikan sa mga punto ngadto sa mga sentro sa ilang mga pungpong), atong makita nga dili usa ka global, apan usa ka lokal nga minimum. Kini nga problema mahimong mabuntog pinaagi sa usa ka dili random nga pagpili sa mga inisyal nga cluster center, o pinaagi sa pag-ihap sa posible nga mga sentro (usahay mas maayo nga ibutang kini sa eksakto sa usa sa mga punto, unya labing menos adunay usa ka garantiya nga dili kita mawad-an og sulod. mga cluster). Sa bisan unsa nga kaso, ang usa ka finite set kanunay adunay usa ka infimum.

Mahimo nimong dulaon kini nga file sa kini nga link (ayaw kalimti ang pagpagana sa suporta sa macro. Ang mga file gi-scan alang sa mga virus)

Deskripsyon sa pamaagi sa Wikipedia - k-nagpasabot nga pamaagi

2. Pagbanabana pinaagi sa polynomials ug data breakdown. Pagbansay pag-usab

Talagsaon nga siyentista ug popularizer sa data science K.V. Gihulagway ni Vorontsov sa makadiyot ang mga pamaagi sa pagkat-on sa makina isip "ang siyensiya sa pagdrowing sa mga kurba pinaagi sa mga punto." Sa kini nga pananglitan, makit-an namon ang usa ka sumbanan sa datos gamit ang labing gamay nga pamaagi sa mga kwadro.

Ang teknik sa pagbahin sa tinubdan nga datos ngadto sa "pagbansay" ug "pagkontrol" gipakita, ingon man ang usa ka panghitabo sama sa retraining, o "re-adjust" sa datos. Uban sa husto nga pagbanabana, kita adunay usa ka piho nga sayup sa datos sa pagbansay ug usa ka gamay nga mas dako nga sayup sa data sa pagkontrol. Kung dili husto, moresulta kini sa tukma nga pag-adjust sa datos sa pagbansay ug usa ka dako nga sayup sa datos sa pagsulay.

(Kini usa ka ilado nga kamatuoran nga pinaagi sa N nga mga punto ang usa mahimo nga magdrowing og usa ka kurba sa N-1th degree, ug kini nga pamaagi sa kinatibuk-ang kaso wala maghatag sa gitinguha nga resulta. Lagrange interpolation polynomial sa Wikipedia)

1. Itakda ang inisyal nga pag-apod-apod

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

2. Among gibahin ang mga punto ngadto sa "pagbansay" ug "pagkontrol" sa ratio nga 70 ngadto sa 30.

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

3. Gidrowing namo ang gibana-bana nga kurba sa mga punto sa pagbansay, among nakita ang sayup nga gihatag niini sa kontrol nga datos

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

4. Gidrowing namo ang eksaktong kurba pinaagi sa mga punto sa pagbansay, ug nakita namo ang usa ka dako nga sayop sa data sa pagkontrol (ug zero sa datos sa pagbansay, apan unsa ang punto?).

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

Gipakita, siyempre, mao ang pinakasimple nga kapilian nga adunay usa ka dibisyon sa "pagbansay" ug "pagkontrol" nga mga subset; sa kinatibuk-ang kaso, kini gihimo sa daghang mga higayon alang sa labing kaayo nga pag-adjust sa mga coefficient.

Anaa ang file dinhi, gi-scan sa antivirus. I-enable ang mga macro para sa saktong operasyon

3. Gradient nga kaliwat ug dynamics sa sayop nga kausaban

Adunay usa ka 4-dimensional nga kaso ug linear regression. Ang mga linear regression coefficients matino sa lakang gamit ang gradient descent method, sa sinugdanan ang tanang coefficient kay zero. Ang usa ka bulag nga graph nagpakita sa dinamika sa pagkunhod sa sayup samtang ang mga coefficient gi-adjust nga mas ug mas tukma. Posible nga tan-awon ang tanan nga upat ka 2-dimensional nga mga projection.

Kung imong gibutang ang gradient nga lakang nga dako kaayo, imong makita nga sa matag higayon nga laktawan namo ang minimum ug moabot ang resulta sa mas daghan nga mga lakang, bisan pa sa katapusan moabut gihapon kami (gawas kung among ilangan usab ang lakang sa pagkunsad. daghan - unya ang algorithm moadto " sa spades"). Ug ang graph sa sayup depende sa lakang sa pag-uli dili hapsay, apan "jerky".

1. Paghimo og datos, itakda ang gradient nga lakang sa pagkunsad

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

2. Uban sa husto nga pagpili sa gradient descent nga lakang, kita hapsay ug dali pagkab-ot sa minimum

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

3. Kung ang gradient descent step sayop nga gipili, among gi-overshoot ang maximum, ang error graph kay "jerky", ang convergence nagkinahanglan og mas daghang mga lakang

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya
ΠΈ

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

4. Kon atong pilion ang gradient descent step sa hingpit nga sayop, kita mopalayo gikan sa minimum

Ang pagkat-on sa makina nga walay Python, Anaconda ug uban pang mga reptilya

(Aron kopyahon ang proseso gamit ang gradient descent step values ​​​​nga gipakita sa mga litrato, susiha ang kahon nga "reference data").

Ang file naa sa kini nga link, kinahanglan nimo nga ma-enable ang mga macro, wala’y mga virus.

Sumala sa respetadong komunidad, ang maong pagpayano ug paagi sa pagpresentar sa materyal madawat ba? Takus ba ang paghubad sa artikulo sa English?

Source: www.habr.com

Idugang sa usa ka comment