Machine Learning en la Web con Angular y TensorFlow

Machine learning en la web con Angular y TensorFlow

Redes neuronales

“Las redes neuronales artificiales (ANN) están compuestas por capas de nodos que contienen una capa de entrada, una o más capas ocultas y una capa de salida. Cada nodo o neurona artificial se conecta a otro y tiene un peso y un umbral asociados. 

Machine learning en la web con angular y tensorflow-Salud electrónica

Figura 1. Deep neural network. Fue extraído de “Redes neuronales” y elaborado por IBM Cloud Education (1).

¿Cómo funcionan las redes neuronales?

Piensa en cada nodo individual como su propio modelo de regresión lineal, compuesto de datos de entrada, ponderaciones, un sesgo o umbral y una salida” (1).

Figura 2. Modelo de regresión lineal. Fue extraído de “Redes neuronales” y elaborado por IBM Cloud Education (1).

Funciones de activación

Softmax:

“La función softmax es una generalización de la regresión logística que puede ser aplicada a datos continuos. Soporta sistemas de clasificación multinomial, por lo que se convierte en el recurso principal utilizado en las capas de salida de un clasificador” (2).

 

ReLu:

“La función de activación se encarga de devolver una salida a partir de un valor de entrada, normalmente el conjunto de valores de salida en un rango determinado como (0,1) o (-1,1).

 

Sigmoide:

La función sigmoide transforma los valores introducidos a una escala (0,1), donde los valores altos tienen de manera asintótica a 1 y los valores muy bajos tienden de manera asintótica a 0” (3).

Una vista rápida de las funciones más utilizadas en el aprendizaje automático

Machine learning en la web con angular y tensorflow-salud electrónica

Ahora, ¿cómo implementarlo en angular?

Usaremos para esta práctica una librería importante de aprendizaje automático que nos brindan apoyo en modelos de machine learning, llamada TensorFlow.

  1. Construiremos una app que pueda predecir el número que digitamos en un tablero en canvas.
  2. Importaremos un modelo de reconocimiento de dígitos entrenado en Python para hacer predicciones desde nuestra aplicación de JavaScript.
  3. Primero, corremos nuestra app de Angular para lo cual utilizaremos el CLI de dicha aplicación e importaremos la librería de tensorflow.

“Paso 1

Generar una app Angular

npm i -g @angular/cli

ng new MLenAngular

Paso 2

Generar una app Angular

cd MLenAngular

npm i@tensorflow/tfjs –save” (4)

Paso 3

Agregamos nuestro modelo ML en la carpeta Assets

Machine learning en la web con angular y tensorflow-salud electronica

TensorFlow.js tiene una herramienta CLI de Python que convierte un modelo h5 guardado en Keras en un conjunto de archivos que se pueden usar en la web. Para convertir dicho archivo a formato de capas TF.js, ejecuta el siguiente comando. No es necesario para el ejercicio, en el repositorio encuentras todo el proyecto.

pip install tensorflowjs

tensorflowjs_converter –input_format keras \
     keras/cnn.h5 \
     src/assets

Paso 3

Cargar el modelo en el ON INIT

Cargar el modelo en el ON INIT -salud electronica

Paso 5

Agregamos Canvas para el evento predictivo

Paso 6

En el evento de predicción convierte una imagen en la cual el modelo de TensorFlow nos ayudará a predecir qué número fue escrito de 0 a 9

Listo, ahora tenemos nuestro aplicativo que predice el número que hemos escrito.

Conclusión

El aprendizaje automático ha sido el gran cambio de muchas áreas en la tecnología, gracias a ello podemos tener sistemas inteligentes capaces de predecir cualquier variable o evento.

Tensorflow ha sido una herramienta desarrollada por google con el fin de tener modelos de machine learning entrenados y listos para usarse con fácil integración para javascript, lo que nos permite utilizarlo en todos los frameworks js.

Machine learning en la web con angular y tensorflow-salud electrónica

Lista de referencias

  1. IBM Cloud Education. Redes neuronales [Internet] Bogotá: IBM; 2020 [Consultado 2022 Jul 1] Disponible en: https://www.ibm.com/co-es/cloud/learn/neural-networks

 

  1. Ramírez F. Las matemáticas del Machine Learning: Funciones de activación [Internet] s.f. Telefónica; 2020 [Consultado 2022 Jul 1] Disponible en: https://empresas.blogthicom/las-matematicas-del-machine-learning-funciones-de-activacion/

 

  1. Calvo D. Función de activación – Redes Neuronales [internet] s.f. Diego Calvo; 2018 [Consultado 2022 Jul 1] Disponible en: https://www.diegocalvo.es/funcion-de-activacion-redes-neuronales/

 

  1. Delaney J. Tensorflow.js quick start tutorial [Internet]. s.f.; 2018 [Consultado 2022 Jul 1] Disponible en: https://fireship.io/lessons/tensorflow-js-quick-start/

 

Patrón de diseño Strategy
Los patrones de diseño son soluciones a problemas comunes en el desarrollo de software, donde…
Ensayo sobre Metodologías de Desarrollo de Software: Cascada, Scrum y XGH(Xtreme Go Horse)
El desarrollo de software es un proceso complejo que requiere de planificación, coordinación y ejecución…
¿SQL o NoSQL? Qué son y sus ventajas 
Una base de datos es un sistema que nos permite gestionar, almacenar información de manera…

David Vélez

Soy David, Gerente de Salud Electrónica, mi pasión es ofrecer productos innovadores e integrales que aporten a los procesos en salud para mejorar la eficiencia de las instituciones.

Formación académica:

Cuento con la siguiente experiencia laboral:

  • Director médico en instituciones de alta complejidad.
  • Coordinador de servicios hospitalarios y ambulatorios.
  • Docente universitario.

En mi tiempo libre me gusta cocinar, leer sobre tecnología y actualidad.

Registra tus datos y uno de nuestros funcionarios se pondrá en contacto contigo

× ¿Cómo podemos ayudarte?