Está en la página 1de 8

PRAC1: MAP Y DATOS GAUSSIANOS

CRITERIOS DE CLASIFICACIN BASADOS EN LA MAXIMIZACIN DE


LA PROBABILIDAD A POSTERIORI
Asignatura: CLP Clasificacin de Patrones.
Optativa de 2 Ciclo
ETSETB-UPC
TSC-UPC

Profesores:
Margarita Cabrera
Josep Vidal
Marc Torrellas
UPC-TSC-D5

CLP: PRAC1
1
2
3

18/10/2013

Introduccin a PRTools............................................................................................. 2
Objetivos de la prctica 1 .......................................................................................... 4
Laboratorio: creacin de bases de datos Gaussianas................................................. 4
3.1 PARTE 1: Anlisis de curvas ROC ................................................................... 4
3.2 PARTE 2: Autovalores de matriz de covarianza y forma de los clusters. ......... 5
3.3 PARTE 3: Comparacin entre ldc y qdc............................................................ 6

CLP: PRAC1

18/10/2013

1 Introduccin a PRTools
PRTools es un paquete de software de Matlab, especialmente diseado para realizar
aplicaciones de Clasificacin de patrones y trabajar con bases de datos experimentales.
PRTools ha sido creado por: Pattern Recognition Group, Delft University of
Technology (Holanda), posteriormente denominado como Quantitative Imaging Group:
http://www.tnw.tudelft.nl/en/about-faculty/departments/imaging-science-andtechnology/research/researchgroups/quantitative-imaging/
La pgina principal de PRtools es http://prtools.org/.
A continuacin se presentan algunas definiciones de elementos fundamentales al utilizar
PRTools:
-

Una base de datos es un conjunto de objetos etiquetados.


Un objeto es un vector k-dimensional. En cada coordenada se almacena un valor
de una caracterstica.
El espacio definido por todos los valores posibles de caractersticas se denomina
espacio de caractersticas.
Los objetos se representan como puntos o vectores en este espacio.
Una funcin de clasificacin asigna etiquetas a nuevos objetos que aparecen
dentro del espacio de caractersticas.

El software de PRtools define 2 tipos de variables (clases) que vamos a utilizar:


- dataset. Un dataset se define como un conjunto de objetos etiquetados. Cada
objeto se describe a travs de un vector de caractersticas y una etiqueta de clase.
Adems de los propios objetos, un dataset puede contener tambin otra
informacin como las probabilidades a priori de cada clase.
- mapping. Un mapping es una transformacin de objetos de un espacio a otro.
En nuestro caso, un clasificador es un mapping ya que transforma objetos del
espacio de caractersticas en objetos en el espacio de clases.
Programacin PRTools con MATLAB:
Clases (estructuras de datos): Dataset y Mapping
DATASET (A): Conjunto de objetos representados por una matriz de vectores de
caractersticas. Adjunto a esta matriz se tiene informacin adicional de los datos:
DATASET Dataset class constructor
a = dataset(d,labels,featlist,prob,lablist,imheight)
A dataset object is constructed from:
d
size [m,k], a set of m datavectors of k features
labels size [m,n] labels for each of the datavectors either in string or in numbers
featlist size [k,f] defines the labels for the k features (Los nombres de las
caractersticas)
prob size [c,1], apriori probabilities for each of the c classes
prob = 0: all classes have equal probability 1/c

CLP: PRAC1

18/10/2013

prob = []: all datavectors are equally probable


lablist size [c,n] classlabels (Los nombres de las clases)

Para obtener los campos de un dataset podemos utilizar la funcin get:


[nlab,lablist,prior,N_feat]=get(A1_gauss,'nlab','lablist','prior','featsize');
Y para introducir datos en un dataset, podemos utilizar la funcin set o,
alternativamente, las funciones especficas:
p = getprior(A_train,0);
A_train = setprior(A_train,p);
En el caso de utilizar un dataset para entrenar un clasificador, si no hemos introducido
las prob. a priori aparecer un warning. Para evitarlo podemos utilizar las dos ltimas
lneas, que insertan la frecuencia de cada clase como las probabilidades a priori.

MAPPING (W): Almacena clasificadores entrenados, resultados de extraccin de


caractersticas, definiciones de escalado de datos, proyecciones no lineales, etc..
A*W es un dataset.
MAPPING Mapping class constructor
w = mapping(map,d,lablist,k,c,v,par)
A map/classifier object is constructed from:
d
size (any), a set of weights defining the mapping
lablist size [c,n], defines the labels for the outputs ('classes') of the mapping, either
in string or in numbers c is the number of classes. At least two labels should
be supplied.
map
type or name of routine used for learning or testing
k
number of inputs (nmero de caractersticas)
c
number of outputs (nmero de clases). Note that if c == 1, lablist should still
have two labels, one for each 'direction'
v
size [c] or size [1] Output multiplication factor, for all outputs simultaneously
or for each output separately
par
size (any), parameter vector describing the structure of the
mapping (type dependent)
classbit 0 | 1 if classc==1 this is a classifier: map by w*sigm*normm
which constructs normalized probabilistic outputs
[d,lablist,map,k,c,v,par] = mapping(w) Retrieves the parameters from a mapping w.

CLP: PRAC1

18/10/2013

2 Objetivos de la prctica 1
Los objetivos de la presente prctica consisten en:
Familiarizarse con el software prtools, con matlab y con el entorno de trabajo en
general.
Generar bases de datos Gaussianas y evaluar parmetros de las mismas.
Aplicar clasificadores MAP (Lineales y Cuadrticos) sobre las clases generadas.

3 Laboratorio: creacin de bases de datos Gaussianas.


Recuerde que siempre debe iniciar las ejecuciones en Matlab mediante la actualizacin
del path preparada en el fichero de actualizacin de path.

3.1 PARTE 1: Anlisis de curvas ROC


El fichero proporcionado para la realizacin de esta parte es prac1_gauss3.m
Se trabaja con vectores de dimensin d=3 y C=2 clases. Las 3 coordenadas son
estadsticamente independientes tal como describen las matrices de covarianza (Caso 1
explicado en clase).
La siguiente frmula proporciona el modelo que siguen las muestras correspondientes a
cada una de las dos clases.

y i : N (si , );

i 1..2 ;

1 0 0

d1 2 0 1 0 ;
0 0 1

d 3

E siH si
Energia promedio

donde se define SNR 10 log10


10 log10
2

A realizar en el laboratorio:
Edite el fichero prac1_gauss3.m y analice el cdigo, identificando las partes principales
del programa. Mediante la opcin help de Matlab puede obtener informacin sobre
las funciones invocadas en el programa.
Ejecute prac1_gauss3.m para cada uno de los cuatro casos siguientes:
Distancia=1, SNR=3,0,-3,-10 dB.
Observe las probabilidades de error y ROC obtenidas mediante los clasificadores:
ldc: Fronteras de decisin lineales. Presupone clases equiprobables e idntica matriz
de covarianza.

CLP: PRAC1

18/10/2013

qdc: Fronteras de decisin cuadrticas. Presupone clases equiprobables y estima


diferentes matrices de covarianza.
A incluir en el documento entregable con comentarios pertinentes:
Para cada uno de los cuatro valores de SNR propuestos incluya:
Probabilidad de error obtenida mediante ldc y probabilidad de error obtenida
mediante qdc.
Curvas ROC.

3.2 PARTE 2: Autovalores de matriz de covarianza y


forma de los clusters.
El fichero proporcionado para la realizacin de esta parte es prac1_QPSK.m
Se propone utilizar la modulacin QPSK como base de trabajo. Por tanto los vectores de
caractersticas son de dimensin d=2 y se tienen C=4 clases (o smbolos).
QPSK Caso 2
Inicialmente se utilizan matrices de covarianza iguales para todas las clases (Caso 2
explicado en clase) pero no diagonales.
1
y i : N (si , ); i 1..4 ;
d1 2
; d 2
1
A realizar en el laboratorio:
Edite el fichero prac1_QPSK.m y analice el cdigo, identificando las partes principales
del programa.
Ejecute prac1_QPSK.m para cada uno de los dos casos siguientes:
Relacin seal a ruido: SNR=10dB
Distancia entre clases: dist=1
Parmetro ro 0, 0.5
A incluir en el documento entregable con comentarios pertinentes:
Para cada uno de los 2 casos a testear, segn el valor dado a la variable
Diagrama de scatter y fronteras de decisin.
Matriz de distancias de Mahalanobis inter-clases.
Observe que apenas hay diferencias entre ambos clasificadores y comente los resultados.
********************************
A incluir en el documento entregable:
1
Para una matriz de tipo C d1 2

funcin del parmetro .

;
1

d 2 obtenga los autovalores tericos en

CLP: PRAC1

18/10/2013

********************************
QPSK Caso 3 explicado en clase.
A realizar en el laboratorio:
Edite el fichero prac1_QPSK.m para generar la modulacin QPSK en la que cada clase
(o smbolo) se genera con una matriz de covarianza distinta a la del resto de clases:
SNR=5dB, 0dB

Smbolo 1:
Smbolo 2:
Smbolo 3:
Smbolo 4:

ro 0.5
ro 0
ro 0.5
ro 0.8

Evale el mapa de seal al aplicar ldc y qdc. Compare la forma de los clsters con los
autovalores de las distintas matrices de covarianza, que puede calcular para cada clase o
smbolo i mediante la instruccin:
Autoval=eig(inv(squeeze(clas.cov(:,:,i)))) %Estimated
Donde clas.cov es la variable de matrices de covarianza proporcionada por el mtodo
qdc.
A incluir en el documento entregable con comentarios pertinentes:
Para cada uno de los dos valores de SNR propuestos:
Mapa de seal al aplicar ldc y qdc
Autovalores tericos para cada una de las cuatro matrices de covarianza
Autovalores estimados a partir de las muestras generadas.

3.3 PARTE 3: Comparacin entre ldc y qdc


El fichero proporcionado para la realizacin de esta parte es prac1_BPSK.m
Se propone utilizar como base de trabajo la modulacin BPSK, incluida en el fichero
Prac1_BPSK.m . Los vectores de caractersticas son de dimensin d=2 y se tienen C=2
clases (o smbolos). Inicialmente se contemplan matrices de covarianza iguales para
todas las clases (Caso 2) pero no diagonales.
A realizar en el laboratorio:
Edite el fichero prac1_BPSK.m y analice el cdigo, identificando las partes principales
del programa.
Ejecute prac1_BPSK.m para generar el siguiente modelo (caso 2):

CLP: PRAC1

18/10/2013

1
y i : N (si , ) ; d1 2

; 0.5;
1

d 2 , SNR=5dB

A incluir en el documento entregable con comentarios pertinentes:


Mapas de Seal y fronteras de decisin mediante criterios ldc y qdc.
Errores de decisin mediante criterios ldc y qdc.
A realizar en el laboratorio:
A continuacin, se propone analizar el siguiente caso (Caso 3), para lo cual deber
modificar una lnea de programa en el fichero de BPSK.
1
y i : N (si , i ) ; i d1 2
i

;
1

d 2

con SNR=5dB y correlacin:

Smbolo 1: i 1 0.8

Smbolo 2: i 2 0.8

A incluir en el documento entregable con comentarios pertinentes:


Mapas de Seal y fronteras de decisin mediante criterios ldc y qdc.
Errores de decisin mediante criterios ldc y qdc.

Entregue un nico documento G***_apellido1_apellido2_prac1.pdf que incluya los


resultados solicitados en las 3 partes de esta prctica. Los *** son para indicar el
nmero de subgrupo.

También podría gustarte