K nearest neighbor: PRAC5

Anuncio
PRAC5: K Nearest Neighbor
Asignatura: CLP: Clasificación de Patrones.
Optativa de 2º Ciclo
ETSETB
UPC
Profesores:
Margarita Cabrera
Josep Vidal
UPC-TSC-D5
Abril-2007
CLP: PRAC5
1
2
10/04/2007
1
Objetivos de la práctica 4 ......................................................................................... 2
Base de Datos ZipCode ............................................................................................ 3
2.1
Características de la base de datos.................................................................... 3
2.2
Compresión de Imágenes ................................................................................. 4
2.3
Laboratorio ....................................................................................................... 5
3
Base de Datos MicroArray ....................................................................................... 6
3.1
Características de la base de datos.................................................................... 6
3.2
Laboratorio ....................................................................................................... 7
CLP: PRAC5
10/04/2007
2
1 Objetivos de la práctica 4
Objetivo 1
Se observa una base de datos con que se va a trabajar en las clases de laboratorios,
obtenida a través del siguiente link:
http://www-stat.stanford.edu/~tibs/ElemStatLearn/data.html
Base ZIP
Cada vector de 256 muestras representa una imagen de 16x16 pixels de un conjunto de
10 clases diferentes correspondientes a los 10 dígitos (0:::9) escritos a mano.
Total de vectores: 7291
Dimensión: 256
Clases: 10
Base MicroArray
Cada vector de 6830 muestras representa una medida de los genes contenidos en células
correspondientes a 14 tipos diferentes de órganos infectados por cáncer.
Total de vectores: 64
Dimensión: 6830
Clases: 14
Objetivo 2
Se aplica el método de clasificación KNN (consiste en comparar cada vector de la base
de test, con K vectores de la base de entreno, y a partir de los más próximos se decide la
clase).
Cuando los vectores de la base son de gran dimensión (como nos ocurre con la base de
datos dada es uno de los pocos métodos adecuados).
CLP: PRAC5
10/04/2007
3
2 Base de Datos ZipCode
Objetivos de la base de datos:
Significado:
Zone Improvement Plan. ZIP Code identifies a specific geographic delivery area.
Esta base de datos se puede interpretar como una base de imágenes, aunque muy
sencilla.
2.1 Características de la base de datos
Esta es la información que los autores de la base de datos facilitan sobre la misma:
Normalized handwritten digits, automatically
scanned from envelopes by the U.S. Postal Service. The original
scanned digits are binary and of different sizes and orientations; the
images here have been deslanted and size normalized, resulting
in 16 x 16 grayscale images (Le Cun et al., 1990).
The data are in two gzipped files, and each line consists of the digit
id (0-9) followed by the 256 grayscale values.
There are 7291 training observations and 2007 test observations,
distributed as follows:
0 1 2 3 4 5 6 7 8 9 Total
Train 1194 1005 731 658 652 556 664 645 542 644 7291
Test 359 264 198 166 200 160 170 147 166 177 2007
or as proportions:
0 1 2 3 4 5 6 7 8 9
Train 0.16 0.14 0.1 0.09 0.09 0.08 0.09 0.09 0.07 0.09
Test 0.18 0.13 0.1 0.08 0.10 0.08 0.08 0.07 0.08 0.09
Alternatively, the training data are available as separate files per
digit (and hence without the digit identifier in each row)
The test set is notoriously "difficult", and a 2.5% error rate is
excellent. These data were kindly made available by the neural network
group at AT&T research labs (thanks to Yann Le Cunn).
En el laboratorio únicamente se va a trabajar con la parte que los autores clasifican
como de entrenamiento, ya que es suficientemente grande (7291 vectores).
En el laboratorio, nosotros la dividiremos a su vez en
•
•
Train
Test
Con diferentes proporciones según el método de clasificación que deseemos aplicar.
CLP: PRAC5
10/04/2007
4
2.2 Compresión de Imágenes
Con el objeto de reducir la dimensión de la base, se aplicarán en esta práctica, dos
técnicas diferentes de transformación de imágenes: Transformada coseno y
Transformada de Hadamard.
Una vez en el dominio transformado se reducirán puntos de los vectores, pasando de
dimensión 256 a 64 y a 16 y se evaluara el error de clasificación obtenido mediante: ldc,
qdc y knn.
Para más información sobre cada una de estas dos transformadas, consulte el fichero de
transparencias: PS_imagen
CLP: PRAC5
10/04/2007
5
2.3 Laboratorio
PARTE 1.- Ejecute el fichero prac4_zip.m
Observe la imagen representada por los números, así como las transformadas DCT y
Hadamard.
Evalúe los errores de clasificación mediante ldc y mediante knnc simultáneamente y a
partir de las mismas bases de Entreno (Train) y de Test.
Pruebe:
k_clas=10 Vectores por clase en la base de entreno
k_neig=1 Parámetro K
k_clas=100 Vectores por clase en la base de entreno
k_neig=10 Parámetro K
k_clas=250 Vectores por clase en la base de entreno
k_neig=25 Parámetro K
Compare los dos métodos y comente los resultados.
PARTE 2.- Ejecute el fichero prac5_ztl.m
En este fichero se trabaja con una matriz de vectores que se han guardado en el dominio
transformado.
Ficheros de señal:
Zip_dct64.mat (Matriz en el dominio transformado DCT. Se ha realizado una
reducción a 64 puntos).
Zip_had256.mat (Matriz en el dominio transformado Hadamard).
Para la transformada DCT y para la transformada HADAMARD observe las imágenes
resultantes y evalúe de nuevo la PARTE 1, incluyendo además el método de
clasificación qdc, con
N_dim=8 (Matrices de 8x8)
N_dim=4 (Matrices de 4x4)
N_dim=2 (Matrices de 2x2)
PARTE 3.- Modifique el fichero prac5_ztl.m
Con el objetivo de probar el método de Parzen (parzenc.m). Pruebe valores de
sigma=0.5, 1, 1.5 con la base de datos de k_clas=10 Vectores por clase en la base de
entreno y compare los resultados con el método kNearest.
CLP: PRAC5
10/04/2007
6
3 Base de Datos MicroArray (Optativo)
3.1 Características de la base de datos
Esta es la información que los autores de la base de datos facilitan sobre la misma:
NCI microarray data
Source and reference:
http://genome-www.stanford.edu/nci60/
NCI microarray data
6830 genes
missing values have been imputed via SVD
60 cell lines, labels are below
1: CNS
5 samples
2: RENAL
7 samples
3: BREAST
9 samples
4: NSCLC
9 samples
5: UNKNOWN
1 samples
6: OVARIAN
6 samples
7: MELANOMA
8 samples
8: PROSTATE
2 samples
9: LEUKEMIA
6 samples
10:K562B-repro
1 samples
11:K562A-repro
1 samples
12:COLON
7 samples
13:MCF7A-repro
1 samples
14:MCF7D-repro
1 samples
Los 57 vectores de dimensión d=6830 muestras cada uno, presentan valores reales entre
-10 y +10 aprox.
Cada vector corresponde a una muestra de un órgano afectado por cáncer y proveniente
de un paciente distinto. Observe los nombres de las 14 clases distintas de la tabla para
saber a que tipo de cáncer diferente corresponde cada vector según la etiqueta numérica
del 1 al 14.
La información que se ha grabado en la coordenada de cada vector, corresponde a la
presencia de un tipo determinado de gen. En total se analiza la presencia (+10) o
ausencia (-10) de cada uno de los 6830 genes distintos. Para medir el nivel de presencia
de cada gen, se utiliza el ADN (Ácido Desoxirribonucleico) correspondiente.
El nombre de MicroArray corresponde a la técnica utilizada para extraer cada una de las
muestras.
El problema que existe con este tipo de bases de datos, radica principalmente en la
enorme dimensionalidad de los vectores, que hace prohibitivo el uso de muchas de las
técnicas de clasificación analizadas durante el curso. Debido a este motivo, esta técnica
se utiliza para las prácticas, únicamente con el método K Nearest.
CLP: PRAC5
10/04/2007
7
3.2 Laboratorio
Ejecute el programa prac5_MA o LAB_prac5_MA.
Se han seleccionado únicamente aquellas clases que tienen más de dos elementos por
clase.
Está preparado para trabajar con
k_clas=4 Vectores por clase en la base de entreno
k_neig=2 Parámetro K
y calcula las distancias euclídeas entre diferentes clases.
Observe los resultados y anote en fichero Word los errores obtenidos tanto para la base
de train como para la base de test al variar: k_neig=1,2,3,4
A partir de las distancias obtenidas entre clases, vaya eliminado secuencialmente clases,
dejando las clases más distantes entre sí, hasta obtener errores de test = 0 con k_neig=2.
COMENTE LOS RESULTADOS EN EL DOCUMENTO: PRAC5 _claG*.doc
Descargar