Articles

Tutorial di programmazione Python

Tutorial pratico di apprendimento automatico con introduzione a Python

Di cosa avrai bisogno per questa serie di tutorial:
  • Installare numpy, matplotlib, pandas, sklearn e le loro dipendenze

pip install numpy

pip install scipy

pip install scikit-learn

pip install matplotlib

pip install pandas

Vuoi aiuto per installare pacchetti con pip? vedi il tutorial pip install

Ciao ragazze e ragazzi, benvenuti ad un approfondito e pratico corso di machine learning.

L’obiettivo di questo corso è quello di darvi una comprensione completa del machine learning, coprendo la teoria, l’applicazione e il funzionamento interno degli algoritmi di apprendimento supervisionato, non supervisionato e profondo.

In questa serie, copriremo la regressione lineare, K Nearest Neighbors, Support Vector Machines (SVM), clustering piatto, clustering gerarchico, e reti neurali.

Per ogni algoritmo principale che copriamo, discuteremo le intuizioni di alto livello degli algoritmi e come sono logicamente destinati a funzionare. Poi, applicheremo gli algoritmi nel codice usando set di dati del mondo reale insieme ad un modulo, come con Scikit-Learn. Infine, ci immergeremo nel funzionamento interno di ciascuno degli algoritmi ricreandoli nel codice, da zero, noi stessi, compresa tutta la matematica coinvolta. Questo dovrebbe darvi una comprensione completa di come funzionano esattamente gli algoritmi, come possono essere modificati, quali sono i vantaggi e gli svantaggi.

Per seguire la serie, vi suggerisco di avere almeno una conoscenza di base di Python. Se non ce l’avete, vi suggerisco almeno di seguire il tutorial Python 3 Basics fino al tutorial sull’installazione dei moduli con pip. Se avete una comprensione di base di Python, e la volontà di imparare/fare domande, sarete in grado di seguire senza problemi. La maggior parte degli algoritmi di apprendimento automatico sono in realtà abbastanza semplici, poiché devono esserlo per poter scalare su grandi insiemi di dati. La matematica coinvolta è tipicamente l’algebra lineare, ma farò del mio meglio per spiegare comunque tutta la matematica. Se siete confusi/perdenti/curiosi di qualcosa, chiedete nella sezione dei commenti su YouTube, nella comunità qui, o inviatemi un’email. Avrete anche bisogno di Scikit-Learn e Pandas installati, insieme ad altri che prenderemo lungo la strada.

L’apprendimento delle macchine è stato definito nel 1959 da Arthur Samuel come il “campo di studio che dà ai computer la capacità di imparare senza essere esplicitamente programmati”. Questo significa infondere conoscenza alle macchine senza codificarla. Da quello che ho trovato personalmente, le persone al di fuori della comunità di programmazione credono principalmente che l’intelligenza delle macchine sia hard-coded, completamente ignari della realtà del campo. Una delle maggiori sfide che ho avuto con l’apprendimento automatico è stata l’abbondanza di materiale sulla parte di apprendimento. Si possono trovare formule, grafici, equazioni e un sacco di teoria sul tema dell’apprendimento automatico, ma molto poco sulla parte “macchina” effettiva, dove si programma effettivamente la macchina e si eseguono gli algoritmi su dati reali. Questo è dovuto principalmente alla storia. Negli anni ’50, le macchine erano piuttosto deboli e poco fornite, cosa che è rimasta tale per mezzo secolo. Il Machine Learning era relegato ad essere principalmente teorico e raramente effettivamente impiegato. La Support Vector Machine (SVM), per esempio, fu creata da Vladimir Vapnik in Unione Sovietica nel 1963, ma passò in gran parte inosservata fino agli anni ’90, quando Vapnik fu scoopato dall’Unione Sovietica agli Stati Uniti dai Bell Labs. La rete neurale è stata concepita negli anni ’40, ma i computer all’epoca non erano neanche lontanamente abbastanza potenti per farli funzionare bene, e non lo sono stati fino a tempi relativamente recenti.

L'”idea” di apprendimento automatico è entrata e uscita dal favore alcune volte nel corso della storia, ogni volta lasciando la gente pensare che fosse solo una moda. È davvero solo di recente che siamo stati in grado di mettere alla prova gran parte dell’apprendimento automatico. Al giorno d’oggi, è possibile far girare e affittare un cluster di GPU da 100.000 dollari per pochi dollari all’ora, la materia dei sogni degli studenti di dottorato solo 10 anni fa. L’apprendimento automatico ha avuto un’altra impennata a metà degli anni 2000 ed è stato in crescita da allora, beneficiando anche in generale della legge di Moore. Oltre a questo, ci sono ampie risorse là fuori per aiutarvi nel vostro viaggio con l’apprendimento automatico, come questo tutorial. Potete semplicemente fare una ricerca su Google sull’argomento e trovare informazioni più che sufficienti per tenervi occupati per un po’.

Questo è così tanto al punto che ora abbiamo moduli e API a nostra disposizione, ed è possibile impegnarsi nell’apprendimento automatico molto facilmente senza quasi nessuna conoscenza di come funziona. Con le impostazioni predefinite di Scikit-learn, è possibile ottenere il 90-95% di precisione su molti compiti fin dall’inizio. L’apprendimento automatico è molto simile a una macchina, non c’è bisogno di sapere molto su come funziona per ottenere un’incredibile quantità di utilità da esso. Se si desidera spingere i limiti delle prestazioni e dell’efficienza, tuttavia, è necessario scavare sotto il cofano, che è più come questo corso è orientato. Se state solo cercando un tutorial veloce per impiegare l’apprendimento automatico sui dati, ho già un semplice tutorial di esempio di classificazione e un semplice esempio di clustering (apprendimento automatico non supervisionato) che potete controllare.

Nonostante l’apparente età e maturità dell’apprendimento automatico, direi che non c’è momento migliore di adesso per impararlo, dato che potete effettivamente usarlo. Le macchine sono abbastanza potenti, quella su cui state lavorando può probabilmente fare la maggior parte di questa serie velocemente. I dati sono anche molto abbondanti ultimamente.

Il primo argomento che tratteremo è la regressione, che è dove riprenderemo nel prossimo tutorial. Assicurati di avere Python 3 installato, insieme a Pandas e Scikit-Learn.

Il prossimo tutorial: Regressione – Introduzione e dati

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *