Kitabı oku: «Introducción al Machine Learning con MATLAB», sayfa 3

Yazı tipi:

Tratamiento de datos atípicos

Los datos atípicos son los valores extremos que se presentan en ciertas observaciones; generalmente, es necesario tratarlos, ya sea eliminándolos o transformándolos. La función isoutlier de MATLAB toma un argumento de entrada, ya sea una tabla, matriz o vector D. Esta función devuelve una matriz o vector lógico AD, cuyos elementos verdaderos corresponden a la detección de valores atípicos. Esta función tiene la siguiente sintaxis:

AD = isoutlier(D)

Por defecto, se considera que un valor es atípico cuando se encuentra alejado a más de tres desviaciones absolutas de medianas (DAM) escaladas. Si D es una matriz o tabla, entonces isoutlier opera en cada columna por separado.

En el presente ejemplo se eliminarán los valores atípicos encontrados en las observaciones VD. Se parte del vector de observaciones VD, que contiene los valores atípicos. La función isoutlier detecta qué elementos son valores atípicos, dado el criterio DAM, y los guarda en AD. Las observaciones atípicas se eliminarán del vector de observaciones usando la siguiente expresión:

VD(AD)=[]

Lo que realiza esta expresión es eliminar las posiciones correspondientes a los valores de verdadero de AD. El ejemplo completo se presenta a continuación en el algoritmo 1.3:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz

% Se define un vector de datos

VD = [59 58 48 51 55 91 64 63 50 95];

% Se procesa el vector DS para la detección de valores atípicos

[AD] = isoutlier(VD);

% Se eliminan los valores atípicos

VD(AD)=[]

VD = 59 58 48 51 55 64 63 50

Cuando se cuenta con suficientes observaciones es posible eliminar observaciones con valores atípicos; sin embargo, cuando las observaciones son reducidas, los datos atípicos deben ser transformados para evitar reducir el conjunto de observaciones. Dentro del entorno de MATLAB, se puede encontrar la función filloutliers, la cual toma como argumento a D, que puede ser una tabla, matriz o vector, además de un parámetro llamado 'MetododeLlenado',con el que se especifica qué método se utilizará para sustituir los valores atípicos encontrados bajo el criterio DAM:

[F,Ui,Us,C] = filloutliers(D,'MetododeLlenado');

Con la función filloutliers se buscan los valores atípicos existentes en D bajo el criterio DAM, y se reemplazan los valores atípicos empleando una metodología de llenado que especifica el usuario. A continuación, en la tabla 1.2, se presentan los posibles valores que puede tomar el 'MetododeLlenado'.


Escalar Llena los datos atípicos con un dato escalar
'center' Llena los datos atípicos con el centro del criterio DAM
'clip' Llena los datos atípicos con el valor umbral inferior para elementos más pequeños que el umbral inferior determinado por el criterio DAM Llena con el valor de umbral superior para elementos mayores que el límite superior determinado por el criterio DAM
'previous' Llena los datos atípicos con el valor anterior no atípico
'next' Llena los datos atípicos con el valor siguiente no atípico
'nearest' Llena los datos atípicos con el valor más cercano no atípico
'linear' Llena los datos atípicos empleando la interpolación lineal de los valores no atípicos vecinos
'spline' Llena los datos atípicos empleando la interpolación de spline cúbico por parte de los valores no atípicos vecinos
'pchip' Llena los datos atípicos empleando la interpolación cúbica polinomial de los valores no atípicos vecinos

Tabla 1.2. Posibles valores que toma el método de llenado.

La función filloutliers retornará cuatro valores: F es el vector resultante sin valores atípicos; Ui, el umbral inferior del criterio DAM; Us, el umbral superior del criterio DAM; y C, el centro del criterio DAM, que corresponde a la mediana de los datos.

A continuación, en el algoritmo 1.4, se muestra un ejemplo para rellenar datos atípicos empleando la función filloutliers, donde se aplica el parámetro ‘linear’, para que los datos atípicos sean reemplazados por valores generados de una interpolación lineal de los valores vecinos que no sean atípicos. De forma adicional, se grafican los umbrales del criterio DAM y del centro de las observaciones:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz

% Vector de observaciones

D = [59 58 48 51 55 101 64 63 50 20];

% Se contabiliza cuántos elementos tiene el vector D

N=numel(D);

% Se define el vector del eje x

x = 1:N;

% Se rellenan los avalores atípicas del vector D

[F,TF,Ui,Us,C] = filloutliers(D,'linear');

% Se grafica de forma comparativa los datos originales contra los

% datos generados por filloutliers del vector D

plot(x,D,x,F,'o',x,Ui*ones(1,N),x,Us*ones(1,N),x,C*ones(1,N))

legend('Datos originales','Datos transformados','Umbral...

inferior','Umbral superior','Centro de los datos')

Algoritmo 1.4. Ejemplo del uso de la función filloutliers en MATLAB.

En la figura 1.6 se puede visualizar el gráfico generado por el algoritmo 1.4. La línea azul representa los datos originales, mientras que los datos procesados se muestran por medio de los círculos naranjas. Además, el color morado indica el umbral superior; el color amarillo se encuentra el umbral inferior, y el interlineado verde representa el centro de las observaciones.


Figura 1.6. Procesamiento de datos atípicos por filloutliers.

1.9. Visualización de datos

El objetivo principal de las técnicas de visualización de datos consistirá en partir de información compleja y presentarla en un formato simple, y, de esta manera, entender mejor la información disponible. La visualización de datos permite su inspección y una mejor comprensión de esta. Existen otros motivos para usar la visualización de datos. Incluyen los siguientes:

• Explicar los datos o poner los datos en contexto

• Resolver un problema específico (por ejemplo, identificar áreas problemáticas dentro de un modelo de negocio particular)

• Resaltar o ilustrar datos que, de otro modo, serían invisibles (como aislar valores atípicos existentes en los datos)

• Destacar la tendencia de los datos, como los volúmenes de ventas potenciales

La visualización se utiliza en casi todos los pasos del proceso del aprendizaje máquina, dentro de pasos obvios como la preparación y exploración de datos, pero también puede ser aprovechada durante la recopilación de datos, durante el entrenamiento del modelo y en la etapa final de evaluación de resultados, para identificar elementos relevantes.

El conjunto de datos sobre la flor de iris es una colección de observaciones multivariante para cuantificar la variación morfológica de las tres especies relacionadas de flores de iris: setosa, versicolor y virginica. El conjunto de datos tiene las mediciones del largo y ancho del sépalo y el pétalo de la flor de iris. En la figura 1.7 se presenta la estructura de la flor de iris. Tomaremos este conjunto de datos para explorarlos visualmente, debido a que es un referente en el área del aprendizaje máquina y estadística.


Figura 1.7. Partes de la flor de iris.

A continuación, se muestran diferentes formas de visualizar las cuatro características (longitud del sépalo, ancho del sépalo, longitud del pétalo y ancho del pétalo) de 150 observaciones de las flores de iris. El cargado en memoria del conjunto de datos se realiza con el siguiente comando:

load fisheriris.mat

El comando carga en la memoria dos variables: la matriz llamada meas y una celda, species. La matriz meas tiene 4 columnas relativas a las características y 150 filas con las 150 observaciones registradas. La celda species tiene los nombres a la cual cada observación pertenece. En el algoritmo 1.5 se carga el conjunto de datos de la flor de iris y despliegan todas las observaciones por característica. En la figura 1.8 se grafican los valores de las 150 observaciones de las diferentes características del conjunto de datos:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz

% Se carga el conjunto de observaciones

load fisheriris.mat


% Se define cuántas observaciones tiene el conjunto de datos

N=size(meas,1);


% Se define el vector en el eje x

t=1:N


% Se grafican las observaciones en sus diferentes características

plot(t,meas)

legend('Long. sépalo','Ancho sépalo','Long. pétalo','Ancho pétalo')

Algoritmo 1.5. Ejemplo del uso de la función plot en MATLAB.


Figura 1.8. Gráfico de las 150 observaciones de flores de iris y sus 4 características.

Histograma

Un histograma es una representación gráfica de observaciones agrupadas mediante intervalos, donde las observaciones son variables cuantitativas continuas. El histograma permite apreciar la manera en que se distribuyen las observaciones.

En el algoritmo 1.6 se despliega el histograma de la característica 1 de todas las observaciones. El histograma se presenta en la figura 1.9:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz


% Se carga el conjunto de observaciones

load fisheriris.mat


% Se grafica el histograma de la característica 1

% del conjunto de datos de todas las observaciones

h=histogram(meas(:,1))

Algoritmo 1.6. Ejemplo del uso de la función histogram en MATLAB.


Figura 1.9. Histograma de la característica 1 de las observaciones.

Diagrama de caja

Un diagrama de caja y bigotes, o simplemente un diagrama de caja, es un gráfico basado en cuartiles, mediante el cual se visualiza la distribución de un conjunto de datos. Está compuesto por un rectángulo «caja» y dos brazos «bigotes».


Figura 1.10. Partes del diagrama de caja.

Los diagramas de caja son una forma útil de graficar datos divididos en cuatro cuartiles, cada uno con igual cantidad de valores. Donde Q1 es la mediana de la mitad menor de los datos, Q2 es la mediana de todos los datos y Q3 es la mediana de la mitad mayor de los datos. Adicionalmente, el rango intercuartil (IRQ) es la diferencia entre Q3 y Q1. En el gráfico de caja, los valores atípicos son más pequeños o grandes que los extremos del diagrama de caja. En este, no se grafica la frecuencia ni se muestran las estadísticas individuales, pero en ellos podemos ver claramente dónde se encuentra la mitad de los datos. Constituye un buen diagrama para analizar la asimetría en los datos.

En el algoritmo 1.7 se presentan los diagramas de caja de las características 1, 2, 3 y 4, que corresponden, respectivamente, a la longitud del sépalo (1), el ancho del sépalo, la longitud del pétalo y el ancho del pétalo. En la figura 1.11 se muestran diagramas de caja con las características 1, 2, 3 y 4:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz


% Se carga el conjunto de observaciones

load fisheriris.mat

% Se genera y despliega el diagrama de caja

% por cada característica de las 150 observaciones

boxplot(meas)

Algoritmo 1.7. Ejemplo del uso de la función boxplot en MATLAB.


Figura 1.11. Diagramas de caja de las cuatro características de las observaciones a las flores de iris.

Diagrama de dispersión

Los gráficos de dispersión se usan para trazar puntos de datos en un eje vertical y otro horizontal, mediante el que se trata mostrar cuánto afecta una variable a otra.

Cada fila del conjunto de datos representa una posición. Depende de sus valores en las columnas, que se establecen en los ejes de la característica X y la característica Y. Se pueden usar varias escalas en los ejes cuando se desea comparar varios indicadores con rangos de valor significativamente distintos.

La relación entre dos variables se llama «correlación». Si los indicadores forman una línea casi recta en el gráfico de dispersión, las dos variables tendrán una correlación alta. Si los indicadores se distribuyen de manera uniforme a lo largo del gráfico de dispersión, la correlación es baja o nula. Sin embargo, aunque parezca que existe una correlación entre variables, esto no siempre es así. La causa de una aparente correlación podría ser que dos variables se encuentren relacionadas con una tercera variable, lo que explicaría la variación.

En el algoritmo 1.8 se comparan las primeras 40 observaciones contra las siguientes 40 observaciones de las características 1 y 2, dado que la función scatter necesita de un par de coordenadas. El diagrama de dispersión del algoritmo 1.8 se presenta en la figura 1.12:

% Autores: Erik Cuevas, Omar Avalos, Arturo Valdivia y Primitivo Díaz


% Se carga el conjunto de observaciones

load fisheriris.mat

% Se genera y despliega el diagrama de dispersión entre las

% características 1 y 2 contemplando

% las observaciones de la 1-40

scatter(meas(1:40,1),meas(1:40,2))

% Se mantiene la gráfica anterior para encimar el siguiente gráfico

hold on

% Se genera y despliega el diagrama de dispersión entre las

% características 1 y 2 contemplando

% las observaciones de la 41-80

scatter(meas(41:80,1),meas(41:80,2))

Algoritmo 1.8. Ejemplo del uso de la función scatter en MATLAB.


Figura 1.12. Diagrama de dispersión de las características 1 y 2.

Referencias

[1] B. Kaluza, Machine Learning in Java. 2016.

[2] F. Van der Heijden, R. P. W. Duin, D. De Ridder y D. M. J. Tax, Classification, Parameter Estimation and State Estimation: An Engineering Approach Using MATLAB. 2005.

[3] G. Ciaburro, Matlab for Machine Learning. Birmingham, Packtpub Publishing, 2017.

[4] G. Bonccorso, Machine Learning Algorithms. Birmingham, Packt Publishing, 2019.

[5] Steven W. Knox, Machine Learning: A Concise Introduction. 1.ª ed., Wiley, 2018.

CAPÍTULO 2
Bases matemáticas

En este capítulo se abordarán las herramientas matemáticas, las cuales nos ayudarán a comprender de una mejor manera las técnicas de aprendizaje máquina, que se revisarán en capítulos posteriores. Aquí se establecerán las bases de probabilidad, álgebra lineal y estadística.

Objetivos:

• Conocer las bases matemáticas fundamentales para el uso de estas en aplicaciones de aprendizaje máquina

• Entender el uso y las diferencias entre las herramientas probabilísticas, estadísticas y del álgebra lineal

• Aprender a utilizar las herramientas que comprenden este capítulo para desarrollar aplicaciones básicas de aprendizaje máquina en problemas reales

2.1 Introducción

En aplicaciones de la vida real, el proceso para conseguir que una máquina sea «inteligente» constituye un proceso bastante complejo. Para que una máquina o equipo especializado tenga cierto grado de autonomía, es necesario el uso de técnicas de aprendizaje máquina. En estas técnicas se utilizan, en gran medida, métodos probabilísticos, estadísticos y, en muchas ocasiones, las bases del álgebra lineal para realizar operaciones por las que, en conjunto, se puede llegar a desarrollar tareas bastante complejas con el mínimo esfuerzo humano, y con un margen de error considerablemente bajo. A continuación, se verán las bases de las herramientas probabilísticas, de álgebra lineal y estadísticas, las cuales nos ayudarán a entender un poco mejor las técnicas de aprendizaje máquina expuestas en capítulos subsecuentes.

2.2 Probabilidad

La probabilidad desempeña un papel muy importante en el aprendizaje máquina, por lo que, en este subapartado, se abordarán los temas e ideas básicas para comprender los conceptos que se expondrán más adelante en el aprendizaje máquina [1-3]. Una representación de probabilidad es definida como «frecuencia»; esto se debe a que, cuando un experimento es repetido un número determinado de veces, bajo las mismas condiciones para un determinado evento E, la proporción de veces que el evento se aproxima a E tiende a una constante. A la constante que limita la frecuencia de cierto evento (E) se la denomina «probabilidad», y se denota como P(E). De igual manera, la probabilidad es conocida como el «grado de creencia». Un ejemplo puede ser la probabilidad de que cierto equipo de fútbol de México, por ejemplo, gane la Copa del Mundo. Para este caso específico, no nos referimos a la frecuencia de ocurrencia, debido a que el campeonato para un año determinado solo ocurre una vez y, para entonces, el equipo no ha ganado la copa en alguna ocasión. A lo que se refiere, en este caso, es a un grado subjetivo de creencia de que dicho evento suceda, a causa de que pueden ser determinadas ciertas probabilidades del mismo evento.

2.2.1. Variables aleatorias discretas

La expresión P(E) denota la probabilidad de que un evento E determinado sea cierto. Por ejemplo, E puede ser la expresión «ganaré la lotería», para lo que requerimos una probabilidad 0 ≤ P(E) ≤ 1, la cual nos indica la posibilidad de que el evento (E) «ganaré la lotería» sea cierto, donde P(E) = 1 significa que definitivamente sucederá, y P(E) = 0 significa que de ninguna manera ocurrirá.

Lo antes mencionado puede ser extendido a una variable aleatoria discreta x, la cual puede tomar un valor de un conjunto X. Podemos entonces determinar la probabilidad del evento x mediante la expresión P(x). La expresión P() es conocida como «función de probabilidad de masa» (pmf), la cual satisface las propiedades .

2.2.2. Reglas fundamentales

En este subapartado se abordarán algunas de las principales reglas de la probabilidad.

2.2.2.1 Probabilidad de la unión de dos elementos

Dados dos diferentes eventos, E y F, definimos las probabilidades como:


2.2.2.2 Probabilidad de la intersección de dos elementos

Se define la probabilidad de la intersección de dos eventos E y F como:


En algunas ocasiones, se la conoce como «regla cadena».

Ejemplo numérico: unión e intersección de probabilidades

Supongamos que se realiza un estudio clínico considerando un número N de participantes. Para dicho estudio, es necesario suministrar un medicamento A, al cual el 65 % de los participantes es alérgico. Como parte del estudio, se utiliza otro medicamento B, al cual el 45 % de los participantes mostró algún tipo de reacción. Si el 73 % de los participantes padece alergia a alguno de los medicamentos utilizados para el estudio, ¿cuál es la probabilidad de que, al escoger algún participante al azar, este sea alérgico a los dos medicamentos?

Para este ejemplo, primero debemos determinar las probabilidades de los participantes alérgicos a cada medicamento P(A) y P(B):


De igual manera, se obtiene la unión de las probabilidades P(A∪B), donde los participantes son alérgicos a alguno de los medicamentos:


Una vez con los datos antes mencionados, utilizamos la ecuación 2.1 y despejamos la intersección de probabilidades, que es justo lo que queremos encontrar (figura 2.1):


Donde el resultado arroja que la probabilidad de que, al escoger al azar a algún participante, este sea alérgico a los medicamentos A y B es de 0.37.


Figura 2.1. Intersección de probabilidades P(A∩B)

Türler ve etiketler

Yaş sınırı:
0+
Hacim:
595 s. 576 illüstrasyon
ISBN:
9788426733542
Yayıncı:
Telif hakkı:
Bookwire
İndirme biçimi:
Metin
Ortalama puan 0, 0 oylamaya göre