top of page

Risultati Ricerca Intelligenza Artificiale Italia

239 risultati trovati con una ricerca vuota

  • Differenze tra Machine Learning e Deep Learning ?

    Come spieghiamo nel nostro articolo sull'hub di apprendimento sul deep learning , il deep learning è semplicemente un sottoinsieme del machine learning. Il modo principale in cui differiscono è nel modo in cui ogni algoritmo apprende e nella quantità di dati utilizzati da ciascun tipo di algoritmo. Il deep learning automatizza gran parte del processo di estrazione delle funzionalità, eliminando parte dell'intervento umano manuale richiesto. Consente inoltre l'uso di grandi set di dati, guadagnandosi il titolo di " apprendimento automatico scalabile " in questa conferenza del MIT. Questa capacità sarà particolarmente interessante quando inizieremo a esplorare maggiormente l'uso di dati non strutturati, in particolare perché si stima che l'80-90% dei dati di un'organizzazione non sia strutturato . L'apprendimento automatico classico o "non profondo" dipende maggiormente dall'intervento umano per l'apprendimento. Gli esperti umani determinano la gerarchia delle funzionalità per comprendere le differenze tra gli input di dati, che di solito richiedono dati più strutturati per l'apprendimento. Ad esempio, supponiamo che ti mostri una serie di immagini di diversi tipi di fast food, "pizza", "hamburger" o "taco". L'esperto umano di queste immagini determinerebbe le caratteristiche che distinguono ogni immagine come il tipo specifico di fast food. Ad esempio, il pane di ogni tipo di cibo potrebbe essere una caratteristica distintiva in ogni immagine. In alternativa, potresti semplicemente utilizzare etichette, come "pizza", "hamburger" o "taco", per semplificare il processo di apprendimento attraverso l'apprendimento supervisionato. L'apprendimento automatico "profondo" può sfruttare set di dati etichettati, noti anche come apprendimento supervisionato, per informare il suo algoritmo, ma non richiede necessariamente un set di dati etichettato. Può importare dati non strutturati nella sua forma grezza (ad esempio testo, immagini) e può determinare automaticamente l'insieme di caratteristiche che distinguono "pizza", "hamburger" e "taco" l'una dall'altra. Osservando i modelli nei dati, un modello di apprendimento profondo può raggruppare gli input in modo appropriato. Prendendo lo stesso esempio di prima, potremmo raggruppare le immagini di pizze, hamburger e tacos nelle rispettive categorie in base alle somiglianze o alle differenze identificate nelle immagini. Detto questo, un modello di apprendimento profondo richiederebbe più punti dati per migliorarne l'accuratezza, mentre un modello di apprendimento automatico si basa su meno dati data la struttura dei dati sottostante. Il deep learning viene utilizzato principalmente per casi d'uso più complessi, come assistenti virtuali o rilevamento di frodi.

  • Derivazione e Varianza

    La deviazione standard è un numero che descrive la distribuzione dei valori. Una deviazione standard bassa significa che la maggior parte dei numeri è vicina al valore medio (medio). Una deviazione standard elevata significa che i valori sono distribuiti su un intervallo più ampio. Esempio: questa volta abbiamo registrato la velocità di 7 auto: speed = [86,87,88,86,87,85,86] La deviazione standard è: 0.9 Ciò significa che la maggior parte dei valori rientra nell'intervallo di 0,9 dal valore medio, che è 86,4. Facciamo lo stesso con una selezione di numeri con una gamma più ampia: speed = [32,111,138,28,59,77,97] La deviazione standard è: 37.85 Ciò significa che la maggior parte dei valori rientra nell'intervallo 37,85 dal valore medio, che è 77,4. Come puoi vedere, una deviazione standard più alta indica che i valori sono distribuiti su un intervallo più ampio. Il modulo NumPy ha un metodo per calcolare la deviazione standard: Varianza La varianza è un altro numero che indica quanto sono distribuiti i valori. Infatti, se prendi la radice quadrata della varianza, ottieni la deviazione standard! O viceversa, se moltiplichi la deviazione standard per se stessa, ottieni la varianza! Per calcolare la varianza devi fare come segue: 1. Trova la media: (32+111+138+28+59+77+97) / 7 = 77.4 2. Per ogni valore: trova la differenza dalla media: 32 - 77.4 = -45.4 111 - 77.4 = 33.6 138 - 77.4 = 60.6 28 - 77.4 = -49.4 59 - 77.4 = -18.4 77 - 77.4 = - 0.4 97 - 77.4 = 19.6 3. Per ogni differenza: trova il valore del quadrato: (-45.4)2 = 2061.16 (33.6)2 = 1128.96 (60.6)2 = 3672.36 (-49.4)2 = 2440.36 (-18.4)2 = 338.56 (- 0.4)2 = 0.16 (19.6)2 = 384.16 4. La varianza è il numero medio di queste differenze al quadrato: (2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.16) / 7 = 1432.2 Fortunatamente, NumPy ha un metodo per calcolare la varianza: Deviazione standard Come abbiamo appreso, la formula per trovare la deviazione standard è la radice quadrata della varianza: √1432.25 = 37.85 Oppure, come nell'esempio precedente, usa NumPy per calcolare la deviazione standard:

  • Distribuzione dei dati

    In precedenza in questo tutorial abbiamo lavorato con quantità molto piccole di dati nei nostri esempi, solo per comprendere i diversi concetti. Nel mondo reale, i set di dati sono molto più grandi, ma può essere difficile raccogliere dati del mondo reale, almeno in una fase iniziale di un progetto. Come possiamo ottenere grandi set di dati? Per creare grandi set di dati per i test, utilizziamo il modulo Python NumPy, che viene fornito con una serie di metodi per creare set di dati casuali, di qualsiasi dimensione. Crea un array contenente 250 float casuali tra 0 e 5: Istogramma Per visualizzare il set di dati possiamo disegnare un istogramma con i dati che abbiamo raccolto. Useremo il modulo Python Matplotlib per disegnare un istogramma. Distribuzioni di Big Data Un array contenente 250 valori non è considerato molto grande, ma ora sai come creare un insieme casuale di valori e, modificando i parametri, puoi creare il set di dati grande quanto vuoi. Crea un array con 100000 numeri casuali e visualizzali usando un istogramma con 100 barre:

  • Scalare i Valori

    Arrivati a questo punto vi lascio anche il download il file csv contenente i dati utilizzati per gli esempi passati e quelli che verranno. Formato CSV Funzioni di scala Quando i tuoi dati hanno valori diversi e persino unità di misura diverse, può essere difficile confrontarli. Cosa sono i chilogrammi rispetto ai metri? O l'altitudine rispetto al tempo? La risposta a questo problema è il ridimensionamento. Possiamo ridimensionare i dati in nuovi valori più facili da confrontare. Dai un'occhiata alla tabella sottostante, ma questa volta la colonna del volume contiene valori in litri anziché in cm 3 (1,0 anziché 1000). Può essere difficile confrontare il volume 1.0 con il peso 790, ma se li ridimensioniamo entrambi in valori comparabili, possiamo facilmente vedere quanto un valore è rispetto all'altro. Esistono diversi metodi per ridimensionare i dati, in questo tutorial utilizzeremo un metodo chiamato standardizzazione. Il metodo di standardizzazione utilizza questa formula: z = (x - u) / s Dov'è zil nuovo valore, x è il valore originale, uè la media e s è la deviazione standard. Se prendi la colonna del peso dal set di dati sopra, il primo valore è 790 e il valore scalato sarà: (790 - 1292.23) / 238.74 = -2.1 Se prendi la colonna del volume dal set di dati sopra, il primo valore è 1.0 e il valore scalato sarà: (1.0 - 1.61) / 0.38 = -1.59 Ora puoi confrontare -2.1 con -1.59 invece di confrontare 790 con 1.0. Non è necessario farlo manualmente, il modulo sklearn di Python ha un metodo chiamato StandardScaler() che restituisce un oggetto Scaler con metodi per trasformare i set di dati. Prevedi i valori di CO2 Prevedi le emissioni di CO2 di un'auto da 1,3 litri che pesa 2300 chilogrammi:

  • Imputazione media o mediana

    Un'altra tecnica comune consiste nell'utilizzare la media o la mediana delle osservazioni non mancanti. Questa strategia può essere applicata a una feature che contiene dati numerici. # Sostituisci i valori nulli con la media delle colonne di appartenenza data = data.fillna(data.median()) Nell'esempio sopra, usiamo il metodo mediano per riempire i valori mancanti nel set di dati.

  • Che cos'è la Feature Selection

    La selezione delle funzionalità è il processo in cui si selezionano automaticamente o manualmente le funzionalità che contribuiscono maggiormente alla variabile o all'output di previsione. La presenza di funzionalità irrilevanti nei dati può ridurre l'accuratezza dei modelli di machine learning. I motivi principali per utilizzare la selezione delle funzionalità sono: Consente all'algoritmo di apprendimento automatico di eseguire l'addestramento più velocemente. Riduce la complessità di un modello e ne facilita l'interpretazione. Migliora la precisione di un modello se viene scelto il sottoinsieme corretto. Riduce il sovradattamento. "Ho preparato un modello selezionando tutte le caratteristiche e ho ottenuto una precisione di circa il 65% che non è abbastanza buona per un modello predittivo e dopo aver effettuato alcune selezioni di funzionalità e progettazione delle funzionalità senza apportare modifiche logiche al codice del mio modello, la mia precisione è balzata a 81% che è piuttosto impressionante "- Di Raheel Shaikh I metodi comuni per la selezione delle funzionalità sono:

  • Importanza delle caratteristiche

    L'importanza delle funzionalità ti dà un punteggio per ogni caratteristica dei tuoi dati. Più alto è il punteggio, più importante o rilevante è quella caratteristica per la tua caratteristica target. L'importanza delle funzionalità è una classe incorporata che viene fornita con classificatori basati su alberi come: Classificatori forestali casuali Classificatori albero extra Nell'esempio seguente, addestreremo il classificatore ad albero aggiuntivo nel set di dati dell'iride e utilizzeremo la classe incorporata .feature_importances_ per calcolare l'importanza di ogni caratteristica: from sklearn.datasets import load_iris import matplotlib.pyplot as plt from sklearn.ensemble import ExtraTreesClassifier iris_dataset = load_iris() # Dividiamo Target e features X = iris_dataset.data y = iris_dataset.target X = X.astype(int) # Creiamo il modello extra_tree_forest = ExtraTreesClassifier(n_estimators = 5, criterion ='entropy', max_features = 2) # Alleniamo il modello extra_tree_forest.fit(X, y) feature_importance = extra_tree_forest.feature_importances_ # Normalizziamo feature_importance_normalized = np.std([tree.feature_importances_ for tree in extra_tree_forest.estimators_], axis = 0) # Mostriamo il grafico a barre plt.bar(iris_dataset.feature_names, feature_importance_normalized) plt.xlabel('Feature Labels') plt.ylabel('Feature Importances') plt.title('Comparison of different Feature Importances') plt.show() Caratteristiche importanti Il grafico mostra che le suddette caratteristiche più importanti sono lunghezza petalo (cm) e larghezza petalo (cm) , e che il minimo caratteristica importante è la larghezza sepalo (cm) . Ciò significa che puoi utilizzare le funzionalità più importanti per addestrare il tuo modello e ottenere le migliori prestazioni.

  • Regressione Lineare

    1. Spiegazione e Implementazione Algoritmo Regressione lineare Viene utilizzato per stimare i valori reali (costo delle case, numero di chiamate, vendite totali, ecc.) in base a variabili continue. Qui, stabiliamo una relazione tra variabili indipendenti e dipendenti adattando una linea migliore. Questa linea di miglior adattamento è nota come linea di regressione ed è rappresentata da un'equazione lineare Y= a *X + b. Diciamo che chiedi a un bambino di quinta elementare di sistemare le persone nella sua classe aumentando l'ordine di peso, senza chiedere loro il peso! Cosa pensi che farà il bambino? Probabilmente guarderebbe (analizzerebbe visivamente) l'altezza e la corporatura delle persone e le disporrebbe utilizzando una combinazione di questi parametri visibili. Questa è regressione lineare nella vita reale! Il bambino ha effettivamente capito che altezza e corporatura sarebbero correlate al peso da una relazione, che assomiglia all'equazione sopra. In questa equazione: Y – Variabile dipendente a - Pendenza retta X – Variabile indipendente b – Bias Questi coefficienti a e b sono derivati ​​sulla base della riduzione al minimo della differenza al quadrato della distanza tra i punti dati e la linea di regressione. La regressione lineare è principalmente di due tipi: regressione lineare semplice e regressione lineare multipla. La regressione lineare semplice è caratterizzata da una variabile indipendente. Inoltre, la regressione lineare multipla (come suggerisce il nome) è caratterizzata da più (più di 1) variabili indipendenti. Mentre trovi la linea più adatta, puoi adattare una regressione polinomiale o curvilinea. E questi sono noti come regressione polinomiale o curvilinea. Ecco una finestra per metterti alla prova e costruire il tuo modello di regressione lineare in Python:

  • Support Vector Machine

    4. Spiegazione e Implementazione Algoritmo SVM (macchina vettoriale di supporto) È un metodo di classificazione. In questo algoritmo, tracciamo ogni elemento di dati come un punto nello spazio n-dimensionale (dove n è il numero di caratteristiche che hai) con il valore di ciascuna caratteristica che è il valore di una particolare coordinata. Ad esempio, se avessimo solo due caratteristiche come l'altezza e la lunghezza dei capelli di un individuo, per prima cosa tracciaremmo queste due variabili in uno spazio bidimensionale in cui ogni punto ha due coordinate (queste coordinate sono note come vettori di supporto ) Ora troveremo una linea che divide i dati tra i due gruppi di dati diversamente classificati. Questa sarà la linea tale che le distanze dal punto più vicino in ciascuno dei due gruppi saranno più lontane. Questo è il codice di una possibile implementazione.

  • K-Nearest Neighbors

    6. Spiegazione e Implementazione Algoritmo kNN Può essere utilizzato sia per problemi di classificazione che di regressione. Tuttavia, è più ampiamente utilizzato nei problemi di classificazione nell'industria. KNN è un semplice algoritmo che memorizza tutti i casi disponibili e classifica i nuovi casi con un voto di maggioranza dei suoi k vicini Queste funzioni di distanza possono essere la distanza Euclidea, Manhattan, Minkowski e Hamming. Le prime tre funzioni sono utilizzate per la funzione continua e la quarta (Hamming) per le variabili categoriali. Il caso viene semplicemente assegnato alla classe del suo vicino più prossimo. A volte, la scelta di K risulta essere una sfida durante l'esecuzione della modellazione kNN. KNN può essere facilmente usato nelle nostre vite. Se vuoi conoscere una persona di cui non hai informazioni, ti potrebbe piacere conoscere i suoi amici intimi e le cerchie in cui si muove e avere accesso alle sue informazioni! Aspetti da considerare prima di selezionare kNN: KNN è computazionalmente costoso Le variabili dovrebbero essere normalizzate, altrimenti le variabili di intervallo più alto possono distorcerlo Lavora di più sulla fase di pre-elaborazione prima di utilizzare kNN Programma un modello di clusterizzazione in Python:

  • Foresta Casuale

    8. Spiegazione e Implementazione Algoritmi Foresta casuale Random Forest è un termine caratteristico per un insieme di alberi decisionali. Abbiamo una raccolta di alberi decisionali (conosciuti come "Foresta"). Per classificare un nuovo oggetto in base agli attributi, ogni albero fornisce una classificazione e diciamo che l'albero "vota" per quella classe. La foresta sceglie la classifica con il maggior numero di voti (su tutti gli alberi della foresta). Ogni albero viene piantato e cresciuto come segue: Se il numero di casi nel training set è N, il campione di N casi viene preso a caso ma con sostituzione . Questo esempio sarà il training set per far crescere l'albero. Se ci sono M variabili di input, viene specificato un numero m<<M tale che ad ogni nodo vengono selezionate a caso m variabili dalle M e la migliore suddivisione su queste m viene utilizzata per dividere il nodo. Il valore di m è mantenuto costante durante la crescita della foresta. Ogni albero è cresciuto nella misura più ampia possibile. Non c'è potatura. Implementiamo l'algoritmo foresta casuale con Python :

  • Reti di memoria a lungo termine (LSTM)

    Gli LSTM sono un tipo di rete neurale ricorrente (RNN) in grado di apprendere e memorizzare le dipendenze a lungo termine. Richiamare le informazioni passate per lunghi periodi è il comportamento predefinito. Gli LSTM conservano le informazioni nel tempo. Sono utili nella previsione di serie temporali perché ricordano gli input precedenti. Gli LSTM hanno una struttura a catena in cui quattro strati interagenti comunicano in un modo unico. Oltre alle previsioni di serie temporali, gli LSTM vengono generalmente utilizzati per il riconoscimento vocale, la composizione musicale e lo sviluppo farmaceutico. Come funzionano gli LSTM? In primo luogo, dimenticano parti irrilevanti dello stato precedente Successivamente, aggiornano selettivamente i valori dello stato della cella Infine, l'output di alcune parti dello stato della cella Di seguito è riportato un diagramma di come funzionano gli LSTM:

  • Deep Belief Networks (DBN)

    I DBN sono modelli generativi costituiti da più livelli di variabili stocastiche e latenti. Le variabili latenti hanno valori binari e sono spesso chiamate unità nascoste. I DBN sono una pila di macchine Boltzmann con connessioni tra gli strati e ogni strato RBM comunica con entrambi i livelli precedenti e successivi. Le Deep Belief Networks (DBN) vengono utilizzate per il riconoscimento di immagini, il riconoscimento video e i dati di acquisizione del movimento. Come funzionano i DBN? Gli algoritmi di apprendimento avidi addestrano i DBN. L'algoritmo di apprendimento greedy utilizza un approccio strato per strato per l'apprendimento dei pesi generativi dall'alto verso il basso. I DBN eseguono le fasi del campionamento di Gibbs sui primi due livelli nascosti. Questa fase estrae un campione dall'RBM definito dai due strati nascosti superiori. I DBN prelevano un campione dalle unità visibili utilizzando un singolo passaggio di campionamento ancestrale attraverso il resto del modello. I DBN apprendono che i valori delle variabili latenti in ogni livello possono essere dedotti da un singolo passaggio dal basso verso l'alto.

  • In che settori può lavorare un Data Scientist ?

    Andiamo a vedere nello specifico in quali aree lavorative può trovare lavoro un data scientist

  • Percorsi di Studio in Italia

    Vediamo quali università in Italia offrono un percorso di studi che calzi a pennello con la data science

bottom of page