Python nell’Intelligenza Artificiale

AI, INFORMATICA, INTELLIGENZA ARTIFICIALE

Era un po’ che non mi dedicavo a scrivere qualche contenuto sul tema dell’intelligenza artificiale.

Questa volta proverò a seguire un filo conduttore più pratico, non parlerò, infatti, di IA in senso generale ma degli strumenti che si possono usare per scrivere algoritmi in ambito IA, approcciando  agli strumenti software e mateematici.

Per chi viene dal mondo ingegneristico sa che esistono strumenti e tools, anche, molto evoluti per l’analisi ed il trattamento dei dati nella fattispecie possiamo citare Matlab e R ma non per questo altre librerie, forse meno friendly, quali ad esempio numpy, scipy, tensorflow, etc. non possono essere altrettanto efficaci.

In questa serie di articoli ci soffermeremo, pertanto, a capire come sfruttare python ed alcuni strumenti per una programmazione e prototipizzazione veloce quale ad esempio Jupyter notebook.

Molti si chiederanno perché python? La risposta è semplice perché è il linguaggio più diffuso nello sviluppo di tecnologie in ambito IA.

Le ragioni sono diverse:

In primo luogo, Python è un linguaggio molto semplice e di facile approccio; il che consente anche ai programmatori non esperti di poter realizzare del codice in modo piuttosto veloce senza essere costretto di fatto a preparare/configurare ambienti di sviluppo complessi.

In secondo luogo, è utilizzato in ambiento scientifico ed universitario per cui sul tema AI è piuttosto comune recuperare esempi scritti in python.

Infine, Python è veramente ricco di moduli facilmente integrabili.

Ambiente di sviluppo e prototipazione.

Per poter ottenere risultati immediati e sviluppare in linea ovvero testando linea per linea le righe di codice man mano che vengono implementate vi suggerisco di usare Jupyter un ambiente web di sviluppo che vi consente di sviluppare e di verificare i risultati del vostro lavoro in real-time.

Vediamo cosa bisogna fare per usarlo, per i più pigri suggerisco un link del sito di Jupyter su cui potrete usare direttamente la versione online https://jupyter.org/try, ma il mio consiglio è di installare una versione locale, se non altro per essere liberi di usare le vostre librerie. Dopo tutto l’installazione non è così onerosa (per maggiori dettagli https://jupyter.org/install)

Se avete python ed il package manager PIP già installati dovrete solamente lanciare il comando:

pip install jupyterlab

ed aspettare che l’installazione finisca. Oppure lanciare i seguenti comandi:

per Python 3:

python3 -m pip install --upgrade pip

python3 -m pip install jupyter

per Python 2:

python -m pip install --upgrade pip

python -m pip install jupyter

Nel caso in cui non abbiate python installato vi consiglio di seguire le istruzioni necessarie per effettuare l’installazione sul vostro sistema operativo: https://www.python.org/downloads/

Terminata l’installazione provate semplicemente a lanciare da una shell all’interno di una cartella vuota a vostra scelta ad esempio: myproject1 il seguente comando

jupyter notebook

se tutto è andato per il verso giusto dovrebbe aprirsi una pagina web di questo tipo

A questo punto potete creare un progetto scegliendo tra python2 o python3 nel caso in cui abbiate installato entrambe le versioni.

Al completamento della procedura di inizializzazione del progetto dovreste ottenere qualcosa del genere:

A questo punto potrete inserire all’interno della riga di comando In []: una o più righe di codice python per poi verificarne il risultato cliccando sul RUN.

Esempio di utilizzo

Proviamo a fare un primo esempio. Per capirne le potenzialità riprenderò un tema già trattato in un altro articolo ovvero quello della regressione lineare, quale strumento, per ottenere un modello rappresentativo di un sistema, partendo dallo spazio di dispersione.

Cerchiamo di capire come fare e cosa può essere utile.

In primo luogo, partirei dalla necessità di una libreria che ci consenta di fare operazioni matematiche complesse ed in particolare useremo numpy.

Come secondo step, poiché ho necessità di rappresentare i dati graficamente utilizzerò un’altra libreria molto flessibile e potente Matplotlib.

Matplot lib è una libreria Python studiata per realizzare grafici 2D e 3D. Nell’utilizzo dello script direttamente da shell, verrà aperta uan finestra in cui saranno visualizzati i grafici, nel caso specifico in jupiter il grafico . verrà visualizzato in linea. Inoltre useremo pyplot   che ci aiuterà a rappresentare i grafici in un modo simile a Matlab.

 

Importo le librerie necessarie per il nostro esempio

Fornisco la direttiva per poter usare matplotlib in jupyter notebook; con questa modalità posso fare facilmente zoom ed altro. Questa è una delle vie migliori per test rapidi in cui è necessario lavorare in modo interattivo;

a questo punto importiamo matplotlib

 

 

Bene, fatto ciò proviamo un test semplice ad esempio cerchiamo di disegnare una retta. Vediamo i passi da seguire.

 

 

Proviamo ad esempio a cambiare il tratto della linea.

plt.plot(x,y,linestyle="--")

o inserire una label

plt.plot(x,y,label='y=5x+1')
plt.legend()

Interesante vero ? cerchiamo di fare qualcosa di più complesso.

seconda parte >>

Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e  direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la  Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .

 

Attualmente sono :

  • CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
  • Co-CEO in Techintouch s.r.l. e partner per la Campania di Digital Magics S.p.A.
  • Board member in StepFund GP SA

Manager ed imprenditore dal  2000  sono stato, CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.

Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.

Please follow and like us:

Commenti

Privacy Preference Center

Close your account?

Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?