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 función de activación es un componente clave en las redes neuronales, ya que determina la salida de una neurona en función de su entrada. Su propósito principal es introducir no linealidades en el modelo, permitiendo que aprenda patrones complejos en los datos. Existen diversas funciones de activación, como la sigmoide, ReLU y tanh, cada una con características particulares que afectan el rendimiento del modelo en diferentes aplicaciones.... 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 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...
- La segunda capa oculta tiene 8 neuronas y la función de activación como relu
- Finalmente, Nel capa de salidaIl "capa de salida" es un concepto utilizado en el ámbito de la tecnología de la información y el diseño de sistemas. Se refiere a la última capa de un modelo de software o arquitectura que se encarga de presentar los resultados al usuario final. Esta capa es crucial para la experiencia del usuario, ya que permite la interacción directa con el sistema y la visualización de datos procesados...., 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" 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.....
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 función de pérdida es una herramienta fundamental en el aprendizaje automático que cuantifica la discrepancia entre las predicciones del modelo y los valores reales. Su objetivo es guiar el proceso de entrenamiento al minimizar esta diferencia, permitiendo así que el modelo aprenda de manera más efectiva. Existen diferentes tipos de funciones de pérdida, como el error cuadrático medio y la entropía cruzada, cada una adecuada para distintas tareas y...: 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 es una plataforma que ofrece herramientas para la creación y gestión de contenido digital. Su enfoque se centra en facilitar la producción de multimedia, permitiendo a los usuarios colaborar y compartir información de manera eficiente. Con una interfaz intuitiva, Epoch se ha convertido en una opción popular entre profesionales y empresas que buscan optimizar su flujo de trabajo en la era digital. Su versatilidad la hace adecuada para diversas...: 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