Questo post è stato pubblicato come parte del Blogathon sulla scienza dei dati
In questo post, Spiegherò i concetti base delle reti neurali e del loro codice. Attualmente, molti studenti imparano semplicemente a codificare le reti neurali senza comprenderne le basi e come funziona internamente. Primo, Cosa sono le reti neurali?
Cos'è la rete neurale?
Neural Network è una serie di algoritmi che cercano di imitare il cervello umano e trovare il collegamento tra i set di dati. Viene utilizzato in vari casi d'uso come regressione, classificazione, accreditamento immagine e molto altro.
Come abbiamo detto in precedenza, le reti neurali cercano di imitare il cervello umano, allora potrebbero esserci differenze e somiglianze tra loro. Parliamone brevemente.
Algunas diferencias importantes entre ellos son que la neuronale rossoLe reti neurali sono modelli computazionali ispirati al funzionamento del cervello umano. Usano strutture note come neuroni artificiali per elaborare e apprendere dai dati. Queste reti sono fondamentali nel campo dell'intelligenza artificiale, consentendo progressi significativi in attività come il riconoscimento delle immagini, Elaborazione del linguaggio naturale e previsione delle serie temporali, tra gli altri. La loro capacità di apprendere schemi complessi li rende strumenti potenti.. biológica realiza un procesamiento paralelo, mentre la rete neurale artificiale esegue l'elaborazione seriale, anche nel primo, l'elaborazione è più lenta (in millisecondi), mentre in quest'ultimo la lavorazione è più veloce (in un nanosecondo).
architettura ANN
Una rete neurale ha molti livelli e ogni livello svolge una funzione specifica, y a misuraIl "misura" È un concetto fondamentale in diverse discipline, che si riferisce al processo di quantificazione delle caratteristiche o delle grandezze degli oggetti, fenomeni o situazioni. In matematica, Utilizzato per determinare le lunghezze, Aree e volumi, mentre nelle scienze sociali può riferirsi alla valutazione di variabili qualitative e quantitative. L'accuratezza della misurazione è fondamentale per ottenere risultati affidabili e validi in qualsiasi ricerca o applicazione pratica.... que aumenta la complejidad del modelo, aumenta anche il numero di strati, questo è il motivo per cui è noto come perceptron multistrato.
La forma più pura di una rete neurale ha tre strati: il livello di inputIl "livello di input" se refiere al nivel inicial en un proceso de análisis de datos o en arquitecturas de redes neuronales. Su función principal es recibir y procesar la información bruta antes de que esta sea transformada por capas posteriores. En el contexto de machine learning, una adecuada configuración de la capa de entrada es crucial para garantizar la efectividad del modelo y optimizar su rendimiento en tareas específicas...., la capa oculta y la Livello di outputIl "Livello di output" è un concetto utilizzato nel campo della tecnologia dell'informazione e della progettazione di sistemi. Si riferisce all'ultimo livello di un modello o di un'architettura software che è responsabile della presentazione dei risultati all'utente finale. Questo livello è fondamentale per l'esperienza dell'utente, poiché consente l'interazione diretta con il sistema e la visualizzazione dei dati elaborati..... Il livello di ingresso raccoglie i segnali di ingresso e li trasferisce al livello successivo e, finalmente, la capa de salida da el pronóstico final y estas redes neuronales deben entrenarse con algunos datos de addestramentoLa formazione è un processo sistematico volto a migliorare le competenze, conoscenze o abilità fisiche. Viene applicato in vari ambiti, come lo sport, Formazione e sviluppo professionale. Un programma di allenamento efficace include la pianificazione degli obiettivi, Pratica regolare e valutazione dei progressi. L'adattamento alle esigenze individuali e la motivazione sono fattori chiave per ottenere risultati di successo e sostenibili in qualsiasi disciplina...., così come con algoritmi di apprendimento automatico prima di fornire un particolare ostacolo. Ora, capiamo di più sul perceptron.
Informazioni su Perceptron
Come discusso in precedenza, il perceptron multistrato è semplicemente gli strati nascosti o densi. Sono costituiti da molti neuroni e i neuroni sono l'unità principale che lavora insieme per formare il perceptron.. In parole semplici, come puoi vedere nella foto sopra, cada círculo representa neuronas y una combinación vertical de neuronas representa perceptrones que es simplemente una capa densaLa capa densa es una formación geológica que se caracteriza por su alta compacidad y resistencia. Comúnmente se encuentra en el subsuelo, donde actúa como una barrera al flujo de agua y otros fluidos. Su composición varía, pero suele incluir minerales pesados, lo que le confiere propiedades únicas. Esta capa es crucial en estudios de ingeniería geológica y recursos hídricos, ya que influye en la disponibilidad y calidad del agua....
Ora, nella foto sopra, puoi vedere la vista dettagliata di ogni neurone. Qui, ogni neurone ha dei pesi (nella foto sopra w1, w2, w3) e pregiudizi e, in base a questi calcoli, sono eseguiti come, combinazione = bias + pesos * iscrizione (F = w1 * x1 + w2 * x2 + w3 * x3) y por último se aplica la funzione svegliaLa funzione di attivazione è un componente chiave nelle reti neurali, poiché determina l'output di un neurone in base al suo input. Il suo scopo principale è quello di introdurre non linearità nel modello, Consentendo di apprendere modelli complessi nei dati. Ci sono varie funzioni di attivazione, come il sigma, ReLU e tanh, Ognuno con caratteristiche particolari che influiscono sulle prestazioni del modello in diverse applicazioni.... uscita = attivazione (combinazione) nella foto sopra, l'attivazione è sigmoide rappresentata da 1 / (1 + e-F). Ci sono alcune altre funzioni di attivazione, Che cosa riprendereLa función de activación ReLU (Rectified Linear Unit) es ampliamente utilizada en redes neuronales debido a su simplicidad y eficacia. Definida como ( F(X) = max(0, X) ), ReLU permite que las neuronas se activen solo cuando la entrada es positiva, lo que contribuye a mitigar el problema del desvanecimiento del gradiente. Su uso ha demostrado mejorar el rendimiento en diversas tareas de aprendizaje profundo, haciendo de ReLU una opción..., ReLU . che perde, soh e molti altri.
ANN lavoro
All'inizio, le informazioni vengono inviate al livello di input che successivamente le trasferisce ai livelli nascosti, e l'interconnessione tra questi due strati assegna pesi a ciascun input in modo casuale nel punto iniziale. e successivamente il bias viene aggiunto a ciascun neurone di input e dopo questo, la somma ponderata che è una combinazione di pesi e bias viene passata attraverso la funzione di attivazione. La función de activación tiene la responsabilidad de qué nodoNodo è una piattaforma digitale che facilita la connessione tra professionisti e aziende alla ricerca di talenti. Attraverso un sistema intuitivo, Consente agli utenti di creare profili, condividere esperienze e accedere a opportunità di lavoro. La sua attenzione alla collaborazione e al networking rende Nodo uno strumento prezioso per chi vuole ampliare la propria rete professionale e trovare progetti in linea con le proprie competenze e obiettivi.... disparar para la extracción de características y por último se calcula la salida. L'intera procedura è nota come Propagazione in avanti.. Dopo aver confrontato il modello di output con l'output originale e l'errore è noto e infine, i pesi vengono aggiornati in propagazione all'indietro per ridurre l'errore e questa procedura continua per un certo numero di epoche (iterazione). In sintesi, si aggiornano i pesi del modello e si fa la previsione.
Vantaggio
- ANN ha la capacità di apprendere e modellare relazioni complesse e non lineari, poiché molte relazioni input-output non sono lineari.
- Dopo l'allenamento, ANN può dedurre relazioni invisibili da dati invisibili e, perché, si generalizza.
- A differenza di molti modelli di apprendimento automatico, ANN non ha restrizioni sui set di dati, poiché i dati devono avere una distribuzione gaussiana o nessun'altra distribuzione.
Applicazioni
Ci sono molte applicazioni di ANN. Alcuni di loro sono :
- Pre-elaborazione delle immagini e accreditamento dei caratteri.
- Previsione.
- Valutazione del credito.
- Intercettazione di una frode.
- Gestione del portafoglio.
PARTE DI CODIFICA
Ora codifichiamo e comprendiamo i concetti che lo utilizzano.
1. Comprensione e caricamento dei set di dati
Prima importazione di librerie come NumPy, panda e importare anche le cosiddette classi sequenziali dense dalla libreria Keras.
importa numpy come np importa panda come pd da keras.models import Sequential da keras.layers import Dense
Ora, qui userò il set di dati sull'insorgenza del diabete degli indiani Pima, che è un set di dati di apprendimento automatico standard dal repository di apprendimento automatico UCI e il collegamento può essere trovato di seguito. Questo set di dati riporta l'anamnesi del paziente e se ha avuto un'insorgenza di diabete entro cinque anni, è anche un ostacolo alla classificazione binaria.
Puoi scaricare i set di dati da qui:
Ora importa il set di dati usando i panda e in seguito capiamo di più sui set di dati e in seguito dividiamo i set di dati in variabili dipendenti e indipendenti.
set di dati = pd.read_csv('pima-indiani-diabete.csv') X = set di dati[:,0:8] y = set di dati[:,8]
2. Definizione del modello Keras
I modelli in Keras sono definiti come una sequenza di livelli in cui ogni livello viene aggiunto uno dopo l'altro. L'input deve contenere le caratteristiche di input e viene specificato durante la creazione del primo livello con input_dims discussione. Qui input_dims sarà 8.
Ora sorge la domanda su come possiamo scegliere il numero di strati e il numero di neuroni in ogni strato.
È abbastanza difficile sapere quanti strati dovremmo usare. In generale per questo Sintonizzatore Keras Usato, che ha una gamma di strati, una gamma di neuroni e alcune funzioni di attivazione. e successivamente, attraverso permutazioni e combinazioni, prova a trovare qual è il più adatto. Ma uno svantaggio è che ci vuole molto tempo. Puoi controllare la sua documentazione. Sintonizzatore Keras per ulteriori dettagli.
In questo esempio, viene utilizzata una rete completamente connessa con tre livelli che è definito usando la classe densa. Il primo argomento prende il numero di neuroni in quello strato e, e attivazione L'argomento accetta la funzione di attivazione come input. Qui, ReLU viene utilizzato come funzione di attivazione nei primi due strati e sigmoide nell'ultimo strato, poiché è un ostacolo alla classificazione binaria.
modello = Sequenziale() modello.aggiungi(Denso(12, input_dim=8, attivazione = 'rileggere')) modello.aggiungi(Denso(8, attivazione = 'rileggere')) modello.aggiungi(Denso(1, attivazione='sigmoide'))
3. Compila il modello Keras
Durante la compilazione, debemos especificar la Funzione di perditaLa funzione di perdita è uno strumento fondamentale nell'apprendimento automatico che quantifica la discrepanza tra le previsioni del modello e i valori effettivi. Il suo obiettivo è quello di guidare il processo di formazione minimizzando questa differenza, consentendo così al modello di apprendere in modo più efficace. Esistono diversi tipi di funzioni di perdita, come l'errore quadratico medio e l'entropia incrociata, ognuno adatto a compiti diversi e... para calcular los errores, l'ottimizzatore per aggiornare i pesi e le metriche.
In questa circostanza, noi useremo “binary_crossentropy“ Come la perduto argomento dato che si tratta di un ostacolo alla classificazione binaria.
Qui prenderemo ottimizzatore Che cosa “Adamo“Dal momento che si sintonizza automaticamente e si comporta bene su un'ampia gamma di problemi e alla fine raccoglieremo e riporteremo l'accuratezza della classifica per mezzo di metrica discussione.
modello.compila(perdita="binary_crossentropy", ottimizzatore="Adamo", metriche=['precisione'])
4. Vestibilità del modello Keras.
Ora adatteremo il nostro modello ai dati caricati chiamando adattarsi() funzione nel modello.
La procedura di addestramento verrà eseguita per un numero fisso di iterazioni attraverso il set di dati specificato tramite il epoche discussione. Il numero di righe nel set di dati deve essere aggiornato e viene aggiornato all'interno di ogni epoca, e stabilisci usando il Dimensione del lotto discussione.
Qui, eseguiremo 150 epoche e una dimensione del lotto di 10.
model.fit(X, e, epoche=150, batch_size=10)
5. Esamina il modello Keras
La valutazione del modello sul set di dati può essere eseguita utilizzando il esaminare() funzione. Servono due argomenti, In altre parole, ingresso e uscita. Genererà una previsione per ogni coppia di input e output e raccoglierà i punteggi, inclusa la perdita media e qualsiasi metrica, come la precisione.
il esaminare() La funzione restituirà una lista con due valori, il primo è la perdita del modello e il secondo sarà la precisione del modello nel set di dati. Ci interessa solo riportare l'accuratezza e, perché, ignoriamo il valore della perdita.
_, accuratezza = modello.valutare(X, e) Stampa('Precisione: %.2F' % (precisione*100))
6.Fare previsioni
La previsione si può fare chiamando prevedere() funzione nel modello. Qui viene utilizzata la funzione di attivazione sigmoide nel livello di output, quindi le previsioni saranno una probabilità nell'intervallo tra 0 e 1.
forecasts = model.predict(X) arrotondato = [il giro(X[0]) per x nelle previsioni]
Riepilogo del codice finale
Aquí hemos aprendido cómo crear su primer modelo de red neuronal usando la poderosa biblioteca Keras Python para el apprendimento profondoApprendimento profondo, Una sottodisciplina dell'intelligenza artificiale, si affida a reti neurali artificiali per analizzare ed elaborare grandi volumi di dati. Questa tecnica consente alle macchine di apprendere modelli ed eseguire compiti complessi, come il riconoscimento vocale e la visione artificiale. La sua capacità di migliorare continuamente man mano che vengono forniti più dati lo rende uno strumento chiave in vari settori, dalla salute....
Ci sono sei passaggi principali nell'uso di Keras per creare una rete neurale o un modello di deep learning che carichi i dati, definire la rete neurale in Keras, dopo compilare, valutare e infine fare previsioni con il modello.
CONCLUSIONE
In questo post abbiamo compreso i concetti base delle reti neurali artificiali e del loro codice. Nella parte di codifica, Abbiamo utilizzato il set di dati sull'insorgenza del diabete degli indiani Pima. qui abbiamo capito in dettaglio i sei passaggi principali per creare reti neurali. A parte questo, molte cose non sono state trattate nei blog e, prossimo, Ho fornito i link di altri blog da cui è possibile consultare gli argomenti.
- Diversi tipi di funzioni di costo e loro applicazioni.
- Acerca de Gradient Descent.
- Documentazione Keras
Il supporto mostrato in questo post non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.