Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati
introduzione
UN 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.. artificial es un subcampo de la inteligencia artificial compilado bajo las redes neuronales de 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... que intenta imitar la red de neuronas que hace el cerebro humano, lo que les permite comprender y responder como un humano.
Sommario
- Descripción general de la red neuronal
- Introducción a Keras
- Implementación paso a paso de su primer modelo de Keras
- Combinando todo el código
- Nota finale
Breve descripción de la red neuronal
La red neuronal consta de un conjunto más grande de neuronas, que se denominan unidades dispuestas en capas. In parole semplici, Neural Network está diseñado para realizar una tarea más compleja donde los algoritmos de Machine Learning no encuentran su uso y no logran el rendimiento requerido.
Las redes neuronales se utilizan para realizar muchas tareas complejas, incluida la clasificación de imágenes, la detección de objetos, la identificación de rostros, el resumen de texto, el reconocimiento de voz y la lista es interminable.
¿Cómo aprenden las redes neuronales características complejas? Una red neuronal tiene muchas capas y cada capa realiza una función específica y compleja la red. Cuanto más capas son, más rendimiento se recibe. Es por eso que la red neuronal también se llama perceptrón multicapa.
Introducción a la biblioteca de Kears
Keras es una biblioteca de redes neuronales rápida, de código abierto y fácil de usar escrita en Python que se ejecuta en la parte superior de Theano o Tensorflow. Tensorflow proporciona API tanto de bajo nivel como de alto nivel; infatti, Keras solo proporciona API de alto nivel.
Come principiante, se recomienda trabajar primero con Keras y luego pasar a TensorFlow. La razón es que usar las funciones de Tensorflow como principiante es un poco complejo de entender e interpretar, pero la funcionalidad de Keras es simple.
Cree su primer modelo de red neuronal con Keras
Construiremos una red neuronal artificial simple usando Keras paso a paso que lo ayudará a crear su propio modelo en el futuro.
passo 1) Caricare dati
Vamos a utilizar los datos de diabetes de los indios Pima que puede descargar de qui. Es un conjunto de datos simple proporcionado por el conjunto de datos de UCI Machine Learning, que contiene un registro médico de pacientes indios. Tenemos que predecir si el paciente tiene una aparición de diabetes dentro de los 5 anni.
import pandas as pd data = pd.read_csv('diabetes.csv') x = data.drop("Outcome", asse=1) y = dati["Outcome"]
Es un problema de clasificación binaria donde tenemos que decir si su inicio de diabetes es 1 o no como 0. Todas las columnas son numéricas, lo que facilita la creación directa de una red neuronal sobre ella. Perciò, hemos separado los datos independientes y dependientes.
passo 2) Definir el modelo de Keras
El modelo en Keras siempre se define como una secuencia de capas. Significa que inicializamos el modelo de secuencia y agregamos las capas una tras otra que se ejecuta como la secuencia de la lista. Prácticamente tenemos que intentar experimentar con el proceso de agregar y quitar las capas hasta que estemos contentos con nuestra arquitectura.
Lo que debe cuidar es que la primera capa tiene el número correcto de características de entrada que se especifica usando el input_dim parametro. podemos especificar el número de neuronas como primer argumento de una capa. para definir 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.... utilice el argumento de activación.
In questo esempio, definiremos una red completamente conectada con tres capas. Para definir la capa completamente conectada, use la clase Densa de Keras.
- La primera capa tiene 12 neuronas y función de activación como riprendereLa funzione di attivazione ReLU (Unità lineare rettificata) È ampiamente utilizzato nelle reti neurali grazie alla sua semplicità ed efficacia. Definito come ( F(X) = massimo(0, X) ), ReLU consente ai neuroni di attivarsi solo quando l'input è positivo, che aiuta a mitigare il problema dello sbiadimento del gradiente. È stato dimostrato che il suo utilizzo migliora le prestazioni in varie attività di deep learning, rendendo ReLU un'opzione..
- La segunda capa oculta tiene 8 neuronas y la función de activación como relu
- Finalmente, Nel 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...., noi usiamo 1 unidad y activación como sigmoide porque es un problema de clasificación binaria.
da keras.models import Sequential da keras.layers import Dense modello = Sequenziale() modello.aggiungi(Denso(12, input_dim=8, attivazione="riprendere")) modello.aggiungi(Denso(12, attivazione="riprendere")) modello.aggiungi(Denso(1, attivazione="sigmoide"))
Recuerde especificar la forma correcta de los datos en la primera capa conocida como livello di inputIl "livello di input" si riferisce al livello iniziale in un processo di analisi dei dati o nelle architetture di reti neurali. La sua funzione principale è quella di ricevere ed elaborare le informazioni grezze prima che vengano trasformate dagli strati successivi. Nel contesto dell'apprendimento automatico, La corretta configurazione del livello di input è fondamentale per garantire l'efficacia del modello e ottimizzarne le prestazioni in attività specifiche.....
passo 3) Compila il modello Keras
Cuando compilamos el modelo de Keras, utiliza las bibliotecas numéricas de backend como TensorFlow o Theano. Cualquiera que sea el backend que esté utilizando, elige automáticamente la mejor manera de representar la red en su hardware, como CPU, GPU o TPU.
Cuando compilamos el modelo, debemos especificar algunos parametriIl "parametri" sono variabili o criteri che vengono utilizzati per definire, misurare o valutare un fenomeno o un sistema. In vari campi come la statistica, Informatica e Ricerca Scientifica, I parametri sono fondamentali per stabilire norme e standard che guidano l'analisi e l'interpretazione dei dati. La loro corretta selezione e gestione sono fondamentali per ottenere risultati accurati e pertinenti in qualsiasi studio o progetto.... adicionales para evaluar mejor el modelo y encontrar el mejor conjunto de ponderaciones para asignar entradas a salidas.
- 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...: se debe especificar la función de pérdida para evaluar el conjunto de pesos en el que se mapeará el modelo. Usaremos la entropía cruzada como una función de pérdida que en realidad se conoce como entropía cruzada binaria utilizada para la clasificación binaria.
- Ottimizzatore: el segundo es el optimizador para optimizar la pérdida. Usaremos adam, que es una versión popular del descenso de gradientes y da el mejor resultado en la mayoría de los problemas.
modello.compila(perdita="binary_crossentropy", ottimizzatore="Adamo", metriche=["precisione"])
passo 4) Comience a entrenar (Regolare il modello)
Después de la compilación exitosa del modelo, estamos listos para ajustar los datos al modelo y comenzar a entrenar la red neuronal. Además de proporcionar datos para modelar, necesitamos definir una cantidad de épocas y un tamaño de lote en el que se produce el 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.....
- EpocaEpoch è una piattaforma che offre strumenti per la creazione e la gestione di contenuti digitali. Il suo obiettivo è quello di facilitare la produzione multimediale, Consentire agli utenti di collaborare e condividere le informazioni in modo efficiente. Con un'interfaccia intuitiva, Epoch è diventata una scelta popolare tra i professionisti e le aziende che desiderano semplificare il proprio flusso di lavoro nell'era digitale. La sua versatilità lo rende adatto a diversi tipi di applicazioni..: una sola pasada a través de todas las filas del conjunto de datos de entrenamiento
- Tamaño de lote: número de muestras consideradas por el modelo antes de actualizar los pesos.
model.fit(X,e, epoche=150, batch_size=10)
Una época puede estar compuesta por más de un lote. Estos parámetros se deciden finalmente después del método de prueba y calor.
passo 5) Evaluar el modelo
Dopo il training del modello, conozcamos el rendimiento de una red neuronal. El modelo siempre se evalúa en un conjunto de prueba. In questo esempio, por simplicidad, hemos entrenado en un conjunto de datos completo, pero mientras trabaja en cualquier proyecto, básicamente divide los datos y entrena la red.
_, accuratezza = modello.valutare(X, e)
Stampa("Model accuracy: %.2F"% (precisione*100))
Para evaluar el modelo, utilice el método de evaluación y pase la entrada y la salida al modelo y verifique el rendimiento.
passo 6) Fai previsioni
predecir la salida de nuevos datos simplemente usando el método de predicción. tenemos una declaración de problema de clasificación binaria, por lo que la salida será simplemente 0 oh 1.
forecasts = model.predict(X) Stampa([il giro(X[0]) per x nelle previsioni])
In alternativa, también puede utilizar el predecir_clases función para predecir directamente las clases.
Eso está resuelto, hemos creado fácilmente una red neuronal con 3 capas usando solo unas pocas líneas de código con Keras.
Compilar todo el código junto
modello = Sequenziale() #define model model.add(Denso(12, input_dim=8, attivazione="riprendere")) modello.aggiungi(Denso(8, attivazione="riprendere")) modello.aggiungi(Denso(1, attivazione="sigmoide")) modello.compila(perdita="binary_crossentropy", ottimizzatore="Adamo", metriche=["precisione"]) #compile model model.fit(X,e, epoche=150, batch_size=10) #training _, accuratezza = modello.valutare(X,e) #testing print("Model accuracy: %.2F"% (precisione*100)) forecasts = model.predict(X) #make predictions #round the prediction rounded = [il giro(X[0]) per x nelle previsioni]
Nota finale
Una red neuronal construye una red de capas conectadas con múltiples neuronas en cada capa. UN 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 aumentamos el número de capas, la red es capaz de aprender características más complejas.
Ha creado fácilmente su primer modelo de red neuronal con Keras. Espero que haya sido fácil de captar todas las cosas. Se hai qualche domanda, por favor coméntela. Estaré encantado de ayudarte.
Si te gusta el artículo, echa un vistazo a mis otros artículos. Collegamento