-
Il mondo si muove seguendo il passo della tecnologia e, negli ultimi dieci anni, la crescita del calcolo automatico è stata straordinaria. Tutti gli ambiti economici, dall’energia alla sanità, dipendono dalla tecnologia per il loro funzionamento. Un campo in forte crescita è l’Intelligenza Artificiale (IA), che sta diventando una delle principali tecniche di sviluppo software. In questa serie di tutorial ci concentreremo sull’apprendimento della programmazione Python e sull’utilizzazione di Python per lo sviluppo di applicazioni IA.
-
Questo capitolo verte sui diversi tipi di dati che potremo utilizzare programmando in Python e le rispettive variabili che potrebbero memorizzare tali dati.
-
In questo capitolo tratteremo due dei concetti principali del machine learning, la classificazione e il clustering, riferiti a due paradigmi di apprendimento: supervisionato e non supervisionato.
-
Proseguiamo il nostro percorso iniziato in Machine Learning in Python: Classificazione e Clustering - Parte 1.
-
La regressione è ampiamente usata sia come strumento statistico sia come algoritmo di apprendimento e la si può descrivere come un metodo parametrico in grado di produrre risultati sulla base dell’analisi delle associazioni tra variabili di input e variabili di output. Generalmente, le variabili in output sono numeri reali. La regressione viene spesso utilizzata per predire valori o pattern.
-
In questo capitolo continuiamo la discussione sulla Regressione iniziata nel capitolo precedente.
-
Finora abbiamo adoperato le tecniche di Classificazione, Clustering, Regressione ed Ensemble Learning per esplorare in dettaglio gli algoritmi usati per fare predizioni sui problemi di Machine Learning. Abbiamo anche visto alcuni metodi per valutare quale algoritmo si adatti meglio a un determinato problema e appeso l’arte di combinare i risultati di più modelli per ottenerne di maggiormente affidabili. In questo capitolo affronteremo un livello più avanzato delle tecniche di predizione e studieremo come predire risultati che dipendono dal tempo.
-
Proseguiamo il discorso iniziato nella prima parte di questo capitolo sulle Serie Temporali.
-
Abbiamo raggiunto il capitolo conclusivo del nostro primo viaggio nel machine learning. In questo capitolo, intraprenderemo il nostro primo progetto di Machine Learning: affronteremo un problema reale e proveremo a risolverlo usando algoritmi di ML. Per ottenere la miglior soluzione possibile eseguiremo una quantità significativa di pre-processing e di pulizia dei dati in modo da renderli pronti per l’analisi.
-
Continuiamo quanto iniziato nel capitolo precedente.
Abbiamo approcciato un primo caso di studio sul Machine Learning e a lavorare sul dataset Ames Housing.
Abbiamo applicato tecniche di EDA ed effettuato alcuni test statistici sui dati.
Ora proseguiamo la nostra analisi.
-
Abbiamo iniziato a far pratica nell’Intelligenza Artificiale con l’analisi dei dati e il Machine Learning. Negli ultimi sei capitoli siamo passati dai concetti fondamentali del Machine Learning alla risoluzione di un caso d’uso reale come la predizione dei prezzi di vendita di proprietà immobiliari. L’IA e il ML vanno di pari passo ed è arrivato il momento di proseguire il nostro percorso. Nei prossimi capitoli vedremo vari altri concetti dell’Intelligenza Artificiale che ruotano intorno alle scienze cognitive come il discorso parlato, la scrittura e altro.
-
Negli ultimi sette capitoli abbiamo esplorato concetti dalla programmazione in Python all’implementazione di diverse tecniche matematiche per il machine learning. Ora, per proseguire il cammino nell’intelligenza artificiale, andiamo ad applicare le tecniche di Programmazione Logica che abbiamo appreso nel capitolo precedente e a operare sul Natural Language Processing.
-
In questo capitolo mostreremo un’implementazione di Natural Language Processing attraverso un caso di studio che tratterà il sentiment dei passeggeri di un volo. Nel nostro primo caso di studio avevamo realizzato una pipeline di machine learning che andava dall’acquisizione dei dati all’esecuzione delle previsioni. In quest’analisi, invece, presenteremo una pipeline simile con l’aggiunta di una parte di elaborazione di dati testuali. Useremo anche le librerie discusse nel capitolo precedente, inoltre impareremo il concetto di vettorizzazione dei dati di testo in dati numerici. L’obiettivo del Natural Language Processing (NLP) è lavorare con dati testuali, cioè basati su stringhe di testo, e fare analisi su di essi. In questo capitolo ci concentreremo sulla realizzazione di previsioni e sulla costruzione di categorizzazioni a partire da testi.
-
Il parlato è la più basilare e primitiva forma di comunicazione tra esseri umani ed è anche parte vitale nel processo di comprensione del comportamento umano. Nell’intelligenza artificiale, il riconoscimento vocale, o Speech Recognition è una tecnica sviluppata con l’obiettivo di far capire ai programmi il linguaggio umano sotto forma di discorso parlato. Dopo aver studiato il Natural Language Processing (NLP) negli scorsi capitoli, ora prestiamo attenzione ai sistemi di riconoscimento del linguaggio parlato. In questo capitolo, quindi, ci concentriamo sullo Speech Recognition.
-
Negli ultimi capitoli ci siamo spostati dallo studio del Machine Learning allo studio dell’elaborazione di dati creati dagli esseri umani, cioè la voce, il linguaggio e il testo. Nel linguaggio scientifico, queste funzioni, che caratterizzano direttamente l’essenza umana, vengono chiamate funzioni cognitive, e nell’ambito dell’IA si parla di Intelligenza Cognitiva. Ad oggi esistono numerosi algoritmi che sono in grado di elaborare facilmente dati cognitivi come il linguaggio umano, la scrittura a mano o i volti. In questo capitolo, ci concentreremo su una componente veramente unica della cognizione umana: la vista. La Computer Vision è la scienza degli algoritmi di calcolo che lavorano su immagini e video. Poiché questi tipi di input sono ancora più distanti dagli input numerici che le macchine sono solite gestire, abbiamo bisogno di algoritmi ad hoc per elaborarli. Insieme alle librerie di Computer Vision come OpenCV, che calcolano direttamente questi dati, in questo capitolo andremo anche dietro le quinte per capire come funzionano gli algoritmi cognitivi. Osserveremo diverse tecniche di ricerca che permettono di lavorare con immagini e video. Oltre agli algoritmi di ricerca, esiste anche una parte dell’IA, chiamata Genetic Algorithms (GA), che pone l’enfasi sul miglioramento delle prestazioni cognitive dei sistemi.
-
Durante gli ultimi quattro capitoli di questa serie abbiamo lavorato con il linguaggio, anche parlato, e con le immagini. Gli argomenti presentati più di recente in questa serie ruotano intorno ai concetti chiave della Computer Vision. Continueremo a parlare di Computer Vision per approfondire l’elaborazione delle immagini con lo scopo di indagare il comportamento umano. Si vuole imitare, cioè, il processo del ragionamento umano usando dati di training sotto forma di immagini e video di persone e cercare di distinguere le emozioni presenti in questi dati. Per la nostra analisi, in questo capitolo ci concentreremo su immagini e video preregistrati che mostrano ciascuno un’emozione, ma ricordiamo che le stesse tecniche si possono implementare anche su stream di video per fare analisi in tempo reale. Andando avanti in questo capitolo capiremo meglio alcuni concetti di pensiero umano attraverso la Sentiment Analysis dalle espressioni facciali e varie librerie e strutture di supporto per l’esecuzione di questi algoritmi. Prima di proseguire spenderemo ancora qualche parola sulla Computer Vision e il suo ruolo nell’universo dell’IA.