Instituto Politécnico Nacional · 2017. 8. 28. · valorar lo que significa la investigación y la...
Transcript of Instituto Politécnico Nacional · 2017. 8. 28. · valorar lo que significa la investigación y la...
Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Profesional Zacatenco
“Adolfo López Mateos”
Detección de Cáncer de Mama mediante Redes Neuronales
Tesis
Que para obtener el título de
Ingeniero en Comunicaciones y Electrónica
Presenta:
Diana Paola Chávez Guadarrama Kevin Yered González Flores
Asesor:
M. en C. Beatriz Adriana Jaime Fonseca
Ciudad de México Junio 2016
Detección de cáncer de mama mediante redes neuronales
II
Detección de cáncer de mama mediante redes neuronales
III
Asesor M. en C. Beatriz Adriana Jaime Fonseca Academia de Computación
Departamento Académico de Ingeniería en Comunicaciones y Electrónica
Escuela Superior de Ingeniería Mecánica y Eléctrica
Instituto Politécnico Nacional
Jurado Presidente: M. en C. Roberto Galicia Galicia
Evaluador Secretario: M. en C. Fernando Noya Chávez
2do Vocal: Dr. Jesús Jaime Moreno Escobar
3er Vocal: Ing. Alejandro Cortés Pérez
Academia de Computación
Departamento Académico de Ingeniería en Comunicaciones y Electrónica
Escuela Superior de Ingeniería Mecánica y Eléctrica
Instituto Politécnico Nacional
Detección de cáncer de mama mediante redes neuronales
IV
A José René Chávez Nieto y Susana Guadarrama García
Diana Paola Chávez Guadarrama
A César González Cantellano y Claudia Flores Tovar
Kevin Yered González Flores
Detección de cáncer de mama mediante redes neuronales
V
AGRADECIMIENTOS
Este trabajo de tesis realizado en el Instituto Politécnico Nacional es un esfuerzo en el cual participaron
indirecta o directamente muchas personas. Este trabajo me ha permitido aprovechar la competencia y la
experiencia de muchas personas que deseo agradecer en este apartado.
Le agradezco a dios por haberme acompañado y guiado a lo largo de todo mi vida, por ser mi fortaleza
en los momentos difíciles y en los momentos de debilidad, y por brindarme una vida llena de
aprendizajes, experiencias y sobre todo una vida de felicidad.
Le doy gracias a mis padres José René Chávez Nieto y Susana Guadarrama García, por apoyarme en
todo momento, por los valores que me han inculcado, porque gracias a ellos soy está persona de la cual
estoy muy orgullosa, por haberme brindado la oportunidad de tener una excelente educación en el
transcurso de mi vida. Sobre todo por ser un excelente ejemplo de vida a seguir.
Gracias por todo
A mi hermano César Alejandro Chávez Guadarrama por ser una parte muy importante de mi vida y
representar una unidad familiar, por llenar mi vida de alegría, por su apoyo y amor cuando más lo eh
necesitado.
Te quiero.
Al Licenciado César Alejandro Chávez Guadarrama por su contribución en el diseño del logo del
proyecto.
A mi compañero de tesis Kevin Yered González Flores por haberme tenido la paciencia y dedicación al
trabajar conmigo, y por ser una parte esencial de este proyecto, por motivarme a seguir adelante en los
momentos de desesperación.
A mis asesores M. en C. Beatriz Adriana Jaime Fonseca y al Dr. Jesús Jaime Moreno Escobar por su
dedicación y apoyo a lo largo de este año para la realización de este proyecto, por su confianza y por sus
conocimientos compartidos.
Y a mi abuela Gloria García que siempre está presente en mi corazón, por creer en mí y por sus cuidados
día con día cuando más la necesitaba.
Gracias por tu compañía.
Diana Paola Chávez Guadarrama
Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Zacatenco
Instituto Politécnico Nacional, México, 2016
Detección de cáncer de mama mediante redes neuronales
VI
Durante el desarrollo de mi tesis, así como mi carrera profesional, enfrente retos, referentes a el desarrollo
de proyectos de ingeniería, preparación para exámenes, entre otras actividades de investigación ya sea
desde internet o por medio de libros de texto. Afortunadamente, tuve el apoyo de mi familia para poder
llevado acabo lo dicho anteriormente.
El apoyo que mi familia represento, no fue solo en el aspecto monetario, en cambio este se vio reflejado
en el interés hacia mí para poder dar lo mejor que tengo y nunca conformarme con el mínimo
requerimiento para aprobar un examen o realizar un proyecto en específico.
Por otro lado, el tener una familia con preparación académica fue clave, ya que mi padre en particular
siempre me ha guiado al camino del éxito, debido a que nos dedicamos a la misma área de ingeniería.
Por lo cual, el tener un papá como el no solo significa tener una persona que te va a apoyar a pesar de
todo, sino que confiara en tus habilidades. Por ejemplo, durante el desarrollo de mi carrera profesional,
hubo distintos cursos, a los cuales pude acceder y sacarle el máximo provecho. Además, en la última
etapa de mi carrera profesional, mi familia, me brindó la oportunidad estudiar inglés intensivo en Canadá,
lo cual fue muy importante ya que pude alcanzar un nivel muy alto de inglés, además de una certificación
oficial de la universidad de Cambridge, la cual me ha abierto un sinfín de oportunidades tanto en la
búsqueda de empleo en empresas transnacionales, así como el trámite de una beca Conacyt para poder
cumplir mi sueño de estudiar en Inglaterra.
Sin embargo, estoy muy agradecido con la institución por haberme escogido desde el examen de
admisión, ya que, si no hubiera sido así, no hubiera logrado tanto, y sobretodo no hubiera aprendido a
valorar lo que significa la investigación y la educación.
En contraste, a pesar de no contar con las mejores instalaciones y mejores maestros, la institución me
brindo las herramientas necesarias para poder ser exitoso tanto en el campo laborar como en la
investigación.
Kevin Yered González Flores
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Zacatenco
Instituto Politécnico Nacional 2016
Detección de cáncer de mama mediante redes neuronales
VII
ABSTRACT
Throughout the history, the human has attempted to find a way to optimize certain process that transform
our daily lifestyle by performing new technologies.
These days, a plethora of computer models related to the artificial intelligence which are supposed to
bound the human brain according to the learning process have been design. However, not only those
have been done so as a research, those have been applying in particular areas so as to improve them as
well.
On the other hand, it is concerned that the breast cancer is a disease that is located in a specific round up
cell quite a bit close to the breast. Furthermore, the detection of the breast cancer seems to be the precursor
of the death if it is in an advance stage, that is why it is necessary to develop algorithms related to
computer science which could result in an attendance for the medical specialist.
In the development of this thesis, an interface was design which used a neural network using a
backpropagation algorithm as a learning.
Moreover, so as to architecture of the network, nine neural were set up as main layer, which depict the
information and characteristics of the tissue, while eighty neural were configurated as a hidden layer in
order to train the network as generate a result in addition to the spread out of the data that include weights,
bias, activation signals and certain wrongs that fluctuated and decrease ideally.
Finally, as an output layer, four neural were set up to classify the result of the network according to the
data.
In fact, it is necessary to talk about the backpropagation algorithm because it is the key of the project,
Indeed, it modify weights and bias iteratively, going from the input layer to the output one so as to reduce
the fluctuated faults of the network in a properly way, it is possible by applying the gradient rule apart
from the learning algorithm that require the tangential sigmoidal function.
Finally, the performing and programming of the interface, algorithms and so on were design in the
computer program MATLAB.
Detección de cáncer de mama mediante redes neuronales
VIII
RESUMEN
Durante épocas memoriales, el ser humano ha buscado la forma de automatizar y optimizar procesos que
faciliten su vida diaria a través de los avances tecnológicos.
En la actualidad, se han implementan modelos computacionales artificiales, los cuales simulan el
comportamiento del cerebro humano en cuanto a el aprendizaje se refiere, dicho modelo ha optimizado
distintas ciencias.
El cáncer de mama es una enfermedad que se localiza en las células de la mama, se puede encontrar en
diversos tejidos; su detección en etapas avanzadas es mortal para el paciente, en algunas ocasiones el
especialista no cuenta con lo necesario para hacer un diagnóstico certero acerca de la enfermedad, por lo
cual surge la necesidad de utilizar distintos tipos de ciencias, como son las ciencias computaciones para
la realización de un algoritmo que cumpla con las necesidades del especialista, como son las redes
neuronales artificiales.
En el desarrollo de esta tesis, se diseñó una interfaz de usuario, la cual implemento una red neuronal
artificial, utilizando el algoritmo de aprendizaje backpropagation para la detección de cáncer de mama.
Para el diseño de la red neuronal, se utilizaron 9 neuronas en la capa de entrada, las cuales representan
las características de cada tipo de tejido que va a ser capaz de clasificar, así como 80 neuronas en una
capa oculta, las cuales se encargaran de la propagación de pesos, bias, señales de activación y errores de
la red. Mientras que, la capa de salida está constituida por 4 neuronas, las cuales se encargan de la
clasificación de los tejidos, tumores benignos y malignos a través de valores binarios.
Por otra parte, el algoritmo backpropagation, consta de la modificación iterativa de pesos y bias que van
desde la capa de entrada a la oculta, y se está a la de salida, para la reducción del error total de la red,
aplicando la regla del descenso del gradiente, además de la regla de aprendizaje, la cual utiliza una
función tangencial sigmoidal.
Tanto el algoritmo como el diseño de la red neuronal artificial y la implementación de una interfaz de
usuario, fueron desarrollados en el entorno de desarrollo integrado MATLAB.
Detección de cáncer de mama mediante redes neuronales
IX
GLOSARIO
CÉLULAS
SENSORIALES
Son células que detectan información del interior o exterior del
organismo en forma de pulsos de frecuencia.
MAMA
Órgano glandular ubicado en el pecho, formada por tejido
conjuntivo, grasa y tejido mamario.
METASTASIS Diseminación del cáncer a otra parte del cuerpo.
NEURONA
Célula fundamental para la comunicación del sistema nervioso
ORGANOS
EFECTORES
Forman parte del sistema nervioso y son los encargados de ejecutar
acciones motoras u hormonales.
PERCEPTRÓN
Es el modelo matemático más simple de una neurona
RNA
Red Neuronal Artificial, Modelo matemático inspirado en sistemas
biológicos, adaptados y simulados en computadoras
convencionales
SISTEMA
NERVIOSO
Red de tejidos cuya unidad básica es la neurona.
TEJIDO
Estructuras constituidas por un conjunto organizado de células
iguales.
TUMOR
Masa de tejido de una parte del organismo cuyas células sufren un
crecimiento anormal y no tienen ninguna función fisiológica.
Detección de cáncer de mama mediante redes neuronales
X
Detección de cáncer de mama mediante redes neuronales
XI
Contenido
Lista De Tablas……………………………………………………………………………………….XIV
Lista De Figuras…………………………………………………………………………………….XVIII
Capítulo 1: Introducción…………………….…………………………………….……1 1.1 Planteamiento del Problema…………………………………………......................….……1
1.2 Justificación……………………………………………………………………….……..….1
1.3 Hipótesis……………………………………………………………………………….……2
1.4 Objetivos………………………………………………………………………………..…...3
1.4.1 Objetivo General……………………………………………….……………………….3
1.4.2 Objetivos Específicos……………………………………………………………….….3
1.5 Alcance del Proyecto……………………………………………………………..................4
1.6 Trabajo a futuro……………………………………………………………………………..5
Capítulo 2: Estado del Arte…………………………………….……………...…….....7 2.1 Estudios para la detección de cáncer de mama…………………………………………………..7
2.1.1 Mamografía…………………………………………...……………………………………8
2.1.2 Ultrasonido……………………………………………..…………………………………10
2.1.3 Resonancia Magnética de la Mama……………………………………...………………..10
2.2 Biopsia……....…………………………………………………………………………………..11
2.3 Investigaciones nacionales de detección de cáncer de mama mediante redes neuronales……...13
2.4 Investigaciones internacionales de detección de cáncer de mama mediante redes neuronales...14
2.4.1 Diagnóstico asistido por computadora de cáncer de mama: Hacia la detección temprana
y de signos sutiles………………………………………………………………………....14
2.4.2 Detección de cáncer de mama usando una red neuronal Backpropagation usando
distintas neuronas………………………………………………………………………...15
2.4.3 Sistema basado en redes neuronales para el eficiente diagnóstico de cáncer de mama…..15
2.4.4 Clasificación para el diagnóstico de cáncer de mama usando el enfoque de redes
neuronales………………………………………………………………………………..16
2.4.5 Detección de distintos tipos de cáncer mediante redes neuronales artificiales…………...16
Capítulo 3: Marco Teórico…………………………………...................................….17 3.1 Cáncer de Mama.........................................................................................................................17
3.1.1 Cáncer…………………………………………………………………………...…........17
3.1.2 Mama……………………………………………………………………………………19
3.1.3 Cáncer De Mama………………………………………………………………………..20
3.2 Inteligencia Artificial…………………………………………………………………………...22
3.2.1 Inteligencia Artificial Simbólica…………………….………………………..…………..23
3.2.2 Intelgencia Artificial Subsimbólica……………………………………………………….23
3.2.3 Las Redes Neuronales Artificiales…………………………………………….……….....24
3.2.4 Fundamentos Biológicos de las Redes Neuronales.............................................................24
3.3 Procesamiento básico de una neurona biológica……………………………………..……...…..26
3.3.1 Algoritmo de procesamiento de una neurona Biológica………………………...………...26
Detección de cáncer de mama mediante redes neuronales
XII
3.4 Modelo Computacional de una red neuronal artificial………………………………....…..……27
3.4.1 La Neurona Artificial……………………………………………………...………………27
3.4.2 Células de Mcculloch-Pitts……………………………………………….………….……29
3.4.3 El Perceptrón…………………………………………………………………….…….…..30
3.4.4 Adaline……………………………...……………………………………………………..32
3.4.5 Perceptrón Multicapa………………………..…………………………………………….34
3.5 Aprendizaje………………………………………………………………...………………..….40
3.5.1 Aprendizaje Supervisado……………….………………………………………………...40
3.5.2 Aprendizaje No Supervisado……………………………………………………………..41
3.6 Algoritmo de retropropagación………………………………………………………………..41
3.7 Método del descenso de gradiente……………………………………………………………..42
3.8 Regla delta generalizada……………………………………………………………………….43
3.9 Matlab………………………………………………………………………………………….48
3.9.1 Nntool……………………………………………………………………………………49
3.9.2 Guide……………………………………………………………………………………..51
Capítulo 4: Marco Metodológico……………………………………………………..53 4.1 Introducción……………………………………………………………………………………..53
4.2 Optimización de la base de datos………………………………………………………………..54
4.2.1 Acotación de los datos…………………………………………………………………….54
4.2.2 Banco de datos…………………………………………………………………………….58
4.3 Creación de una red neuronal artificial………………………………..…………………….......60
4.3.1 Configuración inicial………………………………………………………………………62
4.3.2 Entrenamiento de la red neuronal artificial………………………………………………..65
4.4 Prueba de la red neuronal artificial……………………………………………………………...68
4.5 Construcción de la interfaz para la interpretación de resultados………………………………..69
4.5.1 Diseño de la interfaz gráfica de usuario…………………………………………………...69
4.5.2 Diseño de la interfaz gráfica de usuario con datos de un paciente………………………...77
4.5.3 Algoritmo de la detección de cáncer de mama mediante redes neuronales……………….80
Capítulo 5: Pruebas y Resultados…………...……………………………..………....81 5.1 Pruebas de entrenamiento…………………………………………………………………........81
5.2 Pruebas de simulación……………………………………………………………………..........94
5.3 Pruebas de la interfaz de usuario………………………………………………………………..98
5.3.1 Definición de variables para los experimentos…………………………………………...98
5.3.2 Experimentos con el banco de datos……………………………………………………...98
5.3.3 Pruebas y resultados por pacientes………………………………………………………102
5.3.4 Experimentos y resultados por pacientes mexicanos……………………………………103
5.4 Conclusiones finales…………………………………………………………………………..105
5.5 Contribuciones………………………………………………………………………………..106
Anexo I: Bases de Datos…………………………………………………………………i I.I Base de datos Breast Tissue obtenido de UCI: Center for machine learning an Intelligent
systems……………………………………………………………...................................i
Detección de cáncer de mama mediante redes neuronales
XIII
I.I.I Base de datos “Test 1”……………………………………………………………….....v
I.I.II Base de datos “Test 2”…………………………………………………………….….vii
I.I.III Base de datos “Test 3”……………………………………………………………...viii
Anexo II: Código Implementado …………………………………………………….xi
Anexo III: Evaluación Económica………………………………………………..…xix
Referencias………………………………………………………………………….xxiii
Detección de cáncer de mama mediante redes neuronales
XIV
Lista De Figuras
Figura 2.1 Diagnóstico de Cáncer de Mama por medio de mamografía, ultrasonido y resonancia
magnética representadas por imágenes……………………………………...………….….7
Figura 2.2 Mastografía, a la derecha se encuentra una mama con carcinoma y a la izquierda una mama
con fibroadenoma..…………………………………………….…………….…………….....8
Figura 2.3 Ultrasonido tomado en el año 2006 donde muestra una mama sana………...…...................10
Figura 2.4 Imágenes de la mama mediante MRI, aquí muestra presencia de carcinoma…..…………11
Figura 2.5 Biopsia de la mama dónde se muestra el procedimiento para la extracción del tejido
para su futuro estudio……………..……..……………………………………….……....…12
Figura 2.6 Algoritmo de detección de cáncer de mama………………………………………………...13
Figura 3.1 División celular anormal que muestra el comportamiento del cáncer……………………....18
Figura 3.2 Carcinoma en la mama mostrando la microcalcificación maligna en la parte exterior
del tejido……………………………………………………………………………...…….18
Figura 3.3 Características de los distintos tejidos de la mama así como su exterior e interior…………19
Figura 3.4 Interior de la mama………………………………………..……………………………..…19
Figura 3.5 Mama con microcalcificaciones que presenta cáncer presentado el estadio III…………….21
Figura 3.6 Características de una neurona biológica……….………………………………………….25
Figura 3.7 Entradas, procesamiento y salidas de una neurona básica…………………………………28
Figura 3.8 Esquema general de la célula de McCulloch-Pitts………………………………………….29
Detección de cáncer de mama mediante redes neuronales
XV
Figura 3.9 Arquitectura del perceptron con dos entradas y una salida…………...………………….…30
Figura 3.10 Separación entre clases………………………….………………………….……………...32
Figura 3.11 Arquitectura del perceptrón multicapa………………………………………………….…35
Figura 3.12 Arquitectura simple del perceptrón multicapa con activaciones…………………………..37
Figura 3.13 Respuesta sigmoidal y tangencial de una entrada…………….......…….…………………39
Figura 3.14 Aprendizaje supervisado…………………………………………………..……………….41
Figura 3.15 Aprendizaje no supervisado…………………………………………………...….……….41
Figura 3.16 Toolbox nntool……………………………………………………………………………..49
Figura 3.17 Creación de la RNA con nntool……………………………………………………………50
Figura 3.18 Toolbox GUIDE de Matlab………………………………………………………………..51
Figura 4.1. Sistema para la detección de cáncer de mama mediante redes neuronales………………...53
Figura 4.2. Arquitectura de la red neuronal artificial…………………………………………………...57
Figura 4.3 Prueba 1 de entrenamiento y simulación…………………………………………………...58
Figura 4.4 Prueba 2 de entrenamiento y simulación……………………………….…………………...59
Figura 4.5 Prueba 3 de entrenamiento y simulación……………………………..……………………..59
Figura 4.6 Neural network/ Data Manager de la herramienta nntool………………………………….63
Detección de cáncer de mama mediante redes neuronales
XVI
Figura 4.7 Ventana para importar entradas y salidas a nntool…………………..….………………….64
Figura 4.8 Create Network or Data de nntool…….……………………………..……………………..64
Figura 4.9 Arquitectura de la red neuronal artificial……………….………………..…………………65
Figura 4.10 Algoritmo de entrenamiento de la RNA……………….…………………..……………...66
Figura 4.11 Training Info para el entrenamiento de la RNA………………….....………..……………66
Figura 4.12 Ventana de training parameters para el entrenamiento de la RNA………………..……....67
Figura 4.13 Entrenamiento exitoso paro por performance………………………………….……….....68
Figura 4.14 Simulación de la RNA……………………………………………….…………………….69
Figura 4.15 Ventana donde se selecciona la ruta de la base de datos………………..…………………70
Figura 4.16 Procesamiento de datos……………………………………..…….……………………….70
Figura 4.17 Resultado en porcentaje de efectividad de la RNA………………………………………..72
Figura 4.18 Errores de la red neuronal……..…………………………………………………………..74
Figura 4.19 Cargar patrones…………………………………………………………………………….75
Figura 4.20 Interfaz gráfica para la detección de cáncer de mama mediante redes neuronales……….77
Figura 4.21 Interfaz gráfica utilizando imágenes mamográficas………………………………………78
Figura 4.22 Modelo UML………………………………………………………………………………80
Detección de cáncer de mama mediante redes neuronales
XVII
Figura 5.1 Parámetros de entrenamiento 1………………………………………………………..…….82
Figura 5.2 Prueba 1 de entrenamiento………………………………………………………………. ..82
Figura 5.3 Número de épocas en el entrenamiento 1…………………………………………………. 83
Figura 5.4 Parámetros de entrenamiento 2………………………………………………………..…….84
Figura 5.5 Prueba 2 de entrenamiento………………………………………………………………. ...84
Figura 5.6 Número de épocas en el entrenamiento 2…………………………………………………. 85
Figura 5.7 Parámetros de entrenamiento 3………………………………………………………..…….86
Figura 5.8 Prueba 3 de entrenamiento………………………………………………………………. ..86
Figura 5.9 Número de épocas en el entrenamiento 3…………………………………………………. 87
Figura 5.10 Parámetros de entrenamiento 4……………………………………………………..…….88
Figura 5.11 Prueba 4 de entrenamiento……………………………………………………………. ..88
Figura 5.12 Número de épocas en el entrenamiento 4………………………………………………. 89
Figura 5.13 Parámetros de entrenamiento 5……………………………………………………..…….90
Figura 5.14 Prueba 5 de entrenamiento……………………………………………………………. …90
Figura 5.15 Número de épocas en el entrenamiento 5……………………………………………….. 91
Figura 5.16 Parámetros de entrenamiento 6……………………………………………………..…….92
Detección de cáncer de mama mediante redes neuronales
XVIII
Figura 5.17 Prueba 6 de entrenamiento……………………………………………………………...92
Figura 5.18 Número de épocas en el entrenamiento 6………………………………………………. 93
Figura 5.19 Resultados de simulación 1……………………………………………………………...94
Figura 5.20 Resultados de simulación 2………………………………………………………………95
Figura 5.21 Resultados de simulación 3………………………………………………………………96
Figura 5.22 Resultados de simulación 4………………………………………………………………97
Figura 5.23 Banco de datos 1 con el 25% de los primeros datos……………………………………. 99
Figura 5.24 Porcentaje de reconocimiento de diagnóstico…………………………………………... 100
Figura 5.25 Prueba dos, banco de datos aleatorios…………………………………………………. 100
Figura 5.26 Porcentaje de diagnóstico de efectividad por casos……………………………………. 101
Figura 5.27 Diagnostico en porcentaje total…………………………………………………………. 102
Figura 5.28 Paciente con diagnóstico de carcinoma…………………………………………………. 102
Figura 5.29 Paciente con diagnóstico de fibroadenoma……………………………………………… 103
Figura 5.30 Diagnostico de paciente de la INCAN…………………………………………………... 104
Figura 5.31 Paciente del ISSSTE con padecimiento de fibroadenoma………………………………. 105
Figura 5.4 Reconcomiendo de carcinoma………………………….…………………….…………….84
Figura 5.5 Experimento 5…………………………………….……………………………………..…85
Figura 5.6 Paciente con carcinoma…………………………………………………………………….87
Detección de cáncer de mama mediante redes neuronales
XIX
Figura 5.7 Paciente fibroadenoma…………………………………………………………………..….88
.
Figura 6.1 Lanzador de aplicación……………………………………………………………………...90
Figura 6.2 Opción de archivo…………………………………………………………………………..91
Figura III.I Logo Decanma-Rna.………………………………………………………………….......xxi
Detección de cáncer de mama mediante redes neuronales
XX
Lista De Tablas
Tabla 3.1 Descripción de elementos de la GUI……………………………………………………….. 52
Tabla 4.1 Atributos de entrada………………………………………………………………………… 55
Tabla 4.2 Definición de clases de la RNA…………………………………………………………….. 56
Tabla 5.1 Comparación de las pruebas de entrenamiento…………..………………………..….…….. 93
Tabla 5.2 Características de simulación 1……………………………………………………………... 94
Tabla 5.3 Características de simulación 2…………………………………………………………… ...95
Tabla 5.4 Características de simulación 3…………………………………………………………… ...96
Tabla 5.5 Características de simulación 4……………………………………………………………... 97
Tabla 5.6 Comparación de pruebas de simulación…………………………………………………..… 97
Tabla 5.7 Resultados de pruebas de banco de datos 1 …………………………………………...…… 99
Tabla 5.8 Resultados de pruebas de banco de datos 2……………………………………………..… 101
Tabla I.I Clasificaciones de la base de datos…………………………………………………………….i
Tabla I.II Atributos de las clasificaciones de la base Breast Tissue……………………………………..ii
Tabla I.III Base de datos “Breast Tissue”……………………………………………………………….ii
Tabla I.IV Base de datos con el 75% de los datos de Breast Tissue…………………………………….v
Detección de cáncer de mama mediante redes neuronales
XXI
Tabla I.V Base de datos con el 25% de los datos de Breast Tissue…………………………………….vii
Tabla I.VI Test 2, 75% de los datos originales……………...…………………………………………viii
Tabla I.VIII Test 2, 25% de los datos de Breast Tissue………………………………………………...ix
Tabla I.IX Test 3 Datos aleatorios………………………………………………………………………ix
Tabla I.X Test 3, Datos aleatorios 2…………………………………………………………………….x
Detección de cáncer de mama mediante redes neuronales
1
CAPÍTULO 1
INTRODUCCIÓN
1.1 Planteamiento del problema
El cáncer de mama tiene una alta incidencia de mortandad, que ha crecido durante los últimos
años a nivel mundial. Por lo cual, es de gran importancia su detección temprana.
El estudio más eficaz para su detección es la mamografía, sin embargo, el análisis puede
resultar confuso; ocasionando que eventualmente, el especialista encargado de interpretar los
resultados genere diagnósticos erróneos.
Por ello se busca diseñar un algoritmo computacional, el cual facilite el análisis de la
mamografía.
1.2 Justificación
El cáncer de mama es una enfermedad de gran impacto mundial se presenta con mayor
frecuencia en mujeres mayores de 50 años, además, es el tipo de cáncer con mayor índice de
mortandad en mujeres de casi todos los países [1].
La presencia de este tipo de cáncer ha crecido más en los últimos 30 años [2]. Por lo cual
dicha enfermedad se ha enfatizado en la detección temprana mediante el uso de pruebas de
diagnóstico como la mamografía y la autoexploración.
La mamografía continúa siendo la principal técnica para el diagnóstico de cáncer de mama
pues se ha demostrado que, si la toma se realiza en la etapa incipiente de la enfermedad, se
reduce la tasa de aniquilación de células cancerígenas de 35% a 20% [4]; en ella pueden
observarse hallazgos como:
Detección de cáncer de mama mediante redes neuronales
2
• Microcalcificaciones
• Masas
• Áreas de densidades asimétricas
• Distorsiones.
Las microcalcificaciones se presentan en una mamografía como pequeños puntos en la
imagen y son de alta intensidad, son lesiones consideradas de gran interés ya que son una
manifestación temprana de cáncer [3].
A pesar de esto, la tarea de diagnóstico hace que en ocasiones se dificulte la diferenciación
entre lesiones malignas y benignas; tal es el caso de la detección de microcalcificaciones,
cuyas características (tamaño, forma) varían según el tipo de severidad, esto representa un
problema muy complejo.
En la actualidad la detección de microcalcificaciones depende de la toma del estudio y la
interpretación del médico especialista; que como es de esperarse, puede resultar que cuando
se determine un diagnóstico positivo sin serlo, se realicen gastos y pruebas innecesarias como
los son las biopsias; que además de afectar a la institución de salud que las realice, también
provocan cierta molestia en el paciente al ser una prueba invasiva [5].
De igual forma, para la detección del cáncer de mama se realizan algoritmos basados en
inteligencia artificial, los cuales comprenden trabajos en el campo de las ciencias
computacionales, ingeniería, ciencias cognitivas, ciencias del aprendizaje y diseño de
equipos.
1.3 Hipótesis
La educación para la salud que tienen la mayoría de las mujeres a nivel mundial favorece la
realización de la prueba de la mastografía para la detección de cáncer de mama, sin embargo
en ocasiones existe un porcentaje que no le da importancia a los primeros síntomas del cáncer
de mama.
Detección de cáncer de mama mediante redes neuronales
3
Es por tal motivo que el cáncer de mama resulta complejo de detectar, debido a la dificultad
de su análisis por parte de especialistas, por lo cual resulta pertinente el desarrollo de
algoritmos computacionales tales como las redes neuronales artificiales, las cuales realizan
una fase de aprendizaje y entrenamiento para realizar su objetivo principal.
Nosotros inferimos que las redes neuronales es uno de los algoritmos computacionales mejor
desarrollado para la detección de tumores, así como de diversos tipos de tejidos en el área
mama afectada por algún síntoma.
1.4 Objetivos
1.4.1. General
Diseñar una red neuronal artificial de retropropagación, que auxilie en la detección
incipiente de cáncer de mama, mediante datos obtenidos de mamografías.
1.4.2. Específicos
• Analizar las características más importantes que en el área de salud se establecen
para el diagnóstico del cáncer de mama a través del análisis de mamografías.
• Recopilar información acerca de diferentes técnicas, que permitan realizar el
diagnóstico de cáncer de mama.
• Optimizar una base de datos para su correcta implementación en la primera fase
del reconocimiento neuronal.
• Entrenar la red neuronal y establecer su arquitectura.
• Realizar las pruebas de la configuración de Red neuronal con patrones destinados
para la etapa de recuperación.
• Diseñar una interfaz de interpretación de resultados.
Detección de cáncer de mama mediante redes neuronales
4
1.5 Alcance del Proyecto
Se identifican tejidos, tumores benignos y malignos mediante la implementación de una red
neuronal de retropropagación, a partir de datos proporcionados por la página
http://archive.ics.uci.edu/ml/datasets/Breast+Tissue,, la cual está certificada
internacionalmente por “Center for Machine Learning and Intelligent Systems, ya que las
muestras registradas, se obtiene de un laboratorio especializado. Cabe mencionar que el
archivo proporcionado por dicha página tiene un formato .xlsx.
Dicho banco de datos contiene seis tipos de tejidos o padecimientos como son:
1. Carcinoma: Es a un tumor maligno originado en las células epiteliales de la mama.
2. Fibroadenoma: Es un tumor benigno formado por una neoplasia en el tejido fibroso
y glandular.
3. Mastopatia: El cual corresponde a un tumor maligno.
4. Tejido Conectivo: Corresponde a un tejido graso.
5. Tejido Adiposo: Es el tejido graso encargado de unir la glándula mamaria con la piel.
6. Tejido Glandular: Este formado por los conductos y lobulillos del seno.
Se llevara a cabo las fases de entrenamiento y simulación de la red neuronal artificial
mediante la investigación de un tipo de algoritmo seleccionado.
Obtener un alto porcentaje de efectividad en el reconocimiento de patrones del banco de datos
anteriormente mecionado.
Implementación de una interfaz de usuario que sirva como apoyo al especialista que
diagnostique el padecimiento, así como la identificación de los diversos tejidos presentados
anteriormente.
1.6 Trabajo a futuro
Detección de cáncer de mama mediante redes neuronales
5
Retomando este proyecto existen diversas líneas de investigación en las que es posible
continuar trabajando. En el desarrollo de este trabajo surgen algunas líneas futuras que no se
cubrieron con la presente investigación y que se esperan retomar a futuro; algunas de ellas
están ligadas directamente con este proyecto y son el resultado de cuestiones que han surgido
durante el desarrollo del proyecto.
A continuación se presenta el trabajo a futuro que puede desarrollarse como resultado de esta
investigación, que no han podido ser tratados con la suficiente profundidad. Además se
sugieren algunos desarrollos específicos para apoyar y mejorar el modelo y la metodología
propuestos.
Como se muestra a continuación:
Realizar el estudio con población mexicana para la recopilación de datos con
pacientes de cáncer de mama de hospitales públicos y privados de México.
Hacer el reconocimiento de distintos tipos de tejidos, enfocando a los tejidos que no
reconoce la red neuronal artificial como son los lobulillos de la mama, los ganglios
linfáticos.
Reconocimiento del estadio de cáncer donde se encuentra el paciente (si resultase ser
positivo de cáncer de mama).
Entrenamiento de la red neuronal artificial con los datos de los pacientes mexicanos
que se recauden.
Realizar las pruebas necesarias para tener el nivel de reconocimiento en una región
de pacientes mexicanos.
Reconocimiento a nivel mundial de casos de cáncer de mama, así como cualquier tipo
de tejido existente en la región mamaria.
Mejorar la interfaz gráfica de usuario, con una interfaz más completa para el usuario,
una sección de búsqueda de palabras clave acerca de las dudas y áreas de
especialización, así como un apartado de contacto.
Detección de cáncer de mama mediante redes neuronales
6
Implementar el modelo y metodología propuesta tanto en diferentes dependencias y
sectores públicos y privados, lo que permitirá comprobar su eficacia, y además
mejorar el modelo y la metodología propuesta, así como sus herramientas.
Realizar un portal de expertos utilizando perfiles para tener un control de los
especialistas que utilizan este apoyo como método de detección de cáncer de mama
así como sus tejidos.
Diseñar, desarrollar e implementar una aplicación electrónica como apoyo a los
médicos especializados a nivel mundial en la resolución de identificación de cáncer
de mama.
Implementación de pláticas informativas para dar a conocer información acerca del
proyecto propuesto en este trabajo, contando con especialistas que den su punto de
vista con respecto al nivel de efectividad en el reconocimiento de cáncer de mama.
Detección de cáncer de mama mediante redes neuronales
7
CAPÍTULO 2
ESTADO DEL ARTE
El cáncer de mama es una enfermedad con un alto índice de mortandad a nivel mundial, en
México representa un gran problema que se intenta prevenir, o tener un diagnóstico temprano
de él.
Para poder tener un diagnóstico eficiente, es necesario tener nuevas herramientas para el pre-
diagnóstico, así como nuevos métodos de control y prevención.
En las Redes Neuronales, el cáncer de mama se ha tratado con un alto índice de precisión,
comúnmente por medio de procesamiento de imágenes o bases de datos.
2.1 Estudios para la detección de cáncer de mama
Actualmente se utilizan distintos tipos de estudios basados en el análisis de imágenes, para
el diagnóstico de cáncer de mama, como se muestra en la figura 2.1.
Figura 2.1: Diagnóstico de cáncer de mama por medio de mamografía, ultrasonido y resonancia magnética
representadas por imágenes [6].
Detección de cáncer de mama mediante redes neuronales
8
2.1.1 Mamografía
Existen diferentes métodos de diagnóstico de cáncer de mama tales como la mamografía, el
ultrasonido mamario o la resonancia magnética, estos estudios son en relación en cuanto a
estudios por imágenes; otro estudio de gran utilidad es la biopsia, ya sea con aguja fina o
aguja de corte, de igual manera se puede prevenir con estudios complementarios, como son
la química sanguínea, hemática, biometría, entre otros estudios [7].
La mamografía (como se muestra en la Figura 2.2), es en la actualidad, es el estudio con un
gran índice de positivos en cuanto al diagnóstico, cuyo objetivo es mostrar el tejido mamario,
ya sea tejido normal o con anormalidades; la claridad con la que se presenta el resultado de
la mamografía siempre depende de varios factores como son el contraste, nitidez, resolución
de la imagen, entre otros factores [8].
Figura 2.2: Mamografía, a la derecha se encuentra una mama con carcinoma y a la izquierda una mama con
fibroadenoma [9].
Sin embargo, la detección de la imagen anormal no implica necesariamente un diagnóstico
pues el aspecto de la misma no permite en muchos casos diferenciar una lesión de otra, lo
cual durante muchos años generó reportes ambiguos, en ocasiones culpables de decisiones
desafortunadas [2, 3].
La mamografía presenta diversas características, en cuanto al diagnóstico de cáncer de mama,
las cuales se muestran a continuación:
Detección de cáncer de mama mediante redes neuronales
9
• Menor dosis de radiación que en otros estudios en donde se ocupan imágenes.
• Adecuada evaluación de la mama.
• Útil en campañas de detección de cáncer de mama.
• Alta sensibilidad (94%) para el diagnóstico de cáncer de mama [31].
• Poco útil en mamas densas [31].
Actualmente, la mamografía continúa siendo la principal técnica para el diagnóstico de
cáncer de mama pues se ha demostrado que como método de tamizaje reduce
significativamente la tasa de mortandad por cáncer de mama en 35% a 20%, en ella es posible
detectar microcalcificaciones agrupadas, que son la manifestación más temprana de cáncer
de mama y se presentan en la imagen como pequeños puntos de alta intensidad [4].
Existen diversos estudios que comparan la mamografía digital con la análoga en los que se
ha demostrado superioridad en pacientes con mama densa, pre menopáusicas, entre otras, así
como la detección, caracterización y extensión de las microcalcificaciones [10].
Los datos más importantes que se extraen de imágenes mamográficas, se muestran a
continuación:
• Nódulo (lesión, masa): Lesión ocupante que se visualiza en dos proyecciones
diferentes [11].
• Asimetría (densidad): Posible imagen nodular que se visualiza en una sola
proyección, sin bordes convexos [11].
• Calcificaciones Benignas: Gruesas, de gran tamaño, con bordes lisos, se pueden
visualizar fácilmente [11].
• Calcificaciones Malignas: Pequeñas y diversas formas, se pueden observar con
ayuda de una lupa, su tamaño es muy pequeño [12].
• Hallazgos Asociados: Encontrados juntos con los nódulos o las calcificaciones.
Detección de cáncer de mama mediante redes neuronales
10
2.1.2 Ultrasonido
El ultrasonido es un estudio que utiliza ondas electromagnéticas de sonido de alta frecuencia
para producir imágenes del tejido mamario [13].
Las imágenes por ultrasonido involucran el uso de un pequeño transductor (sonda) y un gel
para ultrasonido para la exposición del cuerpo a ondas acústicas de alta frecuencia.
El transductor recoge los sonidos que rebotan y una computadora luego utiliza esas ondas
sonoras para crear una imagen [14].
Debido a que las imágenes por ultrasonido se capturan en tiempo real, pueden mostrar la
estructura y el movimiento de los órganos internos del cuerpo, como así también la sangre
que fluye por los vasos sanguíneos, como se muestra en la Figura 2.3.
Figura 2.3: Ultrasonido tomado en el año 2006 se muestra una mama sana
2.1.3 Resonancia magnética en las mamas densas
La resonancia magnética en las mamas densas (MRI), es un método imagenológico que usa
imanes y ondas de radio potentes para la creación de imágenes de las mamas y sus tejidos,
este estudio no utiliza radiación [14] como se muestra en la figura siguiente:
Detección de cáncer de mama mediante redes neuronales
11
Figura 2.4: Imágenes de la mama mediante resonancia magnética, aquí se muestra presencia de carcinoma
2.2 Biopsia
Otro método de estudio eficaz para detectar cáncer de mama es la biopsia que es un estudio
que tiene como objetivo la extirpación o extracción de una parte del tejido mamario con el
fin de examinar la muestra en busca de signos de cáncer o algún trastorno [15].
Existen tres tipos de biopsias, las cuales son:
• Estereotáctica
• Abierta
• Tumorectomía
La biopsia se realiza mediante los siguientes métodos:
• Aspiración con aguja fina.
• Una aguja hueca (aguja gruesa).
• Un dispositivo accionador por vacío.
• Una aguja hueca y un dispositivo accionador por vacío.
Detección de cáncer de mama mediante redes neuronales
12
Figura 2.5: Biopsia de la mama dónde se muestra el procedimiento para la extracción del tejido para su futuro
estudio [5]
Los motivos por los cuales el médico especialista puede llegar a tomar la decisión de realizar
este tipo de estudio, son los siguientes:
• La mamografía arrojó resultados anormales de la mama [5].
• Existencia de bultos en alguna mama [5].
• Experimentación de calambres, hoyuelos o costras en el pezón (parte de la mama)
• Cambio de tamaño de la mama [6].
Existen diversas técnicas para la realización de una biopsia como se muestra a continuación:
• Biopsia de aspiración con aguja fina:
La aspiración con agujar fina es el método de biopsia menos invasivo y no suele
dejar cicatrices [10].
El cirujano utiliza una aguja fina hueca para extraer una muestra de células del
área posiblemente afectada.
• Biopsia con aguja gruesa:
Detección de cáncer de mama mediante redes neuronales
13
En la biopsia con aguja gruesa se utiliza anestesia local, para que el cirujano puede
extraer varias muestras cilíndricas [10].
2.3 Investigaciones nacionales de detección de cáncer de mama
mediante redes neuronales
En México se han realizado investigaciones respecto a la detección de cáncer de mama con
la finalidad de evitar falsos positivos en las imágenes mamográficas en Mayo de 2013, se
realizó un algoritmo computacional por el doctor Rolando Flores Carapia del Centro de
Innovación y Desarrollo Tecnológico en Computación (CIDTEC) [23], en conjunto con el
alumno de maestría en Tecnología de computo Hugo Flores Gutiérrez de este mismo centro,
además del alumno Benjamín Luna Benoso de la Escuela Superior en Computación
(ESCOM) [23], implementaron redes neuronales artificiales y algoritmos computacionales
para ayudar a los radiólogos y médicos a la detección cáncer de mama así como la reducción
de falsos positivos.
Este trabajo consista del siguiente modelo cibernético para la detección cáncer de mama,
como se muestra en la Figura 2.6:
Figura 2.6: Algoritmo de detección de cáncer de mama.
Por otra parte, para la clasificación de patrones se implementaron redes neuronales artificiales
a partir de una base de datos obtenida de mini-Mias, contiene imágenes mamográficas, cabe
mencionar que dichas imágenes han sido utilizadas para el desarrollo de investigación a nivel
mundial [23].
El tratamiento de la imagen digital es necesario para la eliminación de impurezas que
contenga la imagen digital (mamografía) para la obtención únicamente del seno.
Tratamiento
digital de las
imágenes
Segmentación
de la
mamografía
digital
Extracción de
características
Clasificación
y respuesta
Detección de cáncer de mama mediante redes neuronales
14
Mientras la extracción de las características consta de analizar el promedio de color en la
imagen, así como la cantidad pixeles existentes [34].
El objetivo del procesamiento de la mamografía fue representar cada mama como un patrón,
es decir algo numérico, una vez que todas las mamografías de la base de datos estaban
clasificadas.
2.4 Investigaciones internacionales de detección de cáncer de
mama mediante redes neuronales
A lo largo de la historia, se implementaron diversas técnicas y algoritmos para la detección
de cáncer de mama mediante RNA, a continuación, se presentan recientes investigaciones a
nivel mundial acerca de estos algoritmos que se muestran a continuación.
2.4.1 Diagnóstico asistido por computadora de cáncer de mama: Hacia la
detección temprana y de signos sutiles
Este proyecto fue dado a conocer el 10 de Octubre de 2010, en la Universidad de Alberta en
Canadá, por el Profesor Rangaraj M. Rangayyan, el cual muestra el método para el análisis
de las características de las mamografías, así como el desarrollo asistido por una
computadora, en asistencia de ayuda a los radiólogos para una detección más temprana
[24].
Se presentó una visión general de las diversas técnicas de procesamiento de imágenes en los
últimos 20 años en el análisis de imágenes médicas, para el análisis de las imágenes se
presentaron las características de una mastografía como son: las calcificaciones, la asimetría
bilateral, entre otras.
Para este proyecto se utilizaron filtros Galbor, retratos de fase y análisis de la textura
orientada para la distorsión de las imágenes mamográficas, además para su temprana
detección.
Detección de cáncer de mama mediante redes neuronales
15
2.4.2 Detección de cáncer de mama usando una red neuronal
Backpropagation usando distintas neuronas
En el año 2012 en el Instituto de Tecnología de Shirpur en la India, científicos desarrollaron
un nuevo algoritmo basado en una red neuronal de retropropagación, el algoritmo de
gradiente y el vector de aprendizaje cuantificado para la detección y clasificación de cáncer
de mama, a partir de una base de datos creada por el doctor William H. Wolberg de la
Universidad de Madison [25].
La base de datos mencionada anteriormente contenía 683 archivos de los cuales 444 se usaron
para el entrenamiento, mientras que 239 se implementaron para pruebas.
Este algoritmo alcanzo un 92% de efectividad en la clasificación.
2.4.3 Sistema basado en redes neuronales para el eficiente diagnóstico de
cáncer de mama.
Algoritmo trabajado por el Profesor Seema Singh de la BMS Instituto de Tecnología de la
India, y los estudiantes Sushmitha H, Harini J y Surabhi B., del mismo instituto, este proyecto
fue hecho en el año 2014 [26].
Este proyecto se basó una técnica automatizada usando redes neuronales artificiales como
una herramienta en la toma de decisiones en el campo del cáncer de mama.
Utilizaron las características extraídas de biopsias, que fueron utilizados para el
entrenamiento de la RNA. De igual manera se probaron el entrenamiento supervisado y el no
supervisado, para el desarrollo de la técnica más eficiente de la RNA.
Las técnicas no supervisadas fueron ocupadas para el diagnóstico de casos malignos y
benignos de Cáncer de Mama.
Utilizaron un total de 569 casos extraídos de biopsias inconsistentes, obteniendo así un
97.47% de efectividad.
Posteriormente la RNA mejoró mediante la técnica de la regularización Bayesiana.
Detección de cáncer de mama mediante redes neuronales
16
2.4.4 Clasificación para el diagnóstico de cáncer de mama usando el
enfoque de las redes neuronales
En 1° de Enero del 2015 estudiante de doctorado de la universidad de Yangon, Mayanmarr
en Ragún Birmania, en el departamento de ciencias de la computación y matemáticas,
propusieron un algoritmo para la clasificación de distintos tipos de cáncer de mama
implementando el algoritmo island –base, este algoritmo tenía un entrenamiento más exacto
de la red neuronal artificial, así como la reducción del tiempo de entrenamiento [27].
2.4.5 Detección de distintos tipos de cáncer mediante redes neuronales
artificiales
El 5 de Julio de 2016 el estudiante de ingeniería Alberto Fariña Barrera de la Universidad de
La Laguna en Tenerife, España realizó la detección de tres distintos tipos de cáncer como es:
el cáncer de mama, melanoma y cáncer de pulmón; utilizando redes neuronales artificiales.
Este proyecto utilizó algoritmos Backpropagation que es un entrenamiento supervisado,
mientras que el algoritmo Counter-Propagation, el cual presenta un algoritmo de
entrenamiento no supervisado con otro entrenamiento supervisado, cabe mencionar que la
base de datos utilizada para este proyecto fue proporcionada por el Heuristic and
Evolutionary Algorithms Laboratory (HEAL).
El uso de este sistema no pretende ser el diagnosticador final, sino más bien es una
herramienta de soporte para los oncólogos, que les permita hacer un diagnóstico inicial del
paciente y derivar a pruebas más consensuadas [36].
CAPÍTULO 3
Detección de cáncer de mama mediante redes neuronales
17
MARCO TEÓRICO
3.1 Cáncer de mama
El cáncer de mama es una enfermedad que aparece en mujeres de 35-60 años, es la
enfermedad con más índices de mortandad en mujeres a nivel mundial, su predicción
temprana es esencial para su futura cura, aunque a veces su diagnóstico puede llegar a ser
confuso es por esto que resulta pertinente la utilización de algoritmos computacionales para
su diagnóstico.
3.1.1 Cáncer
El cáncer es una enfermedad que puede presentarse en cualquier parte del cuerpo humano.
Normalmente, las células humanas crecen y se dividen para formar nuevas células a medida
que el cuerpo las necesite. Cuando las células normales envejecen o se dañan estás tienden a
morir, entonces las células nuevas las reemplazan.
Sin embargo, en el cáncer, este proceso ordenado se descontrola, las células se vuelven
anormales, es decir, las células que deben morir o las células que están dañadas sobreviven
cuando ya no son necesarias. Estás células pueden dividirse sin interrupción de esta forma se
crean masas a las cuales llamamos tumores.
Las células cancerosas, son células anormales que crecen sin control y se vuelven invasivas,
mientras que las células normales maduran en tipos celulares con funciones específicas, las
células cancerosas no lo hacen (ver Figura 3.1).
Detección de cáncer de mama mediante redes neuronales
18
Figura 3.1: División celular anormal que muestra el comportamiento del cáncer
El cáncer forma tumores sólidos, los cuales son masas de tejidos. Los tumores cancerosos
son malignos, lo que significa que puede extenderse a otros tejidos, o puede invadir otros
órganos, a esto se llama metástasis [5].
La metástasis ocurre cuando las células cancerosas se desprenden y viajan a través del
sistema circulatorio, o el sistema linfático a otros lugares distantes, formando nuevos tumores
alejados del tumor original.
El cáncer es una enfermedad causada por cambios en los genes que controlan el
funcionamiento de las células, es decir, cambian su forma en cómo crecen y se dividen
El tipo de cáncer más común es el carcinoma, el cual es un tumor maligno con origen en las
células epitelial o glandular. Los carcinomas constituyen el tipo de cáncer más común, donde
se forman células cancerosas en el cuerpo, pero se desconoce el lugar donde comenzó, como
se muestra en la Figura 3.2 [35].
Figura 3.2: Carcinoma en la mama mostrando la micro calcificación maligna en la parte exterior del tejido
Detección de cáncer de mama mediante redes neuronales
19
3.1.2 Mama
La mama consiste principalmente de lobulillos (glándulas productoras de leche), conductos
(tubos diminutos que llevan la leche desde los lobulillos al pezón) y el estroma (tejido adiposo
y conectivo que rodean los conductos y los lobulillos, los vasos sanguíneos y los vasos
linfáticos) [6].
Internamente, el 90% de la constitución de la mama está formada de tejido graso, dentro del
mismo se ubica la glándula mamaria, la cual se muestra en la Figura 3.3
Figura 3.3: Características de los distintos tejidos de la mama, así como su exterior e interior
La mama incluye un conjunto de ganglios linfáticos, que se ubican en la axila de la mama, y
además al centro de la otra mama [7].
En la Figura 3.4 se pueden observar cómo está compuesta la glándula mamaria internamente.
Figura 3.4: Interior de la mama
La mama está compuesta por distintos tipos de tejidos, lo cuales se describen a continuación:
Detección de cáncer de mama mediante redes neuronales
20
Adiposo: Tejido graso que une la glándula mamaria con la piel.
Conectivo: Tejido que une la glándula mamaria con la piel.
Glandular: El seno comprende los lobulillos y los conductos (que se representan en
la Figura 3.4). En las mujeres que están en etapa de lactancia, las células y los
lobulillos producen leche que se desplazan a través de los conductos. Cada seno tiene
varios conductos que llegan hasta el pezón [10].
a) Tumores más comunes en la mama
La mama suele con el paso del tiempo presentar distintos tipos de tumores, tanto
benignos como malignos, como la fibrosis o la mastopatia, entre otros, a
continuación, se describen cada uno de ellos:
• Mastopatia Fibroquística de la mama: Es el padecimiento benigno más común
en la mujer, pero debe verificarse que no sea cáncer de mama, ya que los tumores
son similares. Es el padecimiento benigno de la glándula mamaria en la mujer, el
más frecuente desde la adolescencia hasta la edad adulta [30].
• Fibroadenoma: El tumor benigno más común de la mama femenina es el
fibroadenoma. Es una neoplasia formada por el tejido fibroso y glandular. Ocurre
en cualquier etapa del período de la edad reproductiva y es algo más frecuente
antes de los 30 años [30].
3.1.3 Cáncer de mama
El cáncer de mama es un tumor maligno que se origina en las células del seno. Un tumor
maligno es un grupo de células cancerosas que pueden crecer penetrando (invadiendo) los
tejidos circundantes o que pueden propagarse (hacer metástasis) a áreas distantes del cuerpo.
Esta enfermedad ocurre casi exclusivamente en las mujeres, pero los hombres también la
pueden padecer.
Detección de cáncer de mama mediante redes neuronales
21
Figura 3.5: Mama con microcalcifiaciones que presenta cáncer en un ganglio presentando el estadio III de
cáncer.
Como se muestra en la Figura 3.5 se presentan los estadios de Cáncer de mama, a
continuación, se describen estos:
El estadio de cáncer de mama, determina la zona de la mama en la que se encuentra, o si se
ha propagado a los tejidos sanos dentro de la mama o hacia otras partes del cuerpo. Esto se
determina mediante el análisis de un especialista o médico por medio de estudios pertinentes
[12].
El estadio del cáncer se basa en cuatro factores:
El tamaño del tumor [14].
Si el cáncer de mama es invasivo o no invasivo [14].
Si el cáncer ha tomado los ganglios linfáticos [14].
Si el cáncer de mama se propagó hacia otras partes del cuerpo fuera de la
mama [14].
Los estadios de cáncer de mama se describen de la siguiente manera:
Local: El cáncer de mama está restringido a la mama [12].
Regional: Los ganglios linfáticos han sido afectados, especialmente aquellos
ubicados en la axila [12].
Distante: El cáncer también se encuentra en otras partes del cuerpo [12].
Detección de cáncer de mama mediante redes neuronales
22
Para la localización de los estadios del cáncer de mama, se utiliza el sistema TGM, esto se
basa en el tamaño del tumor (T), el grado en que están afectados los ganglios linfáticos (G)
y el hecho de si se ha propagado o haya metastatizado (M).
Los estadios de cáncer de mama se dividen de la siguiente manera:
Estadio 0: Se utiliza para describir el cáncer de mama no invasivo, no existe
indicio de células cancerígenas [17].
Estadio 1: Describe el cáncer de mama invasivo [17].
Estadio 2: Describe el cáncer de mama invasivo en el que no hay ningún
tumor en la mama, pero se detectan células cancerígenas [17].
Estadio 3: Describe el cáncer de mama invasivo que describe la presencia de
cáncer de 4 a 9 ganglios, y el tumor mide más de 5 cm [17].
Estadio 4: Describe el cáncer de mama invasivo que se ha propagado más allá
de la mama y los ganglios linfáticos [17].
Para la detección de cáncer de mama se puede llevar a cabo mediante algoritmos
computaciones, así como por medio de la inteligencia artificial.
3.2 Inteligencia artificial
Desde épocas memoriales el estudio de la inteligencia artificial, ha sido uno de los principales
temas que han fascinado a científicos y filósofos. Sin embargo, no se han alcanzado avances
significativos en la actualidad.
La inteligencia artificial se divide en dos campos, inteligencia artificial simbólica y la
subsimbolica.
Detección de cáncer de mama mediante redes neuronales
23
3.2.1 Inteligencia artificial simbólica
En la inteligencia artificial simbólica se debe definir un problema a resolver y diseñar un
sistema capaz de resolver el problema siguiendo esquemas prefijados por la disciplina.
Los sistemas expertos siguen este esquema, se introducen una serie de reglas lógicas que
recogen el conocimiento sobre una materia, a partir de mecanismos de inferencia similares a
los que emplea el razonamiento humano, para obtener conclusiones.
En la inteligencia artificial simbólica se dice que los sistemas expertos siguen un esquema de
arriba-abajo (top - down) ya que es necesario disponer de una aproximación de solución al
problema y diseñar dicha aproximación.
Así como tiene como ejemplo de una perspectiva simbólica, consiste en el estudio de
mecanismos de razonamiento humano a alto nivel, es decir, como nos enfrentamos a un
problema, como lo abordamos, y como lo resolvemos.
Cuanto mayor se entienda el razonamiento humano, más eficiente será el sistema producido
a la hora de resolver problemas planteados.
3.2.2 Inteligencia artificial subsimbolica
En cambio, en la inteligencia artificial subsimbólica no se implementa el diseño de esquemas
de alto nivel para resolver problemas utilizando técnicas de la disciplina, sino que se parte de
sistemas genéricos que se deben adaptar y construir para que el sistema sea capaz de resolver
el problema.
Su perspectiva subsimbólica estudia los mecanismos físicos que nos capacitan como seres
inteligentes.
El sistema nervioso es el mecanismo fundamental que capacita a cualquier ser vivo, para
realizar una tarea sofisticada no pre-programada, es el sistema nervioso.
Detección de cáncer de mama mediante redes neuronales
24
3.2.3 Las redes neuronales artificiales
El objetivo ideal de las redes neuronales artificiales, es diseñar máquinas con elementos
neuronales de procesamiento paralelo, de manera que el comportamiento general de la red
neuronal simule el comportamiento de los sistemas neuronales de los animales.
3.2.4 Fundamentos biológicos de las redes neuronales
Las comunicaciones neuronales de los seres vivos, formadas por el sistema nervioso y
sistema hormonal, en conexión con los músculos y glándulas, tiene la misión de recibir
información, almacenarla y enviarla. El sistema de comunicaciones neuronal se compone
de tres partes:
1. Receptores, que están en las células sensoriales, reciben información en forma de
estímulos ya sea desde el interior o exterior del organismo.
2. El sistema nervioso, recibe información la agrupa, y la divide en dos grupos, uno lo
almacena y el otro lo transmite a los órganos afectores, además de otras zonas del
sistema nervioso.
3. Órganos efectores (músculos o glándulas), reciben información y la interpretan en
forma de acciones motoras u hormonales.
El elemento estructural más esencial en el sistema de comunicación neuronal, es la neurona,
la cual utiliza su proceso de secreción (transmisores) para la transmisión de información.
Dicha información se propaga a través distintas neuronas formado redes en las cuales se
genera y almacena información.
Sin embargo, una parte de las neuronas están en constante relación con los receptores a través
de los cuales reciben información procedente del interior o exterior del organismo. Mientras
otras neuronas transmiten la información generada en la red hacia los órganos efectores.
El responsable de la transmisión de señales eléctricas desde una neurona a otra se denomina
axón.
Detección de cáncer de mama mediante redes neuronales
25
A una distancia considerable a partir de su núcleo, se ramifican y se forman botones
terminales, que se ponen en contacto con otras neuronas o células efectoras, pero sin
fusionarse con ellas, a esta zona de contacto se le denomina sinapsis [28].
La misión de las neuronas comprende los siguientes puntos.
Las neuronas reciben información procedente de otras neuronas en forma de señales
eléctricas.
Cada neurona la integra un código de activación propio de la célula.
La información se transmite a través del axón.
A través de sus ramificaciones, el axón efectúa la distribución de información.
En sus terminales transmite información a neuronas subsecuentes o a las células
efectoras.
En la Figura 3.6 se muestra el esquema de una célula nerviosa típica.
Figura 3.6: Características de una neurona biológica
Entre los elementos más importantes de la neurona correspondiente a la figura 3.6 destaca el
axón que es una ramificación de salida de la neurona.
3.3 Procesamiento básico de una neurona biológica
Detección de cáncer de mama mediante redes neuronales
26
Se han descrito las características generales de una neurona biológica, así como su
funcionamiento. Sin embargo, es necesaria una explicación algorítmica del procesamiento
de la neurona biológica, el cual se describe a continuación.
3.3.1 Algoritmo de procesamiento de una neurona biológica
La neurona biológica requiere una serie de pasos para su correcto procesamiento, a
continuación, se explican los pasos para la correcta implementación del algoritmo:
1. Los botones sinápticos reciben información en forma de señales eléctricas
procedentes de otras células.
2. La información recibida por los botones sinápticos es transmitida hacia el núcleo.
3. El núcleo procesa la información y genera una respuesta.
4. La respuesta generada por el núcleo es propagada hacia el axón.
5. La señal propagada por el axón se ramifica y llega a las dendritas de otra neurona o
célula a través de los botones sinápticos.
Donde la sinapsis, es la unión entre el axón y dendritas, es un espacio líquido donde existen
elementos ionizados, tales como el sodio y el potasio. Estos iones hacen que el espacio
intersináptico posea propiedades de conductividad que permitan o bloqueen señales
eléctricas. De esta forma la sinapsis actúa como atenuador o amplificador de una señal
eléctrica
Por lo tanto, el funcionamiento general de una red neuronal biológica puede verse como una
malla, en la cual se propagan señales eléctricas procedentes de distintas células.
Esta concentración iónica es clave, ya que el comportamiento de las neuronas no es lineal, es
decir, las neuronas no son un simple conductor, el cual acumula señales recibidas por sus
dendritas.
En cambio, las neuronas actúan bajo una función de saturación; con lo cual producen una
señal de activación si la señal recibida es mayor a un cierto umbral, en caso contrario
permanecen inactivas.
Detección de cáncer de mama mediante redes neuronales
27
Aun conociendo el comportamiento general de una neurona, es muy complejo simular el
comportamiento del cerebro humano, ya que en promedio el cerebro posee alrededor de 100
mil millones de neuronas conectadas cada una de ellas con alrededor de 10 mil conexiones,
lo cual hace imposible la fabricación de un dispositivo con características similares en la
actualidad.
3.4 Modelo computacional de una red neuronal artificial
Una de las diferencias que existe entra una máquina neuronal y un programa computacional,
es que una maquina neuronal crea la información de entrada en cierta forma para obtener una
salida o respuesta. Pero no se trata de la aplicación de un algoritmo cualquiera. El proceso de
recepción de información depende de distintos parámetros, como la estructura y
funcionalidad de la red.
Existen diversos modelos de redes neuronales en los cuales se siguen filosofías de diseño,
regla de aprendizaje y funciones de construcción de distintas respuestas.
Una primera clasificación se hace en función del recorrido de la información dentro de la red,
es así como se distinguen las redes orientadas hacia adelante, o las de retroalimentación.
3.4.1 La Neurona Artificial
La neurona artificial es un elemento que posee un estado interno, llamado nivel de activación,
y recibe señales que le permite cambiar de estado, a esto se le denomina Función de
activación.
La magnitud del nivel de activación de una neurona tiene una relación directa con las entradas
recibidas, así como los valores sinápticos, pero no de valores de estados de activación.
Para calcular el estado de activación se debe calcular la entrada total de la neurona (suma de
todas las entradas ponderadas por ciertos valores).
Detección de cáncer de mama mediante redes neuronales
28
Figura 3.7: Entradas, procesamiento y salidas de una neurona básica.
En la Figura 3.7 se describe las entradas que son introducidas en una neurona artificial. Estas
entradas están definidas por un vector �̅�, correspondientes a las señales de la sinapsis de una
neurona biológica.
Cada señal se multiplica por un peso asociado 𝑤1, 𝑤2, … , 𝑤𝑛 antes de aplicar la sumatoria.
Cada peso corresponde a la fuerza de conexión sináptica y se representa por un vector �̅�.
La sumatoria corresponde al cuerpo de la neurona la cual suma el producto las entradas �̅�
con su peso correspondiente �̅� produciendo una salida E, que se muestra en la ecuación 3.1.
𝐸 = 𝑥1𝑤1 + 𝑥2𝑤2 + ⋯ + 𝑥𝑛𝑤𝑛….. (3.1)
Esta ecuación está definida vectorialmente en la ecuación 3.2:
𝐸 = 𝑋𝑇𝑊…… (3.2)
Las señales E son procesadas por la función de activación F, que produce una señal a la salida
de la neurona S, dependiendo de la función F habrá distintos modelos autómatas como son:
𝐿𝑖𝑛𝑒𝑎𝑙 𝑆 = 𝐾𝐸 𝑐𝑜𝑛 𝑘 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒
𝑈𝑚𝑏𝑟𝑎𝑙: 𝑆 = 1 𝑠𝑖 𝐸 ≥ 𝜃, 𝑆 = 0 𝑠𝑖 𝐸 < 𝜃 𝑠𝑖𝑒𝑛𝑑𝑜 𝜃 𝑢𝑛 𝑢𝑚𝑏𝑟𝑎𝑙 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒.
𝐶𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑆 = 𝐹(𝐼) 𝑠𝑖𝑒𝑛𝑑𝑜 𝐹 𝑢𝑛𝑎 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑐𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟𝑎
A partir de este fundamento básico, se propusieron los siguientes modelos:
• Células de McCulloch-Pitts
• El perceptrón
• Modelo Adaline
• Perceptrón multicapa
Detección de cáncer de mama mediante redes neuronales
29
3.4.2 Células de McCulloch-Pitts
Esté primer modelo fue propuesto Warren McCulloch y Walter Pitts en 1943. En él
simbolizan la estructura y funcionamiento básico de las neuronas del cerebro, esta se
considera con dos estados posibles 0 apagado y 1 encendido, a continuación, se presenta el
esquema general:
Figura 3.8: Esquema general de la célula de McCulloch-Pitts
Donde la célula de McCulloch-Pitts recibe como entrada un conjunto de n valores binarios,
𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛} procedente de las salidas de otra neurona. Cada célula se caracteriza por
tener W+1 valores reales, donde W es el peso correspondiente a las entradas 𝑥𝑖 con un umbral
Ɵ que es distinto para cada célula.
La célula debe procesar la entrada y producirá un valor de 1 a la salida, si la suma de las
entradas multiplicadas por los pesos supera al umbral Ɵ, pero producirá un 0 a la salida en
caso contrario como se muestra en las ecuaciones 3.3 y 3.4.
𝐸 = ∑ 𝑥𝑖𝑤𝑖𝑛𝑖=𝑛 ………………… (3.3)
𝑆 = {1 ∀ 𝐸 > 𝜃0 ∀ 𝐸 ≤ 𝜃
……………… (3.4)
3.4.3 El perceptrón
Este modelo es capaz de clasificar automáticamente, a partir de un conjunto de ejemplos de
clases diferentes.
Detección de cáncer de mama mediante redes neuronales
30
La información sobre la que se basa el sistema debe estar constituida por los ejemplos
existentes de diferentes clases, estos ejemplos se les conoce como patrones de entrenamiento,
ya que son estos los que aportan la información necesaria para que el sistema construya
superficies discriminantes.
El sistema al final del proceso debe ser capaz de determinar cualquier ejemplo nuevo, y su
clase correspondiente de manera ideal. Sin embargo, en la mayoría de las aplicaciones no
existe tal modelo que clasifique cualquier patrón nuevo a él.
A. Descripción del Modelo
En la estructura de la red se tiene un conjunto de células de entrada, tantas como sea
necesario según los términos del problema; y una o varias células de salida. Cada una
de las células de entrada tiene conexiones con todas las células de salida, y son estas
conexiones las que determinan la superficie de discriminación.
Figura 3.9: Arquitectura del perceptrón con dos entradas y una salida.
Dónde 𝑥1 , 𝑥2: Corresponden a las entradas.
𝑦 : Corresponde a la salida.
𝑤1 , 𝑤2 : Corresponden a los pesos.
𝜃 : Corresponde al umbral.
En este esquema la salida de la red se obtiene de la siguiente forma:
Primero se calcula la activación de la célula a la salida, mediante la suma ponderada entre
pesos y entradas, como se muestra en la ecuación 3.5.
Detección de cáncer de mama mediante redes neuronales
31
𝑦´ = ∑ 𝑤𝑖𝑥𝑖𝑛𝑖=1 …. (3.5)
La salida definitiva se produce al aplicarle una función de salida al nivel de activación de la
célula.
𝑦 = 𝐹(𝑦´, 𝜃)
𝐹(𝑠, 𝜃) = {1 𝑠𝑖 𝑠 > 𝜃
−1 𝑒𝑛 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜……… (3.6)
Pasando 𝜃 al otro lado de la ecuación, la salida se puede escribir en una sola ecuación 3.7.
𝑦 = 𝐹(∑ 𝑤𝑖𝑥𝑖𝑛𝑖=1 + 𝜃)………… (3.7)
Donde 𝐹 es una variable independiente.
𝐹(𝑠) = {1 𝑠𝑖 𝑠 > 0
−1 𝑒𝑛 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜……(3.8)
La función de salida 𝐹 es binaria y de gran utilidad en este método, ya que, al tratarse de un
clasificador, una salida binaria se traduce a una clasificación en dos categorías de la siguiente
forma:
Si la red produce una salida 1, la entrada pertenece a la clase A
Si la red produce una salida -1, la entrada pertenece a la clase B
En caso de tener dos neuronas a la entrada, la ecuación anterior se transforma en:
𝑤1𝑥1 + 𝑤2𝑥2 + 𝜃 = 0………..(3.9)
La cual en realidad es una ecuación de recta con pendiente de −𝑤1
𝑤2 , la cual pasa por −
𝜃
𝑤1
en el eje de las ordenadas. En este caso, con dos neuronas de entrada, los patrones de
entrenamiento se representan como puntos en un plano bidimensional. Si además dichos
puntos pertenecen a una de dos categorías A o B, la separación de dichas categorías se
especifica mediante la ecuación de recta anterior.
Detección de cáncer de mama mediante redes neuronales
32
Por lo cual, la red define una recta que discrimina dos clases en caso de ser solución al
problema, como se muestra en la Figura 3.10.
Figura 3.10: Separación entre clases.
3.4.4 Adaline
El perceptrón es un sistema de aprendizaje basado en ejemplos o patrones capaz de realizar
tareas de clasificación. Sin embargo, existe un gran número de problemas que no se reducen
a simples clasificaciones.
En 1960, Widrow y Hoff, diseñaron un sistema de aprendizaje denominado como ADAptive
Linear NEuron (ADALINE). Este sistema es capaz de calcular el error producido, el cual
recibe un conjunto de entradas y las combina para producir una salida.
El aprendizaje, es la diferencia entre el valor real producido en la capa de salida para un
patrón de entrada 𝑥𝑃, y el valor deseado a la salida 𝑑𝑝 , que se encuentre definido en el
conjunto de aprendizaje |𝑑𝑝 − 𝑥𝑝|. A esta regla de aprendizaje se le conoce como regla delta.
La diferencia más notable con respecto al Perceptrón común, es que este utiliza la salida en
función del umbral para el aprendizaje, mientras que la regla Delta utiliza la salida
directamente de la red, sin aplicarle ninguna función umbral. El objetivo es obtener un valor
deseado 𝑑𝑝, para un conjunto de valores 𝑋𝑖𝑝, 𝑐𝑜𝑛 𝑖 = 1, … , 𝑛 de entrada.
Por lo tanto, el problema es obtener el conjunto de pesos 𝑊𝑖𝑝, 𝑐𝑜𝑛 𝑖 = 1, … , 𝑛, que permitan
realizar lo descrito anteriormente para un número arbitrario de patrones de entrada. Sin
Detección de cáncer de mama mediante redes neuronales
33
embargo, no es posible conseguir una salida exacta, pero si minimizar la desviación definida
por la red.
Por lo tanto, se debe elegir una medida de error global, el cual está definido como error
cuadrático medio, como se muestra en la siguiente ecuación.
𝐸 = ∑ 𝐸𝑝𝑚𝑝=1 =
1
2∑ (𝑑𝑝 − 𝑦𝑝)2𝑚
𝑝=1 ….. (3.10)
Al definir el error cuadrático medio como medida de error global de la red, la regla Delta
intentara minimizar este valor, para todos los elementos del conjunto de patrones de
aprendizaje. Para minimizar este error se debe recurrir a un proceso iterativo, en el cual se
presentan los patrones uno a uno modificando los parámetros de la red, es decir, pesos entre
conexiones, mediante la regla del descenso del gradiente.
Lo cual implica realizar un cambio en cada peso proporcionar a la razón de cambio del error,
en el patrón actual respecto al peso.
∆𝑝 𝑊𝑗 = −𝛾𝜕𝐸𝑝
𝜕𝑊𝑗…….(3.11)
Para el cálculo de esta ecuación, se utiliza la regla de la cadena que se describe en la siguiente
ecuación.
𝜕𝐴
𝜕𝑥=
𝜕𝐴
𝜕𝑦
𝜕𝑦
𝜕𝑥……….(3.12)
Al aplicar regla de la cadena a la ecuación inicial se tiene.
𝜕𝐸𝑝
𝜕𝑤𝑗=
𝜕𝐸𝑝
𝜕𝑦𝑝
𝜕𝑦𝑝
𝜕𝑤𝑗…….(3.13)
Al ser unidades lineales sin función de activación en la capa de salida se cumple que.
𝜕𝑦𝑝
𝜕𝑤𝑗= 𝑥𝑗 ∴
𝜕𝐸𝑝
𝜕𝑦𝑝 = −(𝑑𝑝 − 𝑦𝑝)……(3.14)
Si sustituimos en la ecuación inicial queda de la siguiente manera:
Detección de cáncer de mama mediante redes neuronales
34
∆𝑝 𝑊𝑗 = −𝛾 − (𝑑𝑝 − 𝑦𝑝)…….(3.15)
Si a la salida del ADALINE es binaria el conjunto de patrones, estará definido de la siguiente
forma
𝑃 = {(𝑥1, 0 𝑜 1), … , (𝑥𝑛, 0 𝑜 1)}.
3.4.5 Perceptrón multicapa
El Perceptrón multicapa surgió a partir de las limitaciones que presentaba el Perceptrón
simple, respecto al problema de la separabilidad lineal.
La combinación de varios perceptores sirvió como base para la realización de estudios por
parte de Rumelhart, Hinton y Williams en 1986, los cuales diseñaron una forma de retro
propagar los errores medidos a la salida de la red hacia capas ocultas, dando lugar a la regla
delta generalizada, la cual generaliza la regla delta para funciones de activación y redes
multicapas.
Diversos autores han demostrado que a pesar de que el Perceptron multicapa es un
aproximador universal, cualquier función continua sobre el plano 𝑅𝑛 puede aproximarse con
el Perceptron multicapa, con al menos una capa oculta de neuronas.
El Perceptron multicapa tiene la capacidad de aprender a partir de un conjunto de patrones,
aproximar relaciones no lineales, además de filtrar ruido en los datos.
Por el contrario, el perceptrón multicapa posee las siguientes limitaciones.
Su proceso de aprendizaje es largo para problemas complejos dependientes de un gran
número de variables.
La dificultad de codifica magnitudes reales es sistemas numéricos.
Dificultad de realizar un análisis teórico de la red debido a componentes no lineales
y a la alta conectividad.
En el proceso de aprendizaje del Perceptron multicapa, se busca una función que relacione
las variables de entrada con las variables de salida del problema.
Detección de cáncer de mama mediante redes neuronales
35
a. Arquitectura del perceptrón multicapa
La arquitectura del Perceptrón multicapa se caracteriza por que tiene sus neuronas
agrupadas en capas de diferente nivel. Existen 3 capas:
Capa de entrada
Capa oculta
Capa de salida.
Las neuronas de la capa de entrada se encargan de recibir patrones, además de
propagarlos por la siguiente capa de la red.
Las neuronas de la capa de salida, proporcionan la respuesta de la red para cada patrón
de entrada.
Mientras que las capas ocultas efectúan un procesamiento no lineal de los patrones
recibidos.
Figura 3.11: Arquitectura del perceptrón multicapa.
Como se observa en la figura anterior las conexiones del Perceptrón multicapa
siempre son hacia adelante, es decir, las neuronas de cada capa se conectan con las
neuronas de la siguiente capa, a este tipo de redes se les conoce como “feedforward”.
Detección de cáncer de mama mediante redes neuronales
36
Las conexiones entre neuronas llevan asociado un número real llamado peso de la
conexión.
b. Propagación de los patrones de entrada
El Perceptrón multicapa define una relación entre las variables de entrada y las
variables de salida. Esta relación se obtiene propagando hacia adelante los valores de
las variables de entrada. Para ello, cada neurona de la red procesa la información
recibida por las entradas y produce una respuesta o activación que se propaga, a través
de conexiones correspondientes, hacia las neuronas de las siguientes capas.
A continuación se muestran las expresiones para calcular la activación de la neurona
de la red.
Sea un Perceptrón multicapa 𝐶 con 𝐶 − 2 capas ocultas y 𝑛𝑐 neuronas en la capa 𝐶
para 𝑐 = 1,2,3, . . , 𝐶.
Sea 𝑊𝑐 = (𝑤𝑖𝑗𝑐 ) la matriz de pesos asociada a las conexiones de la capa 𝑐 con la capa
𝑐 + 1, para 𝑐 = 1,2,3, … , 𝐶 − 1, donde 𝑤𝑖𝑗𝑐 representa el peso de la conexión de la
neurona 𝑖 de la capa 𝑐 con la neurona 𝑗 de la capa 𝑐 + 1, y sea 𝑈𝑐 = (𝑢𝑖𝑐) el vector
de umbrales de las neuronas de la capa 𝑐, para 𝑐 = 2,3, . . , 𝐶.
Se denota 𝑎𝑖𝑐 a la activación de la neurona 𝑖 de la capa, la cual se calcula de la siguiente
forma de acuerdo a la activación para dos neuronas como se muestra en la figura.
Figura 3.12: Arquitectura simple del perceptrón multicapa con activaciones.
Detección de cáncer de mama mediante redes neuronales
37
Para la activación de las neuronas de entrada:
𝑎𝑛𝑒𝑢𝑟𝑜𝑛𝑎𝑐𝑎𝑝𝑎 = 𝑋𝑛𝑒𝑢𝑟𝑜𝑛𝑎………………… (3.15)
Entonces las activaciones de las dos neuronas de entrada se describen de la siguiente forma:
𝑎11 = 𝑋1……………… (3.16).
𝑎21 = 𝑋2……………… (3.17).
Para la activación de las neuronas de la capa oculta se tienen lo siguiente:
𝑎21 = 𝑓( 𝑊11𝑎1
1 + 𝑊21𝑎21 + 𝑢1
2 )…………. (3.18).
𝑎22 = 𝑓( 𝑊12𝑎1
1 + 𝑊22𝑎22 + 𝑢2
2 )…………. (3.19).
Mientras que la activación de la capa de salida se describe en la ecuación (3.20).
𝑦 = 𝑎13 = 𝑓(𝑉1𝑎1
2 + 𝑉2𝑎22 + 𝑢3)……….. (3.20).
Sin embargo, es necesario definir la activación de las neuronas para todas las capas de manera
general como se describe a continuación.
Para la activación de las neuronas de la capa de entrada se define lo siguiente.
𝑎𝑖1 = 𝑥𝑖 𝑐𝑜𝑛 𝑖 = 1,2,3,4, . . , 𝐶……(3.15)
𝐷𝑜𝑛𝑑𝑒 𝑋
= {𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑛} 𝑒𝑠 𝑢𝑛 𝑣𝑒𝑐𝑡𝑜𝑟 𝑞𝑢𝑒 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎 𝑎 𝑒𝑙 𝑝𝑎𝑡𝑟𝑜𝑛 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎
Detección de cáncer de mama mediante redes neuronales
38
Para la activación de las neuronas de la capa oculta 𝑐𝑎𝑖𝑐 .Se aplica una función de
activación 𝑓 a la suma de los productos de las activaciones por su peso
correspondiente.
𝑎𝑖𝑐 = (∑ 𝑤𝑗𝑖
𝑐−1𝑛𝑐−1𝑗=1 𝑎𝑗
𝑐−1 + 𝑢𝑖𝑐 ) 𝑝𝑎𝑟𝑎 𝑖 = 1,2,3, . . , 𝑛𝑐 ; 𝑐 = 2,3,4, . . , 𝐶 − 1……
(3.16)
Donde 𝑎𝑗𝑐−1 son las activaciones de la capa 𝑐 − 1
La activación de la capa de salida 𝑎𝑖𝑐, está dada por la siguiente función de activación
aplicada a la suma de los productos de las entradas que recibe con sus pesos
correspondientes.
𝑦𝑖 = 𝑎𝑖𝐶 = (∑ 𝑤𝑗𝑖
𝐶−1𝑛𝐶−1𝑗=1 𝑎𝑗
𝐶−1 + 𝑢𝑖𝐶 ) 𝑝𝑎𝑟𝑎 𝑖 = 1,2,3, . . , 𝑛𝐶 ; ……(3.17)
𝐷𝑜𝑛𝑑𝑒 𝑌 = {𝑦1, 𝑦2, . . , 𝑦𝑛𝐶} 𝑒𝑠 𝑒𝑙 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎 𝑑𝑒 𝑙𝑎 𝑟𝑒𝑑
Para el Perceptrón multicapa las funciones de activación más utilizadas son la función
sigmoidal y la función tangente hiperbólica. Dichas funciones poseen un intervalo
continuo en su imagen para los siguientes conjuntos [0,1] y [-1,1], las cuales vienen
dadas en las siguientes expresiones.
Función Sigmoideal
𝑓1(𝑥) = 1
1+ 𝑒−𝑥…….(3.18)
Función Tangente Hiperbólica
𝑓1(𝑥) = 1− 𝑒−𝑥
1+ 𝑒−𝑥…….(3.19)
Detección de cáncer de mama mediante redes neuronales
39
Donde ambas funciones son funciones crecientes con dos niveles de saturación de
salida; 1 como valor máximo y 0 como valor mínimo para la función sigmoidal y -1
como valor mínimo para la función tangente hiperbólica como se observa en la figura
(3.12).
Figura 3.13: Respuesta Sigmoidal y Tangencial de una entrada.
En la mayoría de los casos, la función de activación es común para todas las neuronas
de la red. Además existe una relación entre las dos funciones definida por la siguiente
expresión.
𝑓2(𝑥) = 2𝑓1(𝑥) − 1……(3.20)
Por lo que la implementación de cualquiera de las dos funciones solo cambia en el
recorrido.
3.5 Aprendizaje
Una vez que se conocen las arquitecturas más significativas para entender el funcionamiento
general de un perceptrón, existen reglas de aprendizaje para este tenga la capacidad de
simular el comportamiento de una neurona biología a partir de ejemplos, y modificaciones
en los parámetros de la red.
La parte más importante de una red neuronal artificial es el aprendizaje.
Detección de cáncer de mama mediante redes neuronales
40
El esquema de aprendizaje de una red es lo que determina el tipo de problemas que será capaz
de resolver. Las redes neuronales artificiales son sistemas de aprendizaje basados en
ejemplos. Donde la capacidad de una red para resolver un problema estará ligada de forma
fundamental al tipo de ejemplos de que dispone en este proceso de aprendizaje. Los ejemplos
deben poseer las siguientes características:
El número de ejemplos debe ser suficiente ya que, si el conjunto de aprendizaje es
reducido, la red no será capaz de adaptar sus pesos de forma eficaz.
Los componentes del conjunto de aprendizaje deberán ser distintos. Si un conjunto
de aprendizaje tiene más ejemplos de un tipo que del resto, la red se especializará en
dicho subconjunto de datos y no será de aplicación general.
Existen dos tipos de aprendizaje.
3.5.1 Aprendizaje Supervisado
En este tipo de esquemas, los datos del conjunto de aprendizaje tienen dos tipos de atributos:
los datos propios de la red e información relativa a la solución del problema.
Donde cada vez que un ejemplo es introducido y se procesa para obtener una salida, dicha
salida se comparara con la salida que se debería de haber producido (objetivo), y de la que
se dispone al estar incluida dicha información en el conjunto de aprendizaje. La diferencia
entre ambas determinara en la modificación de los pesos. Para este tipo de aprendizaje se
dice que hay un profesor externo encargado de determinar si la red se está comportando de
manera adecuada.
Detección de cáncer de mama mediante redes neuronales
41
Figura 3.14: Aprendizaje supervisado.
3.5.2 Aprendizaje no supervisado
En este tipo de aprendizaje, los datos del conjunto de aprendizaje solo tienen información de
ejemplos, y no hay nada que permita guiar al proceso de aprendizaje. En este caso no existe
profesor externo que determine el aprendizaje.
Figura 3.15: Aprendizaje no supervisado.
3.6 Algoritmo de Retropropagación
El algoritmo de Retropropagación adapta y modifica los parámetros de la red para minimizar
el error. Este tipo de algoritmo se aplica en arquitecturas neuronales como el perceptrón
multicapa implementado un tipo de aprendizaje supervisado modificando los parámetros a la
salida de la red para que esta sea lo más cercana a la deseada.
Detección de cáncer de mama mediante redes neuronales
42
Por otra parte, como el objetivo del algoritmo, es la minimización del error a la salida, este
aplica distintos métodos relacionados con este objetivo en particular.
3.7 Método de descenso de gradiente
Para minimizar al máximo el error obtenido por la red neuronal artificial, se tiene que
encontrar un mínimo W en la función de error.
Para lograrlo, se debe aplicar una adaptación de pesos y umbrales siguiendo una búsqueda
por la red, en este caso, una dirección negativa conocida como búsqueda negativa de
gradiente.
Este procedimiento se basa en métodos matemáticos de gradiente estocástico, los cuales
consisten un minimizar los errores por patrón, por lo cual el peso w se modifica para cada
patrón 𝑛 de entrada, de acuerdo con la siguiente ecuación, que describe la ley de aprendizaje.
𝑤(𝑛) = 𝑤(𝑛 − 1)+∝𝜕𝑒(𝑛)
𝜕𝑤…………….. (3.21)
Donde:
𝑤(𝑛) : Es el peso en el patrón actual.
𝑤(𝑛 − 1): Es el peso en el patrón anterior.
∝ : Es la tasa de aprendizaje.
𝑒(𝑛) : Error por patrón n que se describe como a partir del error cuadrático medio.
𝑒(𝑛) = 1
2∑ (𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))2𝑛𝑐
𝑖=1 ………. (3.22)
𝜕𝑒(𝑛)
𝜕𝑤 : Razón de cambio del error por patrón respecto al peso.
3.8 Regla delta generalizada
Detección de cáncer de mama mediante redes neuronales
43
Es la aplicación del descenso del gradiente a los pesos y umbrales para cualquier capa que
pertenezca a la red neuronal artificial. Sin embargo, existen dos casos para la aplicación de
esta regla, un implica la capa oculta 𝐶 − 1 con la se salida 𝐶, mientras que otra implica la
modificación entra la capa de entrada y las otras ocultas.
a) Modificación de pesos de la capa oculta C-1 a la capa de salida C, así
como el umbral de salida.
Se tiene 𝑊𝑗 𝑖𝐶−1, lo cual indica el peso de conexión de la neurona j de la capa C-1 con la
neurona i de la capa de salida, si se implementa la regla del descenso de gradiente, este
parámetro se modifica siguiendo la dirección negativa del gradiente, como se indica en la
ecuación (3.22).
𝑤𝑗 𝑖𝐶−1(𝑛) = 𝑤𝑗 𝑖
𝐶−1(𝑛 − 1)+∝𝜕𝑒(𝑛)
𝜕𝑤𝑗 𝑖𝐶−1………… (3.23)
Entonces si aplicamos la variación del error descrito en la ecuación (3.22) con respecto al
peso 𝑤𝑗 𝑖𝐶−1 se tiene lo siguiente:
𝜕𝑒(𝑛)
𝜕𝑤𝑗 𝑖𝐶−1 = −(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))
𝜕𝑌𝑖(𝑛)
𝜕𝑤𝑗 𝑖𝐶−1 …………. (3.24).
Por lo cual se debe aplicar la razón de cambio de la salida con respecto al peso 𝑤𝑗 𝑖𝐶−1 se tiene:
𝜕𝑦𝑖(𝑛)
𝜕𝑤𝑗𝑗𝐶−1 = 𝑓′(∑ 𝑤𝑗𝑖
𝐶−1𝑛𝐶−1𝑗=1 𝑎𝑗
𝐶−1 + 𝑢𝑖𝐶 )𝑎𝑗
𝐶−1………….. (3.25).
Si definimos el termino 𝛿 para las neuronas i de la capa de salida C, de la siguiente forma.
𝛿𝑖𝐶(𝑛) = −(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))𝑓′(∑ 𝑤𝑗𝑖
𝐶−1𝑛𝐶−1𝑗=1 𝑎𝑗
𝐶−1 + 𝑢𝑖𝐶 )………… (3.26).
Detección de cáncer de mama mediante redes neuronales
44
Si sustituimos la ecuación (3.26) en (3.25) tenemos:
𝜕𝑦𝑖(𝑛)
𝜕𝑤𝑗𝑗𝐶−1 = −
𝛿𝑖𝐶(𝑛)
𝑆𝑖(𝑛)− 𝑌𝑖(𝑛) 𝑎𝑗
𝐶−1……………………… (3.27)
Por lo tanto, si sustituimos la ecuación (3.27) en (3.24), tenemos que la razón de cambio del
error por patrón 𝑒(𝑛) con base en el peso de conexión 𝑤𝑗 𝑖𝐶−1, tenemos:
𝜕𝑒(𝑛)
𝜕𝑤𝑗 𝑖𝐶−1 = −(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛)) (−
𝛿𝑖𝐶(𝑛)
𝑆𝑖(𝑛)− 𝑌𝑖(𝑛)) 𝑎𝑗
𝐶−1…….. (3.28)
𝜕𝑒(𝑛)
𝜕𝑤𝑗 𝑖𝐶−1 = 𝛿𝑖
𝐶(𝑛)𝑎𝑗𝐶−1 …………….. (3.29)
Entonces remplazamos la ecuación (3.29) en la (3.23).
𝑤𝑗 𝑖𝐶−1(𝑛) = 𝑤𝑗 𝑖
𝐶−1(𝑛 − 1)+∝ 𝛿𝑖𝐶(𝑛)𝑎𝑗
𝐶−1 ………… (3.3)
Para la modificación del umbral o bias en la última capa del perceptrón, se debe considerar
que su entrada es constante o igual 1, por lo cual las modificaciones de los umbrales se
describen en la siguiente ecuación:
𝑢𝑖(𝑛) = 𝑢𝑖(𝑛 − 1) + +∝ 𝛿𝑖𝐶(𝑛) 𝑝𝑎𝑟𝑎 𝑖 = 1,2,3, . . , 𝑛𝑐……….. (3.31)
b) Modificación de pesos de la capa de entrada C-2 a las capas ocultas
C-1, así como el umbral en la capa oculta.
Ahora se deben definir las expresiones para modificar los pesos y bias entre la capa de entrada
y las capas ocultas de manera general.
Sea 𝑊𝑘𝐶−2𝐽𝐶−1, el peso de conexión entre una neurona k de la capa de entrada C-2 y la
neurona j la capa oculta C-1.
Si aplicamos el método del descenso de gradiente a 𝑤𝑘 𝑗 𝑐−2, se tiene:
Detección de cáncer de mama mediante redes neuronales
45
𝑊𝑘𝐶−2𝐽𝐶−1 (𝑛) = 𝑊𝑘𝐶−2𝐽𝐶−1 (𝑛 − 1)+∝𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1 ,
……….. (3.32)
En este caso todas las salidas de la red dependen del peso 𝑊𝑘𝐶−2𝐽𝐶−1 (𝑛), por lo cual, la razón
de cambio del error con respecto al peso 𝑊𝑘𝐶−2𝐽𝐶−1 (𝑛), se expresa de la siguiente forma:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
=1
2
𝜕 ∑ (𝑠𝑖(𝑛)−𝑦𝑖(𝑛))2𝑛𝑐𝑖=1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
……… (3.33)
Aplicando la regla de la cadena:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1=
2
2∑(𝑠𝑖(𝑛) − 𝑦𝑖(𝑛))
𝑛𝑐
𝑖=1
𝜕[−𝑦𝑖(𝑛)]
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= − ∑ (𝑠𝑖(𝑛) − 𝑦𝑖(𝑛))𝑛𝑐𝑖=1
𝜕𝑦𝑖(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
……….. (3.34)
Entonces, se debe calcular la derivada de la salida 𝑦𝑖(𝑛) con respecto al peso 𝑊𝑘𝐶−2𝐽𝐶−1, sin
embargo, es pertinente considerar que la única variable dependiente de este peso es la
activación de la neurona j en la capa oculta C-1.
𝜕𝑦𝑖(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
=𝜕{∑ 𝑊
𝑗𝐶−2𝑖𝐶𝑎𝑗𝐶−1+𝑢𝑖
𝑐𝑛𝑐−1𝑗=1 }
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
…………. (3.35)
Si aplicamos la regla de la cadena a la ecuación (3.35), el umbral de la neurona i
correspondiente a la capa C tiende a comportarse como una constante por lo cual, su razón
de cambio tiende a ser 0, mientras que el peso de conexión entre la neurona j de la capa oculta
C-1 con la neurona i de la capa C, también se comporta como constante, pero esta no tiende
a ser cero, ya que multiplica al termino 𝑎𝑗𝐶−1, como se muestra en la ecuación (3.36).
𝜕𝑦𝑖(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= 𝑓′(∑ 𝑊𝑗𝐶−1𝑖𝐶𝑎𝑗𝐶−1 + 𝑢𝑖
𝑐𝑛𝑐−1𝑗=1 )𝑊𝑗𝐶−2𝑖𝐶
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
………… (3.36)
De la ecuación (3.26), se tiene:
Detección de cáncer de mama mediante redes neuronales
46
𝛿𝑖𝐶(𝑛) = −(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))𝑓′ ( ∑ 𝑤𝑗𝑖
𝐶−1
𝑛𝐶−1
𝑗=1
𝑎𝑗𝐶−1 + 𝑢𝑖
𝐶 )
Si sustituimos la ecuación (3.26) en (3.36) se tiene:
𝜕𝑦𝑖(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= −𝛿𝑖
𝐶(𝑛)
(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))𝑊𝑗𝐶−2𝑖𝐶
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
………….. (3.37)
Ahora, sustituyendo la ecuación (3.37) en la (3.34) se tiene lo siguiente:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1= − ∑(𝑠𝑖(𝑛) − 𝑦𝑖(𝑛))
𝑛𝑐
𝑖=1
𝜕𝑦𝑖(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= − ∑(𝑠𝑖(𝑛) − 𝑦𝑖(𝑛))
𝑛𝑐
𝑖=1
{−𝛿𝑖
𝐶(𝑛)
(𝑆𝑖(𝑛) − 𝑌𝑖(𝑛))𝑊𝑗𝐶−2𝑖𝐶
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1}
∴𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= ∑ 𝛿𝑖𝐶(𝑛)𝑛𝑐
𝑖=1 𝑊𝑗𝐶−2𝑖𝐶
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
…….. (3.38)
Ahora se debe calcular la variación de la activación de la neurona j de la capa oculta C-1, con
respecto al peso de conexión entre la neurona k de la capa de entrada C-2, con respecto a la
neurona j de la capa C-1.
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= 𝜕[∑ 𝑤
𝑘𝐶−2𝑗𝐶−1𝑛𝐶−2
𝑗=1𝑎𝑘
𝐶−2+ 𝑢𝑗𝐶−1]
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
…………….. (3.39)
Donde:
𝑎𝑘𝐶−2: Es la activación de la capa de entrada.
𝑢𝑗𝐶−1: Es el umbral en la capa oculta.
Aplicando la regla de la cadena a la expresión anterior para calcular la razón de cambio, se
tiene lo siguiente:
Detección de cáncer de mama mediante redes neuronales
47
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1= 𝑓′( ∑ 𝑤𝑘𝐶−2𝑗𝐶−1
𝑛𝐶−2
𝑗=1
𝑎𝑘𝐶−2 + 𝑢𝑗
𝐶−1){𝑎𝑘𝐶−2
𝜕𝑤𝑘𝐶−2𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1 +
𝑢𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1}
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= 𝑎𝑘𝐶−2𝑓′(∑ 𝑤𝑘𝐶−2𝑗𝐶−1
𝑛𝐶−2𝑗=1 𝑎𝑘
𝐶−2 + 𝑢𝑗𝐶−1)………….. (3.40)
Entonces, definiendo el término 𝛿 para las neuronas de las capas ocultas 𝐶 − 1, tenemos lo
siguiente:
𝛿𝑗𝐶−1(𝑛) = 𝑓′(∑ 𝑤𝑘𝐶−2𝑗𝐶−1𝑎𝑘
𝐶−2 + 𝑢𝑗𝐶−1𝑛𝑐−2
𝑘=1 ) ∑ 𝛿𝑖𝐶(𝑛)𝑊𝑗𝐶−1𝑖𝐶
𝑛𝑐𝑖=1 …………. (3.41).
Teniendo la ecuación (3.38) como:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1= ∑ 𝛿𝑖
𝐶(𝑛)
𝑛𝑐
𝑖=1
𝑊𝑗𝐶−2𝑖𝐶
𝜕𝑎𝑗𝐶−1
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
Sustituyendo la ecuación (3.40) en (3.38) tenemos lo siguiente:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= ∑ 𝛿𝑖𝐶(𝑛)𝑛𝑐
𝑖=1 𝑊𝑗𝐶−2𝑖𝐶𝑎𝑘𝐶−2𝑓′(∑ 𝑤𝑘𝐶−2𝑗𝐶−1
𝑛𝐶−2𝑗=1 𝑎𝑘
𝐶−2 + 𝑢𝑗𝐶−1) ….. (3.42)
Finalmente, si hacemos el cambio de variable del término 𝛿 correspondiente a la capa 𝐶 − 1,
en la ecuación (3.42), se tiene lo siguiente:
𝜕𝑒(𝑛)
𝜕𝑊𝑘𝐶−2𝐽𝐶−1
= 𝛿𝑗𝐶−1(𝑛)𝑎𝑘
𝐶−2………… (3.43).
Por lo tanto, podemos sustituir la ecuación anterior en la ecuación general de la regla del
descenso del gradiente correspondiente a la ecuación
𝑤𝑘 𝑗𝐶−2(𝑛) = 𝑤𝑘 𝑗
𝐶−2(𝑛 − 1)+∝ 𝛿𝑗𝐶−1(𝑛)𝑎𝑘
𝐶−2 ………… (3.33)
Detección de cáncer de mama mediante redes neuronales
48
Por lo cual podemos generalizar la ecuación anterior teniendo las siguientes consideraciones:
Sea una capa de entrada C, y una capa oculta C+1, entonces la modificación de pesos se
expresa de la siguiente manera:
𝑤𝑘 𝑗𝐶 (𝑛) = 𝑤𝑘 𝑗
𝐶 (𝑛 − 1)+∝ 𝛿𝑗𝐶+1(𝑛)𝑎𝑘
𝐶 ------------------- (3.44)
Finalmente, para modificar el umbral en las neuronas j, correspondientes a la capa oculta
C+1, se tiene:
𝑢𝑗𝑐+1(𝑛) = 𝑢𝑗
𝑐+1(𝑛 − 1) + +∝ 𝛿𝑗𝐶+1(𝑛) …………. (3.45)
Donde 𝛿𝑗𝐶+1, representa:
𝛿𝑗𝐶+1(𝑛) = 𝑓′(∑ 𝑤𝑘𝐶𝑗𝐶+1𝑎𝑘
𝐶 + 𝑢𝑗𝐶+1𝑛𝑐−2
𝑘=1 ) ∑ 𝛿𝑖𝐶(𝑛)𝑊𝑗𝐶+1𝑖𝐶
𝑛𝑐𝑖=1 …….. (3.46)
3.9 Matlab
Para el reconocimiento de detección de cáncer de mama mediante redes neuronales se emplea
MATLAB. Existen diferentes tipos de paqueterías para la realización de este proceso como
lo es Visual Studio.
Matrix Laboratory (MATLAB por sus siglas en inglés) es un paquete computacional que
tiene operaciones matemáticas como son cálculo se pueden realizar operaciones aritméticas
y complejas con matrices y escalares, así como ecuaciones no lineales, visualización de
imágenes, así como la realización de redes neuronales artificiales.
Matlab contiene “toolboxes” que son paqueterías que contienen algoritmos, funciones y
aplicaciones que facilitan el manejo de algún tipo de botón.
Para este proyecto se implementaron los toolboxes de nntool (para la creación de la red
neuronal artificial) y GUIDE (para la creación de la interfaz gráfica de usuario).
3.9.1 NNTOOL
Detección de cáncer de mama mediante redes neuronales
49
En la Figura 3.16 se muestra la ventana del toolbox “nntool”, así como su funcionamiento
para la creación de una RNA.
Figura 3.16: Toolbox nntool
Input Data: Entradas para la red neuronal (archivos .xlsx).
Target Data: Salidas utilizadas para la red neuronal artificial (archivos .xlsx).
Networks: Aquí es donde se ubican las RNA que se han creado.
Output Data: Salidas del entrenamiento y/o simulación de una red neuronal.
Error Data: Errores del entrenamiento y/o simulación de una red neuronal artificial.
Import: Botón que sirve para importar entradas y salidas que sirven para el
entrenamiento y/o simulación de la RNA,
New: Botón para la creación de la RNA,
Open: Botón para poder abrir la RNA creada anteriormente.
Export: Sirve para exportar los datos de salida de la RNA.
En la Figura 3.17 se muestra la herramienta de nntool, donde se crea la RNA.
Detección de cáncer de mama mediante redes neuronales
50
Figura 3.17: Creación de la RNA con nntool
Para la configuración se tienen los siguientes parámetros:
Netwrok Type: Selección del tipo de entrenamiento de la RNA, en este caso se utiliza
una red de retropropagación (Feed-forward backpropagation).
Input data: Entradas de la red neuronal artificial.
Target data: Salidas de la red neuronal artificial.
Training function: La función de entrenamiento se selecciona Traingdx, ya que es una
función de gradiente descendiente con impulso y propagación hacia atrás, con
aprendizaje adaptativo. Es una función que actualiza los valores de pesos y bias de
acuerdo con el impulso de descenso de gradiente y la tasa de aprendizaje adaptativo.
Detección de cáncer de mama mediante redes neuronales
51
Adaptation learning function: Es la función de aprendizaje adaptativo, para esta
función se selecciona Learngd, esto es porque es de gradiente descendiente en función
de los pesos y las bias. Retorna la información útil para cada fase de entrenamiento.
Number of layers: Capas ocultas
Transfer Function: Se selecciona la función Tangente Hiperbólica como su función
de transferencia, debido a que estas se encuentran en el intervalo de -1 y 1.
Number of neurons: Número de neuronas en la capa oculta.
3.9.2 GUIDE
El toolbox “GUIDE” es un entorno que sirve para la creación de diseño de una interfaz gráfica
de usuario, en la Figura 3.17 se muestra la ventana de GUIDE de Matlab.
Figura 3.18: Toolbox GUIDE de Matlab
En la Figura anterior se muestra el área de diseño (cuadro gris), así como la paleta de
herramientas (columna izquierda).
Todos los valores de las propiedades de los elementos (color, valor, posición, string, etcétera)
y los valores de las variables transitorias del programa se almacenan en una estructura, los
cuales son accedidos mediante un único y mismo identificador para todos éstos. Tomando el
programa listado anteriormente, el identificador se asigna en:
Detección de cáncer de mama mediante redes neuronales
52
handles.output = hObject;
Donde:
Handles: Es el identificador a los datos de la aplicación. Esta definición de identificador es
almacenada con la siguiente instrucción:
guidata(hObject, handles);
Donde:
Guidata: Es la sentencia para almacenar los datos de la aplicación
En la Tabla 3.1 Se muestra la descripción de los elementos que se utilizan en la codificación
de la GUI:
Tabla 3.1: Descripción de los elementos de la GUI
Control Estilo Descripción
Check Box ‘checkbox’ Índica el estado de una
opción o atributo.
Pop-up menu ‘popupmenu’ Enlista las opciones
Editable Text ‘edit’ Caja para editar el texto.
List Box ‘listbox’ Lista deslizable de
opciones.
Push Button ‘pushbutton’ Expone un evento.
Radio Button ‘radio’ Indica opciones que se
pueden elegir
Static Text ‘text’ Muestra un string de texto.
CAPÍTULO 4
MARCO METODOLÓGICO
Detección de cáncer de mama mediante redes neuronales
53
4.1 Introducción
En este capítulo se presenta el desarrollo de un sistema para la Detección de Cáncer de Mama
mediante Redes Neuronales Artificiales. En la Figura 4.1 se representa el funcionamiento de
dicho sistema. Como entrada se tienen datos (obtenidos de una página certificada de casos
verídicos de cáncer de mama), como proceso se tiene la implementación de una red neuronal
artificial de retropropagación de dichos datos, y como salida se tiene la clasificación y
reconocimiento de los datos obtenidos, además de la visualización del resultado de
reconocimiento en una interfaz gráfica de usuario (GUI) diseñada mediante el programa de
computo Matlab.
Figura 4.1: Sistema para la Detección de Cáncer de Mama mediante Redes Neuronales
La implementación del algoritmo se lleva a cabo en tres etapas:
1. Optimización de la base de datos: En esta etapa se obtiene un banco de datos de la
página web http://archive.ics.uci.edu/ml/datasets/Breast+Tissue, dicho banco de
datos contiene 106 atributos divididos en 6 clases, donde cada clase representa un
tipo de enfermedad o de tejido mamario.
2. Entrenamiento de la Red Neuronal Artificial: Consiste en introducir a la red neuronal
el 75% de los patrones (visto en la etapa 1), posteriormente aplicando el algoritmo de
Optimización del
banco de datos Reconocimiento de
Cáncer o de Tejido
Visualización de
reconocimiento
en una interfaz
gráfica
Detección de cáncer de mama mediante redes neuronales
54
aprendizaje, se modifican los parámetros de la red progresivamente hasta que
clasifique de manera satisfactoria.
3. Prueba de la Red Neuronal Artificial: Se introduce el 25% de los patrones restantes
de la base de datos, para determinar el porcentaje de reconocimiento que tiene la
RNA.
Con la obtención de un alto porcentaje de efectividad en el reconocimiento de Cáncer de
mama, se visualiza el resultado obtenido de la red neuronal en una interfaz gráfica.
4.2 Optimización de la Base de Datos
4.2.1 Acotación de los datos
Para el entrenamiento y simulación de la RNA, se obtuvieron casos positivos y negativos de
cáncer de mama desde una página certificada como se menciona anteriormente.
El banco de datos contiene seis clases, las cuales son:
Carcinoma (CAR): Tumor de tipo cancerígeno, localizado en el tejido de la mama,
en esta clasificación se encuentran 21 casos totales de todo el banco de datos.
Fibroadenoma (FAD): Tumor de tipo no cancerígeno, sin tendencia a generar cáncer,
en esta clasificación se encuentran 15 casos totales del banco de datos.
Mastopatía (MAS): Tumor de tipo no cancerígeno, sin tendencia a generar cáncer,
está clasificación se encuentran 18 casos totales del banco de datos.
Glandular (GLA): Tejido lactante de la mama, en esta clasificación se encuentran 16
casos totales.
Adiposo (ADI): Tejido graso que une la mama con la piel, en esta clasificación se
encuentran se encuentran 22 casos totales.
Conectivo (CON): Tejido graso que une la mama con la piel, en esta clasificación se
encuentran 14 casos totales.
Detección de cáncer de mama mediante redes neuronales
55
De estas seis clasificaciones que contiene la base de datos, se encuentran clasificaciones
similares:
Mastopatia y Fibroadenoma: Ambas clasificaciones tienen las mismas características,
no presentan células cancerígenas, ni motivos para sospechar de ninguna de ellas.
Conectivo y Adiposo: Es el mismo tipo de tejido, que sirve como conductor de la
mama.
Por lo anterior, el banco de datos se reestructura a 4 clases y no 6 como en el banco de datos
original.
Para el entrenamiento de la RNA, cada clase debe contener el mismo número de muestras.
Si se tiene distinto número de casos respecto a cada clase, se debe considerar a la clase con
menos muestras.
Para este banco de datos en particular, la clase que contiene menos muestras es la
correspondiente al tejido conectivo, la cual consta de 14 muestras, es decir, cada clasificación
contendrá un total de 14 casos, por lo cual, las muestras totales que contiene la base datos
son 56.
Para cada clasificación existen 9 atributos, las cuales se muestra en la Tabla 4.1.
Tabla 4.1: Atributos de Entrada
Atributos Significado
I0 Impedancia en la Frecuencia Cero
PA500 Ángulo de Fase a 500KHz
HFS Pendiente de alta frecuencia de ángulo de fase
DA Distancia entre los extremos del espectro de impedancia
AREA Área bajo el espectro
A/DA Área normalizada por DA
MAX IP Máxima del espectro
DR Distancia entre I0 y la parte real del punto de máxima frecuencia
P Longitud de la curva espectral
Detección de cáncer de mama mediante redes neuronales
56
Cada patrón contiene 9 atributos de entrada que se extraen de un estudio denominado
mamografía, diagnosticados previamente por un médico especializado. Estos atributos serán
las 9 entradas de la RNA.
Para las salidas de la red neuronal artificial se representa la clasificación del patrón que se
ingresó a la entrada. El número de clases se redujo a 4, por lo cual, las salidas se consideraron
mutuamente excluyentes, considerando 4 valores de salida para cada clasificación, como se
muestra en la siguiente tabla:
Tabla 4.2: Definición de las clases en la RNA
SALIDAS CARCINOMA FIBROADENOMA CONECTIVO GLANDULAR
Salida1 1 -1 -1 -1
Salida2 -1 1 -1 -1
Salida3 -1 -1 1 -1
Salida4 -1 -1 -1 1
En la Figura 4.2 se representan las entradas de la red neuronal artificial de manera
esquemática.
Detección de cáncer de mama mediante redes neuronales
57
Figura 4.2: Arquitectura de la Red Neuronal Artificial
Para las salidas se consideró la función de transferencia tangente sigmoideal hiperbólica, la
cual consta de dos valores de saturación para su activación comprendidos en un intervalo de
[-1, 1].
Para el valor de 1
La neurona de salida debe contener valores numéricos que van desde 0.85 a 1.
Para el valor de -1
La neurona de salida debe contener valores numéricos que van desde -1 a -0.85.
Nótese que si la neurona tiene un valor a la salida mayor a -0.85 y menor a 0.85, no
es posible considerarla en ningún nivel de saturación.
De acuerdo a las entradas se determinan las cuatro salidas de la RNA (ver Tabla 4.2).
Detección de cáncer de mama mediante redes neuronales
58
4.2.2 Banco de datos
Se tienen 56 casos en el banco de datos, con los cuales se realizaron tres pruebas, utilizando
distintas configuraciones del banco de datos, se realizaron 3 pruebas distintas como se
muestra a continuación:
A. Prueba 1: “Test1.xlsx”
En la Figura 4.3 se observa, la distribución de los datos tanto del entrenamiento, así como de
la simulación:
Figura 4.3: Prueba 1 entrenamiento y simulación
B. Prueba 2: “Test2.xlsx”
En la Figura 4.4 se observa, la distribución de los datos tanto del entrenamiento, así como de
la simulación:
Detección de cáncer de mama mediante redes neuronales
59
Figura 4.4: Prueba 2 entrenamiento y simulación
C. Prueba 3: “Test3.xlsx”
En la Figura 4.5 se observa, la distribución de los datos tanto del entrenamiento, así como de
la simulación:
Figura 4.5: Prueba 3 entrenamiento y simulación
Cabe destacar que el entrenamiento, simulación y salidas están almacenadas en distintos
archivos.
Detección de cáncer de mama mediante redes neuronales
60
4.3 Creación de una red neuronal artificial
Para la creación de la RNA se realizó lo siguiente:
1. Se diseña la topología, indicando lo siguiente:
1.1 Número de capas ocultas:
C - 2(capa de entrada y de salida) → C = 1.
1.2 Neuronas en la capa oculta: 80 N
1.3 Función de transferencia:
𝑓(𝑛) = 1− 𝑒−𝑛
1+ 𝑒−𝑛 ∀ − 1 ≥ 𝑛 ≤ 1
1.4 Tipo de entrenamiento: Retro propagación con aprendizaje supervisado.
2. Inicializar los pesos W con valores aleatorios fraccionarios menores a 1.
3. Se ingresa cada patrón con un vector de datos:
Xp= [ I0, PA500, HFS, DA, AREA, A/DA, MAX IP, DR, P].
4. Se define el vector de salida deseado con base al patrón ingresado:
𝑑1 = [1, −1, −1, −1] 𝑑2 = [−1,1, −1, −1]
𝑑3 = [−1, −1, 1, −1] 𝑑4 = [−1, −1, −1,1]
5. Se calculan las entradas de las neuronas en la capa oculta procedentes de las neuronas
de la capa de entrada.
𝑛𝑒𝑡𝑤𝑜𝑟𝑘 𝑝𝑗ℎ = ∑ 𝑤𝑗𝑖
ℎ𝑥𝑝𝑖 + 𝜃𝑗ℎ
80
𝑗=1
Donde:
h: Se refiere a las magnitudes de la capa oculta.
p: P-ésimo vector de entrenamiento.
j: J-ésima neurona de entrenamiento de la capa de entrada.
Detección de cáncer de mama mediante redes neuronales
61
i: I-ésima neurona de la capa oculta.
W: pesos aleatorios iniciales.
𝜃: Bias o umbral predefinido aleatoriamente con valores fraccionarios menores a 1.
6. Se calcula el valor de las neuronas en la capa de salida aplicando una función de
activación a las neuronas de la capa oculta.
𝑦𝑝𝑗 = 𝑡𝑎𝑛𝑠𝑖𝑛𝑔𝑗ℎ(𝑛𝑒𝑡𝑤𝑜𝑟𝑘𝑝𝑗
ℎ )
Lo cual implica:
𝑦𝑝𝑗 = 𝑡𝑎𝑛𝑠𝑖𝑛𝑔𝑗ℎ(∑ 𝑤𝑗𝑖
ℎ𝑥𝑝𝑖 + 𝜃𝑗ℎ
80
𝑗=1
)
Considerando que se tiene una arquitectura con una capa oculta, se aplica la función
de activación f al producto entre los pesos de neurona j correspondiente a la capa de
entrada con la neurona i de la capa oculta más el umbral de activación 𝜃.
Y los errores a la salida a partir del error cuadrático medio de la siguiente manera:
𝐸𝑃 =1
2∑ 𝛿𝑝𝑘
2
𝑀
𝐾=1
→ 1
2∑ |(𝑑 − 𝑌)|2
𝑀
𝐾=1
Entonces se modifican los pesos por medio de la regla de gradiente estocástico, lo cual
implica la minimización del error total a partir de la minimización de errores por patrón. Por
lo cual se modificarán los pesos asociados entre la capa oculta de 80 neuronas y la capa de
salida de 4 neuronas aplicando la ecuación (3.3) descrita en el capítulo 3.
𝑤[1,2,3,…,80] [1,2,3,4]2 (𝑛) = 𝑤[1,2,3,…,80] [1,2,3,4]
2 (𝑛 − 1) + 0.01𝛿[1,2,3,4]𝐶 (𝑛)𝑎(1,2,3,…,80)
2
Detección de cáncer de mama mediante redes neuronales
62
𝛿[1,2,3,4]3 (𝑛) = −(𝑆[1,2,3,4](𝑛) − 𝑌[1,2,3,4](𝑛))𝑓′ (∑ 𝑤[1,2,3,…,80] [1,2,3,4]
2𝑛𝐶−1𝑗=1 𝑎[1,2,3,…,80]
2 + 𝑢[1,2,3,4]3 )
Para modificar los umbrales en la capa de salida se aplicó la ecuación descrita en la ecuación
(3.31) en el capítulo 3.
𝑢[1,2,3,4]3 (𝑛) = 𝑢[1,2,3,4]
3 (𝑛 − 1) + +0.01𝛿[1,2,3,4]3 (𝑛)
Finalmente se debe modificar los parámetros que van desde la capa de entrada a la capa
oculta, se tiene lo siguientes ecuaciones descritas en el capítulo 3, las cuales modifican los
pesos y bias.
Para la modificación de pesos se tiene la siguiente expresión:
𝑤[1,2,3,4,5,6,7,8,9] [1,2,3,…,80]21 (𝑛) = 𝑤[1,2,3,4,5,6,7,8,9] [1,2,3,…,80]
1 (𝑛 − 1) + 0.01𝛿[1,2,3,…,80]2 (𝑛)𝑎(1,2,3,4)
1
Mientras que para modificar los umbrales se tiene lo siguiente:
𝑢[1,2,3,..,80]2 (𝑛) = 𝑢[1,2,3,..,80]
2 (𝑛 − 1) + +0.01𝛿[1,2,3,4]2 (𝑛)
Siendo que 𝛿𝑗𝐶+1(𝑛)
𝛿[1,2,3,…,80]2 (𝑛) = 𝑎(1,2,3,…,80)
1 (1 − 𝑎(1,2,3,…,80)1 ) ∑ 𝛿[1,2,3,4]
3
𝑛𝑐+1
𝑖=1
𝑤[1,2,3,4,5,6,7,8,9] [1,2,3,…,80]1
4.3.1 Configuración inicial
La red neuronal artificial empleada es de tipo Perceptrón Multicapa, la cual es entrenada
mediante un algoritmo de retropropagación.
Para el diseño de la red neuronal artificial se tienen 9 patrones de entrada, así como 4 a la
salida.
Para la realización de la red neuronal artificial se utiliza la herramienta de Matlab “nntool”,
en esta herramienta se configura la RNA teniendo como objetivo la clasificación de los
Detección de cáncer de mama mediante redes neuronales
63
patrones contenidos en la base de datos, el porcentaje que se busca superar es mayor a 80%
de efectividad de clasificación.
En el programa Matlab se importan los datos de entrenamiento, de simulación, así como las
salidas de entrenamiento y simulación respectivamente; para importar los patrones se utiliza
la instrucción de Matlab para la lectura de un archivo Excel en Matlab “xlsread”, la cual se
utilizó de la siguiente manera:
entrada= xlsread('entrenamiento.xlsx','Hoja1','b2..be10');
salida= xlsread('salidasbien.xlsx','Hoja1','a1..bd4');
prueba= xlsread('prueba.xlsx','Hoja1','b2..q10');
salidaprueba= xlsread('salidasprueba.xlsx','Hoja1','a1..p4');
Posteriormente, se ejecuta la instrucción “nntool” en el workspace de Matlab.
Con la instrucción anterior, se despliega la ventana del toolbox de Matlab para la creación de
redes neuronales, como se muestra en la Figura 4.6.
Figura 4.6: Neural Network/ Data Manager de la herramienta nntool
En el workspace de Matlab se exportan las entradas y salidas, tanto del entrenamiento como
de la prueba, para esto se debe seleccionar la opción Import de nntool, para su
implementación en la red neuronal artificial, como se muestra en la Figura 4.7.
Detección de cáncer de mama mediante redes neuronales
64
Figura 4.7: Ventana para importar entradas y salidas a nntool
Las entradas y salidas se seleccionan como archivos Input Data y Target Data
respectivamente.
Entonces se debe seleccionar la opción New, para configurar la RNA, como se muestra en
la Figura 4.8.
Para el desarrollo de la RNA, se configuran distintos parámetros.
Figura 4.8: Create Network or Data de nntool
Detección de cáncer de mama mediante redes neuronales
65
Para la configuración se tienen los siguientes parámetros:
Network Type: Feed-forward backpropagation.
Input data: entrada.xlsx.
Target data: salida.xlsx.
Training function: La función de entrenamiento se selecciona Traingdx.
Adaptation learning function: Es la función de aprendizaje adaptativo, para esta
función se selecciona Learngd.
Number of layers: 1 capa oculta.
Transfer Function: Se selecciona la función Tangente Hiperbólica como su función
de transferencia.
Number of neurons: 80 neuronas.
Una vez finalizada la configuración, se generara la arquitectura de la red neuronal artificial,
como se muestra en la Figura 4.9.
Figura 4.9: Arquitectura de la red neuronal artificial
4.3.2 Entrenamiento de la red neuronal artificial
La fase de entrenamiento de una red neuronal sigue el siguiente algoritmo, este se muestra
en la Figura 4.10:
Detección de cáncer de mama mediante redes neuronales
66
Figura 4.10: Algoritmo de entrenamiento de la RNA
Una vez finalizada la configuración de la RNA, se configura la información de entrada y de
salida para el entrenamiento seleccionando la opción Training Info, como se muestra en la
Figura 4.11.
Figura 4.11: Training Info para el entrenamiento de la RNA
Mientras que la opción Training Parameters permite modificar parámetros de entrenamiento
de la RNA, como se muestra en la Figura 4.12.
Detección de cáncer de mama mediante redes neuronales
67
Figura 4.12: Ventana de Training Parameters para el entrenamiento de la RNA
Se utilizan los valores determinados mediante teoría del mínimo gradiente que se debe
utilizar para el entrenamiento, en este caso utilizamos un gradiente de 1x10-17, se propone un
número de iteraciones necesarias en este caso se eligieron 10000 para el correcto
entrenamiento de la red neuronal, así como un mínimo gradiente de 1x10-22, así como la
configuración de los distintos parámetros, cabe mencionar que la explicación de cada uno de
los parámetros se explica en el capítulo 3.
El entrenamiento termina cuando el valor de alguno de los campos predefinidos es alcanzado, sin
embargo, para lograr el entrenamiento deseado el campo Performance debe alcanzar un valor
predefinido, ver Figura 4.13.
Detección de cáncer de mama mediante redes neuronales
68
Figura 4.13: Entrenamiento exitoso paro por Performance
Cuando el entrenamiento está completado, nntool exporta las salidas de la red neuronal
completamente entrenada, en este caso podemos identificar el porcentaje de efectividad que
tiene la red neuronal, se identifican las salidas de del entrenamiento en un porcentaje de 95%
de efectividad, estás salidas se exportan al Command Window de Matlab.
4.4 Prueba de la Red Neuronal Artificial
Cuando la fase de entrenamiento llega a un error de salida igual o menor a 20%, se hace la
fase de simulación, como se muestra en la Figura 4.14.
Detección de cáncer de mama mediante redes neuronales
69
Figura 4.14: Simulación de la RNA
Se seleccionan las entradas y salidas para la simulación, con la opción “Simulate Network”.
El resultado se puede observar como un archivo .xlsx (Hoja de Cálculo) en el workspace de
Matlab, de esta manera se puede obtener el nivel de efectividad de la RNA con valores
desconocidos, este porcentaje el cual debe ser mayor o igual a 80%.
4.5 Construcción de la interfaz para la interpretación de
resultados
Para la realización de la interfaz de usuario fue necesario utilizar la herramienta GUI de
Matlab.
El funcionamiento de la GUI, es mediante la aplicación GUIDE que consta de dos archivos:
interfazRedNeuronal .m: Es el que contiene el código correspondiente a los objetos y
atributos de la interfaz.
interfazRedNeuronal .fig: Es el contiene los elementos gráficos.
4.5.1 Diseño de la Interfaz Gráfica de Usuario
Después de la fase de entrenamiento y simulación de la RNA, se procede a diseñar un sistema
en una interfaz gráfica de usuario (GUI), que sea capaz de auxiliar en la detección incipiente
de cáncer de mama.
El diseño de la GUI se realiza mediante la herramienta de Matlab “Guide”, la cual se muestra
en la Figura 4.15, está se representa mediante bloques los cuales se explican a continuación.
Cargar Base de Datos
Detección de cáncer de mama mediante redes neuronales
70
Este bloque permite cargar los patrones de una base de datos, para esto se selecciona
la opción “Cargar”, la cual muestra la ventana donde se selecciona la ruta del archivo
que diagnostica la RNA, como se muestra en la Figura 4.15.
Figura 4.15: Ventana dónde se selecciona la ruta de la base de datos.
Una vez seleccionado los datos, estos se deben procesar, por RNA para su clasificación, como
se muestra en la Figura 4.16.
Figura 4.16: Procesamiento de datos
El código implementado para el evento correspondiente al botón cargar se muestra a
continuación.
function cargar_Callback(hObject, eventdata, handles)
Detección de cáncer de mama mediante redes neuronales
71
[file1,direc]=uigetfile({'*.xlsx'});
examinar=strcat(direc,file1);
prueba=xlsread(examinar,'Hoja1','b2..q10');
set(handles.tBruta,'String',examinar);
set(handles.cargar,'UserData',prueba);
El código implementado para el evento correspondiente al botón “Procesar” se muestra a
continuación.
function procesar_Callback(hObject, eventdata, handles)
load('train.mat');
prueba=get(handles.cargar,'UserData');
simulacion = sim(network1,prueba);
resultado = detectaCancer(simulacion);
set(handles.tBcarcinoma,'BackgroundColor','red');
set(handles.tBcarcinoma,'Visible','on');
set(handles.tBfibroadenoma,'BackgroundColor','green');
set(handles.tBfibroadenoma,'Visible','on');
set(handles.tBglandular,'BackgroundColor','green');
set(handles.tBglandular,'Visible','on');
set(handles.tBconnective,'BackgroundColor','green');
set(handles.tBconnective,'Visible','on');
Ncarcinoma = int2str(resultado(1,1));
Nfibroadenoma = int2str(resultado(1,2));
Nglandular = int2str(resultado(1,3));
Nconnective = int2str(resultado(1,4));
grafCar = resultado(1,1);
grafFib = resultado(1,2);
grafGla = resultado(1,3);
grafCon = resultado(1,4);
carcinoma = strcat('CARCINOMA ',Ncarcinoma,totally);
fibroadenoma = strcat('FIBROADENOMA ',Nfibroadenoma,totally);
glandular = strcat('GLANDULAR ',Nglandular,totally);
connective = strcat('CONNECTIVE ',Nconnective,totally);
set(handles.tBcarcinoma,'String',carcinoma);
set(handles.tBfibroadenoma,'String',fibroadenoma);
set(handles.tBglandular,'String',glandular);
set(handles.tBconnective,'String',connective);
Detección de cáncer de mama mediante redes neuronales
72
set(handles.procesar,'UserData',simulacion);
Resultados en Porcentaje
Para conocer los resultados del procesamiento de la RNA, se debe seleccionar la
opción de graficar efectividad, la cual indica el porcentaje de efectividad y de error
representados en 4 gráficas de pastel (véase Figura 4.17).
Figura 4.17: Resultados en Porcentaje de la efectividad de la RNA.
El código implementado para el evento correspondiente al botón “Graficar Efectividad” se
muestra a continuación.
if grafCar == 0
grafCar = 1;
end
if grafFib ==0
grafFib = 1;
end
if grafGla ==0
grafGla = 1;
end
if grafCon ==0
grafCon =1;
end
errorGlandular=4-grafGla;
errorCarcinoma=4-grafCar;
errorFibro=4-grafFib;
Detección de cáncer de mama mediante redes neuronales
73
errorCone=4-grafCon;
axes(handles.axes2);
axes(handles.axes1);
x=[grafCar errorCarcinoma];
pct=x/sum(x);
tajada = [0 1];
pie(x,tajada);
pie3(x),colormap winter;
title('CARCINOMA');
axes(handles.axes6);
fibro=[grafFib errorFibro];
pct1=fibro/sum(x);
tajada1 = [0 1];
pie(fibro,tajada1);
pie3(fibro),colormap winter;
title('FIBROADENOMA');
axes(handles.axes7);
glan=[grafGla errorGlandular];
pct2=glan/sum(glan);
tajada2 = [0 1];
pie(glan,tajada2);
pie3(glan),colormap winter;
title('GLANDULAR');
axes(handles.axes8);
conect=[grafCon errorCone];
pct3=conect/sum(conect);
tajada3 = [0 1];
pie(conect,tajada3);
pie3(conect),colormap winter;
title('CONNECTIVE');
Errores de la Red Neuronal
Detección de cáncer de mama mediante redes neuronales
74
Para la graficación de errores totales de la RNA, la GUI cuenta con la opción de
Graficar Errores, la cual genera una gráfica de barras, que muestra de 1 a 4 en cuántos
casos la RNA no clasifico de manera deseada (véase Figura 4.18).
Figura 4.18: Errores de la Red Neuronal
Donde en el eje X de la gráfica se tienen los distintos tejidos o padecimiento, mientras que
en el eje Y se tiene el número de errores.
El código implementado para el evento correspondiente al botón “Graficar Errores” se
muestra a continuación.
errorGlandular=4-grafGla;
errorCarcinoma=4-grafCar;
errorFibro=4-grafFib;
errorCone=4-grafCon;
axes(handles.axes2);
tipo=1:4;
Y =[errorCarcinoma, errorFibro, errorGlandular, errorCone];
bar(tipo, Y), colormap winter;
xlabel('TEJIDOS');
ylabel('ERRORES');
title('ERRORES DE LA RED NEURONAL');
Cargar Patrones
Detección de cáncer de mama mediante redes neuronales
75
Si el usuario requiere el resultado de un solo paciente, la GUI tiene un apartado, donde se puede
extraer una sola muestra de la base de datos, o ingresar los atributos del paciente de manera
manual, ver Figura 4.19.
Con la opción Diagnostico, la RNA hace un reconocimiento del patrón.
Figura 4.19: Cargar Patrones
El código implementado para el evento correspondiente al botón “Diagnostico” se muestra
a continuación.
IO = get(handles.tBiO,'String');
PA500 = get(handles.tBpA500,'String');
HFS = get(handles.tBhFS,'String');
DA = get(handles.tBDA,'String');
Area = get(handles.tBArea,'String');
ADA = get(handles.tBADA,'String');
MaxIP = get(handles.tBMax,'String');
DR = get(handles.tBDR,'String');
P = get(handles.tBP,'String');
patron =[IO;PA500;HFS;DA;Area;ADA;MaxIP;DR;P];
simPat = sim(network1,patron);
tejido = detectaTejido(simPat);
if strcmp(tejido,'Carcinoma')
set(handles.tBpatron,'BackgroundColor','red');
set(handles.tBpatron,'Visible','on');
set(handles.tBpatron,'String','Carcinoma');
else
Detección de cáncer de mama mediante redes neuronales
76
if strcmp(tejido,'Fibroadenoma')
set(handles.tBpatron,'BackgroundColor','green');
set(handles.tBpatron,'Visible','on');
set(handles.tBpatron,'String','Fibroadenoma');
else
if strcmp(tejido,'Glandular')
set(handles.tBpatron,'BackgroundColor','green');
set(handles.tBpatron,'Visible','on');
set(handles.tBpatron,'String','Glandular');
else
if strcmp(tejido,'Connective')
set(handles.tBpatron,'BackgroundColor','green');
set(handles.tBpatron,'Visible','on');
set(handles.tBpatron,'String','Connective');
else
if strcmp(tejido,'Desconocido')
set(handles.tBpatron,'BackgroundColor','yellow');
set(handles.tBpatron,'Visible','on');
set(handles.tBpatron,'String','Desconocido');
end
end
end
end
end
set(handles.procesar,'UserData',simPat);
La interfaz de usuario permite utilizar las herramientas mencionadas previamente, como se
observa en la Figura 4.20.
Detección de cáncer de mama mediante redes neuronales
77
Figura 4.20: Interfaz Gráfica para la Detección de Cáncer de mama mediante redes neuronales
4.5.2 Diseño de la Interfaz Gráfica de Usuario con datos de un paciente
Para el diagnóstico de un paciente en particular, se diseñó un apartado con la herramienta
GUI, la cual muestra datos del paciente, así como su imagen mamográfica.
Seleccionar paciente
Para obtener los datos del paciente, su imagen mamográfica y sus atributos, basta con
seleccionar el nombre del paciente que se encuentra almacenado en un banco de datos.
Se cuenta con dos pacientes las cuales se obtuvieron del Instituto Nacional de
Cancerología, así como del Instituto de Seguridad y Servicios Sociales de los
Trabajadores del Estado.
Diagnóstico
Para el diagnóstico se selecciona la opción Diagnóstico para que la RNA identifique
el tejido o padecimiento del paciente, ver la Figura 4.21.
Detección de cáncer de mama mediante redes neuronales
78
Figura 4.21: Interfaz Gráfica utilizando imágenes mamográficas
El código implementado para el evento correspondiente al botón “Cargar” se muestra a
continuación.
nPaciente = contenido(index);
vector = detectaPaciente(nPaciente);
data = mostrarDatos(nPaciente);
set(handles.tBio,'String',num2str(vector(1,1)));
set(handles.tBpa500,'String',num2str(vector(2,1)));
set(handles.tBhfs,'String',num2str(vector(3,1)));
set(handles.tBda,'String',num2str(vector(4,1)));
set(handles.tBarea,'String',num2str(vector(5,1)));
set(handles.tBada,'String',num2str(vector(6,1)));
set(handles.tBmaxip,'String',num2str(vector(7,1)));
set(handles.tBdr,'String',num2str(vector(8,1)));
set(handles.tBp,'String',num2str(vector(9,1)));
set(handles.tBnombre,'String',data(1,1));
set(handles.tBnacer,'String',data(1,2));
set(handles.tBedad,'String',data(1,3));
set(handles.tBinstituto,'String',data(1,4));
set(handles.tBid,'String',data(1,5));
set(handles.tBexam,'String',data(1,6));
set(handles.tBmama,'String',data(1,7));
Detección de cáncer de mama mediante redes neuronales
79
mastografia = detectaImagen(nPaciente);
El código implementado para el evento correspondiente al botón “Diagnóstico” se muestra
a continuación.
if strcmp(tejido,'Carcinoma')
set(handles.tBpat,'BackgroundColor','red');
set(handles.tBpat,'Visible','on');
set(handles.tBpat,'String','Carcinoma');
else
if strcmp(tejido,'Fibroadenoma')
set(handles.tBpat,'BackgroundColor','green');
set(handles.tBpat,'Visible','on');
set(handles.tBpat,'String','Fibroadenoma');
else
if strcmp(tejido,'Glandular')
set(handles.tBpat,'BackgroundColor','green');
set(handles.tBpat,'Visible','on');
set(handles.tBpat,'String','Glandular');
else
if strcmp(tejido,'Connective')
set(handles.tBpat,'BackgroundColor','green');
set(handles.tBpat,'Visible','on');
set(handles.tBpat,'String','Connective');
else
if strcmp(tejido,'Desconocido')
set(handles.tBpat,'BackgroundColor','yellow');
set(handles.tBpat,'Visible','on');
set(handles.tBpat,'String','Desconocido');
end
end
end
end
Detección de cáncer de mama mediante redes neuronales
80
4.5.3 Algoritmo de la Detección de cáncer mama mediante redes
neuronales
Cuando el usuario inicia la interfaz de Detección de cáncer de mama mediante redes
neuronales artificiales, se manda llamar a una función en Matlab que realiza el
reconocimiento de tejidos o padecimiento. Se diseñó el modelo UML en el programa de
computo “StarUML”, el cual muestra la estructura general de la interfaz en cuanto a código
se refiere, especificando las clases, súper-clases, sub clases y métodos implementados para
que este funcione de manera correcta, dicho modelo se muestra en la Figura 4.22.
Figura 4.22: Modelo UML.
Detección de cáncer de mama mediante redes neuronales
81
CAPÍTULO 5
PRUEBAS Y RESULTADOS
En este capítulo se presentan los experimentos con sus respectivos resultados de la fase de
entrenamiento, simulación e interfaz gráfica de la red neuronal artificial.
5.1 Pruebas de Entrenamiento
Inicialmente se presentan pruebas realizadas por medio de la herramienta de Matlab “nntool”,
utilizando distintas características como se muestra a continuación:
a) Prueba 1 de Entrenamiento
En la primera prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 75 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 10000.
Gradiente: 1x10-22.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.1.
Detección de cáncer de mama mediante redes neuronales
82
Figura 5.1: Parámetros de entrenamiento 1.
En la Figura 5.2 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, así como el valor final del Performance, también se observa que el número de
iteraciones final que fue de 910, este entrenamiento tuvo una duración de 8 segundos, con un
gradiente de 2x10-15; de igual manera se puede observar en la parte superior de la Figura 5.2
el diagrama de la RNA.
Figura 5.2: Prueba 1 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
83
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la Figura 5.3.
Figura 5.3: Número de épocas en el entrenamiento 1
Nótese que el mejor desempeño fue de 9.0686x10-7 en la época 910.
b) Prueba 2 de Entrenamiento
En la segunda prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 480 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 10000.
Gradiente: 1x10-22.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.4.
Detección de cáncer de mama mediante redes neuronales
84
Figura 5.4: Parámetros de entrenamiento 2.
En la Figura 5.5 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, así como el valor final del Performance, se observa el número de iteraciones
final este fue de 1629, el tiempo que llevo el entrenamiento fue de 15 segundos y el gradiente
fue de 2.69x10-17, en la parte superior de la Figura 5.5 se observa el diagrama de la red
neuronal.
Figura 5.5: Prueba 2 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
85
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la Figura 5.6.
Figura 5.6: Número de épocas en el entrenamiento 2
Nótese que el mejor desempeño fue de 0.51463 en la época 172.
c) Prueba 3 del entrenamiento
En el tercera prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 580 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 10000.
Gradiente: 1x10-22.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.7.
Detección de cáncer de mama mediante redes neuronales
86
Figura 5.7: Parámetros de entrenamiento 3.
En la Figura 5.8 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, así como su detenimiento por Performance, su número de iteraciones final fue
de 1658, con un tiempo de entrenamiento de 16 segundos, así como el gradiente que alcanzó
un valor de 2.65x10-17.
Figura 5.8: Prueba 3 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
87
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la Figura 5.9.
Figura 5.9: Número de épocas en el entrenamiento 3
Nótese que el mejor desempeño fue de 0.030836 en la época 1658.
d) Prueba 4 de entrenamiento
En la cuarta prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 680 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 100000.
Gradiente: 1x10-22.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.10.
Detección de cáncer de mama mediante redes neuronales
88
Figura 5.10: Parámetros de entrenamiento 4.
En la Figura 5.11 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, así como el valor final del Performance, su número de iteraciones final fue de
1270, con un tiempo de entrenamiento de 13 segundos, así como el gradiente que alcanzó un
valor de 3.55x10-17.
Figura 5.11: Prueba 4 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
89
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la Figura 5.12.
Figura 5.12: Número de épocas en el entrenamiento 4
Nótese que el mejor desempeño fue de 0.19988 en la época 33.
e) Prueba 5 del entrenamiento
En la quinta prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 1080 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 10000.
Gradiente: 1x10-13.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.13.
Detección de cáncer de mama mediante redes neuronales
90
Figura 5.13: Parámetros de entrenamiento 5.
En la Figura 5.14 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, el número de iteraciones final fue de 214, así como el gradiente que alcanzó
un valor de 4.7x10-5.
Figura 5.14: Prueba 5 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
91
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la figura 5.15.
Figura 5.15: Número de épocas en el entrenamiento 5
Nótese que el mejor desempeño fue de 0.125 en la época 112.
f) Prueba 6 del entrenamiento
En la sexta prueba se presentan las siguientes características:
Algoritmo de entrenamiento: Backpropagation.
Capa de entrada: 9 neuronas.
Capa oculta: 80 neuronas.
Función de Transferencia: Tangencial Sigmoidal
Iteraciones: 10000.
Gradiente: 1x10-17.
Los parámetros anteriores se configuran manualmente, como se puede observar en la Figura
5.16.
Detección de cáncer de mama mediante redes neuronales
92
Figura 5.16: Parámetros de entrenamiento 6.
En la Figura 5.17 se presenta el entrenamiento de la red neuronal con las características antes
mencionadas, su número de iteraciones final fue de 4242, así como el gradiente que alcanzó
un valor de 7.19x10-22.
Figura 5.17: Prueba 6 de entrenamiento.
Detección de cáncer de mama mediante redes neuronales
93
El desempeño de la red neuronal artificial es medido con base al error cuadrático medio, y
mostrado en escala logarítmica, como se muestra en la figura 5.18.
Figura 5.18: Número de épocas en el entrenamiento 6
Nótese que el mejor desempeño fue de 0.375 en la época 378.
En la siguiente tabla se muestra un comparativo de las 6 pruebas realizadas mediante
entrenamiento, mostrando el porqué de la elección del entrenamiento con 80 neuronas.
Tabla 5.1: Comparación de pruebas de entrenamiento
Prueba Capas
Ocultas
Neuronas
en la capa
oculta
Iteraciones Paro por
Performance
Gradiente Mejor
desempeño
1 1 75 910 9x10-16 2.10x10-15 9.068x10-7
2 1 480 1629 9.78x10-18 2.69x10-17 0.51463
3 1 580 1658 9.87x10-18 2.65x10-17 0.030836
4 1 680 1270 9.64x10-18 3.55x10-17 0.19988
5 1 1080 214 0.000568 4.70x10-05 0.125
6 1 80 4242 9.83x10-18 7.19x10-17 0.375
Detección de cáncer de mama mediante redes neuronales
94
Se observa que el entrenamiento por el cual se realizó la aplicación fue el de 80 neuronas en
la capa oculta, ya que fue la que presentó una mejor tasa de aprendizaje.
5.2 Pruebas de simulación
Concluyendo el entrenamiento se procedió a realizar los experimentos de simulación de la
RNA, se utilizaron las arquitecturas neuronales artificiales mencionadas anteriormente.
A. Prueba 1 de simulación
La simulación se realizó en el programa Matlab, en la siguiente tabla se muestran las
características de dicha simulación:
Tabla 5.2: Características de simulación 1
Características de la RNA Resultados
Nombre de la RNA Network 1
Algoritmo de entrenamiento Backpropagation
Número de capas 1 capa oculta
Número de neuronas 75 neuronas
Porcentaje de efectividad 75% de efectividad
En la Figura 5.19 se muestra el resultado obtenido de Matlab, cabe mencionar que
dicho programa proporciona el resultado de la simulación en un tipo de archivo
llamado “outputs”, estas salidas son mostradas a continuación:
Figura 5.19: Resultados de Simulación 1
Se puede observar en la Figura anterior las 16 celdas, estas muestran las 4 clases, así
como cada clase con sus respectivos 4 casos, cabe mencionar que esta simulación se
Detección de cáncer de mama mediante redes neuronales
95
llevó a cabo con el 25% de los datos restantes del banco de datos original, de igual
manera se observa que existen 4 errores en los resultados, por esta razón se llegó a la
conclusión de que la simulación alcanzó un porcentaje de efectividad del 75% final,
con una RNA de 75 neuronas en su capa oculta.
B. Prueba 2 de simulación
La simulación se realizó en el programa Matlab, en la siguiente tabla se muestran las
características de dicha simulación:
Tabla 5.3: Características de simulación 2
Características de la RNA Resultados
Nombre de la RNA Network 2
Algoritmo de entrenamiento Backpropagation
Número de capas 1 capa oculta
Número de neuronas 80 neuronas
Porcentaje de efectividad 80% de efectividad
En la Figura 5.20 se muestra el resultado obtenido de Matlab:
Figura 5.20: Resultados de Simulación 2
Se puede observar en la Figura anterior que esta simulación se llevó a cabo con el
25% de los datos restantes del banco de datos original, de igual manera se observa
que existen 3 errores en los resultados, por esta razón se llegó a la conclusión de que
la simulación alcanzó un porcentaje de efectividad del 80% final, con una RNA de 80
neuronas en su capa oculta.
Detección de cáncer de mama mediante redes neuronales
96
C. Prueba 3 de simulación
La simulación se realizó en el programa Matlab, en la siguiente tabla se muestran las
características de dicha simulación:
Tabla 5.4: Características de simulación 2
Características de la RNA Resultados
Nombre de la RNA Network 3
Algoritmo de entrenamiento Backpropagation
Número de capas 1 capa oculta
Número de neuronas 1080 neuronas
Porcentaje de efectividad 70% de efectividad
En la Figura 5.21 se muestra el resultado obtenido de Matlab:
Figura 5.21: Resultados de Simulación 3
Se puede observar en la Figura anterior que esta simulación se llevó a cabo con el
25% de los datos restantes del banco de datos original, de igual manera se observa
que existen 5 errores en los resultados, por esta razón se llegó a la conclusión de que
la simulación alcanzó un porcentaje de efectividad del 70% final, con una RNA de
1080 neuronas en su capa oculta.
D. Prueba 4 de simulación
La simulación se realizó en el programa Matlab, en la siguiente tabla se muestran las
características de dicha simulación.
Detección de cáncer de mama mediante redes neuronales
97
Tabla 5.5: Características de simulación 3
Características de la RNA Resultados
Nombre de la RNA Network 4
Algoritmo de entrenamiento Backpropagation
Número de capas 1 capa oculta
Número de neuronas 480 neuronas
Porcentaje de efectividad 65% de efectividad
En la Figura 5.22 se muestra el resultado obtenido de Matlab:
Figura 5.22: Resultados de Simulación 3
Se puede observar en la Figura anterior que esta simulación se llevó a cabo con el
25% de los datos restantes del banco de datos original, de igual manera se observa
que existen 6 errores en los resultados, por esta razón se llegó a la conclusión de que
la simulación alcanzó un porcentaje de efectividad del 65% final, con una RNA de
480 neuronas en su capa oculta.
Tabla 5.6: Comparación de pruebas de simulación
Prueba Red neuronal
ocupada
Número de neuronas Porcentaje de
efectividad
1 Network 1 75 neuronas 75% de efectividad
2 Network 2 80 neuronas 80% de efectividad
3 Network 3 1080 neuronas 70% de efectividad
4 Network 4 480 neuronas 65% de efectividad
En la Tabla anterior se puede observar el nivel de efectividad de cada una de las redes
neuronales que se entrenaron previamente, de esta manera se observa que la RNA
ocupada es lo que mayor tasa de efectividad tuvo en cuanto a la fase de simulación.
Detección de cáncer de mama mediante redes neuronales
98
5.3 Pruebas de la Interfaz de usuario
Una vez comprendidos los fundamentos de la GUI para la Detección de Cáncer de mama
mediante redes neuronales artificiales, esta se sometió a una serie de experimentos, para
pacientes conocidos y desconocidos.
La evaluación de la GUI se expuso a distintos tipos de experimentos, en los que se hace el
reconocimiento de:
Carcinoma
Fibroadenoma o Mastopatía
Tejido Glandular
Tejido Conectivo o Adiposo
5.3.1 Definición de variables para los experimentos
Se desarrollaron pruebas para determinar la efectividad en el reconocimiento de los cuatro
diferentes padecimientos.
5.3.2 Experimentos con el banco de datos
Para las pruebas se eligieron de la base de datos original, dos apartados:
Primer Banco de datos, la prueba se realiza utilizando el 25% de los primeros datos
de la base original “Breast Tissue”.
Segundo Banco de datos, la segunda prueba se realizó utilizando el 25% de datos
aleatorios de la base original “Breast Tissue”.
Detección de cáncer de mama mediante redes neuronales
99
a. Prueba 1 de entrenamiento
El experimento uno corresponde al primer banco de datos, este tiene por nombre “Test2.xlsx”
(este archivo fue explicado en el capítulo 4).
Figura 5.23: Banco de Datos 1 con el 25% de los primeros datos
En el procesamiento del banco de datos, se observan los resultados obtenidos de cada una de
las clasificaciones.
En la tabla 5.7 se muestra la cantidad de patrones que fueron diagnosticados de manera
correcta por medio de la RNA:
Tabla 5.7: Resultados de la prueba del banco de datos 1
Diagnóstico o Tejido Número de diagnósticos correctos
Carcinoma 4 de 4 casos
Mastopatía o Fibroadenoma 4 de 4 casos
Tejido Glandular 4 de 4 casos
Tejido Adiposo o Conectivo 4 de 4 casos
Detección de cáncer de mama mediante redes neuronales
100
En total se introdujeron 16 casos, de los cuales se reconocieron el 100% de ellos
(Ver Figura 5.24).
Figura 5.24: Porcentaje de reconocimiento de diagnóstico
b. Experimento 2 de la GUI
Para el experimento dos se contó con el archivo “Test3.xlsx”, cabe mencionar que este
archivo se explica en el capítulo 4, en la Figura 5.25 se muestra el funcionamiento de la GUI,
de igual manera se presenta el porcentaje de efectividad de la RNA por medio de gráficas.
Figura 5.25: Prueba dos, banco de datos aleatorios
0%
20%
40%
60%
80%
100%
Número de casos reconocidos
Detección de cáncer de mama mediante redes neuronales
101
En la Tabla 5.8 se muestra la cantidad de patrones que fueron diagnosticados de manera
certera por medio de la GUI:
Tabla 5.8: Resultados de la prueba del banco de datos 2
Diagnóstico o Tejido Número de diagnósticos
correctos
Número de errores
Carcinoma 3 de 4 casos 1 error
Mastopatía o Fibroadenoma 3 de 4 casos 1 error
Tejido Glandular 4 de 4 casos 0 errores
Tejido Adiposo o Conectivo 4 de 4 casos 0 errores
En total se introdujeron 16 casos, se puede observar en la Figura 5.22 el porcentaje de casos
diagnosticados efectivamente por la RNA, de los cuales se reconocieron 14 casos de 16, es
decir, se tuvo un 88% de efectividad (Ver Figura 5.23).
Figura 5.26: Porcentaje de diagnóstico de efectividad por casos
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Carcinoma Fibroadenoma Glandular Conectivo
Número de casos reconocidos
Detección de cáncer de mama mediante redes neuronales
102
Figura 5.27: Diagnóstico en porcentaje total
5.3.3 Pruebas y resultados por pacientes
Se realizaron pruebas utilizando un paciente de cada clasificación, de igual manera se
utilizaron los tres distintos bancos de datos.
A. Prueba 1 de GUI por paciente
Para la primera prueba, se seleccionó un paciente 4 con diagnóstico de carcinoma, obtenido
del banco de datos “Test2.xlsx”, se observa en la Figura 5.28, que la RNA hace un
diagnóstico correcto.
Figura 5.28: Paciente con diagnóstico de Carcinoma
Diagnóstico Certero
88%
Errores12%
Porcentaje Total
Diagnóstico Certero
Errores
Detección de cáncer de mama mediante redes neuronales
103
Para la segunda prueba se seleccionó el paciente número 5, con paciente de Fibroadenoma,
el cual se extrajo del banco de datos donde se tiene el 25% de los últimos datos, ver Figura
5.29.
Figura 5.29: Paciente con diagnóstico de Fibroadenoma
En la Figura 5.29 se observa que la RNA obtuvo un diagnóstico correcto, teniendo así un alto
porcentaje de efectividad de la red neuronal artificial.
5.3.4 Experimentos y resultados por pacientes mexicanos
Se efectuaron pruebas utilizando dos pacientes por parte de hospitales públicos de México,
cabe mencionar que es necesaria la cooperación de un médico para la correcta lectura de la
mastografía, ya que esta arroja datos para el reconocimiento del padecimiento.
Para la prueba número uno se empleó un paciente con las siguientes características:
Detección de cáncer de mama mediante redes neuronales
104
Paciente de nacionalidad Mexicana
Sexo Femenino
Diagnóstico Carcinoma
En la Figura 5.30 se observa que la RNA arroja los resultados previstos, ya que el
padecimiento que se observa en el resultado fue el correcto.
Figura 5.30: Diagnóstico de paciente de la INCAN
En la Figura 5.30 se observan los datos de la paciente, así como la imagen de su respectiva
mamografía.
Para la prueba número dos, se efectuó el reconocimiento de un paciente del Instituto de
Seguridad Social y Servicios a Trabajadores del Estado “ISSSTE”, de sexo femenino y con
diagnóstico de Fibroadenoma.
En la Figura 5.31 se muestra el reconocimiento correcto de la RNA, se sabe que el diagnóstico
fue Fibroadenoma.
Detección de cáncer de mama mediante redes neuronales
105
Figura 5.31: Paciente del ISSSTE con padecimiento de fibroadenoma
En las Figuras 5.30 y 5.31, se muestra el correcto funcionamiento de la RNA, estos dos
pacientes eran desconocidos, ya que esta no fue entrenada con estos datos
5.4 Conclusiones Finales
Se reconocieron las deficiencias en el área de la salud del diagnóstico de cáncer de mama.
Se conocen las características principales de los estudios que sirven para el diagnóstico de
cáncer de mama.
Se implementaron metodologías que realizan una red neuronal artificial para su utilización
en la detección de cáncer de mama.
Se realizaron pruebas de la red neuronal artificial que identifique su nivel de efectividad.
Se logró la implementación de una metodología orientada a las redes neuronales artificiales
capaz de identificar los casos positivos de cáncer de mama.
Detección de cáncer de mama mediante redes neuronales
106
5.5 Contribuciones
El desarrollo de este proyecto, es el desarrollo de una interfaz gráfica de usuario que facilite
la detección de cáncer de mama implementando una red neuronal con 9 neuronas en la capa
de entrada, 80 en la capa oculta y 4 en la capa de salida, dicha red neuronal fue entrenada con
el algoritmo de aprendizaje backpropagation, además esta consiguió un 80% de efectividad
en su detección.
A diferencia de muchos sistemas de detección para cáncer de mama que existen alrededor
del mundo, este en particular hace de uso de un banco de datos para el entrenamiento de la
red, mientras que otros implementan detección mediante imágenes mamográficas
implementando algoritmos de visión artificial además de redes neuronales en base radial. A
pesar de implementar solo el algoritmo backpropagation, esta alcanzo un porcentaje de
efectividad significativamente alto.
En cuanto a la interacción entre la red neuronal artificial y el usuario, se diseñó un sistema
en el programa de computo MatLab, el cual no solo detecta el tipo de tejido o cáncer que
cualquier paciente puede llegar a tener, sino que muestra el porcentaje de errores y de
efectividad que la red percibió durante la clasificación.
Por otro lado, gracias a la implementación de la herramienta, “nntool” de MatLab, se
consiguió una arquitectura con parámetros establecidos para una detección de 80% de
efectividad, lo cual favorece el desarrollo de esta red neuronal artificial en software libre para
que esta pueda ser utilizada por cualquier usuario de manera gratuita.
Detección de cáncer de mama mediante redes neuronales
107
Anexo I
Banco de datos
I.I Banco de datos Breast Tissue obtenido de “UCI: Center for
machine learning an intelligent systems”
AUTORES:
Jp Marques de Sá, Ineb-Instituto de Engenharia Biomédica, Porto Portugal.
J Jossinet, Inserm, Lyon France.
La base de datos “Breast Tissue” inicialmente contiene 106 patrones, distribuidos en 6
diferentes clases mostradas en la tabla I.I, extraídas de mamografías, dónde cada patrón está
compuesto por los siguientes atributos mostrados en la tabla I.II:
Tabla I.I: Clasificaciones de la base de datos
Siglas Clasificación Número de casos
Car Carcinoma 21
Fad Fibroadenoma 15
Mas Mastopatia 18
Gla Glandular 16
Con Conectivo 14
Adi Adiposo 22
Detección de cáncer de mama mediante redes neuronales
108
Tabla I.II: Atributos de las clasificaciones de la Base Breast Tissue
Patrón Significado
I0 Impedancia en la Frecuencia Cero
PA500 Ángulo de Fase a 500KHz
HFS Pendiente de alta frecuencia de ángulo de fase
DA Distancia entre los extremos del espectro de impedancia
AREA Área bajo el espectro
A/DA Área normalizada por DA
MAX IP Máxima del espectro
DR Distancia entre I0 y la parte real del punto de máxima frecuencia
P Longitud de la curva espectral
La base de datos “Breast Tissue” se compone de lo siguiente:
Tabla I.III: Base de Datos: Breast Tissue
Case
#
Class I0 PA500 HFS DA Area A/DA Max IP DR P
1 car 524,7941 0,187448 0,032114 228,8002 6843,598 29,9108 60,20488 220,7372 556,8283
2 car 330 0,226893 0,26529 121,1542 3163,239 26,1092 69,71736 99,08496 400,2258
3 car 551,8793 0,232478 0,06353 264,8049 11888,39 44,8949 77,7933 253,7853 656,7694
4 car 380 0,240855 0,286234 137,6401 5402,171 39,24852 88,75845 105,1986 493,7018
5 car 362,8313 0,200713 0,244346 124,9126 3290,462 26,34213 69,38939 103,8666 424,7965
6 car 389,873 0,150098 0,097738 118,6258 2475,557 20,86862 49,75715 107,6862 429,3858
7 car 290,4551 0,144164 0,053058 74,63507 1189,545 15,93815 35,70333 65,54132 330,2673
8 car 275,6774 0,153938 0,187797 91,52789 1756,235 19,18797 39,30518 82,65868 331,5883
9 car 470 0,213105 0,225497 184,5901 8185,361 44,34345 84,48248 164,1225 603,3157
10 car 423 0,219562 0,261799 172,3712 6108,106 35,43576 79,05635 153,1729 558,2745
11 car 410 0,317824 0,297404 255,8152 10622,55 41,5243 67,52321 246,7428 508,5404
12 car 500 0,227242 0,050964 219,2955 9819,45 44,77725 76,8685 207,2666 602,5278
13 car 438,7802 0,212407 0,060737 120,9016 4879,496 40,35923 80,79178 89,94379 525,4201
14 car 589,3949 0,432054 0,293840 171,3948 4839,940 42,99403 56,29485 129,4958 598,2948
Detección de cáncer de mama mediante redes neuronales
109
15 car 485,6688 0,230209 0,134041 253,8937 8135,968 32,04478 64,85545 245,4705 541,364
16 car 390 0,358316 0,203854 245,6861 10055,84 40,92961 70,32478 236,4902 477,5484
17 car 269,4959 0,20752 0,038397 80,41109 1963,605 24,41958 44,74015 66,83831 329,0906
18 car 300 0,190066 0,166853 97,10813 3039,561 31,30079 51,35397 82,41819 387,0782
19 car 325 0,224624 0,286932 229,2159 5705,332 24,89065 35,60271 227,2648 462,703
20 car 294,4748 0,206647 0,467748 194,871 5541,256 28,4355 36,7658 191,8049 445,5133
21 car 500 0,192684 0,194779 144,6886 3055,013 21,1144 96,56337 107,7511 542,8971
22 fad 211 0,053931 0,094248 30,75344 151,9846 4,942034 14,26837 27,24312 217,1307
23 fad 196,8567 0,020071 0,090757 28,59313 82,05889 2,869882 7,968783 27,66152 200,7493
24 fad 245 0,189019 0,081681 62,90296 1235,983 19,64905 42,15202 46,69036 292,3762
25 fad 352,6564 0,121999 0,090757 68,52785 1066,158 15,55802 43,69193 52,79282 382,7332
26 fad 243,294 0,039968 0,067021 68,54478 383,9285 5,601134 9,991348 67,81666 263,6408
27 fad 259,8851 0,070686 0,006981 58,24381 465,0873 7,98518 17,50684 56,34024 267,5174
28 fad 250 0,068068 -0,01536 57,17243 652,9013 11,41986 17,77698 55,79127 278,3086
29 fad 200 0,037699 0,117286 42,31668 220,8109 5,218059 10,67576 40,94788 218,0343
30 fad 355 0,064054 0,084474 89,55846 1033,854 11,5439 27,56266 86,57656 372,04
31 fad 272 0,091455 0,004887 63,78938 718,9463 11,27063 20,08556 60,69073 286,9202
32 fad 341,62 0,091979 0,074002 85,04303 1370,838 16,11935 29,02897 79,9352 385,1335
33 fad 160,3225 0,176976 0,163363 37,21712 341,8815 9,186133 30,88916 20,75991 187,5665
34 fad 301,3044 0,109781 0,035605 64,6162 942,7732 14,59035 29,04568 57,72003 335,7685
35 fad 155 0,172788 0,118682 38,94017 415,1116 10,66024 25,8365 29,13438 184,817
36 fad 144 0,120602 0,046077 19,64767 70,42624 3,584458 18,13101 7,569493 160,3738
37 mas 178 0,170868 0,21293 41,54217 489,4405 11,78178 35,7478 21,16239 215,9059
38 mas 195 0,139103 0,205251 37,4622 328,3841 8,765745 35,02383 13,29465 232,5876
39 mas 435,0932 0,076969 0,161268 123,5975 1342,278 10,86007 37,38472 117,808 433,2023
40 mas 250 0,047124 0,013963 70,90704 224,1458 3,161122 9,102176 70,3204 232,2776
41 mas 339,5085 0,045379 0,03002 88,62981 331,0804 3,735542 19,82558 87,62118 307,7932
42 mas 236 0,124617 0,20176 48,45113 236,8801 4,889052 36,00662 32,41967 244,9652
43 mas 481,4671 0,07854 0,016057 79,05916 1154,338 14,60094 33,92913 71,40844 501,8934
44 mas 252 0,106116 0,031416 38,54421 493,7904 12,81101 25,54115 28,86704 280,6583
45 mas 172,5158 0,127235 0,038397 37,54367 192,2181 5,119855 19,32208 32,18982 174,9338
46 mas 121 0,174184 0,090757 24,43718 144,4665 5,91175 22,02108 10,59471 141,7662
47 mas 196,3649 0,182911 0,142419 54,58308 843,2625 15,44916 34,14941 42,58087 239,9441
48 mas 370,3957 0,10472 0 115,9233 1308,12 11,28437 31,36703 112,7151 365,9777
49 mas 260,2775 0,079063 0,032812 58,81761 277,259 4,713878 17,86867 56,03768 248,6234
50 mas 230,4596 0,063587 0,038945 120,2934 189,486 14,93049 31,48931 46,53749 123,1839
Detección de cáncer de mama mediante redes neuronales
110
51 mas 310 0,174707 0,165457 98,50996 2741,032 27,82492 49,32786 85,27001 388,9778
52 mas 274,9934 0,147131 0,137532 66,45794 1217,416 18,31859 40,84968 52,42101 327,5586
53 mas 281,3233 0,232303 0,437729 157,8842 5305,123 33,60136 46,38433 150,9169 398,8955
54 mas 327 0,141023 0,084474 76,21287 1664,674 21,84243 43,22169 62,7717 379,2618
55 gla 470,5164 0,127409 0,066323 150,224 2657,91 17,69298 47,56063 142,4965 491,4725
56 gla 223 0,124093 0,079587 33,09633 197,0125 5,9527 30,45487 12,95639 252,4833
57 gla 152 0,165806 0,227591 34,21955 94,35433 2,757322 31,27928 13,87748 180,6096
58 gla 303 0,063355 0,039794 22,56789 102,5003 4,541864 21,83084 5,720501 321,6468
59 gla 250 0,087092 0,092852 29,63751 180,7612 6,09907 26,1421 13,96326 280,1229
60 gla 197 0,132645 0,074002 33,46065 409,6471 12,24265 26,99281 19,77381 231,7838
61 gla 197 0,132645 0,074002 33,46065 409,6471 12,24265 26,99281 19,77381 231,7838
62 gla 216,4133 0,11781 0,068417 53,5996 280,4455 5,232231 22,79053 48,51297 215,3729
63 gla 178 0,149575 0,099135 40,29062 474,4047 11,77457 25,92083 30,8455 209,1807
64 gla 185 0,149749 0,085172 39,89141 361,748 9,068318 26,86076 29,49278 210,1787
65 gla 391 0,058119 0,01117 35,78006 265,1498 7,410546 22,13147 28,11424 400,9948
66 gla 502 0,065275 0,027925 53,23943 834,2727 15,6702 33,33114 41,51472 544,0394
67 gla 176 0,089884 0,076794 20,58852 79,70542 3,871352 18,22649 9,575088 191,9929
68 gla 145 0,117635 0,110305 21,21894 82,45556 3,885941 20,30308 6,166715 162,5109
69 gla 124,1287 0,131947 0,108909 20,59263 78,34279 3,804409 18,4624 9,121206 134,8927
70 gla 103 0,158127 0,291819 23,75481 78,25847 3,294426 22,3236 8,120826 124,9786
71 con 1724,09 0,052709 -0,02094 404,1262 3053,967 7,556963 71,42759 399,1942 1489,387
72 con 1385,665 0,092328 0,089361 202,48 8785,029 43,38713 143,0922 143,2578 1524,609
73 con 1084,247 0,073478 0 191,898 2937,972 15,31007 66,56363 179,9836 1064,104
74 con 649,3694 0,107512 0,01885 207,1117 3344,433 16,14797 50,54747 200,8487 623,9088
75 con 1500 0,056549 0,050265 375,0966 4759,455 12,68861 78,44598 366,802 1336,159
76 con 770 0,041628 0,002435 175,0197 346,0913 1,977442 25,22233 173,1927 654,7984
77 con 650 0,041015 0,145211 216,8113 427,5341 1,971918 33,76516 214,166 528,6992
78 con 691,972 0,026005 0,086568 190,6767 304,2707 1,595742 23,97572 189,1633 594,3156
79 con 1461,75 0,040841 0,049567 391,846 5574,003 14,22498 57,23148 387,644 1428,84
80 con 1496,736 0,103847 0,08238 640,276 11072 17,29254 108,2869 631,0525 1178,274
81 con 1111,814 0,098786 0,071209 386,9871 7659,742 19,79328 86,02512 377,3045 990,9789
82 con 1270,667 0,078889 0,065624 555,3523 3612,968 6,505723 68,78167 551,0765 895,1874
83 con 1647,94 0,080983 0,086568 576,7704 11852,49 20,54975 111,4359 565,9029 1402,878
84 con 1535,851 0,088488 0,004189 637,3497 10814,05 16,96722 96,6104 632,1651 1197,762
85 adi 2100 0,061959 -0,04538 390,4825 16640,72 42,6158 125,9004 380,6447 2073,029
86 adi 1800 0,034208 0,042586 301,0604 4406,154 14,63545 67,62533 293,3669 1742,376
Detección de cáncer de mama mediante redes neuronales
111
87 adi 2100 0,121649 0,377689 450,5517 35671,61 79,17318 436,0996 113,1986 2461,45
88 adi 1666,149 0,012392 0,058451 72,93105 1402,232 19,22681 51,85477 58,59576 1746,578
89 adi 1700 0,043982 0,105127 120,653 12331,1 102,203 120,2973 -9,2577 2212,178
90 adi 1949,118 0,051798 0,016501 170,3315 3212,077 18,8578 101,4558 136,8193 1941,367
91 adi 1850 0,079149 0,06947 253,6215 13113,2 51,70384 160,0655 196,7305 1916,985
92 adi 2350 0,081507 0,271573 515,2895 27758,64 53,86999 289,5691 426,2312 2457,677
93 adi 1800 0,091979 0,205251 362,8633 15021,55 41,39728 217,834 290,2036 1893,664
94 adi 1900 0,054454 0,113795 272,618 7481,593 27,4435 138,3593 234,8985 1924,518
95 adi 1800 0,069115 0,15708 385,5647 13831,72 35,87394 157,57 351,8975 1823,032
96 adi 1850 0,073304 0,225497 325,1915 8644,984 26,58428 208,74 249,3535 1908,177
97 Adi 1650 0,047647 0,043284 274,4262 5824,895 21,22573 81,23957 262,1257 1603,07
98 Adi 2800 0,083078 0,184307 583,2593 31388,65 53,81595 298,583 501,0385 2896,582
99 Adi 2329,84 0,066148 0,353255 377,2534 25369,04 67,24669 336,0752 171,3872 2686,435
100 Adi 2400 0,084125 0,22061 596,042 37939,26 63,65199 261,3482 535,6894 2447,772
101 Adi 2000 0,067195 0,124267 330,2716 15381,1 46,57105 169,198 283,6396 2063,073
102 Adi 2000 0,106989 0,105418 520,2226 40087,92 77,05916 204,0903 478,5172 2088,649
103 Adi 2600 0,200538 0,208043 1063,441 174480,5 164,0715 418,6873 977,5524 2664,584
104 Adi 1600 0,071908 -0,06632 436,9436 12655,34 28,96333 103,7327 432,1297 1475,372
105 Adi 2300 0,045029 0,136834 185,446 5086,292 27,42734 178,6917 49,59329 2480,592
106 Adi 2600 0,069988 0,048869 745,4744 39845,77 53,45023 154,1226 729,3684 2545,42
La base de datos “BREAST TISSUE” fue depurada y distribuida en tres bases de datos,
descritas a continuación.
I.I.I Base de datos “Test 1”
En esta base de datos el 75% de los datos se implementaron para el entrenamiento de la RNA,
mientras que el 25% se debe implementar en la simulación.
La base de datos “Test 1” se muestra a continuación:
Detección de cáncer de mama mediante redes neuronales
112
Tabla I.IV: Base De Datos Con El 75% De Los Datos De Breast Tissue
Class I0 PA500 HFS DA Area A/DA Max IP DR P
car 524,794072 0,18744836 0,03211406 228,800228 6843,59848 29,9108027 60,2048798 220,737212 556,828334
car 330 0,2268928 0,26529005 121,154201 3163,23947 26,1092018 69,7173615 99,084964 400,225776
car 551,879287 0,23247786 0,06352998 264,804935 11888,3918 44,8949028 77,7932968 253,7853 656,769449
car 380 0,24085544 0,286234 137,640111 5402,17118 39,2485239 88,7584457 105,198568 493,701814
car 362,831266 0,20071286 0,2443461 124,912559 3290,46245 26,3421265 69,389389 103,866552 424,796503
car 389,872978 0,15009832 0,09773844 118,625814 2475,55708 20,8686203 49,7571487 107,686164 429,385788
car 290,455141 0,1441642 0,05305801 74,6350666 1189,54521 15,9381544 35,703331 65,5413245 330,267293
car 275,677393 0,15393804 0,18779743 91,5278933 1756,23484 19,187974 39,3051834 82,6586822 331,588302
car 470 0,2131047 0,22549654 184,590057 8185,36084 44,3434548 84,4824829 164,122511 603,315715
car 423 0,21956242 0,26179939 172,371241 6108,1063 35,4357621 79,0563507 153,172903 558,274515
fad 211 0,05393067 0,09424778 30,7534435 151,984578 4,94203447 14,2683744 27,2431237 217,130704
fad 196,856714 0,02007129 0,09075712 28,5931261 82,0588885 2,86988167 7,96878338 27,661516 200,749336
fad 245 0,18901916 0,08168141 62,9029551 1235,98336 19,6490507 42,1520157 46,6903554 292,376238
fad 352,656447 0,12199851 0,09075712 68,5278464 1066,15785 15,5580235 43,691925 52,7928167 382,733187
fad 243,293976 0,03996804 0,06702064 68,5447777 383,928453 5,60113353 9,99134827 67,8166557 263,640761
fad 259,885145 0,07068583 0,00698132 58,2438073 465,087265 7,98517966 17,5068378 56,3402408 267,517446
fad 250 0,06806784 -0,0153589 57,1724312 652,901349 11,4198633 17,7769814 55,7912696 278,308615
fad 200 0,03769911 0,11728613 42,3166753 220,810907 5,21805896 10,6757641 40,9478823 218,034313
fad 355 0,06405358 0,08447394 89,5584635 1033,85425 11,5439033 27,5626621 86,5765611 372,039957
fad 272 0,09145525 0,00488692 63,7893803 718,94631 11,270627 20,085556 60,6907291 286,92022
gla 470,51642 0,12740904 0,06632251 150,224022 2657,91037 17,6929783 47,5606308 142,496468 491,472488
gla 223 0,12409291 0,07958701 33,096335 197,012541 5,95269962 30,454874 12,9563897 252,483348
gla 152 0,16580628 0,22759093 34,2195504 94,354328 2,75732226 31,2792778 13,8774777 180,609553
gla 303 0,06335545 0,03979351 22,5678927 102,500309 4,54186442 21,8308411 5,72050063 321,646837
gla 250 0,08709193 0,09285152 29,6375103 180,761244 6,09906979 26,1420975 13,9632632 280,122906
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 216,413257 0,11780972 0,06841691 53,5996 280,445486 5,23223096 22,790535 48,512974 215,37292
gla 178 0,14957472 0,0991347 40,290621 474,404699 11,7745691 25,9208279 30,8454993 209,180738
gla 185 0,14974925 0,08517207 39,8914092 361,74798 9,0683179 26,8607616 29,4927795 210,178719
con 1724,08989 0,05270894
-
0,02094395 404,126208 3053,96689 7,55696321 71,4275894 399,194244 1489,38671
con 1385,66472 0,09232792 0,08936086 202,480044 8785,02873 43,3871337 143,092194 143,25778 1524,6092
con 1084,24704 0,07347836 0 191,897953 2937,97154 15,3100723 66,5636292 179,983631 1064,10383
con 649,369397 0,10751228 0,01884956 207,111691 3344,43268 16,1479666 50,5474701 200,848714 623,908814
con 1500 0,05654867 0,05026548 375,096603 4759,45455 12,6886101 78,4459763 366,801978 1336,15853
con 770 0,04162833 0,00243455 175,019684 346,091311 1,97744221 25,2223301 173,192737 654,798419
con 650 0,04101524 0,14521139 216,81133 427,534068 1,97191755 33,7651634 214,16598 528,699233
con 691,972031 0,02600541 0,08656833 190,676692 304,270718 1,59574154 23,9757175 189,163331 594,315626
con 1461,75034 0,0408407 0,04956735 391,846023 5574,00282 14,2249825 57,2314796 387,643991 1428,83998
con 1496,73605 0,10384709 0,08237954 640,27595 11071,9978 17,2925405 108,286919 631,052482 1178,27428
Detección de cáncer de mama mediante redes neuronales
113
Tabla I.V: Base De Datos Con El 25% De Los Datos De La Breast Tissue
Class I0 PA500 HFS DA Area A/DA Max IP DR P
car 410 0,31782446 0,2974041 255,815179 10622,5471 41,5243034 67,5232086 246,742826 508,540356
car 500 0,22724187 0,05096361 219,295502 9819,44961 44,7772504 76,8684998 207,26664 602,527841
car 438,780157 0,21240657 0,06073746 120,901596 4879,49558 40,359232 80,7917786 89,9437864 525,420149
car 366,942379 0,28012534 0,25202554 172,745554 7064,81591 40,8972373 75,6043243 155,322285 471,588195
fad 341,620013 0,09197885 0,07400196 85,0430286 1370,83807 16,1193468 29,0289688 79,9351968 385,13346
fad 160,322453 0,17697639 0,16336282 37,217124 341,881462 9,1861333 30,889164 20,7599104 187,566518
fad 301,304399 0,10978121 0,03560472 64,6161999 942,773191 14,5903534 29,0456772 57,7200304 335,768459
fad 155 0,1727876 0,11868239 38,9401684 415,111601 10,6602415 25,8365021 29,1343762 184,817041
gla 391 0,05811946 0,01117011 35,7800613 265,14979 7,41054598 22,1314716 28,1142445 400,994818
gla 502 0,06527531 0,02792527 53,239433 834,272731 15,6702031 33,3311424 41,5147222 544,039414
gla 176 0,08988446 0,07679449 20,5885241 79,7054246 3,87135203 18,2264919 9,57508785 191,992879
gla 145 0,11763519 0,11030481 21,2189421 82,4555616 3,88594121 20,3030815 6,16671519 162,510927
con 1111,81407 0,09878564 0,07120943 386,987094 7659,74213 19,7932754 86,0251236 377,304504 990,978913
con 1270,66672 0,07888888 0,06562438 555,352318 3612,96833 6,50572297 68,7816696 551,076473 895,187441
con 1647,93981 0,08098328 0,08656833 576,770376 11852,4851 20,5497466 111,435913 565,90291 1402,87774
con 1535,85074 0,08848819 0,00418879 637,349674 10814,0502 16,9672169 96,6103973 632,165115 1197,76215
I.I.II Base de datos “Test 2”
Test 2 es una base de datos que contiene el 25% (base de datos original) de los datos para
entrenamiento, y el 75% para las pruebas siguientes, la base de datos se muestra en la tabla
I.VI y I.VII.
Tabla I.VI: Test 2 75% De Los Datos Originales
Class I0 PA500 HFS DA Area A/DA Max IP DR P
car 362,831266 0,20071286 0,2443461 124,912559 3290,46245 26,3421265 69,389389 103,866552 424,796503
car 389,872978 0,15009832 0,09773844 118,625814 2475,55708 20,8686203 49,7571487 107,686164 429,385788
car 290,455141 0,1441642 0,05305801 74,6350666 1189,54521 15,9381544 35,703331 65,5413245 330,267293
car 275,677393 0,15393804 0,18779743 91,5278933 1756,23484 19,187974 39,3051834 82,6586822 331,588302
car 470 0,2131047 0,22549654 184,590057 8185,36084 44,3434548 84,4824829 164,122511 603,315715
car 423 0,21956242 0,26179939 172,371241 6108,1063 35,4357621 79,0563507 153,172903 558,274515
car 410 0,31782446 0,2974041 255,815179 10622,5471 41,5243034 67,5232086 246,742826 508,540356
car 500 0,22724187 0,05096361 219,295502 9819,44961 44,7772504 76,8684998 207,26664 602,527841
car 438,780157 0,21240657 0,06073746 120,901596 4879,49558 40,359232 80,7917786 89,9437864 525,420149
car 366,942379 0,28012534 0,25202554 172,745554 7064,81591 40,8972373 75,6043243 155,322285 471,588195
Detección de cáncer de mama mediante redes neuronales
114
fad 243,293976 0,03996804 0,06702064 68,5447777 383,928453 5,60113353 9,99134827 67,8166557 263,640761
fad 259,885145 0,07068583 0,00698132 58,2438073 465,087265 7,98517966 17,5068378 56,3402408 267,517446
fad 250 0,06806784 -0,0153589 57,1724312 652,901349 11,4198633 17,7769814 55,7912696 278,308615
fad 200 0,03769911 0,11728613 42,3166753 220,810907 5,21805896 10,6757641 40,9478823 218,034313
fad 355 0,06405358 0,08447394 89,5584635 1033,85425 11,5439033 27,5626621 86,5765611 372,039957
fad 272 0,09145525 0,00488692 63,7893803 718,94631 11,270627 20,085556 60,6907291 286,92022
fad 341,620013 0,09197885 0,07400196 85,0430286 1370,83807 16,1193468 29,0289688 79,9351968 385,13346
fad 160,322453 0,17697639 0,16336282 37,217124 341,881462 9,1861333 30,889164 20,7599104 187,566518
fad 301,304399 0,10978121 0,03560472 64,6161999 942,773191 14,5903534 29,0456772 57,7200304 335,768459
fad 155 0,1727876 0,11868239 38,9401684 415,111601 10,6602415 25,8365021 29,1343762 184,817041
gla 250 0,08709193 0,09285152 29,6375103 180,761244 6,09906979 26,1420975 13,9632632 280,122906
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 216,413257 0,11780972 0,06841691 53,5996 280,445486 5,23223096 22,790535 48,512974 215,37292
gla 178 0,14957472 0,0991347 40,290621 474,404699 11,7745691 25,9208279 30,8454993 209,180738
gla 185 0,14974925 0,08517207 39,8914092 361,74798 9,0683179 26,8607616 29,4927795 210,178719
gla 391 0,05811946 0,01117011 35,7800613 265,14979 7,41054598 22,1314716 28,1142445 400,994818
gla 502 0,06527531 0,02792527 53,239433 834,272731 15,6702031 33,3311424 41,5147222 544,039414
gla 176 0,08988446 0,07679449 20,5885241 79,7054246 3,87135203 18,2264919 9,57508785 191,992879
gla 145 0,11763519 0,11030481 21,2189421 82,4555616 3,88594121 20,3030815 6,16671519 162,510927
con 1500 0,05654867 0,05026548 375,096603 4759,45455 12,6886101 78,4459763 366,801978 1336,15853
con 770 0,04162833 0,00243455 175,019684 346,091311 1,97744221 25,2223301 173,192737 654,798419
con 650 0,04101524 0,14521139 216,81133 427,534068 1,97191755 33,7651634 214,16598 528,699233
con 691,972031 0,02600541 0,08656833 190,676692 304,270718 1,59574154 23,9757175 189,163331 594,315626
con 1461,75034 0,0408407 0,04956735 391,846023 5574,00282 14,2249825 57,2314796 387,643991 1428,83998
con 1496,73605 0,10384709 0,08237954 640,27595 11071,9978 17,2925405 108,286919 631,052482 1178,27428
con 1111,81407 0,09878564 0,07120943 386,987094 7659,74213 19,7932754 86,0251236 377,304504 990,978913
con 1270,66672 0,07888888 0,06562438 555,352318 3612,96833 6,50572297 68,7816696 551,076473 895,187441
con 1647,93981 0,08098328 0,08656833 576,770376 11852,4851 20,5497466 111,435913 565,90291 1402,87774
con 1535,85074 0,08848819 0,00418879 637,349674 10814,0502 16,9672169 96,6103973 632,165115 1197,76215
Tabla I.VIII: Test 2, 25% De Los Datos De Breast Tissue
Class I0 PA500 HFS DA Área A/DA Max IP DR P
car 362,831266 0,20071286 0,2443461 124,912559 3290,46245 26,3421265 69,389389 103,866552 424,796503
car 389,872978 0,15009832 0,09773844 118,625814 2475,55708 20,8686203 49,7571487 107,686164 429,385788
car 290,455141 0,1441642 0,05305801 74,6350666 1189,54521 15,9381544 35,703331 65,5413245 330,267293
car 275,677393 0,15393804 0,18779743 91,5278933 1756,23484 19,187974 39,3051834 82,6586822 331,588302
fad 243,293976 0,03996804 0,06702064 68,5447777 383,928453 5,60113353 9,99134827 67,8166557 263,640761
fad 259,885145 0,07068583 0,00698132 58,2438073 465,087265 7,98517966 17,5068378 56,3402408 267,517446
fad 250 0,06806784 -0,0153589 57,1724312 652,901349 11,4198633 17,7769814 55,7912696 278,308615
fad 200 0,03769911 0,11728613 42,3166753 220,810907 5,21805896 10,6757641 40,9478823 218,034313
Detección de cáncer de mama mediante redes neuronales
115
gla 250 0,08709193 0,09285152 29,6375103 180,761244 6,09906979 26,1420975 13,9632632 280,122906
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 216,413257 0,11780972 0,06841691 53,5996 280,445486 5,23223096 22,790535 48,512974 215,37292
con 1500 0,05654867 0,05026548 375,096603 4759,45455 12,6886101 78,4459763 366,801978 1336,15853
con 770 0,04162833 0,00243455 175,019684 346,091311 1,97744221 25,2223301 173,192737 654,798419
con 650 0,04101524 0,14521139 216,81133 427,534068 1,97191755 33,7651634 214,16598 528,699233
con 691,972031 0,02600541 0,08656833 190,676692 304,270718 1,59574154 23,9757175 189,163331 594,315626
I.I.III Base de datos “Test 3”
Test 3 es una base de datos que contiene datos aleatorios de Breast Tissue, se muestra en la
tabla I.IX y I.X.
Tabla I.IX: Test 3 Datos Aleatorios
Class I0 PA500 HFS DA Área A/DA Max IP DR P
car 551,879287 0,23247786 0,06352998 264,804935 11888,3918 44,8949028 77,7932968 253,7853 656,769449
car 380 0,24085544 0,286234 137,640111 5402,17118 39,2485239 88,7584457 105,198568 493,701814
car 362,831266 0,20071286 0,2443461 124,912559 3290,46245 26,3421265 69,389389 103,866552 424,796503
car 389,872978 0,15009832 0,09773844 118,625814 2475,55708 20,8686203 49,7571487 107,686164 429,385788
car 290,455141 0,1441642 0,05305801 74,6350666 1189,54521 15,9381544 35,703331 65,5413245 330,267293
car 275,677393 0,15393804 0,18779743 91,5278933 1756,23484 19,187974 39,3051834 82,6586822 331,588302
car 470 0,2131047 0,22549654 184,590057 8185,36084 44,3434548 84,4824829 164,122511 603,315715
car 423 0,21956242 0,26179939 172,371241 6108,1063 35,4357621 79,0563507 153,172903 558,274515
car 410 0,31782446 0,2974041 255,815179 10622,5471 41,5243034 67,5232086 246,742826 508,540356
car 500 0,22724187 0,05096361 219,295502 9819,44961 44,7772504 76,8684998 207,26664 602,527841
fad 245 0,18901916 0,08168141 62,9029551 1235,98336 19,6490507 42,1520157 46,6903554 292,376238
fad 352,656447 0,12199851 0,09075712 68,5278464 1066,15785 15,5580235 43,691925 52,7928167 382,733187
fad 243,293976 0,03996804 0,06702064 68,5447777 383,928453 5,60113353 9,99134827 67,8166557 263,640761
fad 259,885145 0,07068583 0,00698132 58,2438073 465,087265 7,98517966 17,5068378 56,3402408 267,517446
fad 250 0,06806784 -0,0153589 57,1724312 652,901349 11,4198633 17,7769814 55,7912696 278,308615
fad 200 0,03769911 0,11728613 42,3166753 220,810907 5,21805896 10,6757641 40,9478823 218,034313
fad 355 0,06405358 0,08447394 89,5584635 1033,85425 11,5439033 27,5626621 86,5765611 372,039957
fad 272 0,09145525 0,00488692 63,7893803 718,94631 11,270627 20,085556 60,6907291 286,92022
fad 341,620013 0,09197885 0,07400196 85,0430286 1370,83807 16,1193468 29,0289688 79,9351968 385,13346
fad 160,322453 0,17697639 0,16336282 37,217124 341,881462 9,1861333 30,889164 20,7599104 187,566518
gla 152 0,16580628 0,22759093 34,2195504 94,354328 2,75732226 31,2792778 13,8774777 180,609553
gla 303 0,06335545 0,03979351 22,5678927 102,500309 4,54186442 21,8308411 5,72050063 321,646837
Detección de cáncer de mama mediante redes neuronales
116
gla 250 0,08709193 0,09285152 29,6375103 180,761244 6,09906979 26,1420975 13,9632632 280,122906
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 197 0,13264502 0,07400196 33,460653 409,647141 12,2426523 26,9928074 19,7738132 231,783788
gla 216,413257 0,11780972 0,06841691 53,5996 280,445486 5,23223096 22,790535 48,512974 215,37292
gla 178 0,14957472 0,0991347 40,290621 474,404699 11,7745691 25,9208279 30,8454993 209,180738
gla 185 0,14974925 0,08517207 39,8914092 361,74798 9,0683179 26,8607616 29,4927795 210,178719
gla 391 0,05811946 0,01117011 35,7800613 265,14979 7,41054598 22,1314716 28,1142445 400,994818
gla 502 0,06527531 0,02792527 53,239433 834,272731 15,6702031 33,3311424 41,5147222 544,039414
con 1084,24704 0,07347836 0 191,897953 2937,97154 15,3100723 66,5636292 179,983631 1064,10383
con 649,369397 0,10751228 0,01884956 207,111691 3344,43268 16,1479666 50,5474701 200,848714 623,908814
con 1500 0,05654867 0,05026548 375,096603 4759,45455 12,6886101 78,4459763 366,801978 1336,15853
con 770 0,04162833 0,00243455 175,019684 346,091311 1,97744221 25,2223301 173,192737 654,798419
con 650 0,04101524 0,14521139 216,81133 427,534068 1,97191755 33,7651634 214,16598 528,699233
con 691,972031 0,02600541 0,08656833 190,676692 304,270718 1,59574154 23,9757175 189,163331 594,315626
con 1461,75034 0,0408407 0,04956735 391,846023 5574,00282 14,2249825 57,2314796 387,643991 1428,83998
con 1496,73605 0,10384709 0,08237954 640,27595 11071,9978 17,2925405 108,286919 631,052482 1178,27428
con 1111,81407 0,09878564 0,07120943 386,987094 7659,74213 19,7932754 86,0251236 377,304504 990,978913
con 1270,66672 0,07888888 0,06562438 555,352318 3612,96833 6,50572297 68,7816696 551,076473 895,187441
Tabla I.X: Test 3 Datos Aleatorios
Class I0 PA500 HFS DA Area A/DA Max IP DR P
car 524,794072 0,18744836 0,03211406 228,800228 6843,59848 29,9108027 60,2048798 220,737212 556,828334
car 330 0,2268928 0,26529005 121,154201 3163,23947 26,1092018 69,7173615 99,084964 400,225776
car 438,780157 0,21240657 0,06073746 120,901596 4879,49558 40,359232 80,7917786 89,9437864 525,420149
car 366,942379 0,28012534 0,25202554 172,745554 7064,81591 40,8972373 75,6043243 155,322285 471,588195
fad 211 0,05393067 0,09424778 30,7534435 151,984578 4,94203447 14,2683744 27,2431237 217,130704
fad 196,856714 0,02007129 0,09075712 28,5931261 82,0588885 2,86988167 7,96878338 27,661516 200,749336
fad 301,304399 0,10978121 0,03560472 64,6161999 942,773191 14,5903534 29,0456772 57,7200304 335,768459
fad 155 0,1727876 0,11868239 38,9401684 415,111601 10,6602415 25,8365021 29,1343762 184,817041
gla 470,51642 0,12740904 0,06632251 150,224022 2657,91037 17,6929783 47,5606308 142,496468 491,472488
gla 223 0,12409291 0,07958701 33,096335 197,012541 5,95269962 30,454874 12,9563897 252,483348
gla 176 0,08988446 0,07679449 20,5885241 79,7054246 3,87135203 18,2264919 9,57508785 191,992879
gla 145 0,11763519 0,11030481 21,2189421 82,4555616 3,88594121 20,3030815 6,16671519 162,510927
con 1724,08989 0,05270894 -0,02094395 404,126208 3053,96689 7,55696321 71,4275894 399,194244 1489,38671
con 1385,66472 0,09232792 0,08936086 202,480044 8785,02873 43,3871337 143,092194 143,25778 1524,6092
con 1647,93981 0,08098328 0,08656833 576,770376 11852,4851 20,5497466 111,435913 565,90291 1402,87774
con 1535,85074 0,08848819 0,00418879 637,349674 10814,0502 16,9672169 96,6103973 632,165115 1197,76215
Detección de cáncer de mama mediante redes neuronales
117
Anexo II
Código implementado para desarrollo de la
interfaz de la RNA.
[file1,direc]=uigetfile({'*.xlsx'});
examinar=strcat(direc,file1);
prueba=xlsread(examinar,'Hoja1','b2..q10');
set(handles.tBruta,'String',examinar);
set(handles.cargar,'UserData',prueba);
examinar=strcat(direc,file1);
prueba=xlsread(examinar,'Hoja1','b2..q10');
set(handles.tBruta,'String',examinar);
set(handles.cargar,'UserData',prueba);
load('train.mat');
prueba=get(handles.cargar,'UserData');
simulacion = sim(network1,prueba);
resultado = detectaCancer(simulacion);
set(handles.tBcarcinoma,'BackgroundColor','red');
set(handles.tBcarcinoma,'Visible','on');
set(handles.tBfibroadenoma,'BackgroundColor','green');
set(handles.tBfibroadenoma,'Visible','on');
set(handles.tBglandular,'BackgroundColor','green');
set(handles.tBglandular,'Visible','on');
set(handles.tBconnective,'BackgroundColor','green');
set(handles.tBconnective,'Visible','on');
espacio = ':';
Ncarcinoma = int2str(resultado(1,1));
Detección de cáncer de mama mediante redes neuronales
118
Nfibroadenoma = int2str(resultado(1,2));
Nglandular = int2str(resultado(1,3));
Nconnective = int2str(resultado(1,4));
global grafCar;
global grafFib;
global grafGla;
global grafCon;
grafCar = resultado(1,1);
grafFib = resultado(1,2);
grafGla = resultado(1,3);
grafCon = resultado(1,4);
carcinoma = strcat('carcinoma',espacio,Ncarcinoma);
fibroadenoma = strcat('fibroadenoma',espacio,Nfibroadenoma);
glandular = strcat('glandular',espacio,Nglandular);
connective = strcat('connective',espacio,Nconnective);
set(handles.tBcarcinoma,'String',carcinoma);
set(handles.tBfibroadenoma,'String',fibroadenoma);
set(handles.tBglandular,'String',glandular);
set(handles.tBconnective,'String',connective);
set(handles.procesar,'UserData',simulacion);
Global contenido;
global index;
contenido = get(hObject,’String’);
index = get(hObject,’Value’);
Global index;
global contenido;
nPrueba = contenido(index);
patrones = cargarPrueba(nPrueba);
nPatron = get(hObject,’Value’);
set(handles.tBiO,’String’,num2str(patrones(1,1,nPatron)));
set(handles.tBpA500,’String’,num2str(patrones(2,1,nPatron)));
set(handles.tBhFS,’String’,num2str(patrones(3,1,nPatron)));
set(handles.Tbda,’String’,num2str(patrones(4,1,nPatron)));
set(handles.tBArea,’String’,num2str(patrones(5,1,nPatron)));
set(handles.Tbada,’String’,num2str(patrones(6,1,nPatron)));
set(handles.tBMax,’String’,num2str(patrones(7,1,nPatron)));
set(handles.Tbdr,’String’,num2str(patrones(8,1,nPatron)));
Detección de cáncer de mama mediante redes neuronales
119
set(handles.Tbp,’String’,num2str(patrones(9,1,nPatron)));
Load(‘train.mat’);
IO = get(handles.tBiO,’String’);
PA500 = get(handles.tBpA500,’String’);
HFS = get(handles.tBhFS,’String’);
DA = get(handles.Tbda,’String’);
Area = get(handles.tBArea,’String’);
ADA = get(handles.Tbada,’String’);
MaxIP = get(handles.tBMax,’String’);
DR = get(handles.Tbdr,’String’);
P = get(handles.Tbp,’String’);
IO = str2double(IO);
PA500 = str2double(PA500);
HFS = str2double(HFS);
DA = str2double(DA);
Area = str2double(Area);
ADA = str2double(ADA);
MaxIP = str2double(MaxIP);
DR = str2double(DR);
P = str2double(P);
patron =[IO;PA500;HFS;DA;Area;ADA;MaxIP;DR;P];
simPat = sim(network1,patron);
tejido = detectaTejido(simPat)
if strcmp(tejido,’Carcinoma’)
set(handles.tBpatron,’BackgroundColor’,’red’);
set(handles.tBpatron,’Visible’,’on’);
set(handles.tBpatron,’String’,’Carcinoma’);
else
if strcmp(tejido,’Fibroadenoma’)
set(handles.tBpatron,’BackgroundColor’,’green’);
set(handles.tBpatron,’Visible’,’on’);
set(handles.tBpatron,’String’,’Fibroadenoma’);
else
if strcmp(tejido,’Glandular’)
set(handles.tBpatron,’BackgroundColor’,’green’);
set(handles.tBpatron,’Visible’,’on’);
set(handles.tBpatron,’String’,’Glandular’);
Detección de cáncer de mama mediante redes neuronales
120
else
if strcmp(tejido,’Connective’)
set(handles.tBpatron,’BackgroundColor’,’green’);
set(handles.tBpatron,’Visible’,’on’);
set(handles.tBpatron,’String’,’Connective’);
end
end
end
end
set(handles.procesar,’UserData’,simPat);
Global grafCar;
global grafFib;
global grafGla;
global grafCon;
if grafCar == 0
grafCar = 1;
end
if grafFib ==0
grafFib = 1;
end
if grafGla ==0
grafGla = 1;
end
if grafCon ==0
grafCon =1;
end
errorGlandular=4-grafGla;
errorCarcinoma=4-grafCar;
errorFibro=4-grafFib;
errorCone=4-grafCon;
axes(handles.axes2);
axes(handles.axes1);
x=[grafCar errorCarcinoma];
pct=x/sum(x);
tajada = [0 1];
pie(x,tajada);
pie3(x),colormap inter;
Detección de cáncer de mama mediante redes neuronales
121
title(‘CARCINOMA’)
axes(handles.axes6);
fibro=[grafFib errorFibro];
pct1=fibro/sum(x);
tajada1 = [0 1];
pie(fibro,tajada1);
pie3(fibro),colormap inter;
title(‘FIBROADENOMA’);
axes(handles.axes7);
glan=[grafGla errorGlandular];
pct2=glan/sum(glan);
tajada2 = [0 1];
pie(glan,tajada2);
pie3(glan),colormap inter;
title(‘GLANDULAR’);
axes(handles.axes8);
inter=[grafCon errorCone];
pct3=inter/sum(inter);
tajada3 = [0 1];
pie(conect,tajada3);
pie3(conect),colormap inter;
title(‘CONNECTIVE’)
Global grafCar;
global grafFib;
global grafGla;
global grafCon;
errorGlandular=4-grafGla;
errorCarcinoma=4-grafCar;
errorFibro=4-grafFib;
errorCone=4-grafCon;
axes(handles.axes2);
tipo=1:4;
Y =[errorCarcinoma, errorFibro, errorGlandular, errorCone];
bar(tipo, Y), colormap inter;
xlabel(‘TEJIDOS’);
ylabel(‘ERRORES’);
title(‘ERRORES DE LA RED NEURONAL’);
Detección de cáncer de mama mediante redes neuronales
122
resultado = detectaCancer(simulacion);
function [retorno] = detectaCancer(MtA)
carcinoma = isCarcinoma(MtA);
fibroadenoma = isFibroadenoma(MtA);
glandular = isGlandular(MtA);
connective = isConnective(MtA);
retorno = [carcinoma fibroadenoma glandular connective];
end
function [retorno] = isCarcinoma(MtA)
CP1 = 0;
carcinoma = 0;
for j = 1:1:16
if j<=4
for i=1:1:4
if i==1
if MtA(i,j) >=0.85 && MtA(i,j)<=1
CP1=CP1+1;
end
end
if i>1
if MtA(i,j) <=-0.85 && MtA(i,j) >=-1
CP1 = CP1+1;
end
end
end
if CP1==4
carcinoma = carcinoma + 1;
end
CP1 = 0;
end
end
function [retorno] = isConnective(MtA)
CP1 = 0;
connective = 0;
for j = 1:1:16
if j>12
for i=1:1:4
Detección de cáncer de mama mediante redes neuronales
123
if i==4
if MtA(i,j) >=0.85 && MtA(i,j)<=1
CP1=CP1+1;
end
end
if i<4
if MtA(i,j) <=-0.85 && MtA(i,j) >=-1
CP1 = CP1+1;
end
end
end
if CP1==4
connective = connective + 1;
end
CP1 = 0;
end
end
Para el metodo isGlandular() se tiene:
function [retorno] = isGlandular(MtA)
CP1 = 0;
glandular = 0;
for j = 1:1:16
if j>8 && j<13
for i=1:1:4
if i==3
if MtA(i,j) >=0.85 && MtA(i,j)<=1
CP1=CP1+1;
end
end
if i<3 || i>3
if MtA(i,j) <=-0.85 && MtA(i,j) >=-1
CP1 = CP1+1;
end
end
Detección de cáncer de mama mediante redes neuronales
124
end
if CP1==4
glandular = glandular + 1;
end
CP1 = 0;
end
end
retorno = glandular;
end
function [retorno] = isFibroadenoma(MtA)
CP1 = 0;
fibroadenoma = 0;
for j = 1:1:16
if j>4 && j<9
for i =1:1:4
if i==2
if MtA(i,j) >=0.85 && MtA(i,j)<=1
CP1=CP1+1;
end
else
if MtA(i,j) <=-0.85 && MtA(i,j) >=-1
CP1 = CP1+1;
end
end
end
if CP1==4
fibroadenoma = fibroadenoma + 1;
end
CP1 = 0;
end
end
retorno = fibroadenoma;
end
Detección de cáncer de mama mediante redes neuronales
125
Anexo III
Evaluación económica
III.I Características
El algoritmo basado en redes neuronales para la detección de redes neuronales está diseñado
para cumplir los estándares de calidad establecidos por los otros métodos para la detección
de cáncer de mama, teniendo como referencia el trabajo hecho por los investigadores de
CIDETEC y la Escuela Superior de Computación, siendo este proyecto el que implementa
redes neuronales, a diferencia de nosotros ellos presentan detección mediante imágenes,
mientras está red neuronal detecta por medio de datos.
Su algoritmo está basado en la teoría de redes neuronales, siendo la Back Propagation la
indicada para la implementación de esta en el entrenamiento de la RNA, el entrenamiento se
hace mediante los datos obtenidos de la base de datos obtenida de manera gratuita de “Center
for Machine Learning and Intelligent System”, está sería la fase de entrenamiento.
La red neuronal artificial obtenida nos da como resultado un 95% de efectividad en fase de
entrenamiento.
III.II Clientes potenciales
El presente proyecto va dirigido a empresas dedicadas a la medicina, como lo son hospitales:
ISSSTE: Instituto de Seguridad y Servicios Sociales de los Trabajadores del
Estado.
Detección de cáncer de mama mediante redes neuronales
126
Centro Médico Nacional 20 de Noviembre especialidad en Oncología.
Centro Médico Nacional 1 de Octubre especialidad en Oncología.
IMSS: Insituto Mexicano del Seguro Social
Hospital de Oncología Siglo XXI.
Hospital Ángeles Pedregal
Centro Oncológico: Clínica de la mama.
Médica Sur
Centro Oncológico Integral
Por su naturaleza, se requiere el registro ante la Secretaría de Salud de México, para el
diagnóstico mediante la Norma Oficial Mexicana NOM-041-SSA2-2002, para la prevención,
diagnóstico, tratamiento, control y vigilancia epidemiológica del cáncer de mama, en el área
de detección de Hallazgo maligno y hallazgo benigno de tejidos.
El registro solicitado se titula “DECANMA-RNA” que ejerce:
“DECANMA-RNA es la expresión para el sistema de control para la detección de cáncer de
mama mediante redes neuronales artificiales”
DETCANMA-RNA tiene el logo siguiente:
Detección de cáncer de mama mediante redes neuronales
127
Figura III.I: “Logo Decanma-Rna”
Para el procesamiento del proyecto son necesarios factores determinantes para su utilización
como son:
Profesionista en Software:
Según el estudio realizado arroja que el salario mensual promedio de un profesionista de
software en México es de $34,660.00 pesos mexicanos, es decir alrededor de 1866.40 dólares
(considerando un tipo de cambio de 18.57 pesos por dólar).
Equipo de cómputo:
Es necesario un equipo de cómputo que cumpla con las siguientes características:
Sistema Operativo: Windows 10 Home
Procesador AMD Quad-Core A6-6310
Memoria RAM 8GB de memoria PC3
Disco Duro 1TB
Tarjeta de Red: Red 10/100/1000 Base-T
Bluetooth® 4.0 y LAN inalámbrica 802.11b/g/n integrados con tecnología de 2,4 Ghz
Video y Audio: Integrados
Detección de cáncer de mama mediante redes neuronales
128
Puertos USB 5 (3 x 2.0 , 2 x 3.0)
Puerto HDMI Salida HDMI
El precio aproximado de un equipo de cómputo con estas características es de $10,489.00
pesos.
Mantenimiento:
El proyecto tiene un tiempo aproximado de buen funcionamiento de 1 año, pasado este año
el mantenimiento de DECAMA-RNA tendrá un costo adicional de $20,000.00 pesos.
Detección de cáncer de mama mediante redes neuronales
129
Referencias
[1]Fernando Andrés Angarita y Sergio Andrés Acuña. Cáncer de seno: de la epidemiología
al tratamiento, 2008.
[2]A.F. Costa, G. Humpire-Mamani, and A. J M Traina. An efficient algorithm for fractal
analysis of textures. In Graphics, Patterns and Images (SIBGRAPI), 2012 25th
SIBGRAPI Conference on, pages 39–46, Aug 2012.
[3] M. Sameti, R.K. Ward, J. Morgan-Parkes, and B. Palcic. Image feature extraction in the
last screening mammograms prior to detection of breast cancer. Selected Topics in Signal
Processing, IEEE Journal of, 2009.
[4] Juan José Bedolla Solano. Sistema automatizado diagnostico lesiones imágenes de
mamografías. tercera parte. Metodología.
[5] Shin-Yuan Hung and Chin-Yu Chen. Mammographic case base applied for supporting
image diagnosis of breast lesion. Expert Systems with Applications, 2006. Intelligent
Bioinformatics Systems.
[6] Alain Tiedeu, Christian Daul, Aude Kentsop, Pierre Graebling, and Didier Wolf.
Texture-based analysis of clustered microcalcifications detected on mammograms. Digital
Signal Processing, 2012.
[7] Jinshan Tang, Rangaraj M Rangayyan, Jun Xu, Issam El Naqa, and Yongyi Yang.
Computer-aided detection and diagnosis of breast cancer with mammography: recent
advances. Information Technology in Biomedicine, IEEE Transactions on, 2009.
Detección de cáncer de mama mediante redes neuronales
130
[8] Marta Lucía Guevara G Damián Alberto Álvarez G. Detección de microcalcificaciones
en mamografías digitales, 2006.
[9] Taplin, S.H., Ichikawa, L.E., Kerlikowske, K., Ernster, V.L., Rosenberg,
R.D., Yankaskas, B.C., et al., Concordance of breast imaging reporting and data system
assessments and management recommendations in screening mammography, Radiology
2002.
[10] Fernando Andrés Angarita y Sergio Andrés Acuña. Presentación inicial de las pacientes
con diagnóstico de cáncer de seno en el centro javeriano de oncología, hospital universitario
san Ignacio, 2010.
[11]https://www.nlm.nih.gov/medlineplus/spanish/ency/article/000913.htm
[12] http://www.cancer.gov/espanol/tipos/seno
[13] http://www.who.int/topics/cancer/breastcancer/es/
[14]http://www.cancer.org/espanol/cancer/cancerdeseno/guiadetallada/cancer-de-seno-que-
es-que-es-cancer-de-seno
[15]http://www.cancer.net/es/tiposdec%C3%A1ncer/c%C3%A1ncer-de-mama
[16]http://www.breastcancer.org/es/sintomas
[17]http://www.breastcancer.org/es/sintomas/cancer_de_mama/que_es_cancer_mama
[18]http://www2.ulpgc.es/hege/almacen/download/38/38584/practica_ia_2.pdf
Detección de cáncer de mama mediante redes neuronales
131
[19]https://www.frro.utn.edu.ar/repositorio/catedras/quimica/5_anio/orientadora1/monograi
as/matich-redesneuronales.pdf
[20]http://www.dynamics.unam.edu/DinamicaNoLineal/Articulos/MineriaDatos/Articulo03
[21]http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t8neuronales.pdf
[22]http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/DM/tema3dm.pdf
[23]http://www.cidetec.ipn.mx/Documents/deteccionCancerMamaRNA.pdf
[24] http://www.scielo.org.ve/scielo.php?script=sci_arttext&pid=S0798-
40652011000300002
[25]http://sites.ieee.org/northerncanada-embs/files/2013/09/EMBS-2009-Seminar-Talk-by-
Rangayyan.pdf
[26]http://spectrum.ieee.org/nanoclast/biomedical/diagnostics/electronic-skin-made-from-
nanoparticles-offers-early-breast-cancer-detection
[27]http://www.sciencedirect.com/science/article/pii/S0895717710001378
[28]http://www.geek.com/news/17-year-old-builds-neural-network-capable-of-detecting-
breast-cancer-1505223/
[29]https://www.youtube.com/watch?v=oJFdaIfNy3Y
[30]https://cloud4cancer.appspot.com/
Detección de cáncer de mama mediante redes neuronales
132
[31]http://googleappengine.blogspot.mx/2012/08/neural-network-for-breast-cancer-
data.html
[32]http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=537600
[33]http://link.springer.com/chapter/10.1007%2F978-3-319-02931-3_14
[34]https://www.researchgate.net/publication/260320918_Breast_Cancer_detection_and_Cl
assification_using_Neural_Network
[35]https://books.google.com.mx/books?id=sM3RnJWC_XAC&pg=PA137&lpg=PA137&
dq=neural+network+for+breast+cancer+detection&source=bl&ots=qxt49fstZc&sig=D7_Ej
sJ_7aVtbxfau7xr9mO7EM&hl=es&sa=X&ved=0ahUKEwi7wNvjkZTNAhXQpYMKHcF
EATs4ChDoAQhnMAc#v=onepage&q=neural%20network%20for%20breast%20cancer%
20detection&f=false