Sei sulla pagina 1di 7

TUMOR DE MAMA

Determinar si el tumor de mama que poseen un grupo de mujeres es maligno o benigno


Para llevar a la prctica lo aprendido vamos a resolver un ejemplo real, es el resultado de un examen a 569
mujeres con cncer de mama, en las que el primer atributo representado por un 1 nos refiere a que el cncer
es maligno, y el representado por 0, el cncer es benigno. En cuanto al resto de atributos son anlisis clnicos
como nmero de glbulos rojos entre otros.

Ahora debemos denir cules son nuestras salidas y cuales las entradas.
ENTRADAS

SALIDAS
Necesitamos los mximos y mnimos de nuestras entradas, y usamos las funciones de Matlab.

L o s p e s o s y e l u m b r a l s e o b t u v i e r o n d e m u c h a s iteraciones hasta que


Matlab nos dio un resultado grato, fue ah cuando se usaron los pesos y el umbral que se
aprecian, esto es para que con cada corrida ahora la red entrene ms r pido. Ya echo esto estaramos listos para
entrenar la red:

Por ultimo deberamos testear nuestra red, llamamos a nuestro archivo testing.txt
en donde dejamos unos cuantos d a t o s 5 0 p a r a s e r e s p e c cos, para comprobar la red.
S i m u l a r l a r e d y vericar que sus salidas concuerdan con las que tenemos.
Para realizar esto hemos se cre un cdigo en el cual comparamos , as evitarnos ir uno a
uno manualmente.
CDIGO
clc;
clear;
num_entradas = 3;
num_neuronas_capa_oculta = 2;

datos_entrenamiento = csvread('entrenamiento.txt');
datos_entrenamiento = datos_entrenamiento';
salida = datos_entrenamiento(1, :);
entrada = datos_entrenamiento(2: num_entradas + 1, :);

plotpv(entrada, salida);

min_max=minmax(entrada);
net=newff(min_max,[num_neuronas_capa_oculta
1],{'logsig','tansig'},'trainlm');
net.trainParam.epochs = 100;
net.iw{1, 1}=[-1.5382 -0.7699 -3.9367; 6.4072 -0.2212 -1.0990]
net.b{1}=[2.1811; 15.9629]
net = train(net,entrada,salida);

pesos = net.iw{1, 1};


bias =net.b{1};

plotpc(pesos, bias);

datos_test = csvread('testing.txt');
datos_test = datos_test';
salida_test = datos_test(1,:);
entradas_test = datos_test(2: num_entradas + 1, :);

result = sim(net, entradas_test);


N = size(salida_test);
num_aciertos = 1;
for i=1:N(2),
if result(i) > 0.2,
if salida_test(i) == 1,
num_aciertos = num_aciertos + 1;
end
else
if salida_test(i) == 0,
num_aciertos = num_aciertos + 1;
end
end
end

fprintf('de 50 tipos de tumores evaluados %s la red a acertado en su


conocimiento \n',num2str(num_aciertos))
PERFORMANCE

TRAINING STATE
REGRESSION

SALIDA DE LA RED AL TESTIAR


>> net = train(net,entrada,salida);
>> fprintf('de 50 tipos de tumores evaluados %s la red a acertado en su conocimiento
\n',num2str(num_aciertos))
de 50 tipos de tumores evaluados 41 la red a acertado en su conocimiento

>> plotpc(pesos, bias);


CONCLUSIONES

Las funciones de activacin o transferencia logsig y tansig ayudan a solucionar problemas reales no
lineales.

Los resultados obtenidos por las RNA son similares con respecto a los obtenidos por los mtodos clsicos.
Las RNA pueden admitir como variables de entrada:
conjuntos mixtos de variables cuantitativas y cualitativas.
La herramienta de Matlab es imprescindible, aunque se necesita un entrenamiento en su uso ya que los
cdigos en la programacin son nuevos para su estudio.

REFERENCIAS
J. Aguilar. Apuntes de Inteligencia Artificial. Redes con conexiones hacia adelante. PONTIFICIA
UNIVERSIDAD CATOLICA DEL ECUADOR, FACULTAD DE INGENIERIA. [Online]. Available:
http://www.flacsoandes.edu.ec/comunicacion/aaa/imagenes/ publicaciones/pub 30.pdf.

Potrebbero piacerti anche