Está en la página 1de 17

IDENTIFICACIÓN E IMPLEMENTACIÓN DEL FACTOR DE RIEGO EN LAS

PLANTAS USANDO TÉCNICAS DE MACHINE LEARNING EN PROCESADOR


ARM CORTEX M4 (

Brayan Stiven Rodriguez Cuervo1, María Fernanda Rodríguez Peña2, Javier Alberto
Chaparro Preciado3

Escuela Colombiana de Ingeniería Julio Garavito


1**

Bogotá, Colombia
brayan.rodriguez-c@mail.escuelaing.edu.co
0000-0002-5378-6313
Investigación y desarrollo

Escuela Colombiana de Ingeniería Julio Garavito


2**

Bogotá, Colombia
maria.rodriguez-pe@mail.escuelaing.edu.co
0000-0002-2262-7176
Investigación y desarrollo

3Escuela Colombiana de Ingeniería Julio Garavito


Bogotá, Colombia
Javier.chaparro@escuelaing.edu.co
Investigación, desarrollo y asesoría

______________________________
Abstract
The problem presented during the development of this article aims to identify the
irrigation factor in plants using machine learning techniques and then implemented in
hardware (ARM Cortez M4 Processor) capable of predicting this factor and activate the
irrigation system accordingly. The development includes, the use of classification techniques
and finally their application.

Keywords
Machine Learning, Irrigation factors, drip, sprinkler, micro-sprinkler, sorting techniques.

Resumen
El problema presentado durante el desarrollo de este artículo tiene por objeto la
identificación del factor de riego en las plantas haciendo uso de las técnicas de machine
learning para luego ser implementado en UN hardware (Procesador ARM Cortex M4) capaz
de predecir este factor y activar el sistema de riego según corresponda. El desarrollo incluye
un proceso de investigación, la recopilación de datos para la capacitación, el uso de técnicas
de clasificación y, por último, su aplicación.

Palabras clave
Machine Learning, Factores de riego, goteo, aspersión, microaspersión, técnicas de
clasificación.
1. INTRODUCTION en un sistema recae sobre la eficiencia y el
rendimiento que este tenga ante el
Estudios científicos demuestran que una tratamiento de los datos, razón por la cual
planta en condiciones ideales se encuentra varían los usos muchas veces según la clase
en un estado fisiológico óptimo gracias a sus de datos que se están analizando e incluso
procesos de autorregulación, sin embargo, debido a algunos comportamientos
cuando se rompe este equilibrio la planta estadísticos. Para el desarrollo de este
empieza a tener afectaciones en sus células proyecto se han utilizado todos los
que se ven reflejados en su rendimiento. [1] algoritmos anteriormente descritos, sin
Todos los procesos de dicho equilibrio embargo, la selección del algoritmo estará
son causados por varios factores; durante el dada por temas de eficiencia y exactitud en
desarrollo de este proyecto el enfoque se el tratamiento de los datos.
hará en dos delo los factores que más
afectan el desarrollo de la planta El primer paso para desarrollar los modelos
(Temperatura y humedad del suelo). Estos de predicción y machine learning es la toma
factores tienen repercusiones en el de los datos, para lo cual se hace uso de dos
desarrollo de la planta, especialmente en sensores: temperatura y humedad en suelo
relación con el tema del déficit o exceso (DHT11 y FC-28 respectivamente). Estos
hídrico, por tal motivo el principal objeto de datos son tomados durante 1 semana en un
estudio será evaluar los factores pequeño arbusto puesto en un jardín (Buxus
anteriormente descritos para automatizar Sempervirens) bajo condiciones de sol,
el proceso de riego en las plantas según su oscuridad, lluvia, neblina y sequía. Una vez
necesidad. obtenidos los datos se realiza un proceso de
normalización y filtración sobre los mismos
Se hará uso de las técnicas de machine para eliminar redundancias y datos
learning para clasificar el tipo de necesidad erróneos, luego de ello se realiza el proceso
hídrica que requiere una planta ante la de clustering para determinar
variación de los factores anteriormente características similares en los datos y
descritos. Las técnicas de machine learning posteriormente definir las clases y variables
son métodos analíticos que permiten que un predictoras requeridas en machine
sistema de forma automatizada descubra learning. Una vez se tienen definidas las
patrones, tendencias y relaciones en los características de los datos, inicia el proceso
datos, así los datos de entrada de un de uso de los algoritmos de machine
sistema son analizados para predecir learning para encontrar el método más
valores de salida dentro de un rango eficiente y exacto que permita determinar la
aceptable. [2] necesidad hídrica que requiere la planta en
tratamiento. Una vez se ha elegido el
Algunos de los algoritmos más usados método más eficiente para el conjunto de
para machine learning son: Clasificadores datos dispuestos, se procede a realizar la
KNN, Árboles de decisión, Clasificador de implementación del sistema de riego
Naive Bayes, Regresión lineal y logística, mediante la tarjeta programable Arduino
Máquinas de soporte vectorial, redes Nano 33 que utiliza un procesador Arm
neuronales y Perceptrón multicapa; todos Cortex-M4 [3] este hardware responde de
ellos utilizan distintos modelos manera eficiente al prototipado de máquina
matemáticos y estadísticos para guiar el inteligente, a través de dispositivos
aprendizaje automático. La selección del electrónicos realiza: la toma de datos
tipo de técnica de machine learning a usar
clasifica el factor de riego y predice la como inundación y sequía absoluta a
necesidad hídrica de la planta. diferentes temperaturas.

2. METODOLOGÍA

El riego de las plantas es uno de los


factores que más influyen en la vida de las
plantas, es una de las actividades más
simples para el cuidado de las plantas, sin
embargo, en muchos casos el riego no es Figura 1. Evidencia de la toma de datos en
solamente regarles o rociarles un poco de Buxus Semperiverens
agua; son varios los factores que inciden en
la cantidad y la forma en cómo se les Antes de realizar la caracterización del
suministra agua a las plantas. La sistema se han tomado los datos obtenidos
agricultura de riego sobre la cual trabaja durante toda la semana y sobre ellos se ha
este proyecto consiste en determinar el realizado un proceso de normalización y
suministro de la cantidad necesaria de agua filtración de datos para eliminar
en las plantas o cultivos mediante diversos redundancias y datos erróneos, obteniendo
métodos artificiales de riego (goteo, así un total de 183 datos en el Dataset.
microaspersión y aspersión). [4]
2.2 Caracterización
2.1 Dataset
Para la caracterización del sistema de
Para obtener el Dataset se utiliza un riego se realiza el proceso de clustering para
pequeño arbusto puesto en un jardín enlazar y definir características similares
(Buxus Sempervirens), en condiciones en cada una de las muestras.
normales, le hemos instalado dos tipos de Posteriormente se realiza un gráfico, ver
sensores, un sensor de temperatura Figura 2, de dispersión para visualizar las
DHT11 y un higrómetro (sensor de muestras tomadas para posteriormente
humedad) FC-28. Una vez conectados los definir las clases y variables predictoras
sensores se inicia la toma de datos a través requeridas en machine learning.
de un programa implementado en un
Arduino 1, el cuál entrega valores
correspondientes a la temperatura
ambiente y humedad en el suelo de la
planta.
Esta toma de datos se lleva a cabo durante
1 semana (realizando tomas cada 10
minutos), dejando la planta bajo
condiciones normales de iluminación
excesiva, iluminación moderada,
oscuridad, lluvia, neblina y sequía, ver
Figura 1. Para poder obtener la mayor Figura 2. Gráfico de dispersión Dataset
cantidad de datos que informen sobre el factor de Riego
estado de la planta, se han forzado estados
El tipo de riego que una planta requiere
Basándose en los patrones que presenta está dado por el porcentaje hídrico que el
la Figura 2 son planteados los sistema de riego seleccionado es capaz de
requerimientos para la utilización de los suministrar, este porcentaje hídrico está
métodos de machine learning, estableciendo dado por la Tabla 2.
así las variables predictoras y clases a las
que pertenece cada uno de los datos. Tabla 2. Porcentaje hídrico según el tipo de
Con lo anterior, se presentan las variables riego
predictoras y clases respectivas como: Riego por goteo 90 - 95%
Riego por microaspersión 85 - 90%
Variables predictoras: Humedad en el
suelo y Temperatura ambiente. Riego por aspersión 80 - 85%

Clases: Riego por goteo, Riego por Generalizando los patrones que se
aspersión y Riego por microaspersión. presentan en el gráfico de dispersión y
realizando el proceso de clustering, se
Según la necesidad hídrica de la planta presenta nuevamente la gráfica
se regula el nivel de agua al que debe delimitando las zonas para las cuales se
ponerse el sistema de riego, de tal manera está realizando la clasificación según las
que se pueden clasificar los tipos de riego variables predictoras.
según las variables predictoras (Esto a nivel
hardware está dado por un sistema de riego **En el eje X (Temperatura ºC)
que posee las tres técnicas de riego, cuya **En el eje Y (Humedad en suelo)
regulación viene dada por un software que
controla el acceso a cada técnica). FACTOR DE RIEGO
4
00
Una breve explicación acerca de la
influencia del tipo de riego en las plantas se
3
presenta en la Tabla 1. (CLASES). 00

Tabla 1. Tipos de riego en las plantas [5]


2
Riego por goteo 00
El agua es distribuida de manera
localizada en la planta, por gotas, a través 1
CLASIFICACION RIEGO
de goteros instalados en una manguera 10 20
Figura 3. Caracterización 0
30 y clasificación
de goteo conectada a una tubería de
distribución.
En la Figura 3. Se representan las
Riego por aspersión
clases anteriormente descritas, de manera
El agua es distribuida a través de
detallada cada clase representa:
aspersores, los cuales producen gotas de
agua de diferentes tamaños, imitando
- Verde: Riego por aspersión
una precipitación natural.
- Azul: Riego por microaspersión
Riego por microaspersión
- Amarillo: Riego por goteo
Es una modificación del sistema de
aspersión tradicional que permite
El tipo de riego está definido por el estado
asperjar el agua a poca distancia de la
en el que se encuentre la planta, Ver Tabla
planta y de manera localizada.
3.
Tabla 3. Descripción de necesidad hídrica en la mayoría de los datos que le rodean.
por cada tipo de riego Para encontrar la distancia más corta entre
Riego por goteo las múltiples observaciones se aplica la
Plantas en extrema sequía y humedad ecuación de la distancia Euclídea. [6]
media sometidas a altas temperaturas
requieren el mayor factor de riego (90 -
𝒏
95%).
Riego por aspersión 𝒅(𝑨, 𝑩) = √∑(𝑨𝒊 − 𝑩𝒊 )𝟐 (𝟏)
Plantas con suelo húmedo a 𝒊=𝟏

temperaturas altas requieren un factor


de riego medio (85% -90%). KNN al ser un algoritmo de aprendizaje
Riego por microaspersión supervisado, significa que previamente se
Plantas con suelo húmedo y con tendencia debe etiquetar el conjunto de datos de
a la sequía, sometidas a temperaturas entrenamiento con la clase esperada dada
bajas y medias requieren un factor de por cada fila de datos, en este caso,
riego mínimo (80 – 85%) para compensar aspersión, microaspersión y goteo.
los efectos de un alza de temperatura La desventaja que tiene KNN es que no
inmediatamente después de una fuerte puede aprender un modelo explícito, lo que
helada. hace es memorizar las instancias de
entrenamiento, las cuales forman la base de
Uno de los análisis estadísticos que se conocimiento para la fase de predicción. [6]
les realiza a los datos es el cálculo de la
media y desviación estándar para cada una 2.3.2 Clasificador de Naive Bayes
de las variables predictoras y para cada una
de las clases establecidas anteriormente Naive Bayes es un algoritmo muy bueno
Ver Tabla 4. para la clasificación basado en el teorema de
Bayes con una suposición de independencia
Tabla 4. Media y desviación estándar para entre los predictores, en realidad es muy
cada variable predictora sencillo, fácil de construir y
particularmente útil para conjuntos de
datos muy grandes.
TEMPERAT HUMEDAD EN
URA °C SUELO El clasificador asume que el efecto de una
característica particular en una clase es
𝑥̅ 𝜎 𝑥̅ 𝜎 independiente de otras características.
ASPERSIÓN 18,39 2,76 184,59 53,61 Incluso si estas características son
interdependientes, estas características se
MICRO 24,21 1,70 217,98 20,39
ASPERSIÓN consideran de forma independiente. Esta
GOTEO 24,60 3,58 319,02 47,28 suposición simplifica la computación, y por
2.3 Clasificadores eso se considera ingenua. Esta suposición se
denomina independencia condicional de
2.3.1 Clasificador KNN clase. [7]

Es un algoritmo basado en instancia de La fórmula del teorema de Bayes es:


tipo supervisado de Machine Learning. Es
un método bastante sencillo que 𝑷(𝑩⁄𝑨)𝑷(𝑨)
𝑷(𝑨⁄𝑩) = (𝟐)
esencialmente busca las observaciones más 𝑷(𝑩)
cercanas a la que está tratando de predecir
y clasifica el nuevo punto de interés basado Donde:
•P(A): Es la probabilidad de que la predictiva de la clase, se divide entonces en
hipótesis A sea cierta (independientemente grupos con distintos valores de esta
de los datos). característica formando de esta manera las
•P(B): Probabilidad de los datos primeras ramas del árbol. Posteriormente
(independientemente de la hipótesis). el algoritmo sigue dividiendo y creando
•P(A|B): Es la probabilidad de la hipótesis nodos que le permitan alcanzar un criterio
A dados los datos de B. de detención. [8]
•P(B|A): Es la probabilidad de los datos B
dado que la hipótesis de A era cierta. El árbol de decisión continúa dividiendo
indefinidamente las características y
La ecuación (2) es válida para una creando subconjuntos cada vez más
característica, como en este proyecto se pequeños, pero esto precede a un problema,
trabajan varias características se debe pues entre más grande sea el árbol, las
generalizar el teorema de Bayes, obteniendo decisiones que debe tomar para clasificar
la siguiente expresión: serán cada vez más específicas, y cuando se
realice un entrenamiento con los datos de
𝑷(𝑨⁄𝒃𝟏 , 𝒃𝟐 , . . , 𝒃𝒏−𝟏 , 𝒃𝒏 ) prueba, el modelo quedará sobre ajustado
= 𝑷(𝑨)𝑷(𝒃𝟏 , 𝒃𝟐 , . . , 𝒃𝒏−𝟏 , 𝒃𝒏 /𝑨) con estos datos de entrenamiento. Para ello
es necesario un proceso de poda que reduce
𝑷(𝑨⁄𝒃𝟏 , 𝒃𝟐 , . . , 𝒃𝒏−𝟏 , 𝒃𝒏 ) el tamaño del nodo para que generalice
𝒏
mejor los datos. Una manera de detener el
= 𝑷(𝑨) ∏ 𝑷( 𝒃𝒊 /𝑨) (𝟑) crecimiento del árbol es limitar de cierta
𝒊=𝟏 forma el número de decisiones, así se
garantiza que el árbol evite hacer trabajos
Como se tiene que clasificar 2 clases para innecesarios. Esto también es una
este trabajo del factor de riego, la ecuación desventaja, pues nada garantiza que el
(3) se debe usar tanto para las clases de árbol se pierda algún patrón importante. [9]
riego, aspersión y microaspersión, donde n
es el número de las características usadas Una alternativa, llamada post-poda,
(En este caso 3). [7] consiste en crear un árbol que sea
demasiado grande, luego usar criterios de
2.3.3 Árbol de decisión poda basados en las tasas de error en los
nodos para reducir el tamaño del árbol a un
El árbol de decisiones en esencia es un
nivel más apropiado. Este es a menudo un
diagrama de flujo, con una amplia
enfoque más efectivo que la poda previa
aplicabilidad, aunque no tienen un ajuste
porque es bastante difícil determinar la
ideal si los datos tienen un gran número de
profundidad óptima de un árbol de decisión
características, esto genera una cantidad
sin hacerlo crecer primero.
enrome de decisiones y la complejidad del
árbol sería alta. 2.3.4 Máquinas de soporte vectorial
Los árboles de decisión se crean utilizando La máquina de soporte vectorial usada
una heurística llamada partición recursiva, para clasificar los datos se basa en un
la cual va dividiendo los datos en método de modelamiento de planos en
subconjuntos de las características cada vez hiperplanos que distinguen de forma
más pequeños de clases similares. Todo equidistante a los datos clasificados en
comienza con el nodo raíz (representa el distintas dimensiones, de esta manera los
conjunto de datos completo), el algoritmo datos quedan distribuidos
escoge una característica que es la más
homogéneamente a raíz de dichas 2.3.5 Red Neuronal
particiones.
Las redes neuronales utilizan conceptos
Por ejemplo, en un espacio de 2 dimensiones tomados de una comprensión del cerebro
un hiperplano es un subespacio plano de humano para modelar funciones
una sola dimensión, o lo que es lo mismo, arbitrarias. Las máquinas de soporte
una línea, definida por la ecuación lineal: vectorial utilizan superficies
multidimensionales para definir la relación
𝜷𝟎 + 𝜷𝟏 𝑿𝟏 + 𝜷𝟐 𝑿𝟐 = 𝟎 (𝟒) entre características y resultados.

El algoritmo escoge el mejor plano Las ANN (red neuronal artificial) se pueden
posible buscando que exista el mayor aplicar en tareas de: clasificación,
margen de separación entre las clases a predicción numérica, reconocimiento de
dividir ya que es muy probable que la línea patrones no supervisado. Se aplican mejor a
(o el plano) con mayor margen conduzca a las situaciones donde los datos de se
una clasificación más acertada en el futuro. especifican bien la entrada y de salida, la
Dentro de este clasificador, existen los parte compleja se encuentra entre estos dos
vectores de soporte, que son aquellos puntos puntos. Es por ello que la capacidad de una
que están sobre el límite de los planos de red neuronal para aprender está enraizada
división, usando estos vectores es que se en su topología, o en los patrones y
define el MMH (maximal margin estructuras de las neuronas
hyperplane). interconectadas. Las tres características
Sin embargo, como es de esperarse, los clave en las ANN son: el número de capas,
datos en la vida real no son fácilmente verificar si la información en la red puede
separables, es por esto por lo que el viajar hacia atrás y el número de nodos
algoritmo también es capaz de reconocer a dentro de cada capa de la red.
los datos “mal clasificados” que están del
otro lado del plano de separación y les En general las redes neuronales son
asigna un costo que sirve también para alimentadas por la señal de entrada
escoger plano con el máximo margen dirigiéndose en una dirección continua de
posible. conexión a conexión hasta llegar a la salida,
este tipo de red se denomina red de avance.
Una de las características más importantes A pesar de la restricción en el flujo de
de los SVM es que son multidimensionales, información, las redes feedforward ofrecen
puesto que el comportamiento de los datos una sorprendente cantidad de flexibilidad.
en la vida real no se acomoda a una relación Por ejemplo, el número de niveles y nodos
lineal y gracias a esta característica, los en cada nivel se puede variar, se pueden
datos se modelan como si lo fueran. A estos modelar múltiples resultados
métodos de linealización se les llama simultáneamente. Ver Figura 4.
Kernel. La clasificación de los datos se hizo
probando la SVM con los distintos Kernel,
entre ellos: lineal, radial, polinomial e
hiperbólico, y de esta manera obteniendo
información de cuál clasificó mejor los
datos. Es importante mencionar que los
datos del Dataset se acondicionaron para
obtener el mejor rendimiento de los SVM
(normalización). [10]
Figura 4. Modelo de red Neuronal

𝑵
Figura 5. Red Neuronal factor de riego

𝑵𝒆𝒕𝒋 = ∑ 𝒙𝒊 𝒘𝒊𝒋 + 𝜽𝒋 (𝟓) 2.3.6 Regresión Logística Multivariable


𝒊=𝟏

Las regresiones en general consideran


En la ecuación (5) se representa la
la relación que existe entre una variable
manera de calcular las entradas de la red
numérica con una o más variables
neuronal cuyo modelo básico se puede ver la
numéricas dependientes o independientes.
(Figura 4). Por lo general, la red neuronal
La regresión logística es un método de
debe aprender todo el conjunto de patrones
regresión que relaciona una variable
de entrenamiento y por ello no debe
cualitativa binaria con una o más variables
entrenarse utilizan do un error local, sino
cuantitativas. En este caso, utilizamos esta
que el aprendizaje se hace en términos de
bondad de la regresión logística ya que la
un error global. En la siguiente ecuación
clasificación de los datos de tos se puede
definimos el error cuadrático medio:
expresar de manera binaria. [12]
𝑷 𝑵
𝟏 (𝒌) (𝒌) 𝟐 La regresión logística permite modelar los
𝑬𝒓𝒓𝒐𝒓 = ∑ ∑ (𝒚𝒋 − 𝒅𝒋 ) (𝟔)
𝟐𝑷 datos no linealmente sino con una función
𝒌=𝟏 𝒋=𝟏
cuyo rango siempre está entre 0 y 1.
Una de las funciones más usadas en casos
Donde:
como este es la función sigmoide (Ecuación
• N: Número de neuronas en la capa de
7).
salida. 𝟏
• P: Número de patrones de entrenamiento. 𝝈(𝒙) = (𝟕)
𝟏 + 𝒆−𝒙
[11]
Este modelo se basa en asignar una
En la Figura 5, se muestra el diagrama que probabilidad (valor de la función) al
corresponde a la red neuronal propuesta clasificador en donde discriminará unos
para el sistema en mención; para este caso datos de otro y finalmente los clasificará
los pesos y kernel se obtienen del programa según su nivel de probabilidad. Por lo cual
usando las librerías de Sk. Learn y sobre una vez estimados los coeficientes del
esos valores se realizan manualmente las modelo logístico, es posible conocer la
funciones RELU y Sigmoide probabilidad de que la variable dependiente
correspondientes para cada capa de entrada pertenezca al nivel de referencia, dado un
y salida respectivamente. determinado valor del predictor. Para ello
se emplea la ecuación del modelo mejor rendimiento será del que se
(Ecuación 8): implementará en hardware, tal y como se
ha mencionado en el título de este artículo.
̂ ̂
𝟏 𝒆𝜷𝟎+𝜷𝟏𝒙
̂ (𝒀 = ) =
𝒑 (𝟖) Los resultados que se encuentran a
𝑿 𝟏 + 𝒆𝜷̂𝟎+𝜷̂𝟏𝒙
continuación corresponden al rendimiento
Haciendo uso de las ecuaciones de presentado para los datos con cada uno de
aplicación para el clasificador de regresión los clasificadores.
multivariable y tomando los valores de 𝛽
que resultan de los algoritmos, se muestran 3.1 Matriz de confusión
en la Figura 6 las ecuaciones
correspondientes para el método. En el campo de la inteligencia artificial
y en especial en el problema de la
clasificación estadística, una matriz de
confusión es una herramienta que permite
la visualización del desempeño de un
algoritmo que se emplea en aprendizaje
supervisado. [13]

3.1.1 Clasificador KNN

Figura 6. Ecuaciones clasificador de


regresión logística

3. RESULTADOS 3.1.2 Clasificador de Naive Bayes

Si bien es cierto los algoritmos de


machine learning son aplicables a cualquier
conjunto de datos, una de las etapas más
importantes para obtener un sistema de
procesamiento y clasificación automático
eficiente corresponde a el estudio de la
precisión de cada uno de los métodos, junto 3.1.3 Árbol de decisión
con su matriz de confusión, la cual permite
visualizar el desempeño de cada uno de los
algoritmos. En la matriz de confusión se
representan el número de predicciones de
cada clase respecto a las instancias o
elementos “bien clasificados” en la clase que
corresponde.
3.1.4 Máquinas de soporte vectorial
Los dos elementos anteriormente
mencionados permiten comparar el
rendimiento de todos los clasificadores,
definir el clasificador con el mejor
desempeño. Finalmente, el clasificador con
3.1.5 Red Neuronal (MLP) 3.1 Implementación

Una vez realizado el proceso de


validación y entrenamiento con cada uno de
los clasificadores anteriormente
enunciados, se procede a realizar la
implementación por hardware del sistema
de riego. Eligiendo según la validación el
3.1.6 Regresión Logística Multivariable clasificador de Regresión Logística
Multivariable (siendo el clasificador con
mejor desempeño).

Los resultados para el clasificador de


regresión logística multivariable (RLM) se
muestran a continuación:
3.1 Desempeño de los clasificadores
Tabla 6. Desempeño del clasificador RLM
La Tabla 5 muestra la exactitud que
tuvieron cada de uno de los clasificadores Clasificador Exactitud
para entregar los resultados requeridos Regresión Logística
para cada tipo de clase según Multivariable 100%
correspondiese.

Tabla 5. Desempeño de los clasificadores


Clasificador Exactitud
Clasificador KNN 94%
Clasificador Naive Bayes 96%
Árbol de Decisión 99,20% 3.1.1 Hardware
Máquina de Soporte 49%
Vectorial Utilizando el entorno de programación
Red Neuronal (MLP) 96% de Arduino IDE, y el microprocesador
Regresión Logística mencionado al inicio de este artículo
Multivariable 100% (Arduino Nano 33 Ble Sense) Figura 7, se
realiza la programación del clasificador en
3.1 Validación de los datos lenguaje C++.

Haciendo un estudio sobre el desempeño


de cada uno de los clasificadores, resulta ser
el clasificador de Regresión Logística
Multivariable el que mejor desempeño
presenta; con un rendimiento del 100% y
una matriz de confusión perfecta
(clasificando al 100%) se elige como el
clasificador estrella de todo el proceso de la
Figura 7. Arduino Nano 33 Ble Sense
aplicación de los algoritmos de machine
learning.
Tomando como referencia los valores de
𝛽 (Entregados por la librería utilizada para
técnicas de machine learning en Python
scikit-learn), dispuestos al programar el declarados en software como salidas del
clasificador en Python se caracterizan las microcontrolador, mientras que a nivel de
ecuaciones matemáticas para hardware simbolizan cada clase como se
posteriormente ser programadas en el evidencia a continuación.
microcontrolador.
Tabla 7. Colores LEDs
Aspersión
Microaspersión
Goteo

Ahora bien, una vez establecidos en el


software las variables predictoras
(temperatura y humedad) y las clases
(Aspersión, Microaspersión, Goteo), se
Figura 8. Ecuaciones resultantes del procede a realizar en el programa el proceso
clasificador RLM
de clasificación. Cómo tal el clasificador por
regresión logística multivariable utiliza la
El principal objetivo de la implementación
relación matemática descrita en las
en hardware del sistema de factor de riego
ecuaciones (Figura 8) para calcular la
es verificar el funcionamiento del
probabilidad estadística resultante para
clasificador con datos tomados
cada clase. Ahora para realizar el proceso de
directamente de los sensores.
clasificación del sistema de riego a entradas
diferentes a las del Dataset, se realiza una
Una vez se programan las ecuaciones
rutina de programación en la que se elija la
base del clasificador, se procede a relacionar
probabilidad mayor calculada de las
las variables 𝑋1 𝑦 𝑋2 con los valores de
ecuaciones de la regresión logística
entrada de los sensores, temperatura y
multivariable, luego al establecer la
humedad en suelo respectivamente. Para
probabilidad mayor el programa realiza
ello, en el software se declaran las variables
automáticamente la clasificación, lo cual es
a usar y en el hardware se realizan las
propiamente el objetivo del machine
conexiones respectivas con el
learning.
microcontrolador.
Durante el proceso de entrenamiento de
la máquina se utilizó el Dataset, bajo esos
datos el clasificador y el sistema responde
de manera adecuada, toda vez que sobre
dichos datos se realiza el entrenamiento y el
cálculo matemático del clasificador
seleccionado.

Figura 9. Conexiones microcontrolador y


Ahora para el proceso de validación (con
sensores datos tomados en tiempo real), se debe
verificar la clasificación correcta del
Además de los sensores que se sistema. Para ello, el hardware debe ser
evidencian en la Figura 9 se tienen 3 leds, probado sobre una planta sometida a
los cuáles simbolizan las clases condiciones ideales de temperatura y
correspondientes al factor de riego; dichas humedad, tal y cómo se realizó al inicio del
salidas (leds, ver Tabla 7) también son proceso para la aplicación de los métodos de
machine learning; es decir durante la
conformación del Dataset.

Como se muestra en la Figura 10 los


sensores conectados en el microcontrolador
se colocan sobre la planta para iniciar el
proceso de validación. El sensor de
temperatura debe permanecer en un lugar
estratégico para que capte de manera
correcta los datos, mientras que el sensor de
Figura 12. Validación datos clasificados
humedad se introduce en el suelo de la
como ASPERSIÓN
planta para que al igual que el sensor de
temperatura capte de manera correcta los
datos.

Brayaaaaaaaaaaaaaaaaaaan

3.1.1 Validación Hardware

Para realizar la validación del


Figura 11. Validación datos clasificados
desempeño del clasificador, se realiza la
como MICROASPERSIÓN
toma de 50 datos que en condiciones
normales el clasificador de regresión
logística analiza, procesa y clasifica.

Haciendo un análisis de los datos en


Excel para verificar que los datos
medidos cumplan con los rangos
establecidos para cada una de las clases,
se realizan nuevamente los gráficos de
dispersión para comparar los datos
Figura 10. Validación de datos
medidos por los sensores con la
clasificados como GOTEO
caracterización del Dataset.
De los anteriores datos (Figuras 11,12,13)
se puede observar que los datos tomados por
el hardware implementado cumplen con los
rangos establecidos para cada una de las
clases en consideración (Aspersión,
microaspersión y goteo).
Ahora contrastando cada uno de los datos
en un gráfico de dispersión que contiene
cada una de las clases se evidencia la
tendencia para los datos que se ve a
continuación. (Ver Figura 14)
valorizarlos con tal de obtener los valores
requeridos.
Para la extracción de características del
sistema ha sido necesaria la correcta
manipulación de los datos, así pues, con el
uso del gráfico de dispersión (que para este
caso ha ayudado a la rápida identificación
de características) se ha facilitado en su
mayoría el reconocimiento de patrones
similares para temperatura y humedad en
Figura 13. Validación de los datos tomados la planta de tratamiento. Una vez
por los sensores respecto a los datos usados en identificados los patrones del conjunto de
el entrenamiento
datos, se inicia el proceso mediante el cual
se realizan las predicciones con datos de
De lo cual se infiere que el entrenamiento. Cabe decir que para el
clasificador implementado en el proceso de establecimiento de las
hardware funciona de manera eficiente, características se han tomado referencias
tal y como se planeaba, aunque los datos bibliográficas como las adjuntas en este
frente a los cuales se está realizando la documento.
validación son pocos el resultado de la En su mayoría el uso de las técnicas de
clasificación de estos se encuentra machine learning para el conjunto de datos
dentro de los límites establecidos. en tratamiento ha sido eficaz, esto quizá por
la facilidad que han tenido desde el
principio los datos para ser clasificados,
El rendimiento del clasificador y del
obviamente algunos métodos responden
hardware para los 50 datos mejor que otros, esto por la complejidad de
experimentales tomados sobre la planta sus modelos matemáticos para el cálculo de
es de al menos un 95%. las probabilidades.
Para una validación más profunda de
los datos se debe contar con la El método elegido (por su alto
verificación de las características y desempeño, Regresión Logística
clases a manos de un profesional en el Multivariable) ayuda a predecir clases
tema que determine la correcta binarias, y dadas las circunstancias del
clasificación a partir de la inferencia de sistema en tratamiento, por su
las condiciones ambientales en las simplicidad y por la cantidad de
plantas y su respectiva necesidad variables predictoras (2 clases)
hídrica. establecidas, se hace mucho más fácil de
utilizar y esto ciertamente se ve
evidenciado alrededor de cada uno de los
4. ANÁLISIS procesos de clasificación adjuntos en
este documento.
Uno de los pasos elementales al
momento de caracterizar las señales es la
“La regresión Logística es uno de los
normalización de los valores que provienen
algoritmos de Machine Learning más
de los sensores, toda vez que estos son
simples más simples y utilizados para la
valores digitales, para lo cual se hace
clasificación de dos clases.” [14]
indispensable tratar las señales y
La caracterización de las señales se hace
desde la revisión de los patrones 5. CONCLUSIONS
encontrados en el conjunto de datos; ya para
el caso de la validación de los datos Es importante identificar el factor de
obtenidos de los sensores en tiempo real se riego en las plantas, esto porque muchas
requiere de un experto en el tema de las veces se excede o se limita la necesidad
plantas, para verificar si efectivamente la hídrica en ellas y puede hacer que se
clasificación y caracterización está bien presenten daños en la planta.
realizada y si finalmente el sistema de
identificación del factor de riego está bien El uso de técnicas de machine learning
entrenado o no. Para el caso de una hace del sistema de riego un método más
implementación mucho más robusta e eficiente para su aplicación, mejora las
incluso con actuadores como bombas de condiciones del riego en las plantas y
agua y electroválvulas para controlar el facilita el control el tiempo real de la planta,
nivel hídrico y efectivamente entregar el además que provee de un sistema
porcentaje de agua requerido para cada inteligente y automático que permitiría sin
clase (Aspersión, microaspersión y goteo) se necesidad de un experto realizar las tareas
requiere el análisis y el apoyo de un experto, de riego. A una escala mucho más grande el
toda vez que en una aplicación de mayor sistema de riego haciendo uso de las
magnitud no sólo se requiere exactitud en el técnicas de machine learning podría
método utilizado en machine learning, sino aplicarse en cultivos, para regular el
que también se requiere alta precisión para porcentaje hídrico que estos requieren a
el tratamiento de la planta o el cultivo en partir de varios factores ambientales.
relación con las propiedades físicas tales También un trabajo futuro para este
como nutrientes, exceso de riego, e incluso proyecto podría tener la inclusión de
otros factores que afectan tanto física e actuadores tales como electroválvulas y
internamente una planta o un conjunto de bombas de agua para regular los niveles de
plantas. hídricos y ejecutar como tal el proceso de
Por último teniendo como base la riego según la clase (aspersión,
implementación del sistema con el método microaspersión y goteo) que resulte del
de regresión logística multivariable, proceso de validación y entrenamiento de la
también se podría agrupar e incluir otro máquina.
tipo de variables predictoras que
permitirían de una manera u otra ser Aunque todos los clasificadores
mucho más minucioso con el estado de la presentaron alto rendimiento, el que mejor
planta y la cantidad de agua requerida, así desempeño presentó fue el de regresión
para aplicaciones futuras se podrían tener logística multivariable, esto podría deberse
en cuenta otro tipo de variables, como por a la cantidad de variables predictoras que se
ejemplo la luminosidad, cantidad de tuvieron en cuenta para la implementación
nutrientes en el suelo, humedad relativa, del sistema de factor de riego.
condiciones de la raíz del tallo, entre otros
aspectos para la caracterización de las Normalizar y categorizar los datos se
señales, aunque para la inclusión de nuevas hace también importante para la
variables predictoras podría resultar mejor conformación del Dataset, aunque también
el desempeño de otro tipo de clasificador, lo hay que tener en cuenta que no todos los
que habría que evaluar nuevamente junto datos que proveen los sensores son
con los demás clasificadores para correctos, por tanto, hay que revisar
posteriormente elegir el que mejor minuciosamente los datos y eliminar los que
desempeño presente.
se encuentran por fuera los rangos 0(IA,inel
normalizados y teóricamente correctos. udibles%20en%20el%20contex
to%20act
Se pudo también haber implementado el ual.&text=En%20su%20forma
método de clasificación por árboles de %20m%
decisión, quien también obtuvo un C3%A1s%20b%C3%A1sica.
desempeño alto, sin embargo, por razones [Último acceso: 19 11 2020].
de simplicidad en la implementación en [3] «Arduino STORE,» [En línea].
Arduino IDE desde cero se prefirió realizar Available:
la implementación del clasificador por https://store.arduino.cc/usa/na
regresión logística multivariable. no-33- ble-sense. [Último
acceso: 18 11 2020].
Sobre los 50 datos que se tomaron para
[4] C.Irrigaziones, «Edagrícola
realizar la validación del hardware se
1970,» [En línea]. Available:
obtuvo un rendimiento alto tanto del
https://es.wikipedia.org/wiki/R
hardware como del clasificador de regresión
iego#:~:t
multivariable, probablemente con la toma
ext=Actualmente%2C%20se%
de muchos más datos para la validación
20utiliza. [Último acceso: 18 11
puede que disminuya el desempeño del
2020].
clasificador teniendo en cuenta los datos
erróneos que se pueden presentar durante [5] «Fao.org,» [En línea].
la medición, sin embargo, para una primera Available:
prueba el resultado fue eficiente y cumple http://www.fao.org/3/aj470s/aj
con el objetivo para el cuál se realizó el 470s02.p df.. [Último acceso: 1
proyecto. 9 2020].
[6] Na8, «Clasificador con K-
Nearest-Neighbor,» [En línea].
7. REFERENCIAS BIBLIOGRÁFICAS Available:
https://www.aprendemachinel
earning.c.. [Último acceso: 19 9
2020].
[1] N.C.M, «Intagri S.C,» [En [7] L.González, «Naive Bayes,» 10
línea]. Available: 9 2019. [En línea]. Available:
https://www.intagri.com/articu https://ligdigonzalez.com/naive
los/nutri ci%20on- -bayesteoria-machine-
vegetal/estres-vegetal-parte-1- learning/. [Último acceso: 18 11
estres-%20por-altas- 2020].
temperaturas. [Último acceso: [8] A. M. Learning,
11 9 2019]. «sitiobigdata.com,» [En línea].
[2] R.PAD, «apd.com,» 04 04 2019. Available:
[En línea]. Available: R.APD, https://sitiobigdata.com/2019/1
«apd,» 04 04 2019. [En línea]. 2/14/arbol-de-decision-en-
Available: machine-learning-parte-1/#.
https://www.apd.es/algoritmos [9] L.Moscovitz. [En línea].
-del- machine- Available:
learning/#:~:text=Conceptos% http://www.konradlorenz.edu.c
20como% o/images..
20inteligencia%20artificial%2
[10] C.Martínez. [En línea].
Available:
https://rpubs.com/Cristina_Gil/
SVM..
[11] N.Anzola, «Máquinas de
soporte vectorial y redes
neuronales artificiales,»
USD/COP, 2015. [En línea].
[12] 2. J. Rodrigo. [En línea].
Available:
https://www.cienciadedatos.ne
t/docume..
[13] [En línea]. Available:
https://es.wikipedia.org/wiki/M
atriz_de_confusi%C3%B3n#:~:
text=En%20el%20campo%20d
e%20la,se%20emplea%20en%2
0aprendizaje%20supervisado.
[14] M.L.Blog, «AprendeIA,» [En
línea]. Available:
https://aprendeia.com/regresio
n-logistica-multiple-machine-
learning-
teoria/#:~:text=La%20Regresi
%C3%B3n%20Log%C3%ADsti
ca%20es%20un,objetivo%20es
%20de%20naturaleza%20dicot
%C3%B3mica.&text=La%20Re
gresi%C3%B3n%20Log%C3%
ADstica%20es%20uno,la%20cl
asificaci%C3%.
[15] H. F. Bermúdez Orozco, S.
Botero y M. Gómez Mina,
«Construcción y evaluación de
un dipolo en la banda de 2.4
GHz utilizando tecnología de
microcinta,» Scientia et
Technica, vol. 1, nº 44, pp. 25-
30, 2010.

También podría gustarte