Apprendimentu automaticu senza Python, Anaconda è altri rettili

Innò, bè, sicuru, ùn sò micca seriu. Ci deve esse un limitu in quantu hè pussibule simplificà un sughjettu. Ma per i primi tappe, capiscenu i cuncetti basi è rapidamente "entra" in u tema, pò esse accettatu. Discuteremu cumu per nome currettamente stu materiale (opzioni: "Apprendimentu di macchina per i manichi", "Analisi di dati da diapers", "Algoritmi per i zitelli") à a fine.

À u puntu. Scrive parechji prugrammi d'applicazione in MS Excel per a visualizazione è a rapprisintazioni visuale di i prucessi chì si verificanu in diversi metudi di apprendimentu automaticu quandu analizà e dati. Videndu hè crede, dopu à tuttu, cum'è i portatori di a cultura dicenu, chì hà sviluppatu a maiò parte di sti metudi (per via, micca tutti. U più putente "macchina di supportu di vettore", o SVM, macchina di vettore di supportu hè l'invenzione di u nostru compatriota Vladimir Vapnik, Moscow Institute of Management. 1963, per via! Avà, però, insegna è travaglia in l'USA).

Trè schedarii per rivisione

1. K-significa clustering

I prublemi di stu tipu riferenu à "apprendimentu senza supervisione", quandu avemu bisognu di dividisce i dati iniziali in un certu numaru di categurie cunnisciute in anticipu, ma ùn avemu micca un numeru di "risposte currette"; avemu da estrarle da i dati stessi. . U prublema classicu fundamentale di truvà sottuspezie di fiori di iris (Ronald Fisher, 1936!), chì hè cunsideratu u primu signu di stu campu di a cunniscenza, hè di questa natura.

U metudu hè abbastanza sèmplice. Avemu un inseme d'uggetti rapprisintati cum'è vettori (set di N numeri). In l'iris, questi sò inseme di numeri 4 chì caratterizeghjanu u fiore: a longu è a larghezza di i lobi esterni è internu di u periantu, rispettivamente (Iris di Fischer - Wikipedia). U solitu metrica Cartesian hè sceltu cum'è a distanza, o misura di prussimità trà l'uggetti.

In seguitu, i centri di cluster sò scelti aleatoriamente (o micca aleatoriu, vede quì sottu), è e distanze da ogni ughjettu à i centri di cluster sò calculati. Ogni ughjettu à un passu di iterazione datu hè marcatu cum'è appartenendu à u centru più vicinu. Allora u centru di ogni cluster hè trasferitu à a media aritmetica di e coordenate di i so membri (per analogia cù a fisica, hè ancu chjamatu "centru di massa"), è a prucedura hè ripetuta.

U prucessu cunverge abbastanza rapidamente. In l'imaghjini in dui dimensioni pare cusì:

1. Distribuzione aleatoria iniziale di punti nantu à u pianu è u numeru di clusters

Apprendimentu automaticu senza Python, Anaconda è altri rettili

2. Specificà i centri di cluster è assignendu punti à i so clusters

Apprendimentu automaticu senza Python, Anaconda è altri rettili

3. Trasferendu e coordenate di i centri di cluster, recalculendu l'affiliazione di i punti finu à chì i centri stabilizzanu. A trajectoria di u centru di u cluster chì si move à a so pusizioni finali hè visibile.

Apprendimentu automaticu senza Python, Anaconda è altri rettili

In ogni mumentu, pudete stabilisce novi centri di cluster (senza generà una nova distribuzione di punti!) È vede chì u prucessu di partizione ùn hè micca sempre unambiguo. Matematicamente, questu significa chì per a funzione chì hè ottimisata (a somma di e distanze quadrate da i punti à i centri di i so clusters), truvamu micca un minimu globale, ma un minimu locale. Stu prublema pò esse superatu sia da una scelta micca aleatoria di i centri di cluster iniziali, o da l'enumerazione di i centri pussibuli (a volte hè vantaghju di mette esattamente à unu di i punti, allora almenu ci hè una guaranzia chì ùn avemu micca viotu. clusters). In ogni casu, un inseme finitu hà sempre un infimum.

Pudete ghjucà cù stu schedariu à stu ligame (ùn vi scurdate di attivà u supportu macro. I schedari sò stati scanati per virus)

Descrizzione di u metudu in Wikipedia - mètudu k-significa

2. Approssimazione per pulinumi è ripartizione di dati. Riformazione

Scientist rimarchevule è vulgarisatore di a scienza di dati K.V. Vorontsov descrive brevemente i metudi di machine learning cum'è "a scienza di disegnà curve attraversu punti". In questu esempiu, truvamu un mudellu in i dati cù u metudu di i minimi quadrati.

A tecnica di dividisce i dati surghjenti in "furmazioni" è "cuntrollu" hè mostratu, è ancu un fenomenu cum'è retraining, o "re-adjusting" à i dati. Cù l'approssimazione curretta, averemu un certu errore nantu à i dati di furmazione è un errore un pocu più grande nantu à i dati di cuntrollu. S'ellu hè sbagliatu, u risultatu in l'ajustamentu precisu à i dati di furmazione è un errore enormu nantu à i dati di prova.

(Hè un fattu notu chì à traversu N punti si pò disegnà una sola curva di u gradu N-1, è stu metudu in u casu generale ùn dà u risultatu desideratu. Polinomiu d'interpolazione di Lagrange in Wikipedia)

1. Stallà a distribuzione iniziale

Apprendimentu automaticu senza Python, Anaconda è altri rettili

2. Dividemu i punti in "furmazione" è "cuntrollu" in una proporzione di 70 à 30.

Apprendimentu automaticu senza Python, Anaconda è altri rettili

3. Tracemu a curva apprussimativa longu i punti di furmazione, vedemu l'errore chì dà nantu à i dati di cuntrollu

Apprendimentu automaticu senza Python, Anaconda è altri rettili

4. Tracemu una curva esatta attraversu i punti di furmazione, è vedemu un errore monstruosu nantu à i dati di cuntrollu (è cero nantu à i dati di furmazione, ma chì hè u puntu?).

Apprendimentu automaticu senza Python, Anaconda è altri rettili

Dimustratu, sicuru, hè l'opzione più simplice cù una sola divisione in "furmazioni" è "cuntrollu" subsets; in u casu generale, questu hè fattu parechje volte per u megliu aghjustamentu di i coefficienti.

U schedariu hè dispunibule quì, scanned by antivirus. Attivate macros per u funziunamentu currettu

3. Gradient discesa è dinamica di u cambiamentu di errore

Ci sarà un casu 4-dimensionale è a regressione lineale. I coefficienti di regressione lineari seranu determinati passu per passu cù u metudu di discendenza di gradiente, inizialmente tutti i coefficienti sò zero. Un graficu separatu mostra a dinamica di riduzzione di l'errore cum'è i coefficienti sò aghjustati più è più precisamente. Hè pussibule di vede tutte e quattru proiezioni bidimensionali.

Se impostate u passu di discesa di gradiente troppu grande, pudete vede chì ogni volta saltaremu u minimu è ghjunghjemu à u risultatu in un numeru più grande di passi, ancu s'è à a fine ghjunghjeremu sempre (salvo s'ellu ùn ritardiamu ancu u passu di discesa). assai - allura l'algoritmu andrà "in spades"). È u graficu di l'errore secondu u passu di l'iterazione ùn serà micca lisu, ma "saccatu".

1. Generate data, stabilisce u passu di discesa gradiente

Apprendimentu automaticu senza Python, Anaconda è altri rettili

2. Cù a selezzione curretta di u passu di discendenza di gradiente, ghjunghjemu lisu è rapidamente u minimu

Apprendimentu automaticu senza Python, Anaconda è altri rettili

3. Se u passu di discesa di gradiente hè sceltu incorrectamente, sopra à u massimu, u graficu d'errore hè "jerky", a cunvergenza piglia un numeru più grande di passi.

Apprendimentu automaticu senza Python, Anaconda è altri rettili
и

Apprendimentu automaticu senza Python, Anaconda è altri rettili

4. Se selezziunà u passu di discendenza di gradiente completamente incorrectamente, alluntanemu da u minimu

Apprendimentu automaticu senza Python, Anaconda è altri rettili

(Per ripruduce u prucessu usendu i valori di gradiente di discendenza mostrati in l'imaghjini, verificate a casella "dati di riferimentu").

U schedariu hè in questu ligame, avete bisognu di attivà i macros, ùn ci sò micca virus.

Sicondu a cumunità rispettata, hè una tale simplificazione è u metudu di prisentà u materiale accettabile? Vale a pena di traduce l'articulu in inglese ?

Source: www.habr.com

Add a comment