Está en la página 1de 5

1

Cardenas R, Pachon N, Rojas L – Laboratorio 7 Clasificación uno contra todos, PIB – Universidad El Bosque

CLASIFICACIÓN UNO CONTRA TODOS


(Abril 29 de 2020)
Ronald Sebastian Cardenas Prieto - rscardenas@unbosque.edu.co
Nicolas Pachon Diaz – npachondi@unbosque.edu.co
Lina Maria Rojas Zarate – lrrojas@unbosque.edu.co

I. INTRODUCCIÓN

En este laboratorio se implementara un modelo de clasificación múltiple del tipo uno contra todos basado en modelos de
regresión logística. Este tipo de modelo es capaz de definir límites de decisión lineales pero se pueden transformar las entradas
para lograr límites más complejos.

La regresión logística se utiliza para predecir la probabilidad de una variable dependiente categórica basada en una o más
variables independientes. En la regresión logística, la variable dependiente es una variable binaria (1-clase positiva y 0-clase
negativa). Este modelo es utilizado ampliamente a pesar de que existen algoritmos más avanzados y profundos como las redes
neuronales, debido a que es eficiente y no requiere numerosos recursos computacionales [1].

Es necesario considerar algunas características del algoritmo para su correcta ejecución:

● Variable de salida binaria.


● Distribución gaussiana.
● Eliminar entradas correlacionadas.

La clasificación de uno contra todos consiste en asignar 2 clases (0 o 1) al conjunto de clases presente, esto quiere decir que un
grupo se seleccionará como 0 y el resto de clases como 1, iterando el número de veces como número de clases exista tal como
se observa en la imágen siguiente.

Figura 1. Método uno contra todos [2].

Adicionalmente se implementará el factor de Regularización y se analizará su efecto sobre la clasificación.

II. METODOLOGIA
2
Cardenas R, Pachon N, Rojas L – Laboratorio 7 Clasificación uno contra todos, PIB – Universidad El Bosque

La metodología propuesta para la resolución de este laboratorio es la siguiente: Primero debe cargar los datos en
entrenamiento y validación en el archivo wine. mat

1. Cargar los datos del laboratorio en el archivo iris.mat.


2. Implementar la función sigmoide correspondiente a la hipótesis de la regresión logística como:

function h = hipoLog (z)


donde:

1
h(Ө)=
1+ e−1
3. Implementar la función de coste de la regresión logística. Esta función debe devolver tanto el coste como el valor del
gradiente de la función de coste. El gradiente servirá para actualizar los parámetros theta. La función de coste debe
tener en cuenta un término de regularización para evitar el sobreajuste del algoritmo. La definición de la función en
Matlab se debe implementar de la siguiente manera:

function [J, grad] = CosteRL(theta, X, y, lambda)

4. Implementar la función

function [THETA] = UnovsTodos(X, y, num_clases, lambda, alpha, num_iters)


para entrenar los parámetros THETA utilizando la función gradienteDescendente.mat implementada en laboratorios anteriores.
Tenga en cuenta que desde esta función debe hacer apropiadamente el llamado a la hipótesis y la función de coste de la
REGRESIÓN LOGÍSTICA, no debe confundirse con la hipótesis y la función de coste de la regresión lineal! Recuerde que el
algoritmo Uno contra Todos hace un clasificador para cada una de las clases (ver diapositivas) por lo tanto hay que entrenar un
conjunto de parámetros theta para cada clase. En la función, X la matriz de entrada y y es el vector de clases de pertenencia de
la matriz X que contiene tanto la clase positiva como la negativa (recordar que es una clasificación binaria). lambda es el factor
de regularización para evitar el sobreajuste del modelo Para poder comparar con el siguiente punto, puede fijar el número de
iteraciones en 5.000 y el alpha en 0.1 La salida de esta función THETA es una matriz de dimensión número de entradas +1 ×
número de clases

5. Implementar la función

function [THETA] = UnovsTodosOptim(X, y, num_clases, lambda).


Esta función es una forma alternativa de entrenar los parámetros theta para asignar la pertenencia a cada una de las clases. En
este caso, la actualización de los parámetros se hará con la función fmincg (gradiente conjugado), una función de optimización
similar al algoritmo del gradiente descendente pero mucho más eficiente. A continuación se describe como se hace el llamado
a esta función:

theta= ...
fmincg(@(t)(CosteRL(t, X, yk, lambda)), theta0, op);

Nótese que la función de coste del punto anterior se invoca directamente en el llamado a la función fmincg. En este caso, t es la
variable a ser actualizada (es decir, los parámetros), los demás parámetros son los descritos anteriormente.
Por último theta0 es el vector inicial de theta, y op es un conjunto de opciones que debe ser cargado desde la variable
opciones_opt proveída con los archivos para la realización de este laboratorio. Se debe cargar de la siguiente manera: load
'opciones_opt.mat';

6. Implementar la función

function clase = AsignarClase (THETA, X). Esta función asigna la pertenencia de cada una de las observaciones de la matriz X a
una de las clases, utilizando los parámetros óptimos THETA. Recuerde que la obervación x(i) pertenece a la clase con mayor
probabilidad de salida Para esta función puede utilizar la función ‘max’ de Matlab. Para ver su funcionamiento, puede digitar
desde la línea de comandos la instrucción help max
3
Cardenas R, Pachon N, Rojas L – Laboratorio 7 Clasificación uno contra todos, PIB – Universidad El Bosque

7. Finalmente calcule el rendimiento del modelo. Por simplicidad puede calcularlo en términos del porcentaje de aciertos
(PA) pero recuerde que ante una clasificación multiclase, otro tipo de medidas son mejores (S, P, índice F por ejemplo)

¿ 𝑡𝑜𝑡𝑎𝑙 𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑐𝑖𝑜𝑛𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑎𝑚𝑒𝑛𝑡𝑒 𝑐𝑙𝑎𝑠𝑓𝑖𝑐𝑎𝑑𝑎𝑠


PA =
¿ 𝑡𝑜𝑡𝑎𝑙 𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑐𝑖𝑜𝑛𝑒𝑠
8. Compare los algoritmos de los numerales 4 y 5. Para este propósito debe considerar un valor de lambda de 0 (es decir,
sin regularización). A este respecto debe analizar el error final para cada uno de los tres modelos tanto para la
optimización por el algoritmo del gradiente descendente como para el algoritmo del gradiente conjugado. En su
código debe calcular el tiempo de máquina empleado por una u otra función para obtener los parámetros óptimos
(puede dirigirse a la ayuda de Matlab para encontrar una función que le ayude a calcular este tiempo). En cada caso
cual es el error final que se obtiene? Qué implicaciones tiene sobre el PA? Cabe destacar algo mas? Nota: al reportar el
tiempo de máquina debe añadir la información del procesador que se utiliza para los cálculos
9. Varíe el parámetro de regularización lambda según los siguientes valores: lambda = {0, 0.1, 1, 2, 3, 5}. Y entrene y
valide para todas las observaciones. Qué observa en cuanto al PA? Que pasaría en cada caso ante una observación
nueva?

III. RESULTADOS

Figura 1. Iteraciones del modelo optimizado

Figura 2. Tiempo de respuesta del modelo no optimizado y optimizado.


4
Cardenas R, Pachon N, Rojas L – Laboratorio 7 Clasificación uno contra todos, PIB – Universidad El Bosque

Figura 3. Variación del parámetro de regularización lambda y el porcentaje de acierto para cada Λ.

Λ 0 0.1 1 2 3 5

No Optimizado 33% 52% 46% 27% 28% 60%

Optimizado 33% 31% 33% 30% 35% 35%


Tabla 1. Valores de Porcentajes de acierto (PA), para cada lambda (Λ)

IV. ANÁLISIS DE RESULTADOS

De acuerdo a los resultados obtenidos se aprecia valores de respuesta de la maquina similares para los dos clasificadores, con
el clasificador no optimizado es de 0.33333 de PA con un tiempo de 0.375 segundos mientras que con el clasificador
optimizado es de 0.33333 de PA con tiempo de 0.25 segundo, lo que evidencia la claramente un mejor tiempo y una eficiencia
superior al clasificador optimizado.

Realizada la implementación con los métodos de entrenamiento para los dos clasificadores utilizados, se encontraron los
siguientes resultados que se evidencian en las figuras de la 1 a la 3 y en la tabla 1. En donde se varió el parámetro de regulación
lambda por los expresados en la guia de laboratorio, obteniendo los porcentajes de aciertos que se encuentran en la tabla 1.
para los diferentes clasificadores (no optimizados - optimizados), se evidencia que para la clasificación optimizada los valores
de lambda no son predominante ya que sus valores son estables siempre, para la clasificación no optimizada se evidencia
valores de lambda predominante, por otra parte los resultados arrojaron un valor mayor para el clasificador no optimizado
cuando lamba era 0.1 y 5, en los otros valores tuvo una tendencia a reducir el valor del clasificador, según la literatura, esto se
debe al aumento del valor de la regularización siendo el mayor el coeficiente de aprendizaje, el porcentaje de aciertos
disminuye ya que se “devuelve” el gradiente causando más error en modelo por esto es que cuando es menor o igual el
coeficiente de aprendizaje a la regularización el porcentaje de acierto es mayor y posee menor error [3]. Según los valores
obtenidos se puede evidenciar que el clasificador no optimizado se logra diferencias más, asimismo los valores de lambda de
0.1 y 5 son los que ofrecen una buena clasificación ya que son los dos valores como mayor porcentaje de acierto com 52% y
60%.

V. CONCLUSIONES

● El Clasificador sin optimización con un lambda de 5 ofrece una mejor clasificación ya que es el que presenta el mayor
porcentaje de aciertos con un valor de 60% aproximadamente.
● En términos de eficiencia el clasificador optimizado es superior, debido a que se demora 0,125 segundos menos que el
clasificador no optimizado.
● Se observa que independiente del número de iteraciones realizadas el porcentaje de aciertos no se verá afectado.
5
Cardenas R, Pachon N, Rojas L – Laboratorio 7 Clasificación uno contra todos, PIB – Universidad El Bosque

● Un lambda ideal es igual o cercano a cero, ya que lamba muy alto hace que los datos no converjan o no llegue a un
punto mínimo.
VI. REFERENCIAS

[1] L. González, “Aprendizaje supervisado: Logistic Regression”, 2018.

[2] Monica Rojas M. Clasificación uno contra todos UNIVERSIDAD EL BOSQUE CENTRO DE DESARROLLO TECNOLÓGICO
FACULTAD DE INGENIERIA (2020).

[3]Arada Pérez, N. (2017). Business Support System. Retrieved 11 May 2020, from
http://uvadoc.uva.es/bitstream/handle/10324/37285/TFG-B.1362.pdf?sequence=1&isAllowed=y

También podría gustarte