
11 minute read
PROTOTIPO PARA EL MONITOREO DE LAS CATEGORIAS DE CRECIMIENTO MEDIANTE REDES NEURONALES
from PROTOTIPO PARA EL MONITOREO DE LAS CATEGORIAS DE CRECIMIENTO MEDIANTE REDES NEURONALES
by tese.mx
Luisa Jaquelin González Segoviano1
Adolfo Meléndez Ramírez2 1202210961@tese.edu.mx 2adolfo_melendez@tese.edu.mx División de Ingeniería en Sistemas computacionales Tecnológico de Estudios Superiores
Advertisement
Resumen--Una categoría de crecimiento se refiere a una clasificación o agrupación de diferentes patrones de crecimiento basados en características comunes. Estas categorías se utilizan para organizar y comprender los distintos tipos de crecimiento observados en diversos fenómenos o conjuntos de datos.
En este trabajo se describe un sistema prototipo para identificar patrones de crecimiento en niños.
El sistema está compuesto por sensor ultrasónico, junto con la adquisición de datos (Arduino) y con ayuda de una red neuronal que nos servirá para obtener información valiosa para predecir, planificar, detectar anomalías, evaluar el rendimiento, tomar decisiones estratégicas y diseñar políticas efectivas en cada niño. Palabras clave: crecimiento, patrones de crecimiento, ultrasonico, arduino, red neuronal.
Abstract- A growth category refers to a classification or grouping of different growth patterns based on common characteristics. These categories are used to organize and understand the different types of growth observed in various phenomena or data sets.
This paper describes a prototype system to identify growth patterns in children.
The system is made up of an ultrasonic sensor, together withdataacquisition(Arduino)andwiththehelpof aneural network that will help us obtain valuable information to predict, plan, detect anomalies, evaluate performance, make strategic decisions and design effective policies. in each child.
Keywords: growth, growth patterns, ultrasonic, arduino, neural network.
V. INTRODUCCIÓN
Los patrones de crecimiento son usados de forma muy amplia tanto en los países desarrollados como en vías de desarrollo, como herramienta clínica para monitorizar el crecimiento en niños individuales, así como un indicador de salud pública para analizar el estado de nutrición de una población [1].
En la actualidad los patrones de crecimiento son importantes para:
• Predicción y planificación: permite predecir y planificar el comportamiento futuro de una variable. Al comprender cómo ha evolucionado en el pasado, es posible hacer estimaciones y proyecciones para tomar decisiones informadas sobre el futuro [2]
• Identificación de anomalías: al identificar anomalías o desviaciones significativas en los datos, se puede conocer la tendencia y el comportamiento típico de una variable, se pueden detectar patronesinusualeso anómalosque pueden requerir atención especial. Por ejemplo, en el análisis de datos de salud, los patrones de crecimiento atípicos pueden indicar problemas de salud o enfermedades.
• Evaluación de rendimiento: evaluar el rendimiento de una entidad o sistema en particular,
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023] ayuda a medir eléxito o elfracaso en la consecución de objetivos establecidos.
• Toma de decisiones estratégicas: Al identificar los factores que influyen en el crecimiento y entender cómo se desarrollan con el tiempo, es posible diseñar estrategias efectivas para aprovechar las oportunidades y mitigar los riesgos.
Las categorías de crecimiento que se muestran en la figura 1, pueden establecerse en función de diferentes criterios como la forma de la curva de crecimiento, la velocidad de crecimiento, la tendencia a largo plazo, la estabilidad, las fluctuaciones, entre otros factores relevantes
Donde:
• "y" es la variable dependiente, que representa el valor o cantidad que queremos predecir o estimar.
• "x" es la variable independiente, que representa el tiempo, el cual está asociado al crecimiento.
• "m" es la pendiente de la recta, que representa la tasa de crecimiento o cambio constante en la variable dependiente por unidad de cambio en la variable independiente.
• "b" es el término independiente o el punto de intersección de la recta con el eje vertical (cuando x = 0). Este término representa el valor inicial de la variable dependiente.
Esta ecuación del crecimiento lineal describe una relación directamente proporcional entre la variable dependiente y la variable independiente, donde el cambio en la variable dependiente es constante por unidad de cambio en la variable independiente.
B. Crecimiento exponencial:
Ilustración 1Categorias de crecimiento
Sin embargo, es importante tener en cuenta que las categorías de crecimiento son construcciones conceptuales y pueden variar según el contexto y los criterios de clasificación utilizados.
A. Crecimiento lineal
Se refiere a un patrón de crecimiento constante en el tiempo, donde la magnitud del crecimiento es proporcional al tiempo transcurrido. Por ejemplo, el crecimiento de una planta en altura de manera constante cada mes.
Siendo su expresión matemática:
Se caracteriza por un crecimiento acelerado y no lineal, donde la magnitud del crecimiento se multiplica en cada intervalo de tiempo. Un ejemplo es el crecimiento de una población de bacterias, donde la población se duplica en un intervalo de tiempo determinado [3]
En esta categoría se hace mención del modelo de Tanner,que se basa en la idea de que elcrecimiento sigue una curva sigmoidal, donde el crecimiento es lento al principio, luego se acelera y finalmente se desacelera. Su expresión se expresa de la siguiente manera:
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]
Donde:
• G(t) representa la medida del crecimiento (por ejemplo, altura o peso) en un momento dado t.
• L es el límite superior o máximo que se puede alcanzar para la medida de crecimiento.
• k es el coeficiente de crecimiento que determina la rapidez con la que se alcanza el límite superior.
• t0 es el tiempo en el que se alcanza la mitad del crecimiento.
Esimportante tener en cuenta que estosparámetros pueden variar según el género y la población específica [4]
C. Crecimiento discontinuo:
Ocurre cuando el crecimiento no es continuo a lo largo del tiempo, sino que se produce en ráfagas o períodos intermitentes. Por ejemplo, el crecimiento de una empresa puede experimentar períodos de expansión seguidos de períodos de estabilidad o declive [5].
Se pueden utilizar funciones escalonadas para representar de manera aproximada este tipo de crecimiento.
Una función escalonada es una función que cambia de valor de manera abrupta en ciertos puntos específicos. En el contexto del crecimiento discontinuo, estos puntos representarían los períodos de crecimiento rápido. Una posible representación algebraica utilizando funciones escalonadas sería la siguiente: dado t.
• a1, a2, ..., an son las magnitudes de crecimiento durante cada período de crecimiento rápido.
• t1, t2, ..., tn son los puntos en el tiempo en los que ocurren los períodos de crecimiento rápido.
• u(t) es la función escalón unitario, que tiene un valor de 1 cuando su argumento es mayor o igual a cero, y un valor de 0 en otro caso.
En esta representación, los coeficientes a1, a2, ..., an y los puntos t1, t2, ..., tn deben ajustarse de acuerdo con los datos específicos del crecimiento que se está analizando.
D. Crecimiento irregular:
Se refiere a un patrón de crecimiento que no sigue una tendencia o formapredecible.Losdatospueden mostrar variaciones y fluctuaciones sin una estructura clara. Por ejemplo, el crecimiento de los precios de las acciones en los mercados financieros puede ser altamente irregular debido a múltiples factores.
Se considera crecimiento irregular a todo aquel niño que no se encuentre entre los rangos definidos como se muestra en la ilustración 6.
Para esta categoría la una opción común es utilizar una regresión no lineal para ajustar los datos de crecimiento a una curva suave que se adapte a los patrones observados. Existen diferentes tipos de funciones no lineales que pueden utilizarse, como polinomios de grado superior, funciones exponenciales, logarítmicas o trigonométricas. Por ejemplo, una posible representación algebraica utilizando una función polinomial no lineal sería la siguiente:
Donde:
• f(t) representa el crecimiento en un momento
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]
Donde:
• f(t) representa el valor de crecimiento en un momento dado t.
• a0, a1, a2, ..., an son los coeficientes que se ajustan a través de un análisis de regresión para encontrar la mejor aproximación a los datos de crecimiento.

• t es el tiempo o edad correspondiente al crecimiento.
Es importante tener en cuenta que la elección de la función no lineal y el grado del polinomio dependerán de los datos específicos y del patrón de crecimiento observado. Además, es posible que se requieran técnicas adicionales, como suavizado de datos,interpolación o técnicasde seriestemporales, para mejorar la representación y el análisis del crecimiento irregular.
E. Redes Neuronales:
Las técnicas de aprendizaje automático se pueden utilizar para extraer información importante del cliente de un conjunto de datos mucho más grande que puede ser irrelevante para un propósito particular, como evitar la pérdida de clientes. Muchos estudios de CRM se basan en el uso de árboles de decisión.
La minería de datos se puede utilizar para descubrir lo que de otro modo podrían ser comportamientos ocultos de los clientes a partir de grandes cantidades de datos. En este sentido, el valor real de la minería de datos es la capacidad de transformar grandes cantidades de datos sin procesar en datos utilizables para abordar problemas comerciales. [6]
En la ilustración 2 se muestra la estructura de una red neuronal que es identificada por tener capa de entrada, capa oculta y capa de salida.
Ilustración 2 Arquitectura de una red neuronal
Una de las ecuaciones fundamentales utilizadas en las redes neuronales es la ecuación de propagación hacia adelante (forward propagation), calcula la salida de una neurona o de una capa de neuronas en función de las entradas y los pesos asociados.
A continuación se muestra la ecuación general para una neurona en una capa oculta de una red neuronal:
Donde:
• z es la entrada total de la neurona (suma ponderada de las entradas y los pesos más un sesgo/bias).
• Wi son los pesos asociados a cada una de las n entradas Xi.
• b es el sesgo/bias de la neurona.
Una vez que se obtiene la entrada total z, se aplica una función de activación no lineal para obtener la salida a de la neurona:
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]

Donde
f(⋅) es la función de activación, como la función sigmoide, la función ReLU (Rectified Linear Unit), la función tangente hiperbólica, entre otras.
Las redes neuronales son capaces de descubrir patrones y relaciones complejas en grandes conjuntos de datos.
Cuando se usa ML, [7] la solución debe incluir varios pasos: preprocesamiento, creación de una muestra de entrenamiento a partir de características primarias y secundarias para el proceso de ML, identificación de las características más importantes, construcción del algoritmo del modelo y validando el modelo aprendido en nuevos datos.
VI. METODO
El diagrama de flujo que engloba este proyecto es el de la ilustración 3 donde se inicia con la adquisición de datos, seguidos de la preparación y limpieza de los datos, así como el entrenamiento en mathlab.

ilustración 4 en donde la muestra serán niños menores a 5 años y con la ayuda de nuestro sensor ultrasónico recabara información para después entrenar el modelo de predicción en mathlab con redes neuroales.

La arquitectura que tiene el sistema es el de la
Los materiales son una placa Arduino, sensor ultrasónico y barra deslizante, como se muestra en la ilustración
En la ilustración 6 se observa la estructura del
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023] prototipo en donde el sensor será el encargado de brindarnos información de la muestra y con ello se pueda llevar a entrenar los datos de una manera autónoma con un algoritmo capaz de predecir las categorías de crecimiento en los niños.
• Tiempo
• Años
• Meses
• Sexo
• Muestra1
• Muestra 2
• Muestra 3
• Muestra 4
• Muestra 5
• Percentil50
• Rango percentil
Estas variables son muy importantes ya que las necesitaremos para el cálculo de distancia de acuerdo con su fórmula:
Nuestro DAS está construido por el circuito del sensor, así como nuestra herramienta estadística que será Excel que nos ayudará a recabar los datos y además a realizar el cálculo de los percentiles50 ya que es un cálculo necesario al ser parámetros de altura de acuerdo con la OMS.
En la ilustración 5 se muestra que la obtención del resto de variables se guardara en Excel
Donde:
• L es la distancia
• T es el tiempo entre la emisión y la recepción
• C es la velocidad del sonido. (El valor se multiplica por 1/2 ya que T es el tiempo de recorrido de ida y vuelta). [8]
Para la programación del sensor se necesitará Arduino y el sketch de calcular distancias como se muestra en la ilustración 6.



Ilustración 7 DAS
Las variables que serán necesarias en nuestro documento son:
Ilustración 8 Sketch calcular distancias
Para la creación de nuestro archivo input en Excel:
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]
1. Abre Microsoft Excel y crea una nueva hoja de cálculo.
2. En la primera columna, escribe los nombres o etiquetas de las categorías.
3. En la segunda columna, a partir de la segunda fila, ingresa los datos que obtengas de la muestra.
4. Selecciona la columna de datos que deseas clasificar (incluyendo las etiquetas de las filas).
5. En la pestaña "Datos" en la cinta de opciones de Excel, haz clic en el botón "Ordenar".
Se debe ver como la tabla 1. Tabla 1 Variables Excel t Anio Meses Sexo S1 S2 S3 S4 S5 P50 tP
Donde:
• t: es el tiempo que se tomó la muestra
• anio: es los años de la muestra
• meses: es anio convertido en meses
• sexo: genero de la muestra
• S1, S2, S3, S4, S5: distancias de la muestra
• P50: Es el cálculo de S percentil50.
• tP:Es el rango delpercentilel cual va de acuerdo a la ilustración 9.
Es importante tener en cuenta que los percentiles proporcionan información sobre cómo se compara la longitud/altura de la niña con otras niñas de la misma edad [9].
En la tabla 2 se pueden apreciar estos rangos que servirán de acuerdo con el sexo de la muestra, así como sus meses cumplidos y la validación de estatura de acuerdo con los criterios anteriormente mencionados [10]
Ilustración 9 Rango de percentiles
Para la preparación de datos se va a tomar como parámetro las tablas de altura de acuerdo con la OMS para niñas ypara niños que su cálculo se basa de acuerdo con los percentiles de acuerdo con los meses y altura cumplida.
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]
Las tablas mencionadas son contempladas hasta los 60 meses, es decir hasta los 5 años tanto para hombre como mujeres [11].
El cálculo del rango será de acuerdo con el percentil que se encuentre con respecto a su altura, a su edad y a su sexo.
El cálculo es como se muestra en la ilustración 8.
Ilustración 10 Calculo percentil
Después de tener listo el archivo de inputs se inicia a crear los vectores para el entrenamiento de la neurona.
Continuando el desarrollo después de calcular los percentiles de cada niño se procede a tratar los datos en mathlab y en los comandos se crea los vectores de acuerdo con nuestras salidas, es decir que tendremos 5 vectores (lineal, exponencial, discontinuo e irregular). Y se crearan como se muestra en la ilustración 10.

El vector para el crecimiento exponencial es el de la tabla 4 que es de nuestro archivo de input y es de acuerdo a nuestro target,para poder definir en la red las caracteristicas que son un cr4ecimeinto exponencial.
Ilustración
Los datos para copiar son los de la tabla 3.
Después el vector 3
Después el irregular
Después de cargar los vectores se crean los targets
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023] con la matrizde 0 y 1 para poder identificar cada tipo de crecimiento como se muestra en la ilustración 12:
Ilustración 12 Target
La red en mathlab se muestra en la ilustración 13, donde están nuestras 11 entradas y en la capa oculta le pusimos 10 neuronas y se esperan nuestras 4 salidas.

Para el entreno se muestra el código siguiente, que después de varios intentos se logró entrenar la neurona considerablemente, con 10 neuronas,1000 iteraciones, con 90 datos de entreno y 10 de test. red=patternnet(10,'trainlm'); red.trainparam.epochs=(1000); red.trainparam.max_fail=100; red.trainparam.min_grad=1e-29; red.trainparam.mu=0.1; red.trainparam.mu_dec=0.1; red.trainparam.mu_inc=10; configure(red,input,targets); red.divideparam.trainratio=90/100; red.divideparam.valratio=5/100; red.divideparam.testratio=5/100; [red,tr]=train(red,input,targets)

VII. RESULTADOS
El entreno con 10 neuronas salió satisfactorio, de acuerdo con las 1000 iteraciones que realizo la neurona sin equivocarse, lo que se traduce que el grado de error es bajo, como se muestra en la ilustración 15.
Ilustración 13 Diagrama de neurona
Prototipo para el monitoreo de categorías de crecimiento mediante redes neuronales [2023]

En la ilustración 16 se muestra la matriz de confusión, dándonos un 100% de entrenamiento, es decir que no hubo errores al momento de entrenar la red.

Al igual en la ilustración 17 se ve que el error se mantuvo por debajo en las 1000 iteraciones que le definimos al inicio.
Para las pruebas se muestran la siguiente ilustración 18, donde ingresando datos a la red, nos dice a qué target característico pertenece.