Sie sind auf Seite 1von 4

Página 1 de 4 

 
UNIVERSIDAD EL BOSQUE
CENTRO DE DESARROLLO TECNOLOGICO
FACULTAD DE INGENIERIA

PROGRAMAS
AMBIENTAL ☐ BIOINGENIERIA ☐ ELECTRONICA ☐ INDUSTRIAL ☐ SISTEMAS ☐ OTROS ☐
NOMBRE DEL DOCENTE: Mónica Rojas Martínez IDENTIFICACION:
SEMESTRE: VII SALON/AULA: F201 PERIODO: 2019-1

PRESENTACION/INTRODUCCION

El centro de desarrollo tecnológico es una unidad encargada de la prestación de servicios y le recomendamos acatar las normas y ordenamiento
para su adecuado uso, y por lo tanto le sugerimos que todos los contenidos y normas las utilice para su adecuado uso.

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

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

CONTENIDO

NOMBRE DE LA PRÁCTICA: Clasificación uno contra todos


PRACTICA NUMERO: VII

OBJETIVO GENERAL
Familiarizarse con el algoritmo de regresión logística

OBJETIVOS ESPECIFICOS
1. Implementar una serie de algoritmos para obtener una clasificación multiclase basada en regresión
logística
2. Entrenar un modelo de clasificación uno contra todos
3. Observar el efecto de la variación del factor de regularización
Página 2 de 4 
 
RESULTADOS ESPERADOS

A partir de la base de datos Iris obtener la clasificación en las diferentes familias

CONTENIDO/METODOLOGIA

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
ℎ 𝜃
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á
Página 3 de 4 
 
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

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)

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


𝑃𝐴
# 𝑡𝑜𝑡𝑎𝑙 𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑐𝑖𝑜𝑛𝑒𝑠

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? Que 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?

10. A partir de los modelos obtenidos para cada valor de lambda en el punto anterior, calcule la
pertenencia de al menos dos nuevas muestras a las clases setosa, iris o versicolor. Las muestras
nuevas las puede obtener a partir de las flores en el campus de la universidad donde hay
diferentes ejemplares (sector plazoleta). No olvide adjuntar en el informe una foto de los nuevos
ejemplares donde se puedan observar las medidas relacionadas y que utilizará como
características para la clasificación.
Página 4 de 4 
 

MATERIALES, EQUIPOS O RECURSOS

PLACA/CODIGO
EQUIPO/MATERIAL CANTIDAD MEDIDA

Computador con Matlab 1

CONDICIONES
 
 No olvide diligenciar el formato “SOLICITUD DE PRACTICAS DE LABORATORIO”, con ocho (8) días de anticipación a la
 
realización de cualquier práctica, para con esto evitar cualquier inconveniente.
 Para solicitar los equipos y materiales anteriormente mencionados, favor diligenciar el formato “SOLICITUD DE MATERIAL DE
PRACTICAS DE LABORATORIO”.
 En caso de presentarse algún inconveniente o novedad dentro de la realización de las diferentes prácticas, ya sea por parte
del profesor o estudiante, diligenciar el formato “REPORTE DE NOVEDAES”.

Das könnte Ihnen auch gefallen