modello di deep learning in Python con keras

Contenuti

Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati

introduzione

UN neuronale rosso artificial es un subcampo de la inteligencia artificial compilado bajo las redes neuronales de apprendimento profondo que intenta imitar la red de neuronas que hace el cerebro humano, lo que les permite comprender y responder como un humano.

44394first20keras20model20feature20img-2377445

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"]
25441diabetes_dataset_img-8297579

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 sveglia 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 riprendere
  • La segunda capa oculta tiene 8 neuronas y la función de activación como relu
  • Finalmente, Nel capa de salida, 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 input.

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 parametri adicionales para evaluar mejor el modelo y encontrar el mejor conjunto de ponderaciones para asignar entradas a salidas.

  1. Funzione di perdita: 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.
  2. 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 addestramento.

  • Epoca: 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 misura 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

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.