14
Universidad de Los Andes Universidad de Los Andes Facultad de Ingeniería Facultad de Ingeniería Escuela de Ingeniería Eléctrica Escuela de Ingeniería Eléctrica Maestría en Ingeniería Biomédica Maestría en Ingeniería Biomédica GIBULA GIBULA Máquinas de Soporte Vectorial. (Clase Nº 4: Ideas Preliminares) Material digital elaborado por: Miguel Vera Mérida, Mayo de 2009

Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Embed Size (px)

DESCRIPTION

Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica Maestría en Ingeniería Biomédica GIBULA. Máquinas de Soporte Vectorial. (Clase Nº 4: Ideas Preliminares). Material digital elaborado por: Miguel Vera. Mérida, Mayo de 2009. Universidad de Los Andes - PowerPoint PPT Presentation

Citation preview

Page 1: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Universidad de Los AndesUniversidad de Los Andes

Facultad de IngenieríaFacultad de Ingeniería

Escuela de Ingeniería EléctricaEscuela de Ingeniería Eléctrica

Maestría en Ingeniería BiomédicaMaestría en Ingeniería Biomédica

GIBULAGIBULA

Máquinas de Soporte Vectorial.(Clase Nº 4: Ideas Preliminares)

Material digital elaborado por:

Miguel Vera

Mérida, Mayo de 2009

Page 2: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Universidad de Los AndesUniversidad de Los Andes

Facultad de IngenieríaFacultad de Ingeniería

Escuela de Ingeniería EléctricaEscuela de Ingeniería Eléctrica

Maestría en Ingeniería BiomédicaMaestría en Ingeniería Biomédica

GIBULAGIBULA

Mérida, Mayo de 2009

Preliminar Nº 5

Algoritmo Expectación-Maximización (EM):Algoritmo Expectación-Maximización (EM):

Consideraciones teóricas y AplicacionesConsideraciones teóricas y Aplicaciones

Page 3: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Algoritmo EM: Modelo Teórico

Donde:

Page 4: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Inconvenientes:

Page 5: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Mezcla de Gaussianas

Page 6: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Mezcla de Gaussianas

Page 7: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Mezcla de Gaussianas

Page 8: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Mezcla de Gaussianas

Page 9: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Ejemplo de Código para el algoritmo EM

function gMM = EMLISTO(datos,k)data = load(datos);mx = max(data);mn = min(data);plot(data(:,1),data(:,2),'b.','MarkerSize',15); axis([0 120 0 80]),hold on;gMM.k = k;gMM.d = size(data,2);%Inicializacion de los parametros de la mezcla gaussiana (gMM)gMM.mu = [ ]; for i=1:k mux = (rand(size(mx)).*(mx-mn))'; gMM.mu = [gMM.mu mux]; end initSD = (mx-mn)/(k^(1/gMM.d));initCovar = ((mean(initSD)/k)^2)*eye(gMM.d); for i=1:k gMM.covar(:,:,i) = initCovar; endgMM.weights = ones(k,1)/k;

Page 10: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Ejemplo de Código para el algoritmo EM%ExpectacionnIter = 50;for i=1:nIter i responsabilidades = []; for i=1:gMM.k weight = gMM.weights(i); mu = gMM.mu(:,i); covar = gMM.covar(:,:,i); end [n,gMM.d] = size(data);z = (2*pi)^(0.5*gMM.d);S = zeros(1,gMM.k);r = zeros(gMM.d,gMM.d,gMM.k); for j=1:gMM.k, if gMM.covar(:,:,j)==zeros(gMM.d,gMM.d), gMM.covar(:,:,j)=ones(gMM.d,gMM.d)*eps; end S(j) = sqrt(det(gMM.covar(:,:,j))); r(:,:,j) = inv(gMM .covar(:,:,j)); end

Page 11: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Ejemplo de Código para el algoritmo EM

responsabilidades = zeros(n,gMM.k); for q=1:n, for j=1:gMM.k, rXM = data(q,:)'-gMM.mu(:,j); tt = exp(-0.5*rXM'*r(:,:,j)*rXM)/(z*S(j)); responsabilidades(q,j) = gMM.weights(j)*tt; end resp=responsabilidades(:,j); end responsabilidades = responsabilidades ./repmat(sum(responsabilidades,2),1,gMM.k);plot(data(:,1),data(:,2),'b.','MarkerSize',15); k = size(responsabilidades,2); if k <= 3 colorExpectacion = [responsabilidades zeros(size(data,1),3-k)]; for i=1:size(data,1) plot(data(i,1),data(i,2),'color',colorExpectacion(i,:),...

'marker','.','MarkerSize',15); end end

Page 12: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Ejemplo de Código para el algoritmo EM% MaximizaciongMMOld = gMM;for i=1:gMM.k resp = responsabilidades(:,i); [n,gMM.d] = size(data);gMM.weights = zeros(1,gMM.k); gMM.mu = zeros(gMM.d,gMM.k);gMM.covar = zeros(gMM.d,gMM.d,gMM.k);for i=1:gMM.k, % Calculo de los pesos finales for j=1:n, gMM.weights(i) = gMM.weights(i) + responsabilidades(j,i); gMM.mu(:,i) = gMM.mu(:,i) + responsabilidades(j,i)*data(j,:)'; end gMM.mu(:,i) = gMM.mu(:,i)/gMM.weights(i);% Calculo de las medias finales endfor i=1:gMM.k, for j=1:n, rXM = data(j,:)'-gMM.mu(:,i); gMM.covar(:,:,i) = gMM.covar(:,:,i) + responsabilidades(j,i)*rXM*rXM';% cov finales end gMM.covar(:,:,i) = gMM.covar(:,:,i)/gMM.weights(i);endgMM.weights = gMM.weights/n;

Page 13: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Ejemplo de Código para el algoritmo EM

% Valores finales de los parametros del gMM weight = gMM.weights(i);mu = gMM.mu(:,i);covar = gMM.covar(:,:,i);endplot(data(:,1),data(:,2),'b.','MarkerSize',15); k = size(responsabilidades,2); if k <= 3 colores = [responsabilidades zeros(size(data,1),3-k)]; for i=1:size(data,1) plot(data(i,1),data(i,2),'color',colores(i,:),...

'marker','.','MarkerSize',15); endend criterioparada = sum(sum((gMMOld.mu - gMM.mu).^2))if criterioparada <= 0.0000000000001 criterioparadabreak;end end

Page 14: Universidad de Los Andes Facultad de Ingeniería Escuela de Ingeniería Eléctrica

Asignación

1.- Descargar de la carpeta materialelectiva, ubicada en:www.tach.ula.ve/vermigLos siguientes archivos: EM.rar, tarea5.pdf y reportemerida.doc2.- Seguir las instrucciones dadas en tarea5.pdf3.- Para verificar si los programas fueron bien diseñados se deben correr y obtener resultados similares a los contenidos en el archivo reportemerida.doc. Nota: Replicar para todos los casos presentados en ese documento.Entregar via email: [email protected] Tope: 02/06/2009Hora: 12 del medio día