Risultati Ricerca Intelligenza Artificiale Italia
475 elementi trovati per ""
- Le migliori API per l'intelligenza artificiale e l'apprendimento automatico
Iniziamo l'articolo con la definizione di Api. CHE COSA SONO LE API (Application Programming Interface) ? Le API sono un insieme di strumenti e protocolli utilizzati per la creazione di software e modelli. Esistono vari tipi di API come l'API locale, l'API Web e l'API del programma, che aiutano gli sviluppatori di machine learning a comunicare tra loro e condividere le conoscenze su varie piattaforme. In questo articolo, vedremo le prime API che ogni sviluppatore che lavora con ML e AI dovrebbe conoscere: migliori API per l'intelligenza artificiale e l'apprendimento automatico : (L'elenco è in ordine alfabetico) 1| API di apprendimento automatico di Amazon 2| API di apprendimento automatico BigML 3| API di Google Cloud 4| API di elaborazione del linguaggio naturale Geneea 5| API IBM Watson Discovery 6| Kairos API 7| Servizio cognitivo di Microsoft Azure — Analisi del testo 8| API di apprendimento automatico Pronostico IO 9| API TensorFlow Ma adesso vediamole una per una... 1| API di apprendimento automatico di Amazon L' API di machine learning di Amazon è una delle API più popolari tra le organizzazioni. Consente agli utenti di eseguire vari tipi di attività di apprendimento automatico e ha la capacità di creare, addestrare e distribuire facilmente modelli di apprendimento automatico. Qui, un utente può scegliere tra una serie di servizi di intelligenza artificiale pre-addestrati per visione artificiale, linguaggio, raccomandazioni, previsioni, tra gli altri. È costruito sulla piattaforma cloud di Amazon e ottimizzato principalmente per l'apprendimento automatico con prestazioni elevate. 2| API di apprendimento automatico BigML BigML è un'API REST di machine learning in cui un utente può facilmente creare, eseguire e portare modelli predittivi in un progetto di machine learning. Questa API può essere utilizzata per eseguire attività di apprendimento automatico supervisionate e non supervisionate e anche per creare pipeline di apprendimento automatico sofisticate. BigML.io ha diverse funzionalità come fornisce agli utenti un accesso completamente white-box a set di dati, modelli, cluster e rilevatori di anomalie, fornisce previsioni quasi in tempo reale e molto altro. 3| API di Google Cloud Le API di Google Cloud includono una serie di attività per gli sviluppatori di machine learning come l'API Vision che offre potenti modelli di machine learning pre-addestrati tramite API REST e RPC. L'API Vision viene utilizzata per rilevare oggetti e volti, leggere testo stampato e scritto a mano e creare preziosi metadati in un catalogo di immagini. L'API Cloud Speech consente agli sviluppatori di convertire l'audio in testo applicando potenti modelli di rete neurale in un'API di facile utilizzo. I potenti modelli pre-addestrati dell'API Natural Language consentono agli sviluppatori di lavorare con funzionalità di comprensione del linguaggio naturale che includono analisi del sentiment, analisi delle entità, analisi del sentiment delle entità, classificazione dei contenuti e analisi della sintassi. 4| API di elaborazione del linguaggio naturale Geneea Geneea è una piattaforma di elaborazione del linguaggio naturale (NLP) che aiuta principalmente gli utenti a sfruttare i dati di testo. Offre quattro tipi di API pubbliche e sono General API, Media API, VoC API e Intent Detection. L'API generale o API G3 è un'API LU generica che può eseguire una o più analisi linguistiche come il rilevamento della lingua, l'analisi del sentimento, ecc. L'API Geneea Media rileva di cosa trattano gli articoli di notizie, assegnando loro tag semantici. L'API Voice of the Customer offre agli utenti di analizzare il feedback dei clienti, rilevando gli argomenti di cui parlano i clienti, ecc. Infine, il rilevatore di intenti può essere utilizzato per rilevare un intento non parametrizzato in un testo. 5| API IBM Watson Discovery IBM Watson Discovery è un motore di ricerca cognitiva e di analisi dei contenuti in cui uno sviluppatore può aggiungere applicazioni al fine di identificare modelli, tendenze e informazioni fruibili per guidare un migliore processo decisionale. L'API Watson Discovery include vari servizi di apprendimento automatico come IBM Watson Assistant, IBM Watson Personality Insights, IBM Watson Visual Recognition, IBM Watson Natural Language Processing, IBM Watson Speech to Text, tra gli altri. 6| Kairos API Con l'aiuto della visione artificiale e dell'apprendimento profondo, l' API Kairos consente agli sviluppatori di apprendimento automatico di creare tecniche di riconoscimento facciale nei loro prodotti software insieme a varie altre funzionalità come la ricerca di volti umani in foto, video e immagini, rilevamento di gruppi di età, ricerca di corrispondenza dei volti, rilevamento del genere, riconoscimento della diversità, riconoscimento multi-faccia, tra gli altri. 7| Servizio cognitivo di Microsoft Azure — Analisi del testo L'API di analisi del testo in Microsoft Azure Cognitive Services è un servizio basato su cloud che fornisce l'elaborazione avanzata del linguaggio naturale su testo non elaborato. È fondamentalmente una raccolta di algoritmi di apprendimento automatico e intelligenza artificiale nel cloud per progetti di sviluppo. L'API include quattro funzioni principali, ovvero analisi del sentiment, estrazione di frasi chiave, rilevamento della lingua e riconoscimento di entità denominate. 8| API di apprendimento automatico Pronostico IO PredictionIO è un'API basata su previsioni ed è un server di apprendimento automatico open source che si basa su uno stack open source all'avanguardia per sviluppatori e data scientist per creare motori predittivi per qualsiasi attività di apprendimento automatico. Questa API ha diverse funzionalità intuitive come l'accelerazione della modellazione dell'apprendimento automatico con processi sistematici e misure di valutazione predefinite, semplifica la gestione dell'infrastruttura dati, supporta l'apprendimento automatico e le librerie di elaborazione dati come Spark MLLib e OpenNLP, unifica i dati da più piattaforme in batch o in tempo reale per analisi predittive complete e molto altro ancora. 9| API TensorFlow L' API TensorFlow può essere utilizzata dagli sviluppatori di machine learning per costruire ed eseguire un grafico TensorFlow. È disponibile in diversi linguaggi come JavaScript, Python, Java, Go, C++ e Swift. Attualmente, l'API TensorFlow in Python è la più completa e facile da usare. Non ti resta che commentare qui sotto le API che non abbiamo inserito ma reputi importante e condividere l'articolo con i tuoi colleghi. Grazie per la lettura.
- I 10 migliori progetti di machine learning per principianti da fare con python
È sempre utile ottenere informazioni su come le persone stanno iniziando la loro carriera nel machine learning o nell'I.A. In questo post del blog, scoprirai come anche i principianti possono fare grandi progressi nell'applicare l'apprendimento automatico a problemi del mondo reale con questi fantastici progetti di apprendimento automatico per principianti consigliati dagli esperti del settore. Abbiamo attentamente curato l'elenco dei migliori progetti di machine learning per principianti che coprono gli aspetti fondamentali dell'apprendimento automatico come l'apprendimento supervisionato, l'apprendimento non supervisionato, l'apprendimento profondo e le reti neurali. In tutti questi progetti di machine learning inizierai con set di dati del mondo reale che sono disponibili pubblicamente. Ti assicuriamo che troverai questo blog assolutamente interessante e che vale la pena leggere tutto articolo per le cose che puoi imparare sui progetti di machine learning più popolari. Consigliamo questi dieci progetti di machine learning ai neofiti che iniziano la loro carriera nel machine learning in quanto sono una miscela perfetta di vari tipi di sfide che si possono incontrare quando si lavora come ingegnere di machine learning o data scientist. Sommario Previsione delle vendite utilizzando Walmart Dataset Progetto ML di previsione delle vendite di BigMart Progetto del sistema di raccomandazione musicale Riconoscimento dell'attività umana utilizzando il set di dati dello smartphone Stimare i prezzi delle azioni utilizzando TimeSeries Previsione della qualità del vino utilizzando il set di dati sulla qualità del vino Classificazione delle cifre scritte a mano MNIST Impara a costruire sistemi di raccomandazione con Movielens Dataset Boston Housing Price Prediction ML Project Analisi del sentiment sui social media utilizzando il set di dati di Twitter 1. Previsione delle vendite utilizzando Walmart Dataset Il set di dati Walmart contiene dati di vendita per 98 prodotti in 45 punti vendita. Il set di dati contiene le vendite per negozio, per reparto su base settimanale. L'obiettivo di questo progetto di machine learning è prevedere le vendite per ogni reparto in ogni punto vendita per aiutarli a prendere decisioni migliori basate sui dati per l'ottimizzazione del canale e la pianificazione dell'inventario. L'aspetto impegnativo del lavorare con il set di dati Walmart è che contiene eventi di ribasso selezionati che influenzano le vendite e dovrebbero essere presi in considerazione. In questo progetto, tratteremo i passaggi principali richiesti in ogni progetto di Data Science. Inizieremo importando un file CSV e eseguendo un'analisi EDA (Exploratory Data Analysis) di base. Impareremo come unire più set di dati e applicare gruppo per funzione per analizzare i dati. Tracciamo un grafico di serie temporali e lo analizzeremo. Quindi inseriamo il set di dati in un modello ARIMA (ARIMA è un acronimo che sta per AutoRegressive Integrated Moving Average) per l'addestramento. Ottimizziamo il modello selezionando caratteristiche importanti per migliorare il nostro punteggio di precisione. Quindi vengono effettuate le previsioni finali e il modello viene salvato. 2. Progetto ML di previsione delle vendite BigMart Il set di dati di vendita BigMart è costituito da dati di vendita 2013 per 1559 prodotti in 10 diversi punti vendita in diverse città. L'obiettivo del progetto ML di previsione delle vendite di BigMart è costruire un modello di regressione per prevedere le vendite di ciascuno dei 1559 prodotti per l'anno successivo in ciascuno dei 10 diversi punti vendita BigMart. Il set di dati di vendita BigMart comprende anche alcuni attributi per ogni prodotto e negozio. Questo modello aiuta BigMart a comprendere le proprietà dei prodotti e dei negozi che svolgono un ruolo importante nell'aumento delle vendite complessive. 3. Progetto del sistema di raccomandazione musicale Questo è uno dei progetti di apprendimento automatico più popolari e può essere utilizzato in diversi domini. Potresti avere molta familiarità con un sistema di consigli se hai utilizzato un sito di e-commerce o un sito web di film / musica. Nella maggior parte dei siti di e-commerce come Amazon, al momento del checkout, il sistema consiglierà prodotti che possono essere aggiunti al carrello. Allo stesso modo su Netflix o Spotify, in base ai film che ti sono piaciuti, mostrerà film o canzoni simili che potrebbero piacerti. Come fa il sistema a farlo? Questo è un classico esempio in cui è possibile applicare l'apprendimento automatico. In questo progetto, utilizziamo il set di dati del servizio di streaming musicale leader in Asia per creare un sistema di raccomandazione musicale migliore. Cercheremo di determinare quale nuova canzone o quale nuovo artista potrebbe piacere a un ascoltatore in base alle sue scelte precedenti. Il compito principale è prevedere le possibilità che un utente ascolti una canzone ripetutamente entro un periodo di tempo. Nel set di dati, la previsione è contrassegnata come 1 se l'utente ha ascoltato la stessa canzone entro un mese. Il set di dati consiste in quale canzone è stata ascoltata da quale utente e in che momento. Sta cercando un corso sulla DataScience? Però costano tutti un sacco di soldi e non sei sicuro questo mestiere faccia per te? Oppure più semplicemente già lavori in questo settore e vuoi approfondire argomenti come machine learning e reti neurali ? Scopri il nostro Corso Gratuito da più di 100 Lezioni, a difficoltà crescente. L'unico corso in italiano gratuito che ti permetterà davvero di capire e approfondire temi fondamentali per questo mestiere. Clicca qui non aspettare, intanto iscriviti è GRATIS. 4. Riconoscimento dell'attività umana utilizzando il set di dati dello smartphone Il dataset dello smartphone è costituito da registrazioni di attività fitness di 30 persone acquisite tramite smartphone abilitato con sensori inerziali. L'obiettivo di questo progetto di machine learning è costruire un modello di classificazione in grado di identificare con precisione le attività di fitness umane. Lavorare a questo progetto di machine learning ti aiuterà a capire come risolvere i problemi di multi-classificazione. 5. Previsione dei prezzi delle azioni utilizzando le TimeSeries Questa è un'altra interessante idea di progetto di machine learning o deep learning per data scientist / ingegneri di machine learning che lavorano o pianificano di lavorare con il dominio finanziario. Il predittore dei prezzi delle azioni è un sistema che apprende le prestazioni di un'azienda e prevede i futuri prezzi delle azioni. Le sfide associate al lavoro con i dati sui prezzi delle azioni sono che sono molto granulari e inoltre ci sono diversi tipi di dati come indici di volatilità, prezzi, indicatori macroeconomici globali, indicatori fondamentali e altro ancora. Un aspetto positivo del lavoro con i dati del mercato azionario è che i mercati finanziari hanno cicli di feedback più brevi, rendendo più facile per gli esperti di dati convalidare le loro previsioni sui nuovi dati. Per iniziare a lavorare con i dati del mercato azionario, Esistono diversi metodi di previsione delle serie temporali per prevedere il prezzo delle azioni, la domanda, ecc. 6. Previsione della qualità del vino utilizzando il set di dati sulla qualità del vino È risaputo che più vecchio è il vino, migliore è il gusto. Tuttavia, ci sono molti fattori diversi dall'età che entrano nella certificazione di qualità del vino che includono test fisicochimici come quantità di alcol, acidità fissa, acidità volatile, determinazione della densità, pH e altro. L'obiettivo principale di questo progetto di apprendimento automatico è costruire un modello di apprendimento automatico per prevedere la qualità dei vini esplorando le loro varie proprietà chimiche. Il set di dati sulla qualità del vino è costituito da 4898 osservazioni con 11 variabili indipendenti e 1 variabile dipendente. 7. Classificazione delle cifre scritte a mano MNIST L'apprendimento profondo e le reti neurali svolgono un ruolo vitale nel riconoscimento delle immagini, nella generazione automatica di testi e persino nelle auto a guida autonoma. Per iniziare a lavorare in queste aree, è necessario iniziare con un set di dati semplice e gestibile come il set di dati MNIST. Il riconoscimento delle cifre scritte a mano ti metterà alla prova. 8. Impara a costruire sistemi di raccomandazione con Movielens Dataset Da Netflix a Hulu, la necessità di creare un sistema di consigli cinematografici efficiente ha acquisito importanza nel tempo con la crescente domanda da parte dei consumatori moderni di contenuti personalizzati . Uno dei set di dati più popolari disponibili sul Web per i principianti che vogliono imparare a costruire sistemi di raccomandazione è il set di dati Movielens che contiene circa 1.000.209 valutazioni di film di 3.900 film realizzati da 6.040 utenti Movielens. Puoi iniziare a lavorare con questo set di dati creando una visualizzazione cloud mondiale dei titoli dei film per creare un sistema di consigli sui film. 9. Stimare il prezzo delle case di Boston Il set di dati dei prezzi delle case di Boston comprende i prezzi delle case in diversi luoghi di Boston. Il set di dati comprende anche informazioni su aree di attività non al dettaglio (INDUS), tasso di criminalità (CRIM), età delle persone che possiedono una casa (AGE) e molti altri attributi (il set di dati ha un totale di 14 attributi). il set di dati può essere scaricato dal repository UCI Machine Learning. L'obiettivo di questo progetto di machine learning è prevedere il prezzo di vendita di una nuova casa applicando concetti di base di machine learning sui dati dei prezzi delle abitazioni. Questo set di dati è troppo piccolo con 506 osservazioni ed è considerato un buon inizio per i principianti del machine learning per avviare la loro pratica pratica sui concetti di regressione. 10. Analisi del sentimento sui social media utilizzando Twitter Dataset Le piattaforme di social media come Twitter, Facebook, YouTube, Reddit generano enormi quantità di big data che possono essere estratti in vari modi per comprendere tendenze, sentimenti e opinioni del pubblico. I dati dei social media oggi sono diventati rilevanti per il marchio, il marketing e il business nel suo complesso. Un analizzatore di sentimenti apprende vari sentimenti dietro un "pezzo di contenuto" (potrebbe essere IM, e-mail, tweet o qualsiasi altro post sui social media) attraverso l'apprendimento automatico e prevede lo stesso utilizzando l'IA. I dati di Twitter sono considerati un punto di ingresso definitivo per i principianti. pratica l'analisi del sentiment sui problemi di machine learning. Utilizzando il set di dati di Twitter, è possibile ottenere una miscela accattivante di contenuti di tweet e altri metadati correlati come hashtag, retweet, posizione, utenti e altro che aprono la strada a un'analisi approfondita. Il set di dati di Twitter è composto da 31.962 tweet e ha una dimensione di 3 MB. Utilizzando i dati di Twitter puoi scoprire cosa dice il mondo su un argomento, sia che si tratti di film, opinioni sulle elezioni statunitensi o qualsiasi altro argomento di tendenza come prevedere chi vincerà la Coppa del mondo FIFA 2018. Lavorare con il set di dati Twitter ti aiuterà a capire sfide associate al data mining dei social media e anche conoscere in profondità i classificatori. Il problema principale su cui puoi iniziare a lavorare da principiante è costruire un modello per classificare i tweet come positivi o negativi. Letture consigliate per "I 10 migliori progetti di machine learning per principianti da fare con python" Come Iniziare a Utilizzare l'Intelligenza Artificiale (I.A.) Nella Tua Azienda Migliori progetti Open Source Python di Intelligenza Artificiale Come Creare Un Dataset per il tuo Progetto Di Machine Learning Fantastiche Idee per Progetti di Data Science per Principianti ed Esperti Semplici progetti di Deep Learning e Computer Vision Con Esempi pratici Riconoscimento facciale con Python, in meno di 25 righe di codice Come costruire il tuo portfolio da data scientist Introduzione a Scikit Learn con esempio pratico in Python Il tuo Primo Programma di Machine Learning con Python e Google Colab Esempio pratico Rilevamento Di Veicoli In Tempo Reale con il Deep Learning
- Scikit Learn e Python Tutorial Per Creare Modelli di Intelligenza Artificiale
Gli scienziati dei dati utilizzano l'intelligenza artificiale (AI) per... praticamente qualsiasi cosa . L'intelligenza artificiale può eseguire sistemi di controllo per ridurre il consumo energetico degli edifici , fornire consigli su vestiti da acquistare o spettacoli da guardare, aiutare a migliorare le pratiche agricole per aumentare la quantità di cibo che possiamo coltivare in modo sostenibile e un giorno un algoritmo di intelligenza artificiale potrebbe persino guidare le nostre auto . Fortunatamente, iniziare con l'IA non è poi così difficile per chi ha già esperienza con Python e l'analisi dei dati. Puoi sfruttare il potente pacchetto scikit-learn per fare la maggior parte del duro lavoro per te. Scikit-learn è un pacchetto Python progettato per facilitare l'uso dell'apprendimento automatico e degli algoritmi di intelligenza artificiale. Questo pacchetto include algoritmi utilizzati per la classificazione, la regressione e il raggruppamento come foreste casuali e aumento del gradiente. Scikit-learn è stato progettato per interfacciarsi facilmente con i comuni pacchetti scientifici NumPy e SciPy. Sebbene scikit-learn non sia stato specificamente progettato per, si interfaccia ottimamente anche con Pandas. Che cosa è SCIKIT-LEARN ? Scikit-learn è un pacchetto Python progettato per facilitare l'uso dell'apprendimento automatico e degli algoritmi di intelligenza artificiale. Sci-kit learn include algoritmi utilizzati per la classificazione, la regressione e il clustering. Scikit-learn include strumenti utili per facilitare l'uso di algoritmi di apprendimento automatico. Lo sviluppo di pipeline di machine learning in grado di prevedere con precisione il comportamento di un sistema richiede la suddivisione dei dati in set di training e test , l' assegnazione di un punteggio agli algoritmi per determinare il loro corretto funzionamento e la garanzia che i modelli non siano né overfit né underfit. Come funzionano gli algoritmi di Scikit-Learn? Possiamo sviluppare e testare algoritmi di scikit-learn in tre fasi generali. PASSAGGI PER SVILUPPARE E TESTARE GLI ALGORITMI SCIKIT-LEARN : Addestrare il modello utilizzando un set di dati esistente che descrive i fenomeni che è necessario prevedere per il modello. Testa il modello su un altro set di dati esistente per assicurarti che funzioni correttamente. Usa il modello per prevedere i fenomeni in base alle esigenze del tuo progetto. L'API (Application Programming Interface) di scikit-learn fornisce i comandi per eseguire ciascuno di questi passaggi con una singola chiamata di funzione. Tutti gli algoritmi di scikit-learn usano le stesse chiamate di funzione per questo processo, quindi se lo impari per uno lo impari per tutti. La chiamata di funzione per addestrare un algoritmo di scikit-learn è .fit(). Per addestrare ogni modello, chiami la funzione .fit e gli passi due componenti del set di dati di addestramento. I due componenti sono x set di dati, che fornisce i dati che descrivono le caratteristiche del set di dati, e y , che forniscono i dati che descrivono gli obiettivi del sistema. Nota: quando si parla di funzionalità e obiettivi, si tratta essenzialmente di termini x e y, dove x sono le variabili che descrivono la nostra y Esempio Pratico Scikit-Learn L'algoritmo crea quindi un modello matematico, come determinato dall'algoritmo selezionato e dai parametri del modello. Il modello matematico corrisponde il più possibile ai dati di allenamento forniti. L'algoritmo memorizza quindi i parametri nel modello, che consente di chiamare la versione adatta del modello secondo necessità per il progetto. La funzione per testare l'adattamento del modello è .score(). Per utilizzare questa funzione si chiama nuovamente la funzione e si passa un set di dati x, che rappresenta le caratteristiche, e il set di dati y corrispondente , che rappresenta gli obiettivi. È importante che il set di dati che utilizzi durante il test dei dati (il set di dati del test) sia diverso dal set di dati che utilizzi per addestrare il modello. È molto probabile che un modello ottenga un punteggio molto buono quando viene valutato sui dati di addestramento perché lo hai forzato matematicamente a corrispondere a quel set di dati. Il vero test è il rendimento del modello su un set di dati diverso, che è lo scopo del set di dati di test. Quando si chiama il . score()funzione, scikit-learn restituirà il valore r² indicando quanto bene il modello ha previsto quanto fornito set di dati ys utilizzando il set di dati x. È possibile prevedere gli output di un sistema dati gli input forniti utilizzando la funzione .predict() di scikit-learn . È importante farlo solo dopo aver adattato il modello. L'adattamento è il modo in cui si regola il modello in modo che corrisponda al set di dati, quindi se non lo si adatta prima, il modello non fornirà una previsione preziosa. Una volta che hai adattato il modello, puoi passare un x alla funzione .predict() e restituirà y come previsto dal modello. In questo modo puoi prevedere come si comporterà un sistema in futuro. Queste tre funzioni costituiscono il nucleo dell'API scikit-learn e fanno molto per applicare l'intelligenza artificiale ai tuoi problemi tecnici. Come posso creare set di dati di training e test? La creazione di set di dati di addestramento e test separati è una componente fondamentale dell'addestramento dei modelli di intelligenza artificiale. Senza questo passaggio non possiamo creare un modello che corrisponda al sistema che stiamo cercando di prevedere, né possiamo verificare l'accuratezza delle nostre previsioni. Fortunatamente, scikit-learn fornisce uno strumento utile per facilitare questo processo: la train_test_split() . Train_test_split() fa esattamente quello che sembra. Suddivide un set di dati fornito in set di dati di addestramento e test. Puoi usarlo per creare i set di dati di cui hai bisogno per assicurarti che il tuo modello preveda correttamente il sistema che stai studiando. Fornisci un set di dati train_test_split() e fornisce i set di dati di addestramento e test di cui hai bisogno. Ci sono alcune cose a cui prestare attenzione quando si utilizza train_test_split(). Innanzitutto, train_test_split()è di natura casuale, il che significa che non restituirà gli stessi set di dati di training e test se si esegue più volte con gli stessi dati di input. Questo può essere utile se si desidera testare la variabilità dell'accuratezza del modello, ma può anche essere negativo se si desidera utilizzare ripetutamente lo stesso set di dati sul modello. Per assicurarti di ottenere lo stesso risultato ogni volta puoi utilizzare il random_stateparametro. L'impostazione dello stato casuale forzerà train_test_split()l'uso dello stesso seme di randomizzazione ogni volta che lo esegui e fornirà le stesse suddivisioni del set di dati. Quando si utilizza random_stateè consuetudine impostarlo su 42, probabilmente come un cenno umoristico alla Guida galattica per autostoppisti più che per qualsiasi motivo tecnico. Come funziona tutto questo insieme? Tutti combinati, questi strumenti creano un'interfaccia semplificata per creare e utilizzare strumenti di apprendimento di scikit. Parliamone usando l'esempio del modello di regressione lineare di scikit-learn . Per implementare questo processo dobbiamo prima importare i nostri strumenti: il modello scikit-learn, la train_test_split()funzione e Panda per il processo di analisi dei dati. Importiamo le funzioni come segue: from scikit-learn.linear_model import LinearRegression from scikit-learn.model_selection import train_test_split import pandas as pd Possiamo quindi leggere un set di dati in modo che sia disponibile per l'addestramento e il test del modello. Ho creato un set di dati realistico che dimostra le prestazioni degli scaldacqua a pompa di calore (HPWH) in funzione delle loro condizioni operative, in modo specifico per aiutare le persone ad apprendere la scienza dei dati e le competenze ingegneristiche . Supponendo che tu abbia scaricato quel set di dati e salvato nella stessa cartella del tuo script, puoi aprirlo usando la seguente riga di codice. In caso contrario, puoi modificare questi passaggi secondo necessità per esercitarti su qualsiasi set di dati che desideri. data = pd.read_csv('COP_HPWH_f_Tamb&Tavg.csv', index_col = 0) Il passaggio successivo consiste nel suddividere il set di dati in xe ydati. Per fare ciò creiamo nuovi data frame specificando le colonne del data set che rappresentano le caratteristiche e gli obiettivi. Nel caso degli HPWH, le caratteristiche sono la temperatura del serbatoio e la temperatura ambiente mentre l'obiettivo è il consumo di elettricità. Il set di dati contiene otto colonne che mostrano la temperatura dell'acqua a otto diverse profondità nel serbatoio dell'acqua, ciascuna denominata Tx (deg F)dove xè un numero che rappresenta la posizione della misurazione. Il set di dati contiene anche una colonna che mostra la temperatura ambiente misurata nello spazio circostante lo scaldabagno, denominata T_Amb (deg F). Infine, il set di dati contiene una colonna che memorizza i dati sul consumo di elettricità denominata P_Elec (W). In questo caso, è anche importante filtrare il nostro set di dati in modo tale da utilizzare i dati solo quando il sistema utilizza l'elettricità. Se saltiamo questo passaggio, introdurremo la non linearità in un modello lineare, che imposta il modello per fallire. Possiamo eseguire tutti questi passaggi utilizzando il seguente codice: # filtriamo i dati con power > 0 data = data[data['P_Elec (W)'] > 0] # Identifichiamo x x_columns = ['T_Amb (deg F)'] for i in range(1, 9): x_columns.append('T{} (deg F)'.format(i)) x = data[x_columns] #Creiamo la colonna y y = data['P_Elec (W)'] Ora che abbiamo x e y , possiamo dividerli in set di dati di addestramento e test. Lo facciamo chiamando la train_test_split() funzione di scikit-learn come segue. x_train, x_test, y_train, y_test = train_test_split(x, y, random_state = 42) Ora che abbiamo a disposizione set di dati di training e test, possiamo creare e adattare il modello di regressione lineare al set di dati. Innanzitutto, creiamo un'istanza del modello, quindi chiamiamo la .fit() come segue. model = LinearRegression() model = model.fit(x_train, y_train) Si noti che questa implementazione ha utilizzato i parametri predefiniti del modello di regressione lineare. Questo potrebbe o meno fornire un buon adattamento ai dati e potrebbe essere necessario modificare i parametri per ottenere un buon adattamento. Per ora, usiamo i parametri predefiniti per apprendere questi concetti. Il passaggio successivo consiste nel valutare il modello sul set di dati di test per assicurarsi che si adatti bene al set di dati. Puoi farlo chiamando .score() e passando i dati di test. score = model.score(x_test, y_test) Se il modello ottiene un buon punteggio nel set di dati di test, è probabile che tu abbia un modello ben addestrato e appropriato per il set di dati. Se il modello non ottiene un buon punteggio, è necessario prendere in considerazione la raccolta di più dati, la regolazione dei parametri del modello o l'utilizzo di un modello completamente diverso. Se il modello funziona bene, puoi dichiarare il modello pronto per l'uso e iniziare a prevedere il comportamento del sistema. Poiché non abbiamo un set di dati aggiuntivo da prevedere in questo momento, possiamo semplicemente prevedere l'output sul set di dati di test. Per fare ciò, chiami la funzione .predict() come segue. predict = model.predict(x_test) La variabile di previsione ora manterrà l'output previsto del sistema quando esposto agli input come definito da X_test. È quindi possibile utilizzare questi output per confrontare direttamente i valori nel ytest, il che consente di esaminare con maggiore attenzione l'adattamento del modello e l'accuratezza della previsione. Quanto bene si comporta questo modello? Poiché abbiamo calcolato il punteggio del modello e l'abbiamo salvato nel punteggio variabile, possiamo vedere rapidamente come il modello prevede il consumo di elettricità dell'HPWH. In questo caso, il punteggio del modello è 0,58. R² è una metrica che raggiunge il massimo a uno perché si indica che il modello spiega perfettamente il comportamento del sistema. Più basso è il valore, peggiore è l'adattamento (e, sì, può essere negativo). Un valore r² di 0,58 indica che il modello spiega un po' il comportamento osservato, ma non è eccezionale. Come promemoria, per migliorare possiamo: Raccogliere più dati Regolare i parametri del modello Usare un modello completamente diverso Potremmo certamente raccogliere più dati o regolare i parametri del modello di regressione lineare, ma il problema principale qui è che la relazione tra il consumo di energia della pompa di calore e la temperatura dell'acqua è probabilmente non lineare. È difficile per un modello lineare prevedere qualcosa che non sia lineare! Possiamo provare lo stesso metodo utilizzando un modello progettato per sistemi non lineari e vedere se otteniamo risultati migliori. Un possibile modello è il regressore della foresta casuale . Possiamo provarlo aggiungendo il seguente codice alla fine dello script. from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit(x_train, y_train) score = model.score(x_test, y_test) Questo metodo produce un punteggio molto alto di 0,9999, che è sospetto nell'altro modo. C'è una ragionevole possibilità che questo modello sia in overfitting al set di dati e non produrrà effettivamente previsioni realistiche in futuro. Sfortunatamente, questo non è qualcosa che possiamo veramente determinare dato il set di dati disponibile. Se utilizzi questo modello per iniziare a prevedere il sistema, dovrai monitorare attentamente il modello per vedere come si comporta man mano che diventano disponibili più dati e per continuare ad addestrarlo. Tracciare le previsioni rispetto ai dati misurati fornirebbe anche informazioni su come si comporta il modello. Per questo particolare set di dati, dirò che mi fido di questo modello perché questo set di dati non contiene dati misurati effettivi; è un set di dati di esempio che ho creato implementando un'equazione di regressione per mostrare come si comporta un HPWH in queste condizioni. Ciò significa che il regressore della foresta casuale probabilmente corrisponde ai dati così bene perché ha identificato l'equazione che ho usato per creare il set di dati. Conclusioni E con ciò, dovresti essere in ottima forma per iniziare a utilizzare scikit-learn per implementare l'apprendimento automatico e l'intelligenza artificiale! Se vi ricordate che tutti gli algoritmi di scikit-learn usano le funzioni fit(), score() e predict() ed è possibile creare i set di dati utilizzando train_test_split(), allora sei sulla buona strada per sviluppare ottimi modelli di I.A. con python.
- Che cosa è e come funziona un dispositivo intelligente ?
Utilizziamo dispositivi intelligenti ogni giorno, ma cosa rende esattamente un dispositivo intelligente? Scopri come gli oggetti diventano parte dell'Internet of Things. I dispositivi intelligenti giocano un ruolo fondamentale nell'Industria 4.0 di oggi. Sono al centro dell'Internet of Things (IoT) e delle smart city. I dispositivi intelligenti sono stati al centro del mio dottorato. ricerche di alcuni anni fa e tuttavia, quando ho cercato una definizione per dispositivo intelligente, non sono riuscito a trovare molto. Ho fatto ricorso alla creazione di un nuovo approccio metodologico per lo sviluppo di un concetto scalabile di dispositivi intelligenti. CHE COS'È UN DISPOSITIVO INTELLIGENTE? Un dispositivo intelligente è un dispositivo elettronico sensibile al contesto cablato o wireless in grado di eseguire calcoli autonomi e connettersi ad altri dispositivi per lo scambio di dati. Quindi uno smart device ha tre caratteristiche principali: consapevolezza del contesto calcolo autonomo connettività Questa definizione si allinea con l'idea principale dell'Internet of Things. In altre parole, qualsiasi cosa può diventare parte dell'IoT. Una sedia può diventare una sedia intelligente se aggiungiamo un sensore, un po' di capacità di calcolo e connettività di rete. Consapevolezza del contesto La consapevolezza del contesto è la capacità di un sistema o di un componente del sistema di raccogliere informazioni sul proprio ambiente in un dato momento e adattare i comportamenti di conseguenza. Fotocamere, microfoni e ricevitori GPS (Global Positioning Satellite ), radar e sensori LIDAR sono tutte potenziali fonti di dati per l'elaborazione sensibile al contesto. Un sistema sensibile al contesto può raccogliere dati attraverso queste e altre fonti e rispondere secondo regole prestabilite o attraverso l'intelligenza computazionale. Informatica autonoma L'aspetto chiave dell'elaborazione autonoma è un dispositivo o più dispositivi che eseguono attività in modo autonomo senza il comando diretto dell'utente. Ad esempio, i nostri smartphone danno suggerimenti in base alla nostra geolocalizzazione o al meteo. Per svolgere questo compito (apparentemente) semplice, uno smartphone deve essere autonomo e utilizzare i dati di contesto per prendere decisioni. Connettività La connettività si riferisce alla capacità di un dispositivo intelligente di connettersi a una rete dati. Senza connettività, non ha senso che un dispositivo intelligente sia autonomo e abbia consapevolezza del contesto. La connettività di rete, cablata o wireless, è una caratteristica cruciale che consente a un dispositivo di essere parte dell'IoT. I dispositivi intelligenti hanno bisogno degli esseri umani? Non commettere l'errore di presumere che tutti i dispositivi intelligenti siano progettati per interagire con gli umani. Ci sono tante altre possibilità. Un dispositivo intelligente può avere un'interazione diretta o indiretta con gli umani. Una sonda meteorologica, ad esempio, potrebbe raccogliere dati meteorologici e trasmetterli all'IoT. Gli umani finiranno per usare quei dati ovviamente, ma la sonda meteorologica non ha richiesto alcuna interazione diretta con gli umani. I dispositivi intelligenti devono essere portatili? Una telecamera di sorveglianza intelligente deve essere mobile? Ricorda le tre regole: consapevolezza del contesto (è una telecamera, il che significa che supera il test), calcolo autonomo (usa la visione artificiale per riconoscere oggetti particolari) e connettività di rete (invia un report degli oggetti che riconosce a un server ). In questo esempio, la portabilità non è richiesta. I veicoli autonomi sono dispositivi intelligenti? Sì! I veicoli autonomi soddisfano i tre criteri chiave necessari per rendere intelligente un dispositivo. Ha connettività di rete, consapevolezza del contesto (sensori come GPS, LIDAR e Radar) e calcolo autonomo. Alla fine, uno smartphone potrebbe essere molto più semplice di un veicolo autonomo, ma non dei dispositivi intelligenti.
- Come risolvere l'Overfitting con Python e Capire cosa è l' Overfitting
CHE COS'È L'OVERFITTING? L'overfitting è un problema comune che i data scientist devono affrontare durante la creazione di modelli con elevata complessità. Si verifica quando un modello si adatta molto bene ai dati di addestramento e successivamente si comporta male quando viene testato su nuovi dati. Questo problema si verifica più spesso quando si costruiscono modelli di rete neurale profonda, che è un modello statistico che rappresenta in modo approssimativo la connettività nel cervello. Questi modelli tendono ad essere complessi poiché possono contenere da centinaia a migliaia di parametri. A causa dell'elevata complessità, questi modelli possono rilevare il rumore casuale come vere tendenze, causando scarse prestazioni quando si effettuano inferenze su nuovi dati. L'overfitting è una grande preoccupazione per qualsiasi azienda che utilizza modelli di deep learning per fare previsioni. Ad esempio, se un'azienda desidera prevedere la fidelizzazione dei clienti, un modello di overfit può rappresentare rumore casuale e valori anomali nei dati come tendenze statistiche significative. Di conseguenza, il modello avrà prestazioni scadenti se utilizzato per prevedere se un cliente effettuerà un acquisto ripetuto in futuro, con conseguente significativa perdita di entrate per l'azienda. Diversi metodi sono comunemente usati per prevenire l'overfitting nei modelli di deep learning. La regressione lazo, chiamata anche regolarizzazione L1, è un metodo popolare per prevenire l'overfitting in modelli complessi come le reti neurali. La regolarizzazione L1 funziona aggiungendo un termine di penalità al modello. Questa penalità fa sì che alcuni dei coefficienti nel modello vadano a zero, che puoi interpretare come l'eliminazione dei pesi del modello assegnati a rumore casuale, valori anomali o qualsiasi altra relazione statisticamente insignificante trovata nei dati. In generale, la regolarizzazione L1 è utile per la fase di selezione delle caratteristiche del processo di creazione del modello. In particolare, puoi usarlo per rimuovere caratteristiche che non sono predittori forti. Ad esempio, quando si prevede la fidelizzazione dei clienti, potremmo avere accesso a funzioni che non sono molto utili per fare previsioni accurate come il nome e l'e-mail del cliente. Un altro metodo di regolarizzazione è la regressione della cresta, chiamata anche regolarizzazione L2. La regressione della cresta funziona riducendo uniformemente i pesi assegnati alle feature nel modello. Questo metodo è utile quando nel modello sono presenti feature altamente correlate. Negli esempi di fidelizzazione dei clienti, le funzionalità altamente correlate possono essere i dollari spesi per l'ultimo acquisto o il numero di articoli acquistati. Queste due caratteristiche sono altamente correlate perché più articoli un cliente acquista, più soldi spendono. Anche la presenza di feature collineari può influire negativamente sulle prestazioni del modello. La libreria Python Keras semplifica la creazione di modelli di deep learning. La libreria di deep learning può essere utilizzata per creare modelli per attività di classificazione, regressione e clustering non supervisionate. Inoltre, Keras semplifica anche l'applicazione dei metodi di regolarizzazione L1 e L2 a questi modelli statistici. Sia la regolarizzazione L1 che L2 possono essere applicate ai modelli di deep learning specificando un valore di parametro in una singola riga di codice. Qui, utilizzeremo i dati di abbandono delle telecomunicazioni per costruire un modello di rete neurale profonda che predice la fidelizzazione dei clienti. I dati contengono informazioni su una società di telecomunicazioni fittizia. Preparazione dei dati Per iniziare, importiamo la libreria Pandas e leggiamo i dati di abbandono di Teclo in un frame di dati Pandas: import pandas as pd df = pd.read_csv('telco_churn.csv') Successivamente, mostriamo le prime cinque righe di dati: print(df.head()) l'output sarà questo : Per costruire il nostro modello di abbandono, dobbiamo convertire la colonna di abbandono nei nostri dati in valori leggibili dalla macchina. Dove l'abbandono ha un valore di "no", assegneremo un'etichetta "zero" e dove l'abbandono ha un valore di "sì", assegneremo l'etichetta "uno". Importiamo il pacchetto Numpy e usiamo il metodo where() per etichettare i nostri dati: import numpy as np df['Churn'] = np.where(df['Churn'] == 'Yes', 1, 0) Molti dei campi nei dati sono categoriali. Dobbiamo convertire questi campi in codici categoriali leggibili dalla macchina in modo da poter addestrare il nostro modello. Scriviamo una funzione che prenda un elenco di nomi di colonne categoriali e modifichi il nostro frame di dati per includere i codici categoriali per ogni colonna: def convert_categories(cat_list):for col in cat_list: df[col] = df[col].astype('category') df[f'{col}_cat'] = df[f'{col}_cat'].cat.codes Definiamo il nostro elenco di colonne categoriali: category_list = [gender, 'Partner', 'Dependents', 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod'] Successivamente, chiamiamo la nostra funzione con questo elenco e visualizziamo le prime cinque righe di dati: convert_categories(category_list) print(df.head()) l'output sarà questo: Possiamo vedere che il nostro frame di dati ora contiene codici categoriali per ogni colonna categoriale. Quindi, definiamo il nostro input e output: X = df[['gender_cat', 'Partner_cat', 'Dependents_cat', 'PhoneService_cat', 'MultipleLines_cat', 'InternetService_cat', 'OnlineSecurity_cat', 'OnlineBackup_cat', 'DeviceProtection_cat', 'TechSupport_cat', 'StreamingTV_cat', 'StreamingMovies_cat', 'Contract_cat', 'PaperlessBilling_cat', 'PaymentMethod_cat','MonthlyCharges''TotalCharges', 'SeniorCitizen', 'tenure']] y= df['Churn'] Successivamente, importiamo il metodo split train/test per il modulo di selezione del modello in Scikit-learn. Dividiamo i nostri dati per allenamento e test from sklearn.model_selection import train_test_split X_train, X_test_hold_out, y_train, y_test_hold_out = train_test_split(X, y, test_size=0.33) Reti neurali per la regressione Per iniziare a costruire il nostro modello di rete neurale di regressione, importiamo la classe del layer denso dal modulo layer in Keras. Importiamo anche la classe sequenziale dal modulo models in Keras e il metodo di accuratezza dal modulo metric in Scikit-learn: from tensorflow.keras.layers import Dense from tensorflow.keras.models import Sequential from sklearn.metrics import accuracy_score Ora definiamo e adattiamo il nostro modello e adattiamo il modello ai nostri dati di addestramento. Costruiremo una rete neurale con due strati nascosti e 32 neuroni. Utilizzeremo anche 20 epoche, che corrispondono al numero di passaggi attraverso i dati di addestramento. Definiamo il nostro oggetto modello. model = Sequential() Quindi, aggiungiamo uno strato denso usando il metodo add. Dobbiamo passare il numero di caratteristiche, che è la lunghezza dell'elenco delle colonne, e l'input, che è una tupla con la lunghezza dell'elenco delle colonne. Verranno inoltre inizializzati i valori di peso secondo una distribuzione normale e utilizzando una funzione di attivazione dell'unità lineare rettificata (ReLu). La funzione di attivazione è ciò che simula l'attivazione dei neuroni: model.add(Dense(len(cols),input_shape=(len(cols),), kernel_initializer='normal', activation='relu')) Successivamente, aggiungeremo due livelli nascosti usando il metodo add. Questi strati avranno 32 neuroni e utilizzeranno anche una funzione di attivazione ReLu: model.add(Dense(32, activation='relu')) model.add(Dense(32, activation='relu')) Dobbiamo quindi aggiungere il livello di output, che avrà un neurone e una funzione di attivazione softmax. Ciò consentirà al nostro modello di produrre probabilità di classe per prevedere se un cliente abbandonerà: model.add(Dense(1, activation='softmax')) model.compile(optimizer = 'adam',loss='binary_crossentropy', metrics =['accuracy']) model.fit(X_train, y_train,epochs =20) l'output sarà questo: Possiamo vedere che, ad ogni epoca, la perdita generalmente diminuisce e la precisione aumenta. Ora generiamo previsioni. L'output della previsione è un elenco di probabilità di abbandono corrispondente a ciascun input nei dati del test. Possiamo convertire le previsioni in punteggi binari, dove i valori di probabilità maggiori del 50 percento (0,5) saranno classificati come abbandono, con un'etichetta di uno. In caso contrario, sarà classificato con un'etichetta pari a zero, che corrisponde al cliente che soggiorna presso l'azienda: y_pred = model.predict(X_test) y_pred = np.where(y_pred > 0.5, 1, 0) Calcoliamo anche la precisione del nostro modello: print("Accuracy: ", accuracy_score(y_pred, y_test)) Vediamo che la precisione del nostro modello è del 77,9 percento, il che è abbastanza buono. Vediamo se possiamo migliorare le prestazioni con la regressione lazo. Regressione lazo (regolarizzazione L1) Keras semplifica l'implementazione della regressione lazo con i modelli di rete neurale. Il pacchetto regolarizzatori in Keras ha un metodo che possiamo chiamare, chiamato l1, negli strati della nostra rete neurale. Ciò applicherà termini di penalità ai pesi negli strati che aiuteranno a prevenire il sovradattamento. In genere, la regressione lazo invia i pesi delle caratteristiche insignificanti a zero, consentendo al modello di includere le caratteristiche più importanti per fare previsioni accurate. Importiamo il pacchetto regolarizzatore da Keras: from tensorflow.keras import regularizers Successivamente, definiamo un nuovo oggetto modello, che chiameremo model_lasso. model_lasso = Sequential() Nel livello di input, passeremo un valore per kernel_regularizer usando il metodo l1 dal pacchetto regolarizzatori: model_lasso.add(Dense(len(cols),input_shape=(len(cols),), kernel_initializer='normal', activation='relu', kernel_regularizer = regularizers.l1(1e-6))) Le prossime righe di codice sono identiche al nostro modello di rete neurale iniziale. L'unica differenza è che stiamo lavorando con l'oggetto modello model_lasso, invece del modello: model_lasso.add(Dense(32, activation='relu')) model_lasso.add(Dense(32, activation='relu')) model_lasso.add(Dense(1, activation='sigmoid')) model_lasso.compile(optimizer = 'adam',loss='binary_crossentropy', metrics =['accuracy']) model_lasso.fit(X_train, y_train,epochs =20) y_pred = model_lasso.predict(X_test) y_pred = np.where(y_pred > 0.5, 1, 0) print("Accuracy With Lasso: ", accuracy_score(y_pred, y_test)) La regressione con lazo è un'ottima opzione se nel modello sono presenti molte funzionalità che non contribuiscono positivamente alle prestazioni. Per questo motivo, è utile come strumento di selezione delle funzionalità. Regressione Ridge (L2) Anche applicare la regressione della cresta ai modelli di rete neurale è facile in Keras. Simile al metodo lazo, dobbiamo semplicemente chiamare un nome di metodo l2 negli strati della nostra rete neurale. La differenza tra lazo e ridge è che il primo tende a scartare del tutto valori insignificanti, mentre ridge riduce semplicemente l'entità dei pesi nella nostra rete neurale su tutte le caratteristiche. Definiamo un nuovo oggetto modello chiamato model_ridge: model_ridge = Sequential() E nel livello di input, useremo il metodo l2: model_ridge.add(Dense(len(cols),input_shape=(len(cols),), kernel_initializer='normal', activation='relu', kernel_regularizer = regularizers.l2(1e-6))) Il resto è simile a quello che abbiamo fatto sopra: model_ridge.add(Dense(32, activation='relu')) model_ridge.add(Dense(32, activation='relu')) model_ridge.add(Dense(1, activation='sigmoid')) model_ridge.compile(optimizer = 'adam',loss='binary_crossentropy', metrics =['accuracy']) model_ridge.fit(X_train, y_train,epochs =20) y_pred = model_lasso.predict(X_test) y_pred = np.where(y_pred > 0.5, 1, 0) print("Accuracy With Ridge: ", accuracy_score(y_pred, y_test)) Con ridge, la precisione è leggermente migliore rispetto alla prima rete neurale che abbiamo costruito e alla rete neurale con lazo. La scelta del miglior metodo di regolarizzazione da utilizzare dipende dal caso d'uso. Se l'utilizzo di tutte le funzionalità di input nel modello è importante, la regressione della cresta potrebbe essere una scelta migliore per la regolarizzazione. Questo può essere il caso in cui alcune funzionalità devono essere mantenute per addestrare il nostro modello. Ad esempio, una caratteristica debole può essere ancora utile come leva per un'azienda. Potrebbero voler vedere come cambiano le previsioni del modello quando cambia il valore della caratteristica debole anche se non contribuisce fortemente alle prestazioni. Il codice di questo post è disponibile nella Sezione Progetti Conclusioni Prevenire l'overfitting dei modelli è importante per i team di data science che utilizzano modelli complessi come le reti neurali. L'overfitting può avere un impatto significativo sui ricavi di un'azienda se non preso in considerazione. I modelli con molti parametri, come le reti neurali, sono particolarmente inclini all'overfitting e possono dare ai ricercatori un falso senso di buone prestazioni del modello. In genere, i modelli overfit mostrano prestazioni elevate quando vengono testati sui dati attuali e possono funzionare molto male una volta che il modello viene presentato con nuovi dati. Ad esempio, in caso di abbandono, un modello di overfit può essere in grado di prevedere con elevata precisione se un cliente non effettuerà un acquisto ripetuto. Quando vengono presentati nuovi dati sui clienti, tuttavia, il modello di overfit avrà prestazioni scadenti e non sarà più in grado di prevedere l'abbandono dei clienti. Questa imprecisione può far sì che le aziende sprechino una notevole quantità di denaro e risorse mirando ai clienti sbagliati con annunci e promozioni, ignorando i clienti che potrebbero effettivamente abbandonare. Per questo motivo, avere una buona conoscenza di come utilizzare la regressione lazo e ridge per prevenire l'overfitting di modelli complessi è un'abilità importante per ogni data scientist.
- L'intelligenza artificiale prende decisioni che non comprendiamo. Questo é un problema.
Gli algoritmi di apprendimento automatico , la tecnologia che alimenta l'intelligenza artificiale, sono avanzati rapidamente negli ultimi decenni. Oggi, gli algoritmi di deep learning alimentano il software di riconoscimento facciale e consentono a chiunque di creare foto e video deepfake realistici in pochi minuti. Gli algoritmi di intelligenza artificiale sono sempre più utilizzati anche da aziende e istituzioni, dalla creazione di assistenti vocali intelligenti alla generazione di traduzioni linguistiche automatiche. Ma insieme alla crescente adozione dell'IA c'è il problema che i modelli di intelligenza artificiale non sono ben compresi: la maggior parte delle volte, le persone non sanno perché i modelli di intelligenza artificiale prendono determinate determinazioni. E non è solo la persona media per strada a non capire, anche i ricercatori e i programmatori che li creano non capiscono davvero perché i modelli che hanno costruito prendono le decisioni che prendono. "Se non riesci a descrivere adeguatamente cosa sta facendo il tuo algoritmo, è problematico", ha affermato Bryan Routledge, professore associato di finanza presso la Carnegie Mellon University. Non essere ben compreso dal proprio creatore è uno strano fenomeno dell'intelligenza artificiale, ma è anche la ragione del suo potere e del suo successo: utilizzando i metodi dell'intelligenza artificiale, le persone possono creare qualcosa che è autodidatta e in grado di eseguire determinati calcoli oltre le capacità delle persone. "Se non riesci a descrivere adeguatamente cosa sta facendo il tuo algoritmo, è problematico." Questo fenomeno ha creato un divario crescente tra ciò che siamo in grado di fare con le tecniche di intelligenza artificiale e la nostra capacità come esseri umani di comprendere la tecnologia che utilizziamo, ed è parte del motivo per cui alcuni hanno chiesto un "diritto alla spiegazione" quando si tratta di l'uso dell'IA. Routledge e il coautore Tae Wan Kim hanno recentemente pubblicato un'analisi sul diritto alla spiegazione, concludendo che il pubblico ha il diritto etico di sapere come prendono le decisioni i modelli di intelligenza artificiale delle aziende. Hanno ragionato sul fatto che i consumatori dovrebbero essere in grado di chiedere spiegazioni per specifiche decisioni di intelligenza artificiale che sembrano distorte e anche di apprendere come tali modelli prendono decisioni in modo che possano fare scelte informate su quali aziende affidare la propria attività. Routledge ha affermato che i modelli di intelligenza artificiale dovrebbero essere mantenuti a uno standard simile a quello della medicina, un altro campo complesso che prende decisioni importanti sulle persone, ma le cui decisioni sono supportate da spiegazioni. "Essere in grado di spiegare le cose in modo che i pazienti siano informati fa parte di ciò che significa essere un medico", ha detto. “La medicina si occupa di questo da molto tempo, quindi è abbastanza naturale. Quando c'è un nuovo trattamento, parte di ciò a cui pensano è: 'Come lo comunicheremo correttamente ai pazienti in modo che possano essere informati quando scelgono sì o no?'” Le spiegazioni sono importanti quando gli umani non possono verificare il lavoro dell'IA Non tutti i casi d'uso dell'IA hanno ugualmente bisogno di spiegazioni, ha affermato Rayid Ghani, professore di machine learning alla Carnegie Mellon University. Ad esempio, di solito è facile dire se un programma di riconoscimento delle immagini ha etichettato in modo errato le cose, come se un'immagine etichettata come "cane" raffigurasse effettivamente un gatto. E alcuni casi d'uso non sono abbastanza consequenziali da richiedere spiegazioni. "Se stai mostrando a qualcuno un annuncio, non mi interessa davvero se hai una grande spiegazione o no", ha detto. "Il costo per me di vedere un annuncio buono o cattivo, c'è pochissima differenza - non mi interessa, non voglio vedere alcun annuncio." Ghani ha affermato che la tecnologia AI viene utilizzata per svolgere due categorie di compiti: o compiti che gli umani sono bravi a fare ma fanno lentamente, o compiti che gli umani non sono in grado di svolgere. Ad esempio, gli esseri umani sono bravi a riconoscere ed etichettare le immagini. Anche i modelli di intelligenza artificiale possono essere addestrati a farlo, non necessariamente meglio degli umani, ma molto, molto più velocemente. D'altra parte, i modelli di intelligenza artificiale possono essere utilizzati anche per aiutare a fare previsioni, qualcosa che le persone non fanno bene. "Chi sarà coinvolto in una sparatoria, o chi non si diplomerà al liceo in tempo, o chi sarà disoccupato a lungo termine - gli umani non sono molto bravi a questo problema", ha detto Ghani. Capire come i modelli di intelligenza artificiale prendono le loro decisioni è particolarmente importante per quei tipi di casi d'uso predittivi perché gli esseri umani non sono in grado di verificare se il modello funziona correttamente. A differenza della categorizzazione delle immagini, in cui gli umani possono semplicemente guardare le immagini per verificare se sono state etichettate correttamente, l'IA predittiva fornisce risultati che gli umani non possono verificare da soli. "In un certo senso ti aiuta a capire come separare le previsioni corrette dalle previsioni errate". “Quindi, quando una spiegazione arriva dal sistema, non sappiamo davvero se sia corretta o meno perché non abbiamo quella comprensione. Se lo facessimo, non avremmo bisogno di un computer per aiutarci a risolvere quel problema", ha detto Ghani. "Perché non stiamo cercando di essere efficienti, stiamo cercando di essere migliori degli umani". Ghani ha accolto con favore l'idea di un diritto alla spiegazione, anticipando molti benefici una volta che sarà possibile spiegare le decisioni prese dai modelli di intelligenza artificiale. Le spiegazioni potrebbero aiutare le persone a capire come modificare il proprio comportamento per ottenere risultati migliori e rilevare se i modelli trarranno conclusioni basate su ragionamenti errati. Ghani ha fornito l'esempio di un ipotetico modello di intelligenza artificiale medica che prevede i risultati dei pazienti. Se le spiegazioni del modello rivelassero che un fattore significativo alla base del suo processo decisionale fosse basato sul giorno della settimana in cui i pazienti vengono ricoverati, le persone saprebbero di essere sospettose dell'accuratezza del modello - o l'ospedale saprebbe di indagare su questo modello inaccettabile in prognosi del paziente. "In un certo senso ti aiuta a capire come separare le previsioni corrette dalle previsioni errate", ha detto Ghani. "Ti aiuta a controllare la sanità mentale." Forse, cosa ancora più importante, le spiegazioni potrebbero essere in grado di soddisfare quella parte di noi che è giustamente sospettosa quando viene chiesto di fidarsi di cose che non capiamo e di rispondere alle nostre numerose domande: perché il modello di intelligenza artificiale ha fatto quella particolare previsione? Il modello di intelligenza artificiale sta effettivamente rispondendo alla domanda che ci poniamo nel modo che ci aspettiamo? È affidabile? Cosa intendiamo per "spiegazione"? Come siamo arrivati qui, dove anche gli esperti che creano modelli di intelligenza artificiale non capiscono come quei modelli stanno prendendo decisioni? Il modo in cui funziona l'apprendimento automatico è che utilizza molti dati per perfezionare i modelli. Il data scientist prende un algoritmo di intelligenza artificiale, lo punta verso un risultato desiderato e sostanzialmente lascia che l'algoritmo venga eseguito da solo utilizzando alcuni valori casuali iniziali e una montagna di dati di test. Alla fine, l'algoritmo rifinirà il modello in qualcosa che possa ottenere il risultato desiderato. Gli algoritmi di intelligenza artificiale sfruttano le capacità dei computer per eseguire calcoli e calcoli a grande velocità. Ma il risultato di questo tipo di risoluzione dei problemi è che le interazioni nel modello costruito assorbendo così tanti dati sono troppe perché una persona possa avvolgere le proprie menti. Questo è ciò che rende molti modelli di intelligenza artificiale scatole nere, difficili o impossibili da capire. Poiché il modo in cui funzionano i modelli di intelligenza artificiale è così specifico e basato sulla matematica, mentre approfondisci l'argomento dell'IA spiegabile, alla fine ti imbatti nella domanda fondamentale su cosa significhino davvero idee di base come "spiegazione" e "comprensione". “Chi decide se qualcosa è spiegabile? Se ti ho dato una spiegazione, è una buona spiegazione o una cattiva?" Può sembrare uno sciocco dibattito sulla semantica, ma il modo in cui questi concetti sono definiti potrebbe avere un impatto reale sulle decisioni aziendali e normative se si verificasse il diritto alla spiegazione. Questo perché una buona regolamentazione richiede innanzitutto definizioni precise e accurate. "'Spiegabile' e 'preciso' - in un certo senso, entrambi sono concetti ambigui", ha detto Ghani. “Chi decide se qualcosa è spiegabile? Se ti ho dato una spiegazione, è una buona spiegazione o una cattiva? Cosa significa essere buoni? Cosa significa essere cattivi?" C'è un modo per definire la "spiegazione" che è abbastanza semplice, ma non soddisfa la nostra ricerca umana di comprensione: basta seguire i dati mentre fluiscono attraverso le funzioni matematiche del modello, tracciando tutti i percorsi fino a quando non diventano finalmente l'output del modello. Questa definizione è radicata nell'idea che gli algoritmi sono come le macchine: l'unico modo puro per "capirne" uno è seguire il meccanismo della macchina. “Perché” è una domanda umana che non si applica alle macchine. Non chiederesti mai a un'auto "perché" - la vera domanda è "come". La stessa logica dovrebbe essere applicata agli algoritmi, sostiene Zachary Lipton, che gestisce l' Approximately Correct Machine Intelligence Lab presso la Carnegie Mellon University. "Una domanda che potresti fare è: 'Mi spieghi come i modelli sono arrivati alla risposta?'", ha detto Lipton. "E la risposta è: non esiste una risposta specifica oltre ai pesi del modello". Tuttavia, ciò potrebbe fornire una certa comprensione per modelli molto semplici. Ma i modelli di intelligenza artificiale creati da algoritmi come il deep learning possono facilmente acquisire dati con migliaia di attributi. È possibile tracciare gli input attraverso quei modelli, ma non fornirebbe una comprensione approfondita di come il modello arriva alle sue conclusioni, principalmente a causa dei limiti umani. "Una rete neurale profonda che è stata addestrata sulle immagini prende ogni singolo input possibile in uno spazio di 400.000 dimensioni", ha detto Lipton. "La mappatura completa non è qualcosa che puoi metterti in testa." Chi è il pubblico che riceve una spiegazione può anche influenzare il modo in cui dovrebbero essere definite le spiegazioni perché le persone hanno diversi livelli di comprensione quando si tratta di concetti di intelligenza artificiale. Spiegare un modello a un ricercatore di intelligenza artificiale può essere molto diverso dallo spiegarlo a un laico, un decisore politico o un uomo d'affari. “Una rete neurale profonda che è stata addestrata sulle immagini prende ogni singolo input possibile in uno spazio di 400.000 dimensioni. La mappatura completa non è qualcosa che puoi metterti in testa". Quando si approfondisce, è difficile definire esattamente cosa significhi rendere l'intelligenza artificiale spiegabile. Le persone sono abituate a ricevere spiegazioni da altre persone, ad esempio quando qualcuno fornisce il ragionamento alla base di una decisione presa o di un'azione intrapresa. Ma come facciamo a sapere che le ragioni che danno sono un resoconto accurato delle loro vere motivazioni? Come sappiamo che la loro è una spiegazione completa? Quando le persone intraprendono azioni e prendono decisioni, non attingono solo dalla pura logica, ma anche dall'esperienza personale, dalla conoscenza, dalle emozioni e dalle loro personalità. La maggior parte delle volte, la spiegazione di qualcuno è probabilmente più un'approssimazione, lo strato più alto di un miscuglio di fattori subconsci. Forse non conoscono nemmeno la vera motivazione dietro il loro comportamento. Anche i modelli di intelligenza artificiale costruiti utilizzando algoritmi di apprendimento profondo e grandi quantità di dati assumono una forma ristretta di questa complessità, principalmente in termini di esperienza e conoscenza. Quindi quale livello di spiegazione vogliamo? Forse quello che le persone vogliono è che il modo in cui i modelli di intelligenza artificiale prendono effettivamente le decisioni sia approssimato e semplificato abbastanza da poter avvolgere le nostre menti intorno all'intero processo tutto in una volta. Ma è possibile averlo e chiamarlo ancora una spiegazione? La (discutibile) promessa di un'IA spiegabile Esiste già un campo di studio noto come AI spiegabile . I suoi ricercatori utilizzano tecniche matematiche per esaminare i modelli nei modelli di intelligenza artificiale e trarre conclusioni su come tali modelli raggiungono le loro decisioni. Molte tecniche di intelligenza artificiale spiegabili sono tecniche "generali", pensate per essere applicabili per spiegare qualsiasi tipo di modello di apprendimento automatico. Ma Lipton ritiene che l'attuale campo dell'IA spiegabile sia disseminato di false promesse. Ha affermato che i vantaggi dell'applicazione di tecniche di intelligenza artificiale spiegabili a qualsiasi tipo di modello di intelligenza artificiale, il che rende queste tecniche avvincenti, le rendono anche incapaci di spiegare qualcosa di significativo. Alcune tecniche di intelligenza artificiale spiegabili per etichettare le immagini, ad esempio, oscurano le sezioni di un'immagine alla volta. Quindi eseguono le immagini modificate attraverso il modello AI originale per vedere quali differenze ha il nuovo output dall'originale. Ma Lipton ha ipotizzato che oscurare parti delle immagini potrebbe renderle così diverse dalle immagini naturali da influenzare i risultati dei modelli oltre ciò che i ricercatori potrebbero aspettarsi. Sebbene i metodi di intelligenza artificiale spiegabili utilizzino la matematica per ottenere i loro risultati, ha affermato, non è stato ancora dimostrato che tali tecniche matematiche offrano approfondimenti sui modelli di intelligenza artificiale. "Molti di questi metodi forniscono qualcosa che in realtà non ti dice nulla." "Se ci sono due equazioni in quella che chiami una spiegazione, e la stai presentando a qualcuno che è matematicamente analfabeta, non hanno la capacità di guardarla e chiamarla stronzata", ha detto Lipton. "Molti di questi metodi forniscono qualcosa che in realtà non ti dice nulla." Ha affermato che i ricercatori di intelligenza artificiale possono cambiare drasticamente le conclusioni spiegabili sull'intelligenza artificiale apportando piccole modifiche ai modelli di intelligenza artificiale mantenendo gli stessi risultati del modello. "Chiaramente, non era una spiegazione in primo luogo, se sei in grado di indurre qualsiasi spiegazione tu voglia senza cambiare ciò che stai effettivamente facendo", ha detto. L'ambiguità del termine “spiegazione” fa parte di ciò che riguarda Lipton. Poiché la definizione di spiegazione per i modelli di intelligenza artificiale è così vagamente definita, le persone possono arrivare ad accettare "spiegazioni" matematiche che confondono e abbagliano, ma in realtà non forniscono risposte reali. "Un'enorme frazione del campo è invasa proprio da questo genere di cose", ha detto Lipton. "Fondamentalmente ciò che le persone fanno è proporre un algoritmo ed è solo una sorta di trucco." Può anche essere difficile capire le spiegazioni offerte. Se una spiegazione di un classificatore di immagini evidenzia semplicemente le aree su un'immagine , è davvero una spiegazione? Che cosa sta realmente dicendo su come il modello prende le decisioni? "Il problema è che vengono ingannati da un'industria a domicilio che pensa che in qualche modo si possano prendere modelli di apprendimento automatico predittivi, in qualche modo agitare una bacchetta magica su di essi, generare alcune immagini e chiamarla una spiegazione". È persino possibile entrare in uno scenario in cui è necessario un altro algoritmo per interpretare la spiegazione, ha detto Ghani. "È una specie di cosa strana in cui ora devi costruire un altro sistema, in cima al sistema di spiegazione, per spiegare in qualche modo l'esplicatore", ha detto. Sebbene Lipton sia contrario ai metodi utilizzati dall'attuale campo dell'IA spiegabile, è solidale con l'obiettivo principale del diritto alla spiegazione di essere in grado di capire cosa stanno facendo i modelli di intelligenza artificiale. "Le persone pensano che certe decisioni dovrebbero essere guidate da un ragionamento sano e dovresti essere in grado di fornire spiegazioni quando prendi determinate categorie di decisioni - e quelle persone hanno assolutamente ragione", ha detto Lipton. "Il problema è che vengono ingannati da un'industria a domicilio che pensa che in qualche modo si possano prendere modelli di apprendimento automatico predittivi, in qualche modo agitare una bacchetta magica su di essi, generare alcune immagini e chiamarla una spiegazione". Si preoccupa che le persone che accettano qualsiasi cosa come una "spiegazione" consentano invece usi non etici dell'IA. "Lo scenario peggiore è che la comunità accademica sia complice nel dare alle persone l'impressione che in realtà ora abbiano un sigillo di approvazione accademico", ha detto Lipton. Fai invece domande specifiche Invece di cercare di spiegare un intero modello di intelligenza artificiale tutto in una volta, potrebbe essere più efficace analizzare i modelli utilizzando strumenti specifici per le domande che vuoi porre e per il modello di intelligenza artificiale. Questo perché gli algoritmi e i modelli di intelligenza artificiale variano ampiamente. Ad esempio, non c'è solo un modo per fare deep learning: in realtà è un'intera categoria di metodi e ogni caso d'uso di un metodo può essere molto diverso a seconda dei dati di formazione e di ciò per cui i ricercatori stanno ottimizzando. "Non è che scarichi [un] deep learning [modello] e fai clic su un pulsante ed eseguilo", ha detto Ghani. “Quando crei questi tipi di sistemi, ne costruisci centinaia di versioni. ... Quindi definisci una metrica delle prestazioni che ti interessa e scegli quella che sta andando bene su quella metrica delle prestazioni. " I modelli di apprendimento automatico producono risultati sotto forma di probabilità piuttosto che risposte chiare e affermative. Un programma di riconoscimento delle immagini prevede che un'immagine ha il 40% di probabilità di essere un gatto e un'altra ha l'89% di probabilità, invece di dire che questa non è un gatto e questa lo è. Sta agli scienziati dei dati determinare quale dovrebbe essere il limite per l'etichettatura. "Dobbiamo essere molto cauti nella progettazione di sistemi focalizzati su un caso d'uso specifico e su un utente specifico nella progettazione di una spiegazione". Se è più importante che il modello non manchi alcuna immagine con gatti, anche se alcune immagini non di gatti vengono scambiate per gatti, la soglia di etichettatura per i gatti dovrebbe essere impostata su una percentuale bassa. D'altra parte, se è costoso rivedere le etichette delle immagini, il produttore potrebbe voler impostare una soglia elevata. Ognuna di queste variazioni corrisponde a un diverso modello di intelligenza artificiale. "Nel mondo dell'IA spiegabile, stiamo cercando di costruire questo sistema di intelligenza artificiale spiegabile monolitico e generico che dovrebbe fare tutto per ogni tipo di problema, per ogni tipo di modello, per ogni tipo di utente - e penso che sia semplicemente sbagliato", ha detto Ghani. "Dobbiamo essere molto deliberati nella progettazione di sistemi incentrati su un caso d'uso specifico e su un utente specifico nella progettazione di una spiegazione, quindi convalidare sperimentalmente se tale spiegazione aiuta quell'utente a raggiungere l'obiettivo del sistema". Esistono già alcuni metodi statistici efficaci nel rispondere a domande molto specifiche, come i test di ablazione e i controfattuali, ha affermato Lipton. Se una banca utilizzasse modelli di intelligenza artificiale per determinare se approvare i mutui per i clienti e rifiutasse qualcuno, i controfattuale potrebbero dare alle persone un feedback concreto su cosa possono migliorare per cambiare il risultato la prossima volta. “Se hanno detto: 'Hai quattro linee di credito e un pagamento in ritardo nell'ultimo anno. Ma se avessi avuto sei linee di credito e nessun pagamento in ritardo per almeno 18 mesi, allora saresti stato approvato'”, ha detto Lipton. "Quindi questo offre un certo grado di trasparenza e fornisce a qualcuno qualcosa di attuabile". Sono necessarie ulteriori indagini L'unica cosa certa della spiegabilità nell'IA è che c'è ancora molto spazio per le indagini. La mia prima introduzione alla spiegazione dell'intelligenza artificiale è stata parlare con un professore dell'uso dell'intelligenza artificiale nel settore assicurativo . Ha avvertito che l'intelligenza artificiale renderebbe le compagnie assicurative difficili da controllare perché le questioni di parzialità non possono essere valutate se le stesse compagnie assicurative non sanno nemmeno come vengono prese le decisioni assicurative. Curiosamente, sia Lipton che Ghani hanno respinto l'idea di utilizzare le spiegazioni nell'intelligenza artificiale per aiutare a determinare i pregiudizi nei modelli di intelligenza artificiale. Hanno sostenuto che i due concetti non sono correlati perché spiegare perché un modello di intelligenza artificiale ha prodotto un determinato output non fornisce alcuna informazione sul fatto che il modello generale sia distorto. Questo è in parte il motivo per cui alcuni che si oppongono al diritto alla spiegazione sostengono che monitorare i risultati dei modelli di intelligenza artificiale nel tempo alla ricerca di indizi di distorsione e aggiustamenti quando necessario, è meglio che richiedere spiegazioni dai modelli di intelligenza artificiale. Routledge, coautore dell'analisi del diritto alla spiegazione, ha affermato che il monitoraggio dei risultati del modello di intelligenza artificiale per la distorsione nel tempo è una buona pratica, ma non un sostituto. "Se hai chiesto un prestito e ti è stato negato, mentre qualcuno che ti assomiglia ha ottenuto un prestito e chiedi perché è così, e la risposta dell'azienda è: 'Non preoccuparti, aggiustiamo le cose mentre andiamo avanti' - non è molto soddisfacente”, ha detto. "Non sembra che sarebbe una spiegazione adeguata." Ci sono molte persone che si oppongono a spiegare i modelli di intelligenza artificiale. Un argomento comune è che limita il potenziale dell'IA legandolo a vincoli umani non necessari. Un altro è che un diritto alla spiegazione sarebbe impossibile da far rispettare, soprattutto considerando quanto sia impreciso il concetto umano di "comprensione". "Quando in realtà hai preoccupazioni reali sulla discriminazione ... forse ciò che dovrebbe effettivamente accadere è che le persone dovrebbero togliere del tutto la tecnologia dal tavolo." Lo stesso Lipton preferisce vietare l'uso dell'intelligenza artificiale in alcuni casi invece di utilizzare tecniche inaffidabili per spiegare i modelli di intelligenza artificiale e passare il tempo a discutere la definizione di "spiegare". "Quando si hanno reali preoccupazioni sulla discriminazione... forse quello che dovrebbe succedere è che le persone dovrebbero togliere del tutto la tecnologia dal tavolo", ha detto Lipton. "Ad esempio, 'Lo screening algoritmico del curriculum non è una tecnologia matura o appropriata e non dovrebbe essere applicato.'" La fattibilità di stabilire un diritto alla spiegazione dipende in gran parte dalla possibilità o meno di sviluppare tecniche in grado di spiegare i modelli di intelligenza artificiale, ma non ci sono stati studi abbastanza rigorosi in questo campo per capire se è così. Ghani ha affermato che attualmente un grosso ostacolo per il settore è l'utilizzo di scenari più realistici nella ricerca, il che è importante perché i modelli di intelligenza artificiale sono costruiti per svolgere compiti specifici. “Una delle cose su cui stiamo lavorando è costruire queste collaborazioni con organizzazioni – che si tratti di governi, organizzazioni non profit o aziende – dove le cose possono essere ancorate a problemi reali, utilizzando dati reali, testati su utenti reali, in modo che tu possa vedere cosa funziona davvero o no", ha detto. Ci sono alcune ragioni per un cauto ottimismo. Quando le persone parlano di modelli di intelligenza artificiale a scatola nera, come quelli costruiti da algoritmi di apprendimento profondo, sembra esserci un'implicazione che più potente e di successo è l'algoritmo, più è una scatola nera. Ma non è necessariamente così. "Si usa spesso il concetto che c'è questo compromesso, ma in realtà non sappiamo se c'è un compromesso - non è un concetto universale che deve essere vero", ha detto Ghani. "Penso che le persone lo dicano molto, ma penso che le persone non lo dicano sulla base di prove empiriche". Forse i ricercatori possono trovare modi per utilizzare le tecniche esistenti per spiegare i modelli di intelligenza artificiale, o forse possono essere sviluppate nuove tecniche di intelligenza artificiale che danno priorità alla spiegabilità. Routledge, per esempio, era fiducioso. "Immagino che tutto quello che sto dicendo sia che non è facile, ma non sembra impossibile", ha detto.
- Algoritmi di clustering che i data scientist devono conoscere
Che cosa è un algoritmo di clustering ? Il clustering è una tecnica di Machine Learning che coinvolgeil raggruppamento di punti dati. Dato un insieme di punti dati, possiamo utilizzare un algoritmo di clustering per classificare ciascun punto dati in un gruppo specifico. In teoria, i punti dati che si trovano nello stesso gruppo dovrebbero avere proprietà e/o caratteristiche simili, mentre i punti dati in gruppi diversi dovrebbero avere proprietà e/o caratteristiche molto diverse. Il clustering è un metodo di apprendimento non supervisionato ed è una tecnica comune per l'analisi statistica dei dati utilizzata in molti campi. Nella Scienza dei dati, possiamo utilizzare l'analisi di clustering per acquisire alcune preziose informazioni da nostri dati da vedere ciò che raggruppa i punti di dati in autunno, quando si applica un algoritmo di clustering. Oggi esamineremo 5 popolari algoritmi di clustering che i data scientist devono conoscere e i loro pro e contro! 1° Algoritmo di Clustering : K-Means K-Means è probabilmente l'algoritmo di clustering più noto. Viene insegnato in molte lezioni introduttive di data science e machine learning. È facile da capire e implementare nel codice! Dai un'occhiata al grafico qui sotto per un'illustrazione. Come funziona l'algoritmo K-Means Per iniziare, selezioniamo prima un numero di classi/gruppi da utilizzare e inizializziamo in modo casuale i rispettivi punti centrali. Per capire il numero di classi da utilizzare, è bene dare una rapida occhiata ai dati e cercare di identificare eventuali raggruppamenti distinti. I punti centrali sono vettori della stessa lunghezza di ciascun vettore di punti dati e sono le "X" nel grafico sopra. Ciascun punto dati viene classificato calcolando la distanza tra quel punto e il centro di ciascun gruppo, quindi classificando il punto come appartenente al gruppo il cui centro è più vicino ad esso. Sulla base di questi punti classificati, ricalcoliamo il centro del gruppo prendendo la media di tutti i vettori del gruppo. Ripeti questi passaggi per un determinato numero di iterazioni o fino a quando i centri di gruppo non cambiano molto tra le iterazioni. Puoi anche scegliere di inizializzare casualmente i centri di gruppo alcune volte, quindi selezionare la corsa che sembra aver fornito i migliori risultati. K-Means ha il vantaggio di essere abbastanza veloce, poiché tutto ciò che stiamo facendo è calcolare le distanze tra i punti e i centri del gruppo; pochissimi calcoli! Ha quindi una complessità lineare O ( n ). D'altra parte, K-Means ha un paio di svantaggi. Innanzitutto, devi selezionare quanti gruppi/classi ci sono. Questo non è sempre banale e idealmente con un algoritmo di clustering vorremmo che li capisse per noi perché il punto è ottenere alcune informazioni dai dati. K-means inizia anche con una scelta casuale di centri di cluster e quindi può produrre risultati di clustering diversi su diverse esecuzioni dell'algoritmo. Pertanto, i risultati potrebbero non essere ripetibili e mancare di coerenza. Altri metodi cluster sono più coerenti. K-Medians è un altro algoritmo di clustering correlato a K-Means, tranne per il fatto che invece di ricalcolare i punti centrali del gruppo usando la media usiamo il vettore mediano del gruppo. Questo metodo è meno sensibile ai valori anomali (a causa dell'utilizzo della mediana) ma è molto più lento per i set di dati più grandi poiché l'ordinamento è richiesto su ogni iterazione durante il calcolo del vettore mediano. 2° Algoritmo di Clustering : Mean-Shift Il clustering dello spostamento medio è un algoritmo basato su finestre scorrevoli che tenta di trovare aree dense di punti dati. È un algoritmo basato sul centroide, il che significa che l'obiettivo è individuare i punti centrali di ciascun gruppo/classe, che funziona aggiornando i candidati per i punti centrali come media dei punti all'interno della finestra scorrevole. Queste finestre candidate vengono quindi filtrate in una fase di post-elaborazione per eliminare i quasi duplicati, formando l'insieme finale di punti centrali e i loro gruppi corrispondenti. Dai un'occhiata al grafico qui sotto per un'illustrazione. Come funziona l'algoritmo di Clustering Mean-Shift Per spiegare lo spostamento medio considereremo un insieme di punti nello spazio bidimensionale come nell'illustrazione sopra. Iniziamo con una finestra scorrevole circolare centrata in un punto C (selezionato casualmente) e avente raggio r come nucleo. Lo spostamento medio è un algoritmo in salita che comporta lo spostamento iterativo di questo kernel in una regione di densità più elevata ad ogni passo fino alla convergenza. Ad ogni iterazione, la finestra scorrevole viene spostata verso regioni di maggiore densità spostando il punto centrale sulla media dei punti all'interno della finestra (da cui il nome). La densità all'interno della finestra scorrevole è proporzionale al numero di punti al suo interno. Naturalmente spostandosi sulla media dei punti nella finestra si sposterà gradualmente verso aree di maggiore densità di punti. Continuiamo a spostare la finestra scorrevole secondo la media finché non c'è una direzione in cui uno spostamento può ospitare più punti all'interno del kernel. Guarda il grafico sopra; continuiamo a muovere il cerchio finché non aumentiamo più la densità (cioè il numero di punti nella finestra). Questo processo dei passaggi da 1 a 3 viene eseguito con molte finestre scorrevoli finché tutti i punti non si trovano all'interno di una finestra. Quando più finestre scorrevoli si sovrappongono, viene conservata la finestra contenente il maggior numero di punti. I punti dati vengono quindi raggruppati in base alla finestra scorrevole in cui risiedono. Di seguito è mostrata un'illustrazione dell'intero processo dall'inizio alla fine con tutte le finestre scorrevoli. Ogni punto nero rappresenta il baricentro di una finestra scorrevole e ogni punto grigio è un punto dati. A differenza del clustering K-means, non è necessario selezionare il numero di cluster poiché lo spostamento medio lo scopre automaticamente. Questo è un enorme vantaggio. Anche il fatto che i centri del cluster convergano verso i punti di massima densità è abbastanza desiderabile in quanto è abbastanza intuitivo da comprendere e si adatta bene in un senso naturalmente guidato dai dati. Lo svantaggio è che la selezione della dimensione/raggio della finestra “r” può essere non banale. 3° Algoritmo di Clustering : Clustering spaziale basato sulla densità di applicazioni con rumore (DBSCAN) Come fuziona l'algoritmo di Clustering DBSCAN DBSCAN inizia con un punto dati di partenza arbitrario che non è stato visitato. L'intorno di questo punto viene estratto utilizzando una distanza epsilon ε (Tutti i punti che si trovano all'interno della distanza ε sono punti dell'intorno). Se c'è un numero sufficiente di punti (secondo minPoints) all'interno di questo intorno, il processo di clustering inizia e il punto dati corrente diventa il primo punto nel nuovo cluster. In caso contrario, il punto verrà etichettato come rumore (in seguito questo punto rumoroso potrebbe diventare parte del cluster). In entrambi i casi quel punto è contrassegnato come “visitato”. Per questo primo punto nel nuovo ammasso, anche i punti all'interno del suo intorno a distanza diventano parte dello stesso ammasso. Questa procedura per far appartenere tutti i punti nell'intorno allo stesso cluster viene quindi ripetuta per tutti i nuovi punti che sono stati appena aggiunti al gruppo cluster. Questo processo dei passaggi 2 e 3 viene ripetuto fino a quando tutti i punti del cluster sono stati determinati, ovvero tutti i punti all'interno dell'intorno ε del cluster sono stati visitati ed etichettati. Una volta terminato il cluster corrente, viene recuperato ed elaborato un nuovo punto non visitato, che porta alla scoperta di un ulteriore cluster o rumore. Questo processo si ripete finché tutti i punti non vengono contrassegnati come visitati. Poiché alla fine di questo sono stati visitati tutti i punti, ogni punto sarà stato contrassegnato come appartenente a un cluster o come rumore. DBSCAN presenta alcuni grandi vantaggi rispetto ad altri algoritmi di clustering. In primo luogo, non richiede affatto un numero fisso di cluster. Identifica anche i valori anomali come rumori, a differenza dello spostamento medio che li getta semplicemente in un cluster anche se il punto dati è molto diverso. Inoltre, può trovare abbastanza bene cluster di dimensioni e forma arbitraria. Lo svantaggio principale di DBSCAN è che non funziona come gli altri quando i cluster sono di densità variabile. Questo perché l'impostazione della soglia di distanza e dei minPoints per identificare i punti di vicinato varierà da cluster a cluster al variare della densità. Questo inconveniente si verifica anche con dati di dimensioni molto elevate poiché anche in questo caso la soglia di distanza diventa difficile da stimare. 4° Algoritmo di Clustering : Clustering di aspettativa-massimizzazione (EM) utilizzando i modelli di miscela gaussiana (GMM) Uno dei principali svantaggi di K-Means è il suo uso ingenuo del valore medio per il centro del cluster. Possiamo capire perché questo non è il modo migliore di fare le cose guardando l'immagine qui sotto. Sul lato sinistro, sembra abbastanza ovvio all'occhio umano che ci siano due ammassi circolari con raggio diverso' centrati alla stessa media. K-Means non può gestirlo perché i valori medi dei cluster sono molto vicini tra loro. K-Means fallisce anche nei casi in cui i cluster non sono circolari, sempre a causa dell'utilizzo della media come centro del cluster. Come funziona l'algoritmo Clustering EM utilizzando GMM Iniziamo selezionando il numero di cluster (come fa K-Means) e inizializzando casualmente i parametri della distribuzione gaussiana per ciascun cluster. Si può provare a fornire una buona stima dei parametri iniziali dando anche una rapida occhiata ai dati. Anche se nota, come si può vedere nel grafico sopra, questo non è necessario al 100% poiché le gaussiane iniziano come molto scarse ma vengono rapidamente ottimizzate. Date queste distribuzioni gaussiane per ogni cluster, calcola la probabilità che ogni punto dati appartenga a un particolare cluster. Più un punto è vicino al centro della gaussiana, più è probabile che appartenga a quell'ammasso. Questo dovrebbe avere un senso intuitivo poiché con una distribuzione gaussiana stiamo assumendo che la maggior parte dei dati si trovi più vicino al centro del cluster. Sulla base di queste probabilità, calcoliamo un nuovo set di parametri per le distribuzioni gaussiane in modo da massimizzare le probabilità dei punti dati all'interno dei cluster. Calcoliamo questi nuovi parametri utilizzando una somma ponderata delle posizioni dei punti dati, dove i pesi sono le probabilità del punto dati appartenente a quel particolare cluster. Per spiegarlo visivamente possiamo dare un'occhiata al grafico sopra, in particolare il cluster giallo come esempio. La distribuzione inizia casualmente alla prima iterazione, ma possiamo vedere che la maggior parte dei punti gialli si trova a destra di quella distribuzione. Quando calcoliamo una somma ponderata per le probabilità, anche se ci sono alcuni punti vicino al centro, la maggior parte di essi si trova a destra. Quindi, naturalmente, la media della distribuzione viene spostata più vicino a quell'insieme di punti. Possiamo anche vedere che la maggior parte dei punti sono "in alto a destra in basso a sinistra". Pertanto la deviazione standard cambia per creare un'ellisse più adatta a questi punti, per massimizzare la somma ponderata dalle probabilità. I passaggi 2 e 3 vengono ripetuti iterativamente fino alla convergenza, dove le distribuzioni non cambiano molto da un'iterazione all'altra. Ci sono 2 vantaggi chiave nell'utilizzo dei GMM. In primo luogo i GMM sono molto più flessibili in termini di covarianza dei cluster rispetto alle K-Means; a causa del parametro di deviazione standard, i cluster possono assumere qualsiasi forma di ellisse, piuttosto che essere ristretti a cerchi. K-Means è in realtà un caso speciale di GMM in cui la covarianza di ciascun cluster lungo tutte le dimensioni si avvicina a 0. In secondo luogo, poiché i GMM utilizzano le probabilità, possono avere più cluster per punto dati. Quindi, se un punto dati si trova nel mezzo di due cluster sovrapposti, possiamo semplicemente definire la sua classe dicendo che appartiene X-percento alla classe 1 e Y-percento alla classe 2. Cioè i GMM supportano l' appartenenza mista . 4° Algoritmo di Clustering : Clustering gerarchico aggregato Gli algoritmi di clustering gerarchico si dividono in 2 categorie: top-down o bottom-up. Gli algoritmi bottom-up trattano ogni punto dati come un singolo cluster all'inizio e quindi successivamente uniscono (o agglomerano ) coppie di cluster fino a quando tutti i cluster sono stati uniti in un singolo cluster che contiene tutti i punti dati. Il clustering gerarchico bottom-up è quindi chiamato clustering gerarchico agglomerativo o HAC . Questa gerarchia di cluster è rappresentata come un albero (o dendrogramma). La radice dell'albero è l'unico grappolo che raccoglie tutti i campioni, le foglie sono i grappoli con un solo campione. Dai un'occhiata al grafico qui sotto per un'illustrazione prima di passare ai passaggi dell'algoritmo Come funziona l'algoritmo di Clustering gerarchico aggregato Iniziamo trattando ogni punto dati come un singolo cluster, ovvero se ci sono X punti dati nel nostro set di dati, allora abbiamo X cluster. Selezioniamo quindi una metrica di distanza che misuri la distanza tra due cluster. Ad esempio, utilizzeremo il collegamento medio che definisce la distanza tra due cluster come la distanza media tra i punti dati nel primo cluster e i punti dati nel secondo cluster. Ad ogni iterazione, combiniamo due cluster in uno. I due cluster da combinare sono selezionati come quelli con il legame medio più piccolo. Cioè, secondo la nostra metrica di distanza selezionata, questi due gruppi hanno la distanza più piccola tra loro e quindi sono i più simili e dovrebbero essere combinati. Il passaggio 2 viene ripetuto finché non raggiungiamo la radice dell'albero, ovvero abbiamo un solo cluster che contiene tutti i punti dati. In questo modo possiamo selezionare quanti cluster vogliamo alla fine, semplicemente scegliendo quando smettere di combinare i cluster cioè quando smettiamo di costruire l'albero! Il clustering gerarchico non richiede di specificare il numero di cluster e possiamo persino selezionare quale numero di cluster sembra migliore poiché stiamo costruendo un albero. Inoltre, l'algoritmo non è sensibile alla scelta della distanza metrica; tutti tendono a funzionare ugualmente bene mentre con altri algoritmi di clustering, la scelta della metrica della distanza è fondamentale. Un caso d'uso particolarmente valido dei metodi di clustering gerarchico è quando i dati sottostanti hanno una struttura gerarchica e si desidera ripristinare la gerarchia; altri algoritmi di clustering non possono farlo. Questi vantaggi del clustering gerarchico vanno a scapito di una minore efficienza, poiché ha una complessità temporale di O(n³) , a differenza della complessità lineare di K-Means e GMM. Conclusione Ci sono i tuoi 5 migliori algoritmi di clustering che uno scienziato dei dati dovrebbe conoscere! Concluderemo con una fantastica visualizzazione delle prestazioni di questi algoritmi e di alcuni altri, per gentile concessione di Scikit Learn! Molto bello vedere come i diversi algoritmi si confrontano e contrastano con dati diversi! Quale Algoritmo di Clustering usare sui miei dati ?
- 15 Applicazioni di Deep Learning che devi conoscere
l deep learning è un processo complicato che è abbastanza semplice da spiegare. Un sottoinsieme dell'apprendimento automatico, che è a sua volta un sottoinsieme dell'intelligenza artificiale , il deep learning è un modo per condurre analisi automatizzate dei dati tramite le cosiddette reti neurali artificiali, algoritmi che imitano efficacemente la struttura e la funzione del cervello umano. E mentre rimane un lavoro in corso, c'è un potenziale insondabile. APPLICAZIONI COMUNI DI DEEP LEARNING Intercettazione di una frode Sistemi di gestione delle relazioni con i clienti Visione computerizzata IA vocale Elaborazione del linguaggio naturale Raffinamento dei dati Veicoli autonomi Supercomputer Modellazione degli investimenti E-commerce Intelligenza emotiva Divertimento Pubblicità Produzione Assistenza sanitaria "Potremmo un giorno raggiungere il punto in cui l'intelligenza artificiale e l'apprendimento profondo ci aiuteranno a raggiungere la superintelligenza o addirittura a portare alla singolarità (crescita tecnologica incontrollata)", ha spiegato il capo scienziato di Conversica , il dott. Sid J. Reddy . "Ma la nostra sfida e il nostro dovere, come professionisti dell'intelligenza artificiale oggi, è garantire che le applicazioni di deep learning siano all'altezza della loro fatturazione e offrano vantaggi agli utenti e alla società". 15 Applicazioni quotidiane del Deep Learning Esempio pratico di Deep Learning 1- Intercettazione di una frode La frode è un problema crescente nel mondo digitale. Nel 2020, i consumatori hanno riferito di aver perso più di 3,3 miliardi di dollari in frode alla Federal Trade Commission, quasi il doppio dell'importo perso dai consumatori l'anno precedente, secondo un rapporto della FTC . Identificare i furti e le truffe degli impostori erano le due categorie di frode più comuni. Aziende come Twosense e Signifyd, tuttavia, utilizzano il deep learning per rilevare anomalie nelle transazioni di un utente per aiutare a prevenire le frodi. Queste aziende implementano il deep learning per raccogliere dati da una varietà di fonti, tra cui la posizione del dispositivo, la lunghezza del passo e i modelli di acquisto della carta di credito per creare un profilo utente unico. Un'altra società, Featurespace, collabora con le banche per monitorare i dati dei clienti in tempo reale per individuare attività sospette e avvisare le autorità per ridurre le frodi. Aziende rilevanti: Twosense , Signified e Featurespace Esempio pratico di Deep Learning 2- Gestione delle relazioni con i clienti I sistemi di gestione delle relazioni con i clienti sono spesso indicati come "l'unica fonte di verità" per i team delle entrate. Contengono e-mail, registri delle chiamate telefoniche e note su tutti i clienti attuali ed ex dell'azienda, nonché i suoi potenziali clienti. L'aggregazione di tali informazioni ha aiutato i team delle entrate a fornire una migliore esperienza del cliente, ma l'introduzione del deep learning nei sistemi CRM ha sbloccato un altro livello di informazioni sui clienti. Il deep learning è in grado di setacciare tutti i frammenti di dati che un'azienda raccoglie sui suoi potenziali clienti per rivelare le tendenze sul motivo per cui i clienti acquistano, quando acquistano e cosa li tiene in giro. Ciò include il punteggio predittivo dei lead, che aiuta le aziende a identificare i clienti che hanno le migliori possibilità di chiudere; raschiare i dati dalle note dei clienti per facilitare l'identificazione delle tendenze; e previsioni sulle esigenze di assistenza clienti. Aziende rilevanti: Salesforce , Zoho , Marketo Esempio pratico di Deep Learning 3- Visione computerizzata L'apprendimento profondo mira a imitare il modo in cui la mente umana digerisce le informazioni e rileva i modelli, il che lo rende un modo perfetto per addestrare programmi di intelligenza artificiale basati sulla visione. Utilizzando modelli di deep learning, queste piattaforme sono in grado di acquisire una serie di set fotografici etichettati per imparare a rilevare oggetti come aeroplani, volti e pistole. L'applicazione per il riconoscimento delle immagini è espansiva. Neurala Brain utilizza un algoritmo chiamato Lifelong-DNN per completare le ispezioni sulla qualità della produzione. Altri, come ZeroEyes, utilizzano il deep learning per rilevare le armi da fuoco in luoghi pubblici come scuole e proprietà del governo. Quando viene rilevata una pistola, il sistema è progettato per allertare la polizia nel tentativo di prevenire le sparatorie. E infine, aziende come Tractable si affidano al deep learning per addestrare la propria intelligenza artificiale a prendere immagini da un disastro e stimare il danno finanziario che ne deriva. Aziende importanti: Neurala cervello , ZeroEyes , trattabili Esempio pratico di Deep Learning 4- IA vocale Quando si tratta di ricreare il linguaggio umano o di tradurre la voce in testo, l'apprendimento profondo gioca sempre più un ruolo fondamentale nel processo. I modelli di deep learning consentono a strumenti come Google Voice Search e Siri di acquisire audio, identificare schemi vocali e tradurli in testo. Poi c'è il modello WaveNet di DeepMind , che utilizza reti neurali per prendere testo e identificare modelli di sillabe, punti di flesso e altro ancora. Ciò consente ad aziende come Google di addestrare il proprio assistente virtuale a sembrare più umano. Inoltre, RRNoise Project di Mozilla lo utilizza per identificare il rumore di fondo nei file audio e sopprimerlo, fornendo agli utenti un audio più chiaro. Aziende rilevanti: Mozilla , DeepMind , Apple Esempio pratico di Deep Learning 5- Elaborazione del linguaggio naturale L'introduzione della tecnologia di elaborazione del linguaggio naturale ha reso possibile ai robot di leggere i messaggi e il significato divino da essi. Tuttavia, il processo può essere in qualche modo semplificato eccessivamente, non tenendo conto dei modi in cui le parole si combinano per cambiare il significato o l'intento dietro una frase. Il deep learning consente ai processori del linguaggio naturale di identificare modelli più complicati nelle frasi per fornire un'interpretazione più accurata. Aziende come Gamalon utilizzano il deep learning per alimentare un chatbot in grado di rispondere a un volume maggiore di messaggi e fornire risposte più accurate. Altre aziende come Strong lo applicano nel suo strumento NLP per aiutare gli utenti a tradurre il testo, classificarlo per aiutare a estrarre i dati da una raccolta di messaggi e identificare il sentimento nel testo. Grammarly utilizza anche l'apprendimento profondo in combinazione con regole e schemi grammaticali per aiutare gli utenti a identificare gli errori e il tono dei loro messaggi. Compagnie rilevanti: Gamalon , Strong , Grammarly Esempio pratico di Deep Learning 6- Raffinamento dei dati Quando vengono raccolte grandi quantità di dati grezzi, è difficile per i data scientist identificare modelli, trarre informazioni o fare molto con essi. Ha bisogno di essere elaborato. I modelli di deep learning sono in grado di prendere quei dati grezzi e renderli accessibili. Aziende come Descartes Labs utilizzano un supercomputer basato su cloud per perfezionare i dati. Dare un senso a grandi quantità di dati grezzi può essere utile per il controllo delle malattie, la mitigazione dei disastri, la sicurezza alimentare e le immagini satellitari. Aziende rilevanti: Descartes Labs , IBM Esempio pratico di Deep Learning 7- Veicoli autonomi Guidare significa prendere in considerazione fattori esterni come le auto intorno a te, i segnali stradali e i pedoni e reagire in modo sicuro per andare dal punto A al punto B. Anche se siamo ancora lontani dai veicoli completamente autonomi , il deep learning ha giocato un ruolo cruciale ruolo nell'aiutare la tecnologia a realizzarsi. Consente ai veicoli autonomi di prendere in considerazione dove vuoi andare, prevedere cosa faranno gli ostacoli nel tuo ambiente e creare un percorso sicuro per portarti in quella posizione. Ad esempio, Pony.ai ha utilizzato il deep learning per alimentare il suo modulo di pianificazione e controllo all'interno della sua tecnologia di veicoli autonomi per aiutare le auto a percorrere autostrade a otto corsie, incidenti improvvisi e altro ancora. Altre aziende automobilistiche a guida autonoma che utilizzano il deep learning per alimentare la propria tecnologia includono DeepScale di proprietà di Tesla e Waymo, una consociata di Google. Aziende rilevanti: Pony.ai , Tesla , Waymo Esempio pratico di Deep Learning 8- Supercomputer Sebbene alcuni software utilizzino il deep learning nella sua soluzione, se vuoi creare il tuo modello di deep learning, hai bisogno di un supercomputer . Aziende come Boxx e Nvidia hanno costruito workstation in grado di gestire la potenza di elaborazione necessaria per costruire modelli di deep learning. La DGX Station di NVIDIA afferma di essere "l'equivalente di centinaia di server tradizionali" e consente agli utenti di testare e modificare i propri modelli. APEXX Neutrino W di Boxx funziona con una varietà di framework di deep learning come Tensorflow e PyTorch. La sua missione è accelerare i flussi di lavoro e accelerare i processi decisionali. Aziende rilevanti: Boxx , NVIDIA Esempio pratico di Deep Learning 9- Modellazione degli investimenti La modellazione degli investimenti è un altro settore che ha beneficiato del deep learning. La previsione del mercato richiede il monitoraggio e l'interpretazione di dozzine di punti dati, dalle conversazioni telefoniche agli eventi pubblici fino ai prezzi delle azioni. Aziende come Aiera utilizzano una piattaforma di deep learning adattivo per fornire agli investitori istituzionali analisi in tempo reale su singole azioni, contenuti da chiamate di guadagni ed eventi aziendali pubblici. Aziende interessate: Aiera Esempio pratico di Deep Learning 10- ECommerce Lo shopping online è ora di fatto il modo in cui le persone acquistano beni, ma può ancora essere frustrante scorrere dozzine di pagine per trovare il giusto paio di scarpe che si adatta al tuo stile. Diverse aziende di e-commerce si stanno rivolgendo al deep learning per rendere più facile la caccia. Il sito web di mobili Cora consente agli utenti di caricare una foto del loro mobile preferito e quindi utilizza la magia della visione artificiale per trovare articoli simili. E tra le numerose offerte di deep learning di Clarifai c'è uno strumento che aiuta i marchi con l'etichettatura delle immagini ad aumentare il traffico SEO e a far emergere prodotti alternativi per gli utenti quando un articolo è esaurito. Loop54, un'azienda che aiuta i siti di e-commerce a personalizzare le ricerche sui propri siti Web, utilizza anche il deep learning per identificare i modelli nel comportamento degli utenti per anticipare i loro desideri. Aziende rilevanti: Cora , Clarifai , Loop54 Esempio pratico di Deep Learning 11- Intelligenza emotiva Anche se i computer potrebbero non essere in grado di replicare le emozioni umane, stanno acquisendo una migliore comprensione dei nostri stati d'animo grazie al deep learning. Schemi come un cambiamento di tono, un leggero cipiglio o uno sbuffo sono tutti segnali di dati preziosi che possono aiutare l'IA a rilevare i nostri stati d'animo. Aziende come Affectiva utilizzano il deep learning per tenere traccia di tutte quelle reazioni vocali e facciali per fornire una comprensione sfumata del nostro umore. Altri come Robbie AI setacciano foto e filmati per prevedere le emozioni umane in tempo reale. Applicazioni come questa possono essere utilizzate per aiutare le aziende a collegare i dati sulle emozioni alla pubblicità o persino ad avvisare i medici dello stato emotivo di un paziente. Aziende rilevanti: Affectiva , Robbie AI Esempio pratico di Deep Learning 12- Divertimento Ti sei mai chiesto come le piattaforme di streaming sembrano intuire lo spettacolo perfetto per te da guardare dopo? Bene, devi ringraziare per questo un apprendimento profondo. Le piattaforme di streaming aggregano tonnellate di dati su quali contenuti scegli di consumare e cosa ignori. Prendi Netflix come esempio. La piattaforma di streaming utilizza il deep learning per trovare modelli in ciò che i suoi spettatori guardano in modo da poter creare un'esperienza personalizzata per i suoi utenti. Aziende rilevanti : Netflix Esempio pratico di Deep Learning 13- Pubblicità Le aziende possono raccogliere molte informazioni da come un utente interagisce con il suo marketing. Può segnalare l'intenzione di acquistare, mostrare che il prodotto risuona con loro o che vogliono saperne di più. Molte aziende di tecnologia di marketing utilizzano il deep learning per generare ancora più informazioni sui clienti. Aziende come 6sense e Cognitiv utilizzano il deep learning per addestrare i loro software a comprendere meglio gli acquirenti in base a come interagiscono con un'app o navigano in un sito web. Questo può essere utilizzato per aiutare le aziende a indirizzare in modo più accurato i potenziali acquirenti e creare campagne pubblicitarie su misura. Altre aziende come Dstillery lo usano per capire di più sui consumatori di un cliente per aiutare ogni campagna pubblicitaria a raggiungere il pubblico di destinazione per il prodotto. Aziende rilevanti: 6sense , Cognitiv , Dstillery Esempio pratico di Deep Learning 14- Produzione Il successo di una fabbrica dipende spesso da macchine, esseri umani e robot che lavorano insieme nel modo più efficiente possibile per produrre un prodotto replicabile. Quando una parte della produzione va fuori controllo, può avere un costo devastante per l'azienda. Il deep learning viene utilizzato per rendere quel processo ancora più efficiente ed eliminare quegli errori. Aziende come OneTrack lo utilizzano per scansionare i pavimenti delle fabbriche alla ricerca di anomalie come una scatola in bilico o un carrello elevatore utilizzato in modo improprio e avvisare i lavoratori dei rischi per la sicurezza. L'obiettivo è prevenire errori che possono rallentare la produzione e causare danni. Poi c'è Fanuc, che lo usa per addestrare il suo robot ad adattarsi a una serie di compiti in una fabbrica. Il gigante dell'energia General Electric utilizza anche il deep learning nella sua piattaforma Predix per tracciare e trovare tutti i possibili punti di guasto in una fabbrica. Aziende rilevanti: OneTrack , Fanuc , General Electric Esempio pratico di Deep Learning 15- Assistenza sanitaria I medici non possono stare con i loro pazienti 24 ore su 24, 7 giorni su 7, ma l'unica cosa che quasi sempre portiamo con noi sono i nostri telefoni. E grazie al deep learning, gli strumenti medici sono in grado di estrarre i dati dalle immagini che scattiamo e dai dati sui movimenti per rilevare potenziali problemi di salute. Il software di visione artificiale di Robbie.AI utilizza questi dati, ad esempio, per tracciare i modelli di movimento di un paziente per prevedere le cadute e i cambiamenti nello stato mentale di un utente. È stato anche dimostrato che il deep learning rileva il cancro della pelle attraverso le immagini, secondo un rapporto del National Center for Biotechnology . Aziende rilevanti : Robbie AI Grazie mille per la lettura, segnala nei commenti altri utilizzi quotidiani del deep learning
- Che cos'è un supercomputer e come funziona?
Cos'è un supercomputer? Entriamo all'interno dell'Argonne National Laboratory per scoprirlo. Camminare tra le file di armadi per supercomputer nella Leadership Computing Facility dell'Argonne National Laboratory, situata a circa 40 chilometri da Chicago, è un po' come vagare attraverso una versione high-tech di "The Shining's" Overlook Maze , senza il pazzo che brandisce un'ascia. I due supercomputer principali in quel labirinto d'acciaio, chiamati Mira e Theta, comprendono 101 armadi delle dimensioni di frigoriferi standard che contengono pile di rack e pesano tra 3.450 e 4.390 libbre. ogni. Il loro totale combinato: 160 tonnellate, gran parte di quel peso dovuto ai sistemi di raffreddamento ad acqua che impediscono il surriscaldamento. Insieme a molti altri sistemi più piccoli, le macchine sono alloggiate in un data center di 25.000 piedi quadrati con soffitti bassi e pavimento piastrellato bianco. Con tutta quell'attrezzatura che ronza via, non è un posto tranquillo. Vicino ai computer, i visitatori devono parlare-urlare per essere ascoltati al di sopra di un forte ronzio costante. Sei miliardi di volte più veloce: la nuova casa del supercomputer Aurora Per quanto tentacolare sia la struttura, non è sufficiente per ospitare la bestia che presto atterrerà lì. Entro il 2021, se tutto andrà secondo i piani, un nuovo supercomputer straordinariamente potente soprannominato Aurora prenderà la residenza. E così, in preparazione del suo arrivo, è in corso un'importante espansione. Al prezzo di $ 500 milioni, Aurora sarà il primo dei tre cosiddetti supercomputer “exascale” in grado di eseguire un miliardo di miliardi (aka quintilioni) di calcoli al secondo, in cui il Dipartimento dell'Energia degli Stati Uniti (DOE), che gestisce Argonne e 17 altre nazionali laboratori, sta investendo 1,8 miliardi di $. (Un altro, soprannominato Frontier, sarà presto installato presso l'Oak Ridge National Laboratory nel Tennessee.) Non sorprende che per quel tipo di impasto, Aurora sarà in grado di compiere piccoli miracoli computazionali. Misurato come 10^18 FLOPS (che sta per operazioni in virgola mobile al secondo), il sistema sarà sei miliardi di volte più veloce del suo predecessore di molto tempo fa, l'innovativo Cray-1 del 1964. Detto in termini più tangibili per gentile concessione di Design News , “A una persona che aggiunge 1+1+1 in una calcolatrice manuale una volta al secondo, senza tempo libero per mangiare o dormire, avrebbe bisogno di 31,7 trilioni di anni per fare ciò che Aurora farà in un secondo. È tra le cinque e le dieci volte più veloce dell'attuale campione in carica di supercomputer, una mega-macchina IBM-Nvidia chiamata Summit che risiede a Oak Ridge. Sbalordire. Chi spoglierà Aurora? Ecco uno sguardo ai 10 supercomputer più veloci al mondo secondo il brain trust di TOP500 . I 10 SUPERCOMPUTER PIÙ VELOCI AL MONDO Vertice | America Sierra | America Sunway TaihuLight | Cina Tianhe-2A | America Piz Daint | Svizzera Trinità | America ABCI | Giappone SuperMUC-NG | Germania Titano | America Sequoia | America "Ci sono limitazioni a ciò che possiamo fare oggi su un supercomputer" , ha detto recentemente Mike Papka , direttore della Leadership Computing Facility, dopo aver fatto un giro dello spazio. “Con Aurora, possiamo portarli al livello successivo. In questo momento, possiamo fare simulazioni dell'evoluzione dell'universo. Ma con Aurora, saremo in grado di farlo in un modo più realistico, con l'aggiunta di più fisica e chimica. Stiamo iniziando a fare cose come cercare di capire come i diversi farmaci interagiscono tra loro e, diciamo, una qualche forma di cancro. Possiamo farlo su piccola scala ora. Saremo in grado di farlo su scala ancora più ampia con Aurora". Essendo uno dei 52 supercomputer del Dipartimento dell'Energia, Aurora sarà probabilmente l'unico sistema esascala esistente al suo debutto. (Cioè, a meno che la Cina non ne costruisca uno per primo, cosa che alcuni addetti ai lavori dicono sia piuttosto improbabile nonostante i rapporti secondo cui il paese si sta affannando a realizzarne uno entro il 2020.) In una conferenza stampa del marzo 2019 che annunciava l'installazione di Aurora, il direttore associato del laboratorio di Argonne, Rick Stevens, ha spiegato che il il sistema gestirà applicazioni di calcolo ad alte prestazioni e analisi di dati in streaming generati da acceleratori, rivelatori, telescopi e altre apparecchiature di ricerca. Rick Stevens, direttore associato del laboratorio presso l'Argonne National Laboratory, parla di Aurora, il primo computer exascale d'America. INGLESE A questo punto, però, Aurora rimane un work in progress mentre Summit ottiene la gloria. Originariamente previsto per essere pubblicato diversi anni fa in un'incarnazione molto meno potente e lanciato a metà del 2018, Summit è costato $ 200 milioni, può eseguire calcoli matematici complessi a una velocità di 200 quadrilioni(o 200 trilioni) al secondo ed è responsabile per aver strappato alla Cina il trespolo numero uno dell'America nella lista TOP500. Fisicamente imponente, è composto da più di 300 unità — di dimensioni simili a quelle di Mira e Theta — che pesano un totale di 340 tonnellate, occupano 9.250 piedi quadrati e sono alimentate da 9.216 chip di elaborazione centrale. All'interno ci sono chilometri di cavo in fibra ottica e il raffreddamento di questo colosso richiede 4.000 litri d'acqua al minuto. Inoltre, consuma energia voracemente, abbastanza per alimentare migliaia di case. Quando il "padre del supercalcolo", Seymour Cray , iniziò a costruire le sue macchine rivoluzionarie negli anni '60, un'esibizione così increspata di muscoli computazionali era incomprensibile. Più di mezzo secolo dopo, sta lentamente diventando la norma e un giorno sembrerà bizzarro come un Atari 2600 ora. Cos'è un supercomputer? I supercomputer hanno impiegato per anni una tecnica chiamata "elaborazione massicciamente parallela", in base alla quale i problemi vengono suddivisi in parti e lavorati simultaneamente da migliaia di processori rispetto al metodo "seriale" uno alla volta, ad esempio, del normale vecchio MacBook Air. Ecco un'altra buona analogia, questa da Explainthatstuff.com : È come arrivare alla cassa con un carrello pieno di articoli, ma poi dividere i tuoi articoli tra diversi amici. Ogni amico può effettuare un checkout separato con alcuni articoli e pagare separatamente. Una volta che avrete pagato tutti, potrete riunirvi di nuovo, caricare il carrello e partire. Più elementi ci sono e più amici hai, più velocemente riesce a fare le cose tramite l'elaborazione parallela, almeno, in teoria. "Devi usare il calcolo parallelo per sfruttare davvero la potenza del supercomputer", afferma la candidata al dottorato del Rensselaer Polytechnic Institute Caitlin Joann Ross, che di recente ha svolto una residenza di sei mesi all'Argonne. “Devi capire come i dati devono essere scambiati tra i processi per farlo in modo efficiente, quindi ci sono molte piccole sfide diverse che rendono molto divertente lavorare. Anche se ci sono giorni in cui può essere sicuramente frustrante”. I problemi di "debug" , dice, sono la causa principale di quella frustrazione. I calcoli che potrebbero funzionare senza problemi utilizzando quattro processori, ad esempio, potrebbero non funzionare se ne viene aggiunto un quinto. “Se tutto funziona alla perfezione”, dice Ross, “allora qualunque cosa tu stia eseguendo funziona molto più velocemente di quanto potrebbe fare su un computer con meno processori o con un solo processore. Ci sono alcuni calcoli che potrebbero richiedere settimane o mesi per essere eseguiti sul tuo laptop, ma se riesci a parallelizzarli in modo efficiente per essere eseguiti su un supercomputer, potrebbe volerci un giorno. Un'altra area del lavoro di Ross riguarda la simulazione degli stessi supercomputer, più specificamente le reti utilizzate sui supercomputer. I dati provenienti da applicazioni eseguite su supercomputer reali vengono inseriti in un simulatore, che consente di testare varie funzioni senza disattivare l'intero sistema. Qualcosa chiamato "interferenza nelle comunicazioni" è una di quelle funzioni. "Nella vita reale, diversi utenti invieranno lavori al supercomputer, che eseguirà un qualche tipo di pianificazione per determinare quando tali lavori verranno eseguiti", afferma Ross. “Di solito ci saranno più lavori diversi in esecuzione contemporaneamente sul supercomputer. Usano nodi di calcolo diversi , ma condividono le risorse di rete. Quindi la comunicazione dal lavoro di qualcun altro potrebbe rallentare il tuo lavoro, in base al modo in cui i dati vengono instradati attraverso la rete. Con le nostre simulazioni, possiamo esplorare questo tipo di situazioni e testare cose come altri protocolli di routing che potrebbero aiutare a migliorare le prestazioni della rete. Super Computer e Simulazione della realtà, tutto qui Negli ultimi decenni e fino ai giorni nostri, il principale contributo del supercalcolo alla scienza è stata la sua capacità in costante miglioramento di simulare la realtà per aiutare gli esseri umani a fare previsioni migliori sulle prestazioni e progettare prodotti migliori nei settori della produzione e del petrolio, fino a quello farmaceutico e militare. Jack Dongarra , uno dei massimi esperti di supercalcolo al mondo, paragona questa capacità all'avere una sfera di cristallo. "Diciamo che voglio capire cosa succede quando due galassie si scontrano", dice Dongarra. “Non posso davvero fare quell'esperimento. Non posso prendere due galassie e farle scontrare. Quindi devo costruire un modello ed eseguirlo su un computer. O ai vecchi tempi, quando progettavano un'auto, prendevano quell'auto e la facevano schiantare contro un muro per vedere come resisteva all'impatto. Beh, è piuttosto costoso e richiede tempo. Oggi non lo facciamo molto spesso; costruiamo un modello al computer con tutta la fisica [calcoli] e lo facciamo schiantare contro un muro simulato per capire dove sono i punti deboli". A COSA SERVONO I SUPERCOMPUTER? I supercomputer sono fondamentalmente utilizzati da aziende e organizzazioni governative per simulare i risultati. Questi computer velocissimi possono essere utilizzati per qualsiasi cosa, dalla ricerca di nuovi depositi di petrolio allo sviluppo di nuovi farmaci salvavita. In effetti, i supercomputer in tutto il mondo vengono utilizzati per aiutare nella ricerca e nello sviluppo di un vaccino per il COVID-19. Le aziende, in particolare, vedono il valore monetario ( ROI , come dicono i tipi aziendali) nelle simulazioni di supercalcolo, sia che si tratti di fabbricazione di automobili, di trivellazioni petrolifere o di scoperta di nuovi farmaci. Nel 2018, gli acquisti di aziende e governi hanno contribuito a un mercato dei computer ad alte prestazioni sempre più solido . "Dei primi cinquecento computer, più della metà sono nell'industria", afferma Dongarra, che ha trascorso una prima parte della sua carriera ad Argonne. “L'industria lo prende. Stanno investendo in computer ad alte prestazioni per essere più competitivi e ottenere un vantaggio sulla concorrenza. E sentono che i soldi sono ben spesi. Stanno investendo in queste cose per aiutare a guidare i loro prodotti e l'innovazione, i loro profitti, la loro produttività e la loro redditività". Ma è più grande del semplice ROI. "L'impresa commerciale tradizionale può vedere calcoli di ritorno sull'investimento di, 'Ci ha risparmiato questa quantità di costi di test fisici' o, 'Siamo stati in grado di arrivare sul mercato più velocemente e quindi di ottenere entrate extra'", afferma Andrew Jones , un Regno Unito- consulente di calcolo ad alte prestazioni basato. "Ma un calcolo di base del ROI per HPC non è necessariamente da dove viene il valore. Se chiedi a una compagnia petrolifera, non si tratta di essere in grado di trovare petrolio il 30 percento in meno. Si tratta di essere in grado di trovare il petrolio o no". Le aziende che utilizzano il supercalcolo per apportare miglioramenti al quadro generale e aumentare l'efficienza hanno un vantaggio sui concorrenti. "E lo stesso vale per gran parte della scienza", aggiunge Jones. "Non stai necessariamente cercando un ritorno sull'investimento in un senso specifico, stai cercando capacità generali, se i nostri ricercatori sono in grado di fare scienza che sia competitivo a livello internazionale o meno.” I Super Computer e il bisogno di velocità Poiché i computer più veloci consentono ai ricercatori di ottenere più rapidamente una maggiore comprensione di qualunque cosa stiano lavorando, c'è un bisogno sempre crescente, o almeno un forte desiderio, di velocità. Dongarra la chiama "una ricerca senza fine" e le capacità di senzafine sostenute di Aurora (ancora non provate) sarebbero l'apice di quella ricerca finora. Sarà comunque uno dei tanti. Decine di supercomputer con nomi a volte epici (Titan, Excalibur) operano in altri 26 paesi in tutto il mondo. Prodotti da 36 fornitori diversi, sono guidati da 20 generazioni di processori e servono una varietà di settori e funzioni governative che vanno dalla ricerca scientifica alla difesa nazionale. Queste statistiche provengono dal sito TOP500.org . Co-fondato da Dongarra, ha tenuto sotto controllo tutto ciò che riguarda il supercalcolo dal 1993 e utilizza il suo benchmark LINPACK (che stima la velocità con cui un computer può eseguire uno o più programmi) per misurare le prestazioni. Secondo la sua ultima carrellata del più grande e più cattivo del mondo, l'America ha cinque (presto sei) della top 10, tra cui il supercomputer più veloce del pianeta a Oak Ridge's Summit e il secondo più veloce, Sierra, al Lawrence Livermore National Laboratory in California. La Cina, seconda classificata, ne ha solo due (ma presto saranno tre). Certo, il paese occupa 227 dei primi 500 posti e ha prodotto 303 delle macchine in quella lista, ma gli Stati Uniti possono ancora brandire il loro gigantesco dito di schiuma. Per adesso. Il concorso è in corso e non accenna a diminuire. "Non ci sono due maggiori trasgressori di 'guarda quanto è grande il mio sistema' rispetto agli Stati Uniti e alla Cina", afferma Nicole Hemsoth, co-fondatrice e co-editore di The Next Platform . Sebbene storicamente la Cina sia stata meno interessata alla Top 500, spiega, negli ultimi anni hanno reso il calcolo ad alte prestazioni "un punto di orgoglio nazionale", ponendo maggiore enfasi sulle "prestazioni ai vertici delle classifiche" e spendendo miliardi per raggiungere esso. Altri concorrenti exascale includono Francia e Giappone . Secondo uno studio , 10 miliardi di dollari dei 130 miliardi di dollari previsti spesi in supercomputer tra il 2018 e il 2021 andranno verso sistemi a esascala come quello previsto per Argonne. "La corsa tra i paesi è in parte reale e in parte artificiale", afferma Jones. "Quindi, per esempio, se sei il direttore di un laboratorio nazionale statunitense e stai cercando di ottenere finanziamenti per la tua prossima macchina HPC, è un ottimo argomento per dire che, 'Beh, la Cina ne ha una dieci volte più grande, quindi dobbiamo recuperare il ritardo.' L'Unione Europea e la Cina giocano la stessa partita contro gli Stati Uniti, quindi c'è un po' di tensione creata che non è necessariamente reale, ma sta aiutando a guidare la [competizione]". Anche i media giocano un ruolo significativo. I giornalisti adorano distribuire statistiche da capogiro sui supercomputer e spiegarle in modo evocativo. C'è un esempio di questo all'inizio di questa storia. Eccone un altro, dal New York Times: "Se uno stadio costruito per 100.000 persone fosse pieno e tutti i presenti avessero un laptop moderno, ci vorrebbero 20 stadi per eguagliare la potenza di fuoco del Summit". NON TI DIVERTE? I funzionari governativi si divertono anche con un po' di spavalderia nel supercalcolo, parlando della loro gigantesca potenza di elaborazione come la chiave per il miglioramento della società e, naturalmente, la prova della totale magnificenza del loro paese. John F. Kennedy, che ha dato il via alla corsa allo spazio nel 1961, sarebbe stato dappertutto. "È la competitività economica di base", afferma Jones. “Se ti allontani così lontano che la tua nazione non è più economicamente competitiva con altre nazioni di dimensioni comparabili, allora ciò porta a un intero carico di altre questioni politiche e di sicurezza da affrontare”. VELOCITÀ DI CALCOLO + POTENZA = POTENZA MILITARE Oltre agli aspetti economici e di sicurezza, aggiunge, coloro che comprendono chiaramente le implicazioni del calcolo ad alte prestazioni ne vedono gli enormi vantaggi per la scienza, il business e altri settori. "Quindi è un gioco da ragazzi che facciamo queste cose." (Certo, alcuni rapporti affermano che questi benefici sono esagerati .) Sul fronte degli armamenti nucleari, ad esempio, i supercomputer si sono dimostrati un enorme vantaggio per le cose che vanno a gonfie vele: simulazioni sofisticate hanno eliminato la necessità di test nel mondo reale. "Non sviluppano qualcosa, escono nel deserto, praticano un foro e vedono se funziona", dice Dongarra di una pratica che si è interrotta decenni fa. "Simulano quel progetto [dell'arma] su un supercomputer. Simulano anche cosa succede a quelle [armi] se rimangono su uno scaffale per così tanti anni, perché devono verificare che la scorta funzioni". In un importante aggiornamento recente, l'Air Force Research Lab - uno dei cinque centri di supercalcolo del Dipartimento della Difesa degli Stati Uniti - ha installato quattro supercomputer condivisibili su cui l'intero esercito degli Stati Uniti può condurre ricerche classificate. Il progetto è stato promosso come un modo per aiutare i ricercatori dell'aeronautica, dell'esercito e della marina a "rispondere rapidamente alle sfide più urgenti e complesse della nostra nazione, che sta anche accelerando nuove capacità per il combattente a costi inferiori per i contribuenti". Interpretalo come vuoi. Supercomputer e Intelligenza Artificiale L'intelligenza artificiale è ancora piuttosto rudimentale, ma i supercomputer lo stanno cambiando mettendo a dura prova i processi di apprendimento automatico per produrre risultati più rapidi da più dati, come in questa ricerca sulla scienza del clima . "Essere impegnati nel supercalcolo significa credere nel potere dell'algoritmo di distillare informazioni preziose e significative dall'implementazione ripetuta della logica procedurale", scrive Scott Fulton III in una storia penetrante su ZDNet. "Alla base del supercalcolo ci sono due ideali: uno che professa che la macchina di oggi alla fine raggiungerà una soluzione nuova e straordinariamente preziosa, seguito da una seconda e più sottile nozione che la macchina di oggi è un prototipo per quella di domani." Come ha dichiarato il direttore di Argonne Paul Kearns a HPCWire, Aurora è destinata all'IA di "prossima generazione" che accelererà la scoperta scientifica e renderà possibili miglioramenti in aree come previsioni meteorologiche estreme, trattamenti medici, mappatura del cervello, sviluppo di nuovi materiali. Ci aiuterà anche a comprendere ulteriormente l'universo, ha aggiunto, "e questo è solo l'inizio". Mentre Dongarra pensa che i supercomputer plasmeranno il futuro dell'intelligenza artificiale , come ciò accadrà esattamente non è del tutto prevedibile. "In una certa misura, i computer che vengono sviluppati oggi verranno utilizzati per applicazioni che richiedono intelligenza artificiale, deep learning e calcoli di neuro-networking", afferma Dongarra. "Sarà uno strumento che aiuterà gli scienziati a comprendere e risolvere alcuni dei problemi più impegnativi che abbiamo". "Sarà" - tempo futuro. Il lavoro sull'intelligenza artificiale è ancora solo una piccola percentuale di ciò che fanno i supercomputer. Per la maggior parte, dice Jones, sono "macchine del tempo" che "portano la prossima scienza da cinque anni avanti a oggi". "Il novanta percento delle installazioni HPC tradizionali esegue ancora carichi di lavoro HPC tradizionali: simulazioni ingegneristiche, fluidodinamica, modellazione meteorologica e climatica ", spiega. "E l'intelligenza artificiale è presente al livello del cinque o del 10 percento che li aumenta e aiuta a farli funzionare meglio, ma non sta ancora dominando i requisiti per l'acquisto di piattaforme HPC o anche per guidare i programmi di finanziamento HPC". Hemsoth pensa che probabilmente passeranno altri cinque anni prima che i flussi di lavoro HPC esistenti includano molta intelligenza artificiale e deep learning, entrambi i quali avranno requisiti di elaborazione diversi rispetto a quelli attuali. "Tutti stanno saltando un po' la pistola quando si tratta di intelligenza artificiale", dice. “Stanno acquistando sistemi adatti all'AI così com'è adesso. L'intelligenza artificiale sarà una parte pratica dei carichi di lavoro, ma cambierà. E il software e l'applicazione effettivi su cui devono funzionare le cose cambieranno, il che cambierà l'hardware di cui hai bisogno. Questa roba si sta evolvendo rapidamente, ma con cicli di produzione hardware molto lunghi, specialmente se sei un laboratorio nazionale e devi procurarti questa roba da tre a cinque anni prima ancora di avere la macchina. Il futuro dei SuperComputer "Il miglioramento dell'umanità è un nobile obiettivo da raggiungere". Un altro rompicapo: il tuo smartphone attuale è veloce come lo era un supercomputer nel 1994, uno che aveva 1.000 processori e faceva simulazioni nucleari. (C'è un'app per questo?) Va da sé, quindi, che lo smartphone (o come si chiama) che hai in un quarto di secolo potrebbe teoricamente essere al livello di Aurora. Il punto è che questa roba è veloce - e sta solo diventando più veloce. Ecco come lo riassume Dongarra: “Abbiamo raggiunto i teraflop nel 1997 su una macchina dei Sandia National Laboratories. Questo è stato 10 12 teraflops. Poi, nel 2008, abbiamo raggiunto i petaflop — 10 15 — a Los Alamos. Ora siamo sul punto di raggiungere l'esascala, con 10 18 operazioni, intorno all'inizio del 2020 o del 2021. Probabilmente tra 10 o 11 anni, saremo a zettascale : 10 21 operazioni al secondo. Quando ho iniziato con l'informatica, stavamo facendo megaflop: 10 6 operazioni. Quindi le cose cambiano. Ci sono cambiamenti nell'architettura, cambiamenti nel software e nelle applicazioni che devono andare di pari passo. Passare al livello successivo è una progressione naturale”. Una storia recente su TOP500.com intitolata "Il supercalcolo si sta dirigendo verso una crisi esistenziale", dipinge un quadro delle cose a venire in cui le simulazioni passano in secondo piano. "L'apprendimento automatico, in particolare, potrebbe arrivare a dominare la maggior parte dei domini informatici, incluso l'HPC (e persino l'analisi dei dati) nel prossimo decennio e mezzo", scrive l'autore Michael Feldman. "Mentre oggi viene utilizzato principalmente come passaggio ausiliario nel calcolo scientifico tradizionale, sia per le simulazioni di pre-elaborazione che di post-elaborazione, in alcuni casi, come la scoperta di farmaci, potrebbe plausibilmente sostituire del tutto le simulazioni". Qualunque sia la forma che assumeranno i supercomputer, Papka di Argonne afferma che diventeranno sempre più potenti e trasformativi, influenzando tutto, dal pedone al profondo, dalla progettazione di batterie per auto elettriche più efficienti a, forse, l'eradicazione di malattie a lungo combattute come il cancro. O così spera. "Il miglioramento dell'umanità", dice Papka, "è un nobile obiettivo da raggiungere".
- I 60 migliori set di dati gratuiti per l'apprendimento automatico e profondo
Indice Tipologie di Dataset: I cinque principali strumenti di ricerca dataset gratis Set di dati governativi per l'apprendimento automatico Set di dati finanziari ed economici per l'apprendimento automatico Set di dati di immagini per la visione artificiale Set di dati per la sentiment analysis Set di dati per l'elaborazione del linguaggio naturale Set di dati per veicoli autonomi In questo articolo abbiamo raccolto 60 set di dati per l'apprendimento automatico, che vanno da dati altamente specifici a set di dati di prodotti Amazon. Prima di iniziare ad aggregare questi dati, è importante verificare alcune cose. Innanzitutto, assicurati che i set di dati non siano "pompati", poiché probabilmente non vorrai perdere tempo a setacciare e ripulire i dati da solo. In secondo luogo, tieni presente che i set di dati con meno righe e colonne richiedono meno tempo in generale e sono anche più facili da utilizzare . I cinque principali strumenti di ricerca dataset gratis Quando si padroneggia l'apprendimento automatico, fare pratica con diversi set di dati è un ottimo punto di partenza. Fortunatamente, trovarli è facile. Kaggle : questo sito di data science contiene un insieme diversificato di set di dati interessanti e forniti in modo indipendente per l'apprendimento automatico. Se stai cercando set di dati di nicchia, il motore di ricerca di Kaggle ti consente di specificare le categorie per assicurarti che i set di dati che trovi si adattino alla tua fattura. UCI Machine Learning Repository : questo pilastro dei set di dati aperti è stato un punto di riferimento per decenni. Poiché molti dei set di dati sono forniti dall'utente, è imperativo controllarne la qualità poiché i livelli di pulizia possono variare. Vale la pena notare, tuttavia, che la maggior parte dei set di dati sono puliti, il che rende questo repository un punto di riferimento. Gli utenti possono anche scaricare i dati senza bisogno di registrarsi. Ricerca di set di dati di Google : la ricerca di set di dati contiene oltre 25 milioni di set di dati provenienti da tutto il Web. Che siano ospitati sul sito di un editore, su un dominio governativo o sul blog di un ricercatore, Dataset Search può trovarlo. AWS Open Data Registry : ovviamente anche Amazon ha le mani nel barattolo dei cookie del set di dati aperto. Il colosso dello shopping porta la sua intraprendenza caratteristica nel gioco di ricerca di set di dati. Un vantaggio chiave che differenzia AWS Open Data Registry è la sua funzione di feedback degli utenti, che consente agli utenti di aggiungere e modificare i set di dati. L'esperienza con AWS è anche altamente preferita nel mercato del lavoro. Set di dati ML di Wikipedia : questa pagina di Wikipedia presenta diversi set di dati per l'apprendimento automatico, inclusi segnali, immagini, suoni e testo, solo per citarne alcuni. Set di dati governativi per l'apprendimento automatico Se stai cercando dati demografici per i tuoi algoritmi di machine learning, non cercare oltre questi portali di dati governativi. I modelli ML formati tramite i dati del governo pubblico possono consentire ai responsabili delle politiche di riconoscere e anticipare le tendenze che informano le decisioni politiche preventive. Data USA : Data USA offre una fantastica gamma di dati pubblici statunitensi visualizzati in modo potente. Le informazioni sono digeribili e facilmente accessibili, rendendo facile vagliare e selezionare se è giusto per te. Portale Open Data dell'UE : questo portale di dati aperti offre oltre un milione di set di dati in 36 paesi europei pubblicati da rinomate istituzioni dell'UE. Il sito ha un'interfaccia facile da usare che ti consente di cercare set di dati specifici in una varietà di categorie tra cui energia, sport, scienza ed economia. Data.gov : questo sito è fantastico per chiunque cerchi di scaricare una moltitudine di fonti di dati disponibili pubblicamente dalle agenzie governative degli Stati Uniti. I dati sono diversi e vanno dai dati di bilancio ai punteggi delle prestazioni scolastiche. Le informazioni spesso richiedono ulteriori ricerche, che è qualcosa da tenere a mente. Dati sanitari statunitensi : un ricco repository che presenta naturalmente tonnellate di set di dati sui dati sanitari statunitensi. Il servizio dati del Regno Unito : questo archivio di dati presenta la più grande raccolta di dati sociali, economici e demografici del Regno Unito. Finanze del sistema scolastico : un archivio favoloso per chiunque sia interessato ai dati finanziari dell'istruzione come entrate, spese, debito e risorse dei sistemi scolastici pubblici elementari e secondari. Le statistiche su questo sito coprono anche i sistemi scolastici negli Stati Uniti, incluso il Distretto di Columbia. Il National Center for Education Statistics degli Stati Uniti: questo archivio contiene informazioni sulle istituzioni educative e sui dati demografici non solo dagli Stati Uniti, ma anche da tutto il mondo. Set di dati finanziari ed economici per l'apprendimento automatico Naturalmente il settore finanziario sta abbracciando il Machine Learning a braccia aperte. Poiché i record quantitativi finanziari ed economici sono in genere tenuti meticolosamente, la finanza e l'economia sono un ottimo argomento per implementare un modello AI o ML. Sta già accadendo, poiché molte società di investimento utilizzano algoritmi per guidare le loro scelte di azioni, previsioni e operazioni. L'apprendimento automatico viene utilizzato anche nel campo dell'economia per cose come testare modelli economici o analizzare e prevedere il comportamento delle popolazioni. American Economic Association (AEA) : L'AEA è una fonte fantastica per i dati macroeconomici statunitensi. Quandl : Un'altra grande fonte di dati economici e finanziari, in particolare per costruire modelli predittivi su azioni e indicatori economici. Dati del FMI : il Fondo monetario internazionale tiene traccia e conserva meticolosamente i registri relativi alle riserve valutarie, ai risultati degli investimenti, ai prezzi delle materie prime, ai tassi di debito e alle finanze internazionali. Dati aperti della Banca mondiale : i set di dati della Banca mondiale coprono la demografia della popolazione insieme a un numero elevato di indicatori economici e di sviluppo in tutto il mondo. Dati di mercato del Financial Times : ottimo per informazioni aggiornate su materie prime, cambi e altri mercati finanziari mondiali. Google Trends : Google Trends ti dà la libertà di esaminare e analizzare tutte le attività di ricerca su Internet e offre anche scorci su quali storie sono di tendenza in tutto il mondo. Set di dati di immagini per la visione artificiale Chiunque desideri addestrare applicazioni di visione artificiale come veicoli autonomi, riconoscimento facciale e tecnologia di imaging medico avrà bisogno di un database di immagini. Questo elenco contiene una serie diversificata di applicazioni che si riveleranno utili. VisualQA : se hai una comprensione della visione e del linguaggio, questo set di dati è utile in quanto contiene domande complesse relative a oltre 265.000 immagini. Labelme : questo set di dati per l'apprendimento automatico è già annotato, il che lo rende pronto e pronto per qualsiasi applicazione di visione artificiale. ImageNet : il set di dati di apprendimento automatico per i nuovi algoritmi, questo set di dati è organizzato secondo la gerarchia di WordNet, il che significa che ogni nodo è in realtà solo tonnellate di immagini. Riconoscimento scena interna : questo set di dati altamente specificato contiene immagini utili per i modelli di riconoscimento scena. Genoma visivo : oltre 100.000 immagini altamente dettagliate e didascalie. Stanford Dogs Dataset : ottimo per gli amanti dei cani tra noi, questo set di dati contiene oltre 20.000 immagini di oltre 120 diverse razze di cani. Immagini aperte di Google : oltre 9 milioni di URL di immagini annotate in 6.000 categorie. Facce etichettate nella casa selvaggia : set di dati particolarmente utile per le applicazioni che coinvolgono il riconoscimento facciale. COIL-100 : contiene 100 oggetti che vengono ripresi su più angolazioni per una vista completa a 360 gradi. CIFAR-10 : il set di dati CIFAR-10 è composto da 60000 immagini a colori 32×32 in 10 classi, con 6000 immagini per classe. Ci sono immagini di allenamento da 50K e immagini di prova da 10K. Cityscapes : Cityscapes contiene annotazioni a livello di pixel di alta qualità di 5.000 fotogrammi oltre a un set più ampio di 20.000 fotogrammi con annotazioni scadenti. IMDB-Wiki : in questo set di dati sono presenti oltre 500K+ immagini di volti che sono state raccolte sia su IMDB che su Wikipedia. Fashion MNIST : Questo è un set di dati delle immagini degli articoli di Zalando. Contiene un training set di 60.000 esempi e un test set di 10.000 esempi. MS COCO : questo set di dati contiene foto di vari oggetti e contiene oltre 2 milioni di istanze etichettate su oltre 300K immagini. MPII Human Pose Dataset : questo set di dati include 25K immagini contenenti oltre 40K persone con articolazioni del corpo annotate. È perfetto per la valutazione della stima articolata della posa umana. Set di dati per la sentiment analysis Esistono innumerevoli modi per migliorare qualsiasi algoritmo di analisi del sentiment. Questi grandi set di dati altamente specializzati possono essere d'aiuto. Set di dati di analisi del sentiment multidominio : un tesoro di recensioni di prodotti Amazon positive e negative (da 1 a 5 stelle) per i prodotti più vecchi. Dati sui prodotti Amazon : con 142,8 milioni di set di dati di recensioni Amazon, questo set di dati SA include recensioni aggregate su Amazon tra il 1996 e il 2014. Twitter US Airline Sentiment : dati Twitter sulle compagnie aeree statunitensi risalenti a febbraio 2015 che sono già stati classificati in base alla classe di sentiment (positivo, neutro, negativo). IMDB Sentiment : questo set di dati più piccolo (e più vecchio) è perfetto per la classificazione binaria del sentimento e presenta oltre 25.000 recensioni di film. Sentiment140 : uno dei set di dati più popolari che contiene oltre 160.000 tweet che sono stati controllati per le emoticon (che sono stati successivamente rimossi). Stanford Sentiment Treebank : set di dati contenente oltre 10.000 file HTML Rotten Tomatoes con annotazioni sui sentimenti basate su una scala 1 (negativa) e 25 (positiva). Recensioni cartacee : questo set di dati è composto da recensioni in lingua inglese e spagnola su informatica e informatica. Il set di dati viene valutato utilizzando una scala a cinque punti, dove -2 è il più negativo e 2 il più positivo. Lexicoder Sentiment Dictionary : questo dizionario è progettato per essere utilizzato in conformità con Lexicoder, che aiuta nella codifica automatica del sentimento della copertura delle notizie, del discorso legislativo e di altri testi. Lessici dei sentimenti per 81 lingue : questo set di dati contiene oltre 81 lingue esotiche con lessici dei sentimenti positivi e negativi, con i sentimenti analizzati e basati sui lessici dei sentimenti inglesi. Opin-Rank Review Dataset : questo dataset di auto contiene una serie di recensioni sui modelli prodotti tra il 2007 e il 2009. Contiene anche i dati sulle recensioni degli hotel. Set di dati per l'elaborazione del linguaggio naturale L'elenco seguente contiene diversi set di dati per varie attività di elaborazione della PNL, inclusi il riconoscimento vocale e i chatbot. Enron Dataset : dati e-mail di gestione senior organizzati in cartelle da Enron. UCI's Spambase : un succoso set di dati sullo spam perfetto per il filtraggio dello spam. Recensioni su Amazon : ancora un altro tesoro contenente 35 milioni di recensioni su Amazon in 18 anni con recensioni di prodotti, informazioni sugli utenti e persino la visualizzazione del testo in chiaro. Recensioni di Yelp : 5 milioni di recensioni di Yelp in un set di dati aperto. Google Books Ngrams : questa libreria di parole è abbondante per qualsiasi algoritmo di PNL. SMS Spam Collection in inglese : oltre 5500 messaggi SMS di spam (in inglese). Rischio : oltre 200.000 domande dal classico quiz show. Elenco eBook Gutenberg : un elenco annotato degli ebook del Progetto Gutenberg. Blogger Corpus : uno stuolo di blog (600K+) con un minimo di 200 occorrenze in ciascuna delle parole inglesi più comunemente usate. Wikipedia Links Data : oltre 1,9 miliardi di parole su 4 milioni di articoli, questo set di dati contiene l'intero testo di Wikipedia. Set di dati per veicoli autonomi I veicoli autonomi richiedono grandi quantità di set di dati di alta qualità per interpretare l'ambiente circostante e reagire di conseguenza. Berkeley DeepDrive BDD100K : questo set di dati AI a guida autonoma è considerato il più grande del suo genere. Presenta oltre 100.000 video di 1.100 ore di guida in diversi orari, condizioni meteorologiche e di guida. Comma.ai : set di dati con 7 ore di guida in autostrada che dettaglia anche le coordinate GPS dell'auto, la velocità, l'accelerazione e gli angoli di sterzata. L'auto robotica di Oxford: set di dati di Oxford, Regno Unito con 100 ripetizioni di un singolo percorso in diverse ore del giorno, condizioni meteorologiche e di guida (traffico, condizioni meteorologiche, pedoni). LISA: Laboratory for Intelligent & Safe Automobiles, UC San Diego Datasets : set di dati con informazioni su segnali stradali, rilevamento di veicoli, semafori e modelli di traiettoria. Cityscapes Dataset : un insieme diversificato di dati di scene di strada in 50 città diverse. Baidu Apolloscapes : questo set di dati include 26 diversi elementi semantici tra cui lampioni, pedoni, edifici, biciclette, automobili e altro ancora. Landmarks : set di dati di Google open source progettato per distinguere tra formazioni naturali e punti di riferimento creati dall'uomo. Questo set di dati include oltre due milioni di immagini in 30 mila punti di riferimento in tutto il mondo. Landmarks-v2 : con il miglioramento della tecnologia di classificazione delle immagini, Google ha deciso di rilasciare un altro set di dati per aiutare con i punti di riferimento. Questo set di dati ancora più grande include cinque milioni di immagini con più di 200 mila punti di riferimento in tutto il mondo. PandaSet : PandaSet sta lavorando per promuovere e far progredire la guida autonoma e la ricerca e sviluppo ML. Questo set di dati include oltre 48.000 immagini della fotocamera, oltre 16.000 scansioni LiDar, oltre 100 scene di 8 secondi ciascuna, 28 classi di annotazioni, 37 etichette di segmentazione semantica e si estende all'intera suite di sensori. nuScenes : questo set di dati su larga scala per veicoli autonomi utilizza l'intera suite di sensori di una vera auto a guida autonoma su strada. Questo vasto set di dati include immagini della fotocamera da 1,4 milioni, scansioni LiDar da 390K, informazioni cartografiche intime e altro ancora. OpenImageV5 : questo set di dati è costituito da oltre 9 milioni di immagini annotate ed etichettate in migliaia di categorie di oggetti. Waymo Open Dataset : questo set di dati di sensori multimodali open source e di alta qualità viene estratto dai veicoli a guida autonoma Waymo in una serie diversificata di ambienti. Commenta qui sotto con altri link a dataset interessanti Sfruttiamo il potere della condivisione
- Diventare Data Scientist (Scienziato del dato) in 10 Step partendo da Zero
La scienza dei dati, una delle carriere in più rapida crescita nella tecnologia, è un campo interdisciplinare che ci aiuta ad analizzare e dare un senso al mondo che ci circonda. A causa del mercato del lavoro in forte espansione e della crescente dipendenza delle aziende da soluzioni basate sui dati, questa domanda non rallenterà presto. Fortunatamente, diventare uno scienziato dei dati non richiede una laurea. Finché sei aperto all'apprendimento di cose nuove e sei disposto a dedicare tempo e impegno, puoi diventare uno scienziato dei dati. La domanda ora è: da dove si inizia per diventare Data scientist ? Internet è pieno di tutorial su ogni aspetto della scienza dei dati, come le basi dell'apprendimento automatico, l'elaborazione del linguaggio naturale, il riconoscimento vocale e tutti i tipi di incredibili magie della scienza dei dati. Ma, per un principiante, quella quantità di informazioni può essere travolgente e portare qualcuno ad arrendersi prima ancora di iniziare. Ciò di cui hai bisogno è una roadmap strutturata che definisca chiaramente ciò che devi imparare (e in quale ordine) per diventare un data scientist insieme alle competenze necessarie per affinare il tuo percorso di apprendimento della scienza dei dati. PER DIVENTARE UN DATA SCIENTIST DEVI SAPERE : Programmazione Banche dati Matematica: Teoria delle Probabilità, Statistica e Nozioni di Algebra Lineare Controllo versione Nozioni di base sulla scienza dei dati: ricerca di set di dati, comunicazione scientifica e visualizzazione dei dati Nozioni di base sull'apprendimento automatico Convalida delle serie temporali e del modello Reti neurali Apprendimento profondo Elaborazione del linguaggio naturale Usa questa tabella di marcia per dare il via alla tua carriera nella scienza dei dati. 1. Programmazione Se non conosci la tecnologia, la programmazione è il miglior punto di partenza. Attualmente, i due linguaggi di programmazione utilizzati dalla maggior parte dei data scientist sono Python e R. R : Un linguaggio di programmazione per il calcolo statistico, ampiamente utilizzato per lo sviluppo di software statistici e analisi dei dati. Python : un linguaggio di programmazione di alto livello e di uso generale. Python è ampiamente utilizzato in molte applicazioni e campi, dalla semplice programmazione all'informatica quantistica. Poiché Python è un linguaggio di programmazione adatto ai principianti, è un ottimo punto di partenza con la scienza dei dati (e forse altri campi in futuro). A causa della popolarità di Python, ci sono molte risorse disponibili per impararlo. Alcuni di voi potrebbero già sapere come programmare e potrebbero passare alla scienza dei dati da un altro campo tecnico. In tal caso, puoi saltare questo passaggio e andare avanti al passaggio successivo del viaggio. 2. Database Puoi pensare alla scienza dei dati come all'arte di raccontare una storia usando i dati, ma devi essere in grado di accedere effettivamente ai dati per raccontare la tua storia. In altre parole, ogni volta che lavori su un progetto di data science, avrai bisogno di dati per analizzare, visualizzare e creare un progetto valido. I dati di cui hai bisogno sono spesso archiviati in alcuni database. Un passaggio essenziale per distinguersi come data scientist è interagire e comunicare con i database in modo efficace. Ad esempio, avere le competenze per progettare un semplice database può portarti al livello successivo. Per comunicare con un database, dovrai parlare il suo linguaggio: SQL, che sta per Structured Query Language e lo usiamo per comunicare con tutti i tipi di database. Le mie risorse preferite per imparare SQL sono CodeAcademy , Khan Academy e l'apprendimento interattivo, SQLCourse . 3. Matematica Il cuore della scienza dei dati è la matematica. Per capire come funzionano i diversi concetti di scienza dei dati, è necessario avere una certa comprensione della matematica dietro di essi, comprese le basi della teoria della probabilità, della statistica e dell'algebra lineare per comprendere la scienza dei dati. Ora, so che la matematica è l'unica cosa che potrebbe far scappare qualcuno prima di intraprendere una carriera nella scienza dei dati. Tuttavia, la maggior parte degli strumenti che utilizzerai nella tua carriera eliminerà l'implementazione della matematica stessa nei tuoi progetti, ma vorrai comunque una certa comprensione dei principi fondamentali. Non lasciare che la matematica ti intimidisca dall'esplorare il mondo della scienza dei dati! direi che ne vale la pena. Ci sono alcuni materiali utili su Coursera che possono aiutarti ad affrontare la matematica di cui hai bisogno. Competenze matematiche in scienze dei dati Matematica per la specializzazione in Data Science 4. Controllo del Git Nello sviluppo del software in generale e nella scienza dei dati in particolare, uno dei concetti più importanti che puoi apprendere è il controllo della versione. Ogni volta che lavori su un progetto di data science, dovrai scrivere diversi file di codice, esplorare set di dati e collaborare con altri data scientist. Dovrai gestire tutte le modifiche al codice tramite il controllo della versione, ovvero Git. Git è un sistema di controllo della versione utilizzato per tenere traccia delle modifiche al codice sorgente durante il processo di sviluppo del software. Le coordinate Git funzionano tra un gruppo di programmatori o tengono traccia delle modifiche in qualsiasi set di file da un singolo programmatore. Sebbene Git sia un sistema, alcuni siti Web ti consentono di utilizzare Git facilmente senza dover interagire molto con la riga di comando (anche se alla fine ti sposterai alla riga di comando), come GitHub o GitLab . Fortunatamente, ci sono molte risorse per aiutarti a comprendere la funzionalità interna di Git; le mie scelte migliori sono BitBucket Learn Git Tutorial e questa lezione del corso Harvard CS50. 5. Nozioni di base sulla scienza dei dati La scienza dei dati è un termine ampio e include molti concetti e tecnologie diversi. Quindi, prima di immergerti nel grande mare della scienza dei dati, devi prima familiarizzare con alcune nozioni di base. Trovare set di dati : ci sono due modi per avviare qualsiasi progetto di data science; hai un set di dati che desideri utilizzare per creare un progetto oppure hai una domanda e devi trovare un set di dati per rispondere. Esplorare i set di dati e scegliere quello giusto per il tuo progetto è un'abilità importante da acquisire. Comunicazione scientifica : in qualità di data scientist, dovrai comunicare con un pubblico generale per fornire il tuo processo e i risultati. Quindi, dovrai sviluppare le tue capacità di comunicazione scientifica e di parlare in pubblico per spiegare concetti complessi usando termini semplici. Visualizzazione efficace : l'unico modo per convalidare i risultati è visualizzarli. La visualizzazione svolge un ruolo importante nella scienza dei dati, dall'esplorazione dei dati alla consegna dei risultati. Acquisire familiarità con una visualizzazione efficace dei dati può farti risparmiare un sacco di tempo e fatica mentre lavori al tuo progetto. 6. Nozioni di base sull'apprendimento automatico Quindi, hai lavorato sulle tue capacità di programmazione, hai rispolverato i tuoi calcoli e ti sei tuffato nei database. Ora sei pronto per iniziare la parte divertente: applicare ciò che hai imparato finora per costruire il tuo primo progetto. Ora è il momento di passare all'apprendimento automatico. È qui che inizi ad apprendere ed esplorare algoritmi e tecniche di base, come la regressione lineare e logistica, gli alberi decisionali, i Bayes ingenui e le macchine vettoriali di supporto (SVM). Inizierai anche a scoprire i diversi pacchetti Python o R per organizzare e implementare i tuoi dati. Potrai usare Scikit-learn , SciPy e NumPy . Imparerai anche come ripulire i tuoi dati per avere posizioni e risultati più accurati. È qui che potrai sperimentare cosa puoi fare con la scienza dei dati e potrai vedere l'impatto che il campo ha sulla nostra vita quotidiana. Il posto migliore per iniziare a conoscere i diversi aspetti dell'apprendimento automatico sono i vari articoli su Intelligenzaartificialeitalia.net . 7. Serie storiche e convalida del modello È tempo di approfondire l'apprendimento automatico. I tuoi dati non rimarranno stagnanti; è spesso in qualche modo legato al tempo. Le serie temporali sono punti dati ordinati in base al tempo. Più comunemente, le serie temporali sono sequenze di dati prese in punti successivi equidistanti nel tempo, il che le rende dati a tempo discreto. Le serie temporali ti mostrano come il tempo modifica i tuoi dati. Ciò consente di ottenere informazioni su tendenze, periodicità dei dati e prevedere il comportamento futuro dei dati. Quando si tratta di serie temporali, è necessario lavorare su due componenti principali: Analisi dei dati delle serie temporali. Dati di serie temporali di previsione. Costruire modelli per prevedere il comportamento futuro non è sufficiente; devi anche convalidare l'accuratezza del modello. Qui imparerai come creare e testare i modelli in modo efficiente. Inoltre, imparerai come stimare la soglia di errore per ogni progetto e come mantenere i tuoi modelli entro intervalli accettabili. 8. Reti neurali Le reti neurali (Artificial Neural Networks o ANN) sono un paradigma di programmazione ispirato alla biologia che consente a un computer di apprendere dai dati osservativi. Le ANN sono iniziate come un approccio per imitare l'architettura del cervello umano per eseguire diversi compiti di apprendimento. Per assomigliare al cervello umano, una RNA contiene gli stessi componenti di una cellula umana. Quindi, ANN contiene una raccolta di neuroni; ogni neurone rappresenta un nodo connesso ad un altro tramite link. Questi collegamenti corrispondono alle connessioni biologiche assone-sinapsi-dendrite. Inoltre, ciascuno di questi collegamenti ha un peso che determina la forza che un nodo ha su un altro. L'apprendimento di ANN ti consente di affrontare una gamma più ampia di attività, tra cui il riconoscimento della scrittura a mano, il riconoscimento di modelli e l'identificazione del volto. ANN rappresenta la logica di base che devi conoscere per procedere al passaggio successivo del tuo viaggio nella scienza dei dati, il deep learning. 9. Apprendimento profondo Le reti neurali sono paradigmi che alimentano il deep learning. Il deep learning rappresenta un potente insieme di tecniche che sfruttano il potere di apprendimento delle reti neurali. Puoi utilizzare le reti neurali e il deep learning per affrontare le soluzioni ottimali a molti problemi in vari campi, tra cui il riconoscimento delle immagini, il riconoscimento vocale e l'elaborazione del linguaggio naturale. Ormai avrai familiarità con molti pacchetti Python che trattano diversi aspetti della scienza dei dati. In questo passaggio, avrai la possibilità di provare pacchetti popolari come Keras e TensorFlow. Inoltre, a questo punto, sarai abbastanza abile da leggere i recenti progressi della ricerca nella scienza dei dati e forse sviluppare i tuoi algoritmi. 10. Elaborazione del linguaggio naturale Sei quasi alla fine. Puoi già vedere il traguardo. Finora hai affrontato molti concetti teorici e pratici, dalla semplice matematica ai complessi concetti di deep learning. Allora, qual è il prossimo? È il mio sottocampo preferito della scienza dei dati: l'elaborazione del linguaggio naturale (NLP). L'elaborazione del linguaggio naturale è un ramo entusiasmante dell'intelligenza artificiale che ti consente di utilizzare la potenza dell'apprendimento automatico per insegnare al computer a comprendere ed elaborare le lingue umane. Ciò includerà il riconoscimento vocale, l'applicazione di sintesi vocale (e la sintesi vocale), gli assistenti virtuali (come Siri e BERT) e tutti i tipi di diversi robot conversazionali. Eccoci alla fine della strada. Ma ogni fine è davvero un inizio. Proprio come qualsiasi altro campo legato alla tecnologia, non c'è davvero fine. Il campo si sta sviluppando rapidamente; nuovi algoritmi e tecniche sono in fase di ricerca mentre leggi questo articolo. Quindi, essere uno scienziato dei dati significa che sarai uno studente per tutta la vita. Svilupperai le tue conoscenze e il tuo stile man mano che procedi. Probabilmente svilupperai un'attrazione per un sottocampo specifico, scaverai ancora più a fondo e forse anche specializzerai. Incontrerai blocchi stradali e deviazioni lungo la strada. Mantieni una mente aperta, sii paziente e dedica tempo e sforzi per raggiungere la tua destinazione. La cosa più importante da ricordare mentre intraprendi questo viaggio è: puoi farcela.
- La prima TV dedicata all'Intelligenza Artificiale (IA) On-Demand
So che anche tu almeno una volta hai cercato un canale Tv, completamente dedicato al mondo dell'Intelligenza Artificiale, e non lo hai mai trovato... Giacinto Fiore e Pasquale Viscanti hanno avuto un idea rivoluzionaria Hanno creato una piattaforma con i dei video di approfondimento e ispirazione dedicati al mondo dell’Intelligenza Artificiale. All'interno della piattaforma, i migliori Manager al Mondo ti raccontano come l’Intelligenza Artificiale può mettere il turbo al tuo business. Indice Come è nata AIPLAY ? Cosa Include la Piattaforma e che numeri conta ? Trailer delle prossime uscite ! Quali sono gli obiettivi di AIPLAY ? Quali Big ci sono in AIPLAY ? Quanto Costa ? Regalo Fine Articolo ! Come è nata AIPLAY ? Come raccontano Giacinto Fiore e Pasquale Viscanti ad un intervista su La Repubblica : "Lavoravamo insieme in un’azienda che oggi fa parte del Gruppo Zucchetti. Stavamo nella stessa stanza: è qui che l’intelligenza artificiale ha iniziato ad affacciarsi nelle nostre vite. Volevamo comprendere cosa fosse e come poterla raccontare sul mercato. Su Google trovavamo tanti docenti universitari con le lezioni frontali agli alunni, articoli scientifici. Quindi abbiamo iniziato a fare colloqui con le persone che conoscevamo per farci spiegare un po’ più a fondo cosa fosse l’intelligenza artificiale. Così ci è venuta l’idea di rendere queste lezioni disponibili a tutti, ovviamente con il consenso degli intervistati. Nel febbraio del 2019 abbiamo pubblicato la prima puntata con i dati dell'Osservatorio del Politecnico di Milano. Ma era ancora un hobby. Poi a febbraio 2020 è scattato il lockdown: a quel punto abbiamo deciso di dedicarci totalmente a questo progetto perché si avvertiva che la IA sarebbe esplosa. A maggio 2020 abbiamo fatto debuttare la AI Week, evento online sull'intelligenza artificiale, dove abbiamo coinvolto speaker e sponsor, aziende del settore che hanno investito e realizzato workshop. Nel 2021 finalmente arriva AI Play, la nostra piattaforma che vogliamo fare diventare una sorta di Netflix dell'intelligenza artificiale. Gli utenti possono accedere gratuitamente, ma per avere a disposizione tutto il catalogo di video, oltre quelli del professor Luciano Floridi e di Federico Faggin, inventore del microprocessore, è necessario sottoscrivere un accesso premium. " FONTE La Repubblica Che cosa include la Piattaforma AIPLAY ? Proprio come scrivono sulla loro home page : Al momento la piattaforma di AIPLAY conta : +150 Esperti di Intelligenza Artificiale intervistati +200 Ore di Video di formazione e approfondimenti +90 Aziende coinvolte che operano nel mondo A.I. LIVE Ogni mese con i grandi esperti di innovazione e A.I. e non pensare che sia finita qui ! Giacinto Fiore e Pasquale Viscanti stanno creando grazie ad AIPLAY un Network tra aziende che include : +50 Video di Demo Piattaforme di I.A. +100 Use Cases reliazzati per settore +1.000 Incontri di Business generati Attualmente i principali Manager ed Imprenditori intervistati fanno parte delle seguenti aziende: Trailer Delle Prossime Uscite Non vi sveleremo chi c'è e di cosa si parlerà in questi trailer, ma vi consigliamo di vederli tutti... Quali sono gli Obiettivi di AIPLAY Come affermano Giacinto Fiore e Pasquale Viscanti ad un intervista su La Repubblica : "L'Osservatorio e AIPLAY nascono per rispondere a 3 criticità peculiari del mercato italiano: la prima è la mancanza di comunicazione all’interno dell’ecosistema di aziende che producono IA, e che quindi si trovano spesso a riprodurre cose già pronte; la seconda è la mancanza di un reparto marketing all’interno di queste aziende e di un reparto vendite che siano pronti a portarle sul mercato; la terza è che i manager, alla guida dei 4 milioni di aziende italiane, ancora non hanno compreso esattamente che cos’è la IA e come possono sfruttarla al meglio. " FONTE La Repubblica Tra i Big dell'I.A. ci sono ... Al momento sono molti e di alto rilievo le persone ( manager, imprenditori e ricercatori ) che stanno contribuendo a questo progetto. Tra le Prossime Partecipazioni ci saranno : Quanto è il prezzo di tutto questo ? Come detto all'inizio dell'articolo AIPLAY è un ambizioso progetto che promette di diventare la Tv on-demand sull'Intelligenza Artificiale, dedicata a Manager, Imprenditori e dipendenti. Nonostante questo Giacinto Fiore e Pasquale Viscanti hanno comunque scelto di creare due versioni per rendere il tutto accessibile a chiunque. Andiamole a vedere : Quanto costa la Versione Premium ? Sul sito la versione premium, è a 11,70€ attualmente scontata a 34,70€ se si acquista il pacchetto annuale. Ma Abbiamo un REGALO PER TE Se sei interessato a questo progetto e vorresti iscriverti alla vesione PROFESSIONAL, per usufruire di tutti i servizi non puoi ASSOLUTAMENTE perdere questa offerta. Abbiamo deciso di stringere una piccola partnership con i creatori di AIPLAY per REGALARVI UN ULTERIORE SCONTO del 20% Per un Totale di SOLO 2,31€ al mese, poco più di 27€ in un intero anno Per BLOCCARE l'OFFERTA a tempo Limitato Clicca su questo LINK Inserisci all'Interno della Casella con scritto "Coupon" il nostro codice " IAITALIA " Goditi il nostro regalo Gratuito Video Tutorial :
- Come Utilizzare l' Intelligenza Artificiale nel Settore Finanziario
La scienza dei dati in finanza ha lo scopo di estrarre conoscenza da un'enorme quantità di dati impiegando matematica e statistica. E molte tecniche diverse vengono impiegate per raggiungere questo obiettivo poiché una buona ricerca porta a risultati migliori che portano a un profitto per le istituzioni finanziarie. La scienza dei dati è diventata estremamente rilevante nel settore finanziario, che viene utilizzato principalmente per la gestione del rischio e l'analisi del rischio. Le aziende valutano anche i modelli di dati tramite software di business intelligence. Attraverso l'uso della Data Science, è aumentata l'accuratezza nell'identificazione di irregolarità e frodi. Ciò ha consentito di ridurre i rischi e le truffe, mitigare le perdite e preservare l'immagine dell'istituto finanziario. Data science e Finance vanno di pari passo poiché Finance è il fulcro dei dati. Le istituzioni finanziarie sono state tra i primi pionieri e utilizzatori dell'analisi dei dati. In questo blog parleremo delle nuove applicazioni della data science nel settore finanziario e di come i suoi sviluppi rivoluzionano la finanza. Discuteremo anche di come varie aziende utilizzano la scienza dei dati per controllare le proprie spese finanziarie. Che cos'è la scienza dei dati? Secondo Wikipedia - La scienza dei dati è un campo interdisciplinare che utilizza metodi, processi, algoritmi e sistemi scientifici per estrarre informazioni sulla bacchetta della conoscenza da molti dati strutturali e non strutturati. La scienza dei dati è correlata al data mining, all'apprendimento automatico e ai big data. In parole semplici, la scienza dei dati è la raccolta di dati ottenuti da fonti strutturate e non strutturate in modo da estrarre informazioni preziose. Le fonti di dati possono includere sondaggi online o manuali, dati sui clienti al dettaglio e informazioni e azioni sull'utilizzo dei social media. Questi dati vengono utilizzati per modellare le azioni di una rete o di una base di clienti per prevedere comportamenti e modelli futuri. Questa ricerca può essere estesa a una specifica comunità campione, come clienti al dettaglio o consumatori di social media, previsioni del tempo, apprendimento automatico e una vasta gamma di altre discipline. Tali discipline includono ML, AI, statistica, matematica, informatica e analisi e molte altre. Qual è il ruolo della scienza dei dati nella finanza? L'apprendimento automatico, i big data e l'intelligenza artificiale sono opzioni affascinanti e futuristiche per molti sviluppatori, uomini d'affari e dipendenti aziendali. Tuttavia, le organizzazioni del settore finanziario, a causa dei loro problemi di sicurezza, hanno spesso una resistenza alle nuove tecnologie. Il mondo finanziario, infatti, è maggiormente guidato da sviluppi all'avanguardia. Mentre l'apprendimento automatico può rendere efficienti le procedure di prestito riducendo le frodi, le applicazioni basate sull'intelligenza artificiale possono fornire agli utenti raccomandazioni avanzate. Fin dalla sua nascita, la scienza dei dati ha aiutato l'evoluzione di molti settori. In realtà è una cosa che gli analisti finanziari hanno fatto affidamento sui dati per trarre molte informazioni utili. La crescita della scienza dei dati e dell'apprendimento automatico, tuttavia, ha portato a un enorme miglioramento nel settore. Oggi, algoritmi automatizzati e metodi analitici avanzati vengono utilizzati insieme per superare la concorrenza più che mai. Per stare al passo con le ultime tendenze e comprenderne l'utilizzo, discuteremo il valore della scienza dei dati nella finanza fornendo molti esempi. Utilizzo della scienza dei dati in finanza La scienza dei dati è ampiamente utilizzata in aree come l'analisi dei rischi, la gestione dei clienti , il rilevamento delle frodi e il trading algoritmico. Esploreremo ciascuno di questi e ti forniremo applicazioni della scienza dei dati nell'industria finanziaria . Analisi del rischio Inizialmente, i dati venivano elaborati in batch e non in tempo reale, creando problemi per diversi settori che avevano bisogno di dati in tempo reale per ottenere una prospettiva delle condizioni attuali. Tuttavia, con i miglioramenti della tecnologia e la crescita di pipeline di dati dinamici, l'accesso ai dati può ora essere effettuato con una latenza minima. Con questa scienza dei dati nell'applicazione finanziaria , le organizzazioni sono in grado di monitorare acquisti, punteggi di credito e altri parametri finanziari senza problemi di latenza. Analisi dei clienti Le società finanziarie possono formulare ipotesi su come è probabile che ciascun cliente si comporti in base a modelli comportamentali precedenti. Utilizzando app socio-economiche, possono suddividere i clienti in gruppi e fare previsioni su quanti soldi ogni cliente si aspetta di ricevere in futuro. L'azienda separa i clienti in classi distinte in base a determinati attributi, come età, occupazione, indirizzo, ecc., utilizzando tecniche di data science e machine learning senza supervisione. Quindi, creando modelli predittivi, decidono quali di queste caratteristiche sono più importanti per ciascuna parte. Assegniamo il valore atteso di ogni cliente in base a queste informazioni. Intercettazione di una frode Per le società finanziarie, la frode è un grosso problema. I rischi di frode sono aumentati con il numero di transazioni in corso. Detto questo, con l'avvento dei big data e dei software analitici, le società finanziarie si sono messe in grado di tenere traccia delle frodi. La frode con carta di credito è tra le frodi più comunemente praticate dalle società finanziarie. L'identificazione di questa forma di frode è attribuita allo sviluppo di algoritmi che hanno migliorato l'accuratezza del rilevamento delle anomalie. Inoltre, questi rilevamenti avvertono le aziende di irregolarità nell'acquisto finanziario, inducendole a limitare l'account per ridurre i danni. Trading algoritmico L'aspetto più critico dei mercati finanziari è il trading algoritmico. Esistono equazioni matematiche complesse e metodi computazionali alla velocità della luce nel trading algoritmico che consentono alle società finanziarie di formulare nuove tecniche di trading. I Big Data e la scienza dei dati hanno avuto una grande influenza sul trading algoritmico ed è diventato l'aspetto più significativo della scienza dei dati. I dati presenti nel trading algoritmico sono costituiti da un gran numero di flussi di dati e includono un modello che analizza i flussi di dati sottostanti e li definisce. L'obiettivo del motore analitico è fare previsioni per il futuro dell'azienda con una maggiore conoscenza dei grandi set di dati. Personalizzazioni approfondite Le aziende riconoscono che una delle componenti essenziali per essere sostenibili nell'economia di oggi è aumentare l'interazione con i propri clienti attraverso connessioni personali di alta qualità. L'obiettivo è esaminare l'esperienza dei clienti digitali e adattarla tenendo conto delle esigenze e dei desideri dei clienti. L'intelligenza artificiale sta facendo passi da gigante nella comprensione del linguaggio e delle emozioni umane, il che offre un livello completamente nuovo di personalizzazione del cliente. I data engineer possono anche creare modelli che analizzano le azioni dei consumatori e scoprono circostanze in cui i clienti richiedono consulenza finanziaria. Gestione dei dati dei clienti C'è una grande quantità di variazioni nella struttura e nel volume dei dati finanziari oggi: dal comportamento dei social media e dalle interazioni con lo smartphone alle statistiche aziendali e alle informazioni sulle transazioni. Anche i professionisti della finanza devono gestire dati semi-strutturati o non strutturati e il loro recupero manuale è un ostacolo significativo. Per la maggior parte delle organizzazioni, tuttavia, è chiaro che l'integrazione di metodi di apprendimento automatico per la gestione dei processi è semplicemente un requisito per l'estrazione di dati reali. Strumenti di intelligenza artificiale come Natural Language Processing, Data Mining e Text Analytics, aiutano a trasformare i dati in informazioni che portano a una migliore governance dei dati e a soluzioni aziendali efficaci. Analisi predittiva L'analisi è stata oggi al centro dei servizi finanziari. È necessario prestare particolare attenzione all'analisi predittiva che mostra le tendenze nei dati che prevedono l'evento futuro che potrebbe verificarsi ora. Attraverso l'analisi di social media, notizie e altre fonti di informazione, queste analisi avanzate hanno conquistato applicazioni fondamentali come la previsione dei costi e il valore della vita per i consumatori, potenziali eventi della vita, fatturato previsto e movimenti del mercato azionario. Più significativamente, questi approcci possono aiutare a rispondere alla difficile domanda: come intervenire correttamente. Il processo decisionale Gli operatori finanziari, i dirigenti e le parti interessate sono tenuti a giudicare le condizioni del mercato su base giornaliera e a prendere decisioni strategiche. Questo processo decisionale sta diventando intelligente solo con la scienza dei dati. Spinta da dati passati e presenti, la scienza dei dati consente agli appassionati di finanza di determinare in un dato momento la fattibilità del trading. Inoltre, queste previsioni future rendono facile giudicare i mercati in movimento come entrare in un mercato ribassista o rialzista. La conoscenza di queste variabili aiuta i gestori finanziari a costruire e investire in un valido portafoglio di SIP al momento giusto. Alcune piattaforme di analisi si spingono così lontano da indicare quando e come procedere verso la fase successiva o quando prelevare i fondi e quando versare denaro. Conclusione La scienza dei dati in finanza offre un'enorme opportunità per le società finanziarie di stare al passo con la concorrenza. Esistono grandi quantità di dati finanziari in continua evoluzione che generano la necessità di incorporare l'apprendimento automatico e le tecnologie di intelligenza artificiale in più aree aziendali. Esistono numerose posizioni di Data Science nel campo della finanza. La Data Science viene utilizzata anche nell'area della gestione e dell'analisi dei rischi. Le aziende utilizzano sempre più la gestione del portafoglio clienti di Data Science per valutare i modelli di dati tramite software di business intelligence. Le società finanziarie utilizzano l'analisi dei dati per identificare transazioni insolite e truffe assicurative per il rilevamento delle frodi. La scienza dei dati viene utilizzata anche nel trading algoritmico, dove l'apprendimento automatico svolge un ruolo significativo nel fare previsioni future dell'azienda. Cerchiamo sempre di fare del nostro meglio per condividere post preziosi, informativi e utili per i nostri lettori. E accogliamo con favore il tuo feedback su eventuali informazioni errate o se desideri condividere ulteriori informazioni sulla scienza dei dati in ambito finanziario. Puoi commentare nella sezione commenti qui sotto. Grazie e a presto!
- Come scaricare, gestire e disinstallare le librerie di Python
Python, grazie alla sua enorme community che contribuisce al suo sviluppo, ha decine di migliaia di librerie pronte per ogni tipo di utilizzo. Tra le tante librerie le più diffuse che puoi utilizzare per il Machine Learning e AI: Scikit-learn Keras TensorFlow NLTK PyBrain Vedremo più approfonditamente ognuna di queste librerie più avnti. Le Librerie più usate vengono messe a disposizione all'interno della piattaforma PyPI (Python Package Index). Ad oggi PyPi è la più grande raccolta di librerie facilmente accessibile. Il software PIP è uno strumento che ti permette di scaricare, aggiornare e disinstallare i pacchetti del repository di cui hai bisogno. Installare il software PIP / PIP3 Su Ubuntu e Debian sudo apt-get install python-pip sudo apt-get install python3-pip #per python 3 Se Fedora sudo yum install python-pip sudo yum install python3-pip #per python 3 Su Mac sudo easy_install pip sudo easy_install pip3 #per python 3 Come scaricare, gestire e disinstallare le librerie di Python Utilizzare PIP per la gestione delle librerie Una volta installato pip, vi basterà recarvi sul terminale del vostro computer. Nel caso volete installare una libreria dovrete digitare: pip install nomeLibreria pip3 install nomeLibreria #per python 3 #per scaricare più librerie da un file di testo pip install -r requirements.txt pip3 install -r requirements.txt #per python 3 Per disinstallare una libreria : pip uninstall nomeLibreria pip3 uninstall nomeLibreria#per python 3 Per vedere quali librerie sono installate sul vostro computer: pip list pip3 list #per python 3 Aggiornare il PIP Per aggiornare il software pip digitate si terminale: pip install --upgrade pip pip3 install --upgrade pip3 #per python 3 Letture consigliate per "Come scaricare,gestire e disinstallare le librerie di Python " Perchè Python per l'A.I. Migliori IDE Python per il machine learning e data science Importare file excel, csv e html con Python e Pandas L'Intelligenza Artificiale Spiegata Semplice Come elaborare le immagini con NumPy e Python Riconoscimento facciale con Python Filtro collaborativo cos'è e come implementarlo con python Trucchi Python per la data science Intelligenza Artificiale (IA) e Python Come si Relazionano?
- Release 2.0 per BrainControl AAC: l’IA al servizio dell’interazione tra pazienti e il mondo esterno
BrainControl AAC*, la gamma di dispositivi medici basati sull’Intelligenza Artificiale, è da oggi presente con una nuova release, in grado di eliminare in maniera ancor più facile e immediata le barriere che inibiscono alle persone affette da gravi patologie neuromotorie i rapporti con il mondo esterno. Tre sono le soluzioni che compongono BrainControl AAC, compatibili con i differenti gradi di mobilità e interazione del paziente: BRAINCONTROL BCI, la soluzione più avveniristica, permette al paziente di selezionare tramite il pensiero le risposte alle domande poste e di riversarle su un dispositivo informatico; BRAINCONTROL SENSORY sfruttai movimenti residui volontari del paziente e permette a quest’ultimo di interagire e comunicare attraverso un monitor; BRAINCONTROL AVATAR, l’alter ego robotico checonsente di visitare da remoto e in maniera del tutto indipendente istallazioni, musei, spazi espositivi ed eventi in genere. La release 2.0 presenta alcune importanti novità studiate appositamente per rendere più immediata la comunicazione tra il paziente e il mondo esterno. Queste le nuove funzionalità più rilevanti: Grafica totalmente rinnovata. Sono state apportate significative modifiche a livello di grafica e di colori con l’obiettivo di rendere l’applicazione più user friendly; Personalizzazione Frasario. La griglia del frasario è ancor più personalizzabile. Ora è infatti possibile scegliere il colore dello sfondo e del testo delle caselle, inserire GIF come immagine e scegliere di inserire un audio post selezione diverso da quello della modalità scansione; Scansione a rotazione. E’possibile impostare una modalità di scansione che presenta sempre al centro dello schermo la cella scansionata. In questo modo sarà ancora più agevole seguire la scansione; Integrazione caschetto Epoc X. Una nuova versione di caschetto, più comodo e pratico da indossare; Tastiera qwerty. Adesso è possibile utilizzare anche questo tipo di tastiera per comunicare. Tale funzionalità è più adatta all’interazione tramite BrainControl Sensory. Facebook e Youtube. Il social network e la piattaforma video più utilizzati sono ora presenti nel software. Queste due funzionalità sono pensate per essere utilizzate con interazione standard all’interno di BrainControl Sensory. BrainControl: libertà senza barriere. BrainControl è un marchio di proprietà di LiquidWeb Srl, azienda nata a Siena nel 2010 e operativa nel settore HCI (Human Computer Interface). Il progetto BrainControl riceve dal 2020 fondi dall’Unione Europea grazie al Programma per la Ricerca e l’Innovazione Horizon2020. Sempre nel 2020 ha vinto il titolo di migliore Start Up all’interno della categoria Med Tech di B Heroes, programma per l’innovazione e la promozione di nuovi business grazie a mentorship, investimenti, networking e comunicazione. Siamo un’azienda giovane e dinamica, orgogliosi del lavoro che portiamo avanti e profondamente motivati dalla convinzione di poter realmente aiutare le persone a migliorare la qualità della loro vita. Empatia, propensione all’ ascolto e cooperazione sono i valori alla base della nostra attività. Per maggiori informazioni : Ufficio Stampa: DuerreComunicazione di Roberta Riva Mob: 3468548236 Email: roberta.riva@duerrecomunicazione.com