Full text
P oyec o Fin de Ca e a
Ingenie ía de Telecomunicación
Fo ma o de Publicación de la Escuela Técnica
Supe io de Ingenie ía
Au o : F. Ja ie Payán Some
Tu o : Juan José Mu illo Fuen es
Dep. Teo ía de la Señal y Comunicaciones
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2013
T abajo Fin de G ado
G ado en Ingenie ía Ae oespacial
Au oma ización de diagnós icos median e el
uso de écnicas de Machine Lea ning
Au o : Esd as Sánchez Sánchez
Tu o : Ma ía Ángeles Ma ín P a s
Dp o.Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2021
T abajo Fin de G ado
G ado en Ingenie ía Ae oespacial
Au oma ización de diagnós icos median e el uso
de écnicas de Machine Lea ning
Au o :
Esd as Sánchez Sánchez
Tu o :
Ma ía Ángeles Ma ín P a s
P o eso Ti ula
Dp o.Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2021
T abajo Fin de G ado:
Au oma ización de diagnós icos median e el uso de écnicas de Machine
Lea ning
Au o : Esd as Sánchez Sánchez
Tu o : Ma ía Ángeles Ma ín P a s
El ibunal nomb ado pa a juzga el abajo a iba indicado, compues o po los siguien es p o eso es:
P esiden e:
Vocal/es:
Sec e a io:
acue dan o o ga le la cali icación de:
El Sec e a io del T ibunal
Fecha:
Ag adecimien os
Amis pad es, po se mi pila incondicional, mi apoyo día as día y ansmi i me siemp e elicidad. Po
enseña me alo es an impo an es como el espe o, la solida idad, la cons ancia y el abajo. Sois mi
ejemplo a segui .
A mi he mana, po se una pe sona ex ao dina ia en odos los sen idos. Sigue siendo como e es po que as a
consegui odo lo que e p opongas.
A Ca men, po habe e c uzado en el camino du an e es a a en u a y llena me de aleg ía día as día. Es o
es solo el comienzo de odo lo que nos espe a.
A mi amilia y amigos, muchas g acias.
Al g upo docen e de la Uni e sidad y en especial a mi u o a Ma ía Ángeles, po habe me abie o los ojos
y ayuda me a descub i mi pasión. Muchas g acias po odo el iempo y es ue zo que ha dedicado ha sido un
place abaja con us ed du an e es e iempo.
I
Resumen
El
a ance de los es udios ealizados en el campo de la In eligencia A i icial, así como su implemen ación
di ec a en la indus ia es á suponiendo un cambio inminen e. En la indus ia ae onáu ica la segu idad
es un pila undamen al. Los acciden es aé eos se p oducen debido an o al ac o humano como al allo de
la maquina ia. Aquí donde el Machine Lea ning iene la opo unidad de de ec a es os e o es y mi iga los.
Algunas de las aplicaciones pueden se usadas pa a p edeci el man enimien o de cie as pa es del a ión,
o as pa a libe a de ca ga de abajo al pilo o a la ho a de oma decisiones en si uaciones de ele ado es és
median e la indicación po pa e de la máquina de la acción más a o able que debe ealiza . Median e el
empleo de es as écnicas se puede educi po encialmen e el núme o de acciden es. En una si uación simila
a la del pilo o se encuen a la a ea de un médico, que ambién se enca ga de p o ege y sal a idas, y pa a
ello la oma de decisiones es undamen al. La mo i ación del p esen e abajo es abo da p oblemas ce canos
a las pe sonas, del día a día. Es o se lle a á a cabo median e el empleo de écnicas de ap endizaje au omá ico,
ambién conocido como Machine Lea ning.
III
Índice de Figu as
3.1 Modelo de eg esión lineal [8] 6
3.2 Visualización de e o es eg esión lineal [5] 7
3.3 Reg esión logís ica pa a de e mina la p obabilidad de ap oba un examen en
unción de las ho as de es udio [9] 8
3.4 Ejemplo Suppo Vec o Machine lineal [10] 9
3.5 Es uc u a á bol de decisión [19] 10
3.6 KNN pa a clasi icación [7] 11
3.7 Mé odo del codo. Op imización del núme o de clus e s [25] 13
3.8 Si uación de la ed neu onal [13] 14
3.9 A qui ec u a ed neu onal [4] 15
3.10 Función de ac i ación escalón [18] 16
3.11 Función de ac i ación sigmoidea [18] 17
3.12 Función de ac i ación ec i icado [18] 17
3.13 Función de ac i ación angen e hipe bólica [18] 18
3.14 Reducción del alo de la unción de cos e as ealiza i e aciones [28] 19
3.15 MaxPooling [1] 20
3.16 A qui ec u a de la ed neu onal con olucional [27] 21
3.17 Ejemplo ma iz de con usión [17] 22
3.18 Ejemplos cu as ROC [32] 24
5.1 Rep esen ación g á ica de dis in os pacien es y la co espondien e clasi icación
en cada g upo 33
5.2 Dis ibución esul ados de e aluación 36
5.3 P e isualización del da ase as la ca ga de da os 37
5.4 Ca ac e ís icas a iables de en ada pa a cánce benignos 37
5.5 Ca ac e ís icas a iables de en ada pa a cánce malignos 38
5.6 Explicación isual del g á ico de cajas 38
5.7 G á ico de cajas pa a las a iables del p oblema 38
5.8 Ma iz de co elación de las a iables 39
5.9 Di isión en conjun o de en enamien o y es ing 40
5.10 Ca ga de las lib e ías usadas pa a en ena el modelo 40
5.11 Análisis de esul ados 40
5.12 Visualización de imágenes I 42
5.13 Visualización de imágenes II 42
5.14 De e minación a iables nulas 43
5.15 Es udio de imágenes duplicadas 43
5.16 Dis ibución de casos según p oblema cu áneo 44
5.17 Código de escalado de las mues as 45
5.18 Mues as escaladas 45
5.19 A qui ec u a ed neu onal 46
5.20 A qui ec u a ed neu onal II 46
XI
XII Índice de Figu as
5.21 Resumen ed neu onal 47
5.22 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de
epochs 47
5.23 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs 48
5.24 Ma iz de con usión 48
5.25 Ma iz de con usión inco ec a 49
5.26 Respues a de la aplicación 50
5.27 Respues a de la aplicación 50
5.28 Escalado de las imágenes 51
5.29 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de
epochs. Caso mejo ado 52
5.30 E olución del e o de la ed neu onal a medida que aumen a el núme o de
epochs. Caso mejo ado 52
5.31 Ma iz de con usión 53
No ación
ML Machine Lea ning
IA In eligencia A i icial
DL Deep Lea ning
SV Ms Suppo Vec o Machines
SVC Suppo Vec o Classi ie
SV R Suppo Vec o Reg ession
KNN K-Nea es -Neighbo , K-Vecinos más ce canos
RNA Red Neu onal A i icial
RNC Red Neu onal Con olucional
TP T ue Posi i e, Ve dade o posi i o
TN T ue Nega i e, Ve dade o nega i o
FP False Posi i e, Falso posi i o
FN False Nega i e, Falso nega i o
XIII
1 In oducción
La
necesidad de au oma ización de p ocesos, de asis en es pa a la oma de decisiones y de p opo ciona
p edicciones de dis in os p oblemas son las bases sob e las que se sus en a el p esen e abajo. Cada
ez más, apa ece la necesidad de disminui el núme o de allos de sis emas y el ac o humano, y es po
ello que la de ección de es os e o es con la su icien e an elación supone una g an en aja en odos los
sen idos; an o económico, de segu idad como po supues o de salud. Es o se lle a a cabo con el amoso
"Big Da a" y la In eligencia A i icial. Se comenza á con el es udio del es ado del a e de la In eligencia
A i icial, más conc e amen e de la ama de Machine Lea ning. Den o del apa ado se habla á de cómo
es as ecnologías es án aplicándose en la indus ia ae onáu ica y se comen a án alguno de sus ejemplos. El
siguien e pun o se á el es ado del a e en el ámbi o de la medicina. Se a a án ambos sec o es debido a que
son dos de los que ienen un con ac o más ce cano con la ida de pe sonas y el ac o humano juega un
papel muy ele an e. Pos e io men e se habla á del Machine Lea ning y se explica án las écnicas que se
usan pa a esol e es e ipo de p oblemas. Se di idi á el es udio en algo i mos de ap endizaje supe isado
[
24
] y no supe isado, y el p ime o se di idi á en algo i mos de eg esión y de clasi icación. Den o de es e
apa ado ambién se habla á del Deep Lea ning o Ap endizaje p o undo [
23
] que son algo i mos que simulan
el uncionamien o del ce eb o humano. Seguidamen e se explica á cómo aplica la eo ía median e el uso del
lenguaje de p og amación
Py hon
explicando cuáles son las lib e ías necesa ias pa a esol e es os p oblemas.
Pa a pone es os conocimien os en p ác ica, se han enido que ealiza búsquedas de da os y pese a hace lo
en p ime a ins ancia con bases de da os del sec o ae onáu ico, no se ha podido encon a nada que uese
iable. Es o se debe p incipalmen e a que la mayo ía de emp esas del sec o aún es án comenzando a aplica
es e ipo de ecnologías y no ienen una can idad de da os su icien es o si alguna ya lo iene, no es á disponible.
O a opción que se plan eó ue hace uso de algún simulado de uelo, pe o inalmen e se concluyó que es o
no e a una buena opción debido a la inexpe iencia pa a usa el so wa e. La consecuencia que es o end ía es
que no se pod ía simula lo que un pilo o ha ía en dis in as si uaciones y lo que in e esa es ob ene da os de
pilo os expe imen ados pa a que así la máquina ap enda de las dis in as si uaciones que ocu en du an e un
uelo y cómo ac úa el pilo o. Po lo que si lo hace una pe sona sin expe iencia el a ión no ola á de o ma
co ec a y po an o no se ían álidos los da os ob enidos.
Aunque la me odología que se a a emplea es aplicable en cualquie sec o (ya que se a a de aplica
algo i mia a un conjun o de da os), debido a la es echa elación que gua dan los p oblemas del sec o sani a io
con a iación en la oma de decisiones en si uaciones con ele ado es és, y debido a que se han encon ado
da os de mayo e acidad, se ha decidido que los casos p ác icos es én o ien ados a la salud. El p ime o ellos
se a a á de un p oceso de clasi icación de pacien es según el es ado de g a edad as su i una ampu ación,
pa a que de es a o ma se pueda aplica el p o ocolo de asis encia que más a o ezca a su es ado de salud.
Seguidamen e se de e mina á la p obabilidad que un pacien e con unas de e minadas ca ac e ís icas padez-
ca o no cánce de mama. Como úl imo caso, se es udia á el análisis de lesiones cu áneas median e el empleo
de écnicas de a amien o de imágenes.
Pa a inaliza , se analiza án las dis in as conclusiones ob enidas a lo la go del abajo, así como las líneas
u u as en las que se pod ía con inua abajando.
1
2 Es ado del A e In eligencia A i icial
La
in eligencia a i icial de inida como la in eligencia de las máquinas, es á siendo el pila undamen al del
p og eso ecnológico de la indus ia e incluso de nues o día a día, y es o iene impulsado po un uso
e icien e de los da os. Además, a día de hoy no es necesa io almacena es os da os en un luga ísico debido
al a ance en las ecnologías cloud que pe mi en acele a la e olución ecnológica. El obje i o p incipal que
iene es a Ciencia del Da o es a pa i de algo i mos pode oma decisiones, lo que se pod ía llama ciencia
de decisión. A con inuación, se habla á de dos indus ias en las que es as écnicas es án p esen es.
2.1 Indus ia Ae oespacial
La aplicación de écnicas de in eligencia a i icial en el sec o ae oespacial es algo inminen e pese a que
como an e io men e se ha comen ado, las emp esas lo es án lle ando a cabo desde hace muy poco iempo.
Todos los senso es que iene cada a ión gene an una g an can idad de da os po segundo lo cual pe mi e
gene a una g an base de da os pa a pos e io men e u iliza la aplicando algo i mos p edic i os. Con es a
in o mación se pod ía de e mina con una al a p ecisión el momen o en el que un senso dejase de unciona .
O o obje i o undamen al que end ían es as écnicas, se ía la de e minación de man enimien o de dis in os
sis emas, subsis emas o elemen os. De es a mane a se educi ían los cos es ya que se end ía conocimien o de
la p obabilidad que iene un de e minado sis ema de alla y pe mi i ía a los ope a ios ac ua en consecuencia.
Emp esas como Rolls Royce [
26
] u ilizan es e ipo de écnicas pa a ap o echa los da os que gene a el mo o
en uncionamien o pa a que si en algún momen o se de ec a algo que es á ue a de lo común, se pueda ac ua
con la mayo apidez posible. O o ejemplo sin duda muy elacionado con lo que pos e io men e se e á en el
caso de medicina, es la capacidad de elimina si uaciones que puedan supone al pilo o un ele ado es és.
Igual en un u u o se e án a iones olando sin pilo o ya que se á odo manejado po un supe compu ado ,
pe o has a que llegue ese momen o (si inalmen e ocu e), se iene que busca una solución al p oblema de
que una g an pa e de los acciden es se deben al allo humano. Es o puede se debido a que psicológicamen e
haya días en los que no se ealice el checklis po comple o, o que no se engan los mismos e lejos, y es po
eso que un g an apo e se ía la implemen ación de un asis en e que pe mi iese elimina es a ca ga cogni i a
al pilo o pa a acili a así su labo . Un ejemplo de es e ipo de p oyec o es Ha is, en el cual pa icipa la
emp esa se illana Skyli e Enginee ing [
30
]. Es e p oyec o eu opeo consis e en es ablece un "single pilo ",
es deci , que en la cabina haya un único pilo o y una compu ado a que median e el ap endizaje a a és de
nume osos uelos, ap endiendo de las acciones que ealza el pilo o, pueda asis i de iniendo cuál es la acción
más a o able a ealiza . En de ini i a, se a a de un asis en e que ha ap endido lo que un pilo o hace en las
dis in as ases de un uelo g acias a que ha sido en enado po pilo os con g an expe iencia, y de es a o ma
en cualquie si uación pod á da indicaciones ace ca de la a ea que se iene que ealiza . O a aplicación
que end á un g an uso en el u u o debido al aumen o en el núme o de uelos que se iene p e is o, se á
la op imización de las ayec o ias [
11
]. Es o es de i al impo ancia pa a los momen os en los que haya
una ele ada conges ión del á ico ya que el algo i mo op imiza á la u a de los dis in os ehículos e i ando
posibles acciden es.
3
4Capí ulo 2. Es ado del A e In eligencia A i icial
2.2 Medicina
En el caso de Medicina la mayo aplicación que iene es en medicina p edic i a. Pa a que se pueda p edeci
si un pacien e con cie as ca ac e ís icas iene una de e minada en e medad, es necesa io con a con un g an
olumen de da os de egis os que se engan de pacien es p e ios de los cuales se conozcan una se ie de
ca ac e ís icas y se haya ob enido un diagnós ico en unción de es as en adas. Pa a que es o sea posible
es undamen al lle a a cabo un p oceso de digi alización. De es a mane a, el hospi al o cen o de salud
end á egis ado a odos los pacien es de modo que es én p esen es en o ma o digi al y así el sis ema pueda
alimen a se de es a in o mación y pode lle a a cabo un algo i mo p edic i o que sea e icaz. En de ini i a,
la máquina ap ende á de los diagnós icos que hacen los médicos pa a que cuando se hayan egis ado una
can idad su icien e de pacien es, el algo i mo ac úe con una asa de acie o ele ada o lo que es lo mismo, que
ome la misma decisión que hubiese omado un especialis a.
En es e abajo se p esen a án una se ie de casos en los que es o se pone en p ác ica. Un pun o muy posi i o
es que dado que el algo i mo lo que lee son ca ac e ís icas de los pacien es (bien sean numé icas o imágenes),
se pod á adelan a a la apa ición de esa en e medad y así ac ua de mane a que, al hace lo p e io a la apa ición
de o ma g a e del p oblema, la ecupe ación sea más ápida y el pacien e co a el meno iesgo posible.
O o pun o a a o de es o es pa a aquellos médicos que hayan e minado sus es udios y comiencen a abaja .
La expe iencia que el algo i mo iene as miles o decenas de miles de pacien es (cuan os más mejo ) ayuda án
en cuan o a la oma de decisión de un diagnós ico más ce e o y un a amien o co ec o.
Se ha hablado ya de p e ención de en e medades, lo cual es muy in e esan e po las azones que se han
expues o. O a aplicación que iene la in eligencia a i icial en medicina es la asignación de un a amien o a un
pacien e [
20
]. Un pacien e con unos de e minados sín omas end á que se ece ado con una medicación. Si se
u iese el egis o de los pacien es a los que se les ha ece ado una medicación dada una se ie de ca ac e ís icas
p esen adas, se almacenase haciendo uso de las ecnologías Big Da a y se aplicase el algo i mo p edic i o
de Machine Lea ning más adecuado, se conoce ía el medicamen o que el pacien e necesi a, así como las
dosis que se ían adecuadas. Se a a ía de un p oceso de au oma ización y oma de decisiones que ayuda ía a
abaja a los médicos. Todo es o concluye a que se p e é un u u o en el que el obje i o se á desa olla apli-
caciones cen adas en la salud del pacien e y pode así ene una a ención médica más pe sonalizada y e ec i a.
El obje i o de la medicina de p ecisión [
22
] es selecciona a amien os que engan más p obabilidad
de ayuda a pacien es de acue do a su gené ica. Es o se conoce ambién como medicina pe sonalizada. El
p oblema que exis e a día de hoy es que una pe sona a la que se le diagnos ica un cánce , es a ada del mismo
modo que o a pe sona que p esen a el mismo ipo y es adio de cánce . Es o es un p oblema debido a que
cada indi iduo esponde de o ma di e en e. Los pacien es p esen an a iaciones gené icos que hace que la
espues a al a amien o sea dis in a. El obje i o p incipal de la medicina de p ecisión es que con las p uebas
gené icas que se ealicen y median e un algo i mo p edic i o, se pueda de e mina qué a amien o es el que
iene una mayo p obabilidad de cu a un umo .
3 Machine Lea ning
Se
de ine la modelización p edic i a como un conjun o de algo i mos de la ama de la es adís ica que
cuando se aplican a da os his ó icos es capaz de de ol e una unción ma emá ica que iene que se
ú il pa a esol e un de e minado p oblema [
12
]. En de ini i a, se busca p edeci un esul ado basándose en
una se ie de pa áme os de en ada sob e los que nues o modelo ope a y p edice de modo que en el u u o
cuando se engan nue os da os de en ada, la salida del algo i mo pe mi a oma decisiones.
La es adís ica juega un papel muy ele an e; dice el olumen de los da os, cómo es án dis ibuidos (si
hay un alo cen al o si en cambio los da os es án dispe sos), si exis e co elación en e a iables o si son
independien es. En gene al la es adís ica ayuda a esponde a es as y muchas más cues iones. Los algo i mos
gene a án ecuaciones ma emá icas basados en da os his ó icos que ayuda án a p edeci da os a pos e io i. Se
pueden clasi ica en dos g andes g upos.
3.1 Algo i mos de ap endizaje supe isado
Los algo i mos de ap endizaje supe isado abajan con da os e ique ados, in en ando encon a una unción
que, dadas las a iables de en ada les asignen la e ique a de salida adecuada. Dicho algo i mo se en ena con
un "his ó ico" de da os y así "ap ende" a asigna la e ique a de salida adecuada a un nue o alo , es deci ,
p edice el alo de salida. De los algo i mos que se e án a con inuación, algunos se usa án pa a clasi icación,
o os pa a eg esión y algunos pa a ambos.
En los p oblemas de clasi icación se a a á de asigna la nue a mues a en una clase. Po ejemplo, un eloj
in eligen e cuando clasi ica la ac i idad que la pe sona es á ealizando end ía que escoge en e anda , co e ,
mon a en bicicle a... O o ejemplo pod ía se si la acción de una de e minada emp esa subi á o no.
Po o o lado, en los algo i mos de eg esión la salida es un alo numé ico. Algunos ejemplos pod ían se
en cuán o es á alo ada una p opiedad, de e mina el núme o de en as que una panade ía a a ene en un
día o el iempo que un clien e a a pe manece en una emp esa, son algunas de las aplicaciones que ienen
es os algo i mos.
•Reg esión: Reg esión Lineal, SVMs, Á bol de decisión, Redes neu onales.
•Clasi icación: Reg esión Logís ica, SVMs, Á bol de decisión, Redes neu onales.
5
12 Capí ulo 3. Machine Lea ning
3.2 Algo i mos de ap endizaje no supe isado
Es os algo i mos abajan sin a iables de salida de los da os his ó icos. El ap endizaje no supe isado iene
luga cuando no se dispone de da os "e ique ados" pa a el en enamien o. Sólo se conocen los da os de
en ada, pe o no exis en da os de salida que co espondan a un de e minado inpu . Po an o, sólo se puede
desc ibi la es uc u a de los da os pa a a a así de encon a algún ipo de o ganización que simpli ique el
análisis. Po ello, ienen un ca ác e explo a o io.
3.2.1 Clus e ing
Es un algo i mo que ca ego iza las en adas del da ase en clus e s o segmen os donde las en adas que
pe enecen a un mismo clus e son simila es. En de ini i a:
•
Se busca ag upa los da os que p esen en semejanzas en e los miemb os del clus e (que sean pa eci-
dos).
•
Los da os que pe enezcan a g upos di e en es, deben ene asgos su icien emen e di e en es en e sí.
Po ejemplo, a la ho a de ealiza campañas de ma ke ing, si se ienen dis in os clus e o g upos de clien es
iden i icados se pod á ealiza una campaña especí ica pa a cada uno de ellos. Exis en di e sos ipos de
segmen ación, y pa a ello se e án a con inuación dis in os modelos u ilizados pa a medi la simili ud y
di e encias.
Dis ancia Euclídea
Como se ha dicho an e io men e, es undamen al conoce la simili ud que hay en e los pun os de modo que
es o pe mi a clasi ica el nue o da o en un de e minado g upo. Pa a pode ealiza es a medición, se hace uso
de la dis ancia y aunque hay dis in as o mas de medi la, se a a explica la dis ancia euclídea. Siendo
x
las
a iables de en ada de cada pun o de cada se , se de ine la dis ancia en e un pun o y o o como sigue:
D(xi,xj) = q(xi1−xj1)2+(xi2−xj2)2+... +(xin −xjn)2=sn
∑
k=1
(xik −xjk)2(3.15)
Como se puede obse a , nes el núme o de columnas del da a se .
Clus e ing K-Means
Es e algo i mo no supe isado [
6
] pe mi e di idi un núme o de obse aciones en de e minados g upos. En
p incipio, el núme o de g upos "k" se á conocido, pe o ambién se e á que exis e una mane a de op imiza
el núme o de clus e s o g upos que se conoce como el mé odo del codo.
Se de inen los cen oides del clus e o g upo como el pun o medio de la nube de pun os que lo de ine. Con
espec o a es e pun o se medi á la dis ancia. El p oceso que lle a á a cabo el modelo es el siguien e:
SSw(Cj) = ∑
x∈Cj
(x−cj)2(3.16)
Una ez se incluye un nue o pun o al clus e , hay que ol e a calcula el cen oide debido a que el "cen o
de masas" hab á a iado. Pa a ello se aplica lo siguien e:
Se
SW=
k
∑
j=1
SSW(Cj)
∑n
i=1(xi−x)2(3.17)
Se epe i án sucesi amen e es os dos úl imos pasos has a que ya no se pueda a ia el cen oide. El obje i o
es educi la dis ancia in aclus e SSW. La ecuación po an o a minimiza se á como sigue:
SSW(k) =
k
∑
j=1
SSw(Cj) =
k
∑
j=1
∑
x∈Cj
(x−cj)2(3.18)
Donde como se ha dicho an es:
•k : núme o de clus e s.
•xi: mues a i-ésima.
3.2 Algo i mos de ap endizaje no supe isado 13
•cj: cen oide del clus e j-ésimo.
A con inuación, se a a habla de cómo encon a el alo óp imo de
k
, que es una de las pa es más
di íciles a la ho a de elabo a un algo i mo po K-Means. A con inuación, se p esen a á el
mé odo del codo
.
Figu a 3.7 Mé odo del codo. Op imización del núme o de clus e s [25].
Es e iden e que al aumen a el núme o de clus e s, la dis ancia in a-clus e disminui á paula inamen e. El
caso ex emo se ía que se u ie an an os clus e s como pun os en el da ase y po an o la dis ancia se ía nula.
Es a écnica se denomina mé odo del codo debido a que en casi odos los casos suele habe una a iación
máxima donde se obse a que la cu a as ese pun o dec ece más len amen e que en los pun os an e io es y
p ác icamen e se es abiliza la cu a. En el caso de la imagen el pun o en el que es o ocu e es en
k=3
. En
consecuencia, ese pun o se ía el que ma ca ía el núme o de clus e s que se debe ía oma .
14 Capí ulo 3. Machine Lea ning
3.3 Deep Lea ning
El pione o del ap endizaje p o undo o ed neu onal es Geo ey Hin on. Fue el que comenzó a es udia
es a ama del Machine Lea ning y ac ualmen e se encuen a abajando en el depa amen o de In eligencia
A i icial de Google. Mucha de la in o mación que se encon a á en adelan e se undamen a en es udios que
ealizó Geo ey y se pueden consul a en sus pape s.
Figu a 3.8 Si uación de la ed neu onal [13].
Se puede obse a en la imagen an e io cómo el Deep Lea ning es una ama del Machine Lea ning, y
és e a su ez una ama de la In eligencia A i icial. La p incipal di e encia que exis e en e los algo i mos de
Machine Lea ning y Deep Lea ning es que es os úl imos de ec an po sí mismos las dis in as ca ac e ís icas
de los da os. En aquellos p oblemas de clasi icación de imágenes, las edes neu onales son capaces de
de e mina cuáles son los asgos más ca ac e ís icos que les pe mi i án ealiza una clasi icación con un
ele ado po cen aje de acie o. En cambio, al algo i mo de Machine Lea ning se le end ía que deci cuáles son
es as ca ac e ís icas. Po ejemplo, en el caso de un ehículo, se le end ía que deci que iene uedas, pue as,
espejos... Y sin emba go la ed neu onal lo de ec a ía sin necesidad de que se le indicase. Si uese un p oblema
con a iables numé icas o ca egó icas, la ed neu onal se enca ga ía de da más o menos impo ancia a las
a iables ( a iando su peso) pa a así ob ene el mejo modelo.
La idea de ás del ap endizaje p o undo es simula al ce eb o humano y hace uso de la neu ociencia pa a
es ablece dichas leyes que igen dicho uncionamien o. La endencia que ienen las neu onas en el ce eb o
humano es conec a se en e ellas, ya que po sí mismas no ienen u ilidad. En un ce eb o humano exis en
al ededo de 100.000 millones de neu onas jun as.
3.3 Deep Lea ning 15
La a qui ec u a ípica de ed neu onal es como sigue:
Figu a 3.9 A qui ec u a ed neu onal [4].
•Capa de en ada: son los inpu s o a iables de en ada.
•Salida: es la p edicción que se quie e ealiza .
•
Capas ocul as: nodos in e medios que son las neu onas que conec a y ansmi e la in o mación de la
en ada a la salida. Puede habe más de una capa ocul a. Aquí es donde se ealiza el ap endizaje.
16 Capí ulo 3. Machine Lea ning
3.3.1 RNA: Red Neu onal A i icial
Ya se ha de inido an e io men e la a qui ec u a de la ed neu onal. Aho a se a a p ocede a explica la ed
neu onal a i icial, la cual es un algo i mo de Machine Lea ning supe isado. Un de alle a ene en cuen a es
que, en la capa de en ada, los dis in os inpu s que se engan deben es a odos en el mismo ango pa a que
el algo i mo no enga p e e encia po ninguna de es as a iables. Es o se puede lle a a cabo median e la
es anda ización.
El alo de salida puede se an o un alo con inuo como un alo ca egó ico dependiendo del p oblema
que se es é es udiando. En el caso de que sea ca egó ico, se end án dis in os alo es de salida y cada uno de
ellos se á la ca ego ía que se es á a ando de asigna .
•P ime paso
: la neu ona a a ponde a cada a iable de en ada median e la aplicación de dis in os
pesos a cada una de ellas:
m
∑
i=1
wixi(3.19)
La ed neu onal ap ende á ajus ando los dis in os pesos.
•Segundo paso
: una ez se enga la suma ponde ada se aplica á una unción de ac i ación que se i á
pa a sabe si la in o mación de esa neu ona se iene que ansmi i o en su de ec o (al no se muy
buena), que es a in o mación no se ansmi a a la siguien e capa. Depende á en algunos casos de la
unción de ac i ación si la neu ona ansmi e o no dicha in o mación.
•Te ce paso: la ansmisión de dicha in o mación.
El pode que iene la ed neu onal es que cada neu ona en ende á los da os a su modo. La sinapsis, que es la
línea que unen da os con neu onas, pe mi e ansmi i la in o mación que ealmen e in e ese a la neu ona.
La unción de ac i ación
La unción de ac i ación decide si la in o mación ob enida po la neu ona as ealiza la ponde ación iene
que se ansmi ida o no. Exis en dis in as unciones de ac i ación y a con inuación se habla á de cua o de
ellas.
Función escalón
La unción escalón c ea un sal o en o no al alo
0
de o ma que si al hace el suma o io de la mul iplicación
de los pesos de la ed neu onal po cada una de las a iables sale nega i o, la unción de ac i ación oma á el
alo nulo. En cambio, si el suma o io es posi i o, la unción escalón oma á el alo uni a io.
Figu a 3.10 Función de ac i ación escalón [18].
Función sigmoide
La unción que de ine dicha ac i ación iene dada como sigue:
φ(x) = 1
1+e−x(3.20)
x=
m
∑
i=1
wixi(3.21)
3.3 Deep Lea ning 17
Se puede obse a que pa a el alo del suma o io nulo, la unción de ac i ación oma el alo
φ=0.5
.
Con es a unción se puede de ini la p obabilidad que iene una neu ona de ac i a se. Además, la ó mula es
igual que la de la eg esión logís ica.
Figu a 3.11 Función de ac i ación sigmoidea [18].
Función ec i icado a
En el ec i icado lineal uni a io (RELU). Se puede obse a que la mi ad de la unción es o almen e nula
mien as que la o a mi ad c ece de mane a lineal. Es una de las unciones más popula es pa a edes neu onales
a i iciales ya que al igual que ocu ía en la unción escalón, odo aquello que sea nega i o lo con ie e en
nulo. Po o o lado, odo lo posi i o se queda al cual queda el esul ado de la ponde ación, y esa es la azón
po la cual el alo de φ a ía en e el alo nulo y el máximo de ∑m
i=1wixi.
Figu a 3.12 Función de ac i ación ec i icado [18].
18 Capí ulo 3. Machine Lea ning
Función angen e hipe bólica
Tiene una o ma muy simila a la sigmoidea pe o es a unción comienza en
−1
y llega has a el alo posi i o
uni a io.
Figu a 3.13 Función de ac i ación angen e hipe bólica [18].
Función so max
La unción so max ambién conocida como la unción exponencial no malizada, es una gene alización de
la unción logís ica usada pa a múl iples dimensiones. Se u iliza no malmen e como la úl ima unción de
ac i ación en una ed neu onal pa a así no maliza la salida de la ed pa a que se ob enga la dis ibución de
p obabilidad. De es a o ma la salida de es a unción es a á siemp e den o del in e alo
(0,1)
. Se de ine de
la siguien e o ma:
σ(z)i=ezi
∑K
j=1ezj(3.22)
Se da pa a i=1,...,Kyz= (z1,...,zK)en el in e alo ∈RK
Cabe des aca ambién que cada neu ona puede ene una unción de ac i ación di e en e y de es a o ma
il a la in o mación a su mane a. Es bas an e usual u iliza en la capa de salida la unción sigmoidea debido
a que como se ha explicado an e io men e, es a unción pe mi i ía conoce qué an p obable es que la salida
pe enezca a una u o a clase o qué an p obable es que la salida ome un de e minado alo .
Mé odo de ap endizaje de las edes neu onales
Una ez ejecu ada la ed neu onal y ob enido el alo de salida,
ˆy
se compa a á con el esul ado eal
y
. Se
de ine la unción de cos es como sigue:
C=1
2(ˆy−y)2(3.23)
El obje i o se á minimiza dicha unción de cos es. Pa a consegui lo, lo único que la ed neu onal puede
hace es a ia el alo de los pesos que mul iplica a cada a iable. Se a a de un abajo de ida y uel a
cons an e co igiendo los pesos.
3.3 Deep Lea ning 19
G adien e descenden e
Ya se ha adelan ado an e io men e que el obje i o que iene oda ed neu onal es disminui el alo de
la unción de cos es. Es po ello que se a a habla aho a del g adien e descenden e. Lo p ime o y más
impo an e, pa a que la solución con e ja, la unción de cos es iene que se con exa. Se busca el mínimo
global de la unción.
Figu a 3.14 Reducción del alo de la unción de cos e as ealiza i e aciones [28].
El g adien e se de ine como la angen e a la cu a y se calcula median e la de i ada. Si la pendien e es nula
se es a ía en el mínimo, luego ya hab ía con e gido el algo i mo. En aquellas si uaciones en las que la unción
de cos es no sea con exa y exis an luc uaciones es más aconsejable hace uso del g adien e es ocás ico. En
es e caso se busca el mínimo de la unción de cos es, pe o no necesa iamen e se á el mínimo global.
En enamien o Red Neu onal A i icial
•Paso 1: inicializa los pesos de las a iables de en ada de o ma alea o ia con alo es p óximos a 0.
•Paso 2
: in oduci el p ime pun o del da ase en la capa de en ada. Como se ha dicho an e io men e,
cada nodo de en ada es una de las columnas del da ase .
•Paso 3
: se p opaga de izquie da a de echa. Las neu onas se i án ac i ando de acue do a las unciones
de ac i ación y se ob end á la p edicción.
•Paso 4: se compa a la p edicción ob enida con el esul ado eal. Se mide el e o .
•Paso 5: se p opaga el e o hacia a ás pa a que de es a o ma se puedan ac ualiza los pesos.
•Paso 6
: se epi en los pasos del 1 a 5 pa a cada una de las obse aciones del da ase y se ac ualizan los
pesos.
•Paso 7
: una ez se ha ba ido odo el da ase , se uel e a epe i el p oceso el núme o de eces que
más in e ese median e la a iación del núme o de epochs.
20 Capí ulo 3. Machine Lea ning
3.3.2 Red Neu onal Con olucional
Los algo i mos de edes neu onales de con olución [
2
] son los u ilizados po excelencia pa a el a amien o
de imágenes ya que son capaces de iden i ica las ca ac e ís icas más impo an es que la de inen sin necesidad
de que se indique. Se suminis a á una imagen y el algo i mo da á la salida que nos indique a qué ca ego ía
pe enece la imagen. La ed neu onal con olucional a a á de ob ene asgos de las imágenes. Un ejemplo
muy sencillo se ía en ia imágenes ca ego izadas como ga os y pe os de al mane a que cada imagen iene
una e ique a asignada. T as a a con g an can idad de ejemplos de cada una de es as clases, la RNC hab á
iden i icado los asgos más ca ac e ís icos de cada una de las dos especies de modo que cuando se le pase
una nue a imagen ya sea de un pe o o de un ga o, és a sea capaz de clasi ica la co ec amen e.
Lo p ime o que hay que ealiza an es de suminis a da os a la ed, es no maliza los alo es. Los píxeles
oman alo es de
0
a
255
po lo que se ans o ma á cada pixel di idiendo el alo de cada uno en e
255
y
de es a o ma se end á odo en e
0
y
1
. Si la imagen es u iese en blanco y neg o hab ía dos canales, y si
es a colo hab ía es canales ojo, e de y azul. A con inuación, se explican los pasos que se siguen pa a
cons ui la ed neu onal con olucional:
•Paso 1: Con olución:
en es e paso se lle an a cabo las con oluciones. Se a a de selecciona g upos
de píxeles de la imagen de en ada y ealiza p oduc os escala es con una ma iz que es el llamado
ke nel. Dicho ke nel eco e odas las neu onas de en ada y gene a una nue a ma iz a la salida que
se á la nue a capa de neu onas. Realmen e se aplican más de un ke nel, es deci se end án un conjun o
de il os en cada capa. Se end án en onces an as ma ices como il os haya. Po lo an o, el núme o
de neu onas po cada capa end á dado po el núme o de ke nels mul iplicado po la dimensión de
la imagen (si es 28x28, el núme o de ke nels mul iplicado po 784). En de ini i a, es os il os lo que
buscan es iden i ica ca ac e ís icas de la imagen o iginal. Se aplica aho a la unción de ac i ación,
no malmen e se u iliza pa a es as capas el ec i icado lineal uni a io.
•Paso 2: Max Pooling:
se enca ga de educi la dimensión del p oblema. Tomando las ma ices de inidas
an e io men e po los il os, educen su amaño. Po ejemplo, si se iene un Max Pooling de
2x2
,
se seleccionan
4
pixeles de la imagen y solamen e se pone el que iene el alo más al o. Se educe
mucho el núme o de neu onas y se supone que se sigue almacenando la in o mación que de ine las
ca ac e ís icas de las imágenes.
Figu a 3.15 MaxPooling [1].
Es e p oceso se aplica á an as eces como capas se quie an.
•Paso 3: Fla ening:
as habe ealizado las dis in as ases de Max Pooling, pa a uni se con la ed
neu onal se necesi a que se enga como a iables de en ada alo es escala es. Es a capa se enca ga de
ans o ma la úl ima ma iz ob enida en el Max Pooling en un ec o cuyas componen es se án las
en adas en la ed neu onal a i icial.
•Paso 4: Full Connec ion: en ada de una ed neu onal.
3.3 Deep Lea ning 21
Figu a 3.16 A qui ec u a de la ed neu onal con olucional [27].
28 Capí ulo 4. Machine Lea ning en Py hon
Es o úl imo es impo an e debido a que no in e esa coge po ejemplo el
80 %
p ime o, sino que es mejo que
es é odo mezclado.
4.4.2 Modelos p edic i os
Como ya se ha in oducido an e io men e, en la ac ualidad Sklea n (Sciki -Lea n) es una de las lib e ías
más po en es pa a Machine Lea ning. La implemen ación del algo i mo se ealiza una ez se ha sepa ado el
modelo con la unción an e io .
Reg esión lineal
Pa a es e algo i mo los pa áme os que se pueden con igu a son los siguien es:
•
i
_
in e cep : T ue/False. Es o lo que ha á se á hace el alo de la cons an e que aslada la ec a nula o
dis in a de 0. En el caso de que dicha cons an e uese nula, la ec a pasa ía po el o igen.
•no malize
: T ue/False. Pa a no maliza o no los da os. Gene almen e se no maliza/es anda iza an es
de llega a es e pun o, pe o si an es no se ha ealizado, se sabe que aquí es posible hace lo y de es a
o ma el algo i mo abaja á co ec amen e.
Reg esión logís ica
Pa a es e algo i mo los pa áme os que se pueden con igu a son los siguien es:
• i _in e cep : T ue/False. Al igual que an es.
•penal y: si e como egulado . Tiene los siguien es ipos:
–
L1: aquellas a iables de en ada que no a ec en de o ma signi ica i a a la salida las oma como
nulas, o lo que es lo mismo β=0.
–
L2: se conoce como Ridge. En es e caso en luga de elimina las
β
, las minimiza y así elimina el
sob eajus e.
–
elas icne : aplica las dos egulaciones ci adas an e io men e. Hay que indica el peso o impo ancia
que se quie e ene de cada una de las dos.
• ol
: si e pa a que una ez se alcanza la ole ancia deseada (con e gencia del algo i mo), el p og ama
deje de i e a .
Á bol de decisión
A modo de ejemplo, se e án los pa áme os pa a la eg esión. Pa a es e algo i mo los pa áme os que se
pueden con igu a son los siguien es:
•c i e ion
: selección del c i e io de di isión que hace que los da os se di idan de la mejo mane a
posible. Po de ec o es á "mse" que es la más impo an e. "mse" es la media del e o cuad ado. Pa a una
e sión ac ualizada de la lib e ía ambién se encuen a disponible "mae", la media del e o absolu o.
•spli e
: es a egia u ilizada pa a la di isión en cada nodo. "bes " que es la mejo opción y es á po
de ec o y " andom" que lo ealiza de o ma alea o ia.
•max dep h: la p o undidad máxima del á bol.
•main samples spli
Suppo Vec o Machines
Como se ha explicado an e io men e, los algo i mos de SVMs son usados pa a clasi icación, eg esión y
de ección de ou lie s.
•
Pa a clasi ica se u iliza SVC, Suppo Vec o Classi ie . Pa a pode ob ene el algo i mo de SVC
p ime o hay que ca ga el de SVM median e la lib e ía sciki -lea n y pos e io men e el de SVC.
•
Pa a la eg esión se u iliza SVR, Suppo Vec o Reg ession. El mé odo pa a u iliza lo se ía igual que
el an e io , es deci , ca ga el algo i mo de SVM median e la lib e ía de sciki -lea n y pos e io men e
ca ga SVR.
4.5 Ke as 29
4.5 Ke as
Es la lib e ía [
21
] po excelencia que se u iliza pa a elabo a algo i mos de Deep Lea ning o ap endizaje
p o undo. Se u iliza án p incipalmen e los siguien es módulos de la lib e ía:
•Sequen ial: pe mi e que las capas se ag upen de o ma secuencial.
•Dense: pe mi e conec a las dis in as capas de la ed neu onal.
•SGD: op imizado del algo i mo median e el g adien e descenden e.
5 Casos de es udio
Se
an a aplica las écnicas desc i as de Machine Lea ning en Py hon. Como ya se ha expues o an e io -
men e, debido a la al a de da os iables del sec o ae oespacial (aún es án comenzando a implemen a
es as écnicas po lo que no se ienen su icien es da os y las emp esas que los engan no los ceden a e ce os),
ya que la oma de decisiones de pe sonas cla e del sec o como es el caso del pilo o es muy simila a la de un
médico y además hay uen es iables de da os, se an a abo da p oblemas del sec o sani a io.
Se analiza án es casos. El p ime o de ellos se a a de un p oblema de Machine Lea ning no supe isado,
el segundo un p oblema de Machine Lea ning supe isado, y el úl imo se a a de un p oblema de a amien o
de imágenes en el que se aplican écnicas de Deep Lea ning.
5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as
clases según su g a edad
Se
ha ealizado el es udio de la ag upación de pacien es con hemo agia ex e na de dis in as clases,
o denadas de meno a mayo g a edad pa a su pos e io a amien o con un p o ocolo de ac uación
p e iamen e de inido [16]. Como a iables de en ada se han u ilizado las siguien es:
5.1.1 Desc ipción de cada clase
Clase I
•Es imación de sang e: Has a 750 ml.
•F ecuencia ca diaca: Has a 100 lpm.
•P esión pulsos: No mal.
•Relleno capila : No mal.
•F ecuencia espi a o ia: en e: 14 pm y20 pm.
•Diu esis: >30 (ml/h).
•Ni el de conciencia: Ansiedad le e.
•Colo ación piel: No mal.
En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es:
Clase I = [0,0,0,0,0,0,0,0](5.1)
Clase II
•Es imación de sang e: En e 750 ml y1500 ml.
•F ecuencia ca diaca: En e 100 lpm y120 lpm.
•P esión pulsos: Disminuido.
•Relleno capila : Re asado.
31
32 Capí ulo 5. Casos de es udio
•F ecuencia espi a o ia: en e 20 pm y30 pm.
•Diu esis: en e: 20 (ml/h) y 30 (ml/h).
•Ni el de conciencia: Ansiedad o ag esi idad.
•Colo ación piel: Pálida.
En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es:
Clase II = [1,1,0,1,1,1,1,1](5.2)
Clase III
•Es imación de sang e: En e 1500 ml y2000 ml.
•F ecuencia ca diaca: En e 120 lpm y140 lpm.
•P esión pulsos: Disminuido.
•Relleno capila : Re asado.
•F ecuencia espi a o ia: en e 30 pm y35 pm.
•Diu esis: en e: 10 (ml/h) y 20 (ml/h).
•Ni el de conciencia: Ansiedad y con usión.
•Colo ación piel: Pálida.
En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es:
Clase III = [2,2,1,1,2,2,2,1](5.3)
Clase IV
•Es imación de sang e: 2000 ml o más.
•F ecuencia ca diaca:140 lpm o más.
•P esión pulsos: Disminuido.
•Relleno capila : Re asado.
•F ecuencia espi a o ia: más de 35 pm.
•Diu esis: en e: 0(ml/h) y 10 (ml/h).
•Ni el de conciencia: Con usión + le a gia.
•Colo ación piel: G isácea.
En el p og ama se in oduce un ec o cuyas componen es se ían las siguien es:
Clase IV = [3,3,1,1,3,3,3,2](5.4)
5.1.2 Es udio del p oblema
Cada clase es á de e minada po un pacien e ideal. Se de ine el cen oide como el pacien e ideal de cada clase.
La labo que se iene que ealiza es que, omando los da os an e io es con di e en es senso es, el p og ama
clasi ique al nue o pacien e pa a que ing ese en una clase u o a. Pa a ello lo que se an a e alua son las
ca ac e ís icas que enga el nue o pacien e pa a así pode compa a las con cada una de las clases y de es e
modo ag upa lo en la que sea más simila . En el p oblema, se ha de inido que la mayo ía de las a iables son
ca egó icas (cada una iene una ca ego ía di e en e). Es o supond á ene que a on a el p oblema de una
o ma di e en e a si las a iables no uesen clases y uesen a iables con inuas.
5.1.3 Modelos p edic i os posibles
Se han p opues o es posibles mé odos de asignación de pacien es.
5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as clases según su g a edad 33
Ma iz de dis ancias, K-Means sin a iación del cen oide
Se adjun a una ep esen ación g á ica en la que se basa á la pos e io explicación del p oblema,
Figu a 5.1 Rep esen ación g á ica de dis in os pacien es y la co espondien e clasi icación en cada g upo.
Como se puede ap ecia en la imagen, hay cua o g upos di e enciados (en es e caso es os ienen de inidos
y no se pueden al e a debido a que pa a cada uno de ellos hay dis in os p o ocolos de ac uación). Como ya
se ha dicho, el cen oide de cada clase es el pacien e ideal.
Lo más impo an e en es a clasi icación:
•
El pacien e ideal siemp e es el mismo. Se ha conside ado que lo más impo an e es el p o ocolo médico.
•
Pa a medi cuál es el g upo al que pe enece el pacien e, se calcula á la dis ancia euclídea que hay a
cada pacien e ideal y aquella que sea meno , se á a la clase a la que pe enezca el pacien e e aluado. Si
solo se u iesen dos a iables de medición xey, la dis ancia se ob end ía de la siguien e o ma:
d1=q(x−xclaseI )2+ (y−yclaseI)2
Siendo xeyel alo de la a iable que end ía el nue o pacien e.
Tampoco se puede de e mina la e icacia del modelo empleado ya que no hay alo es pa a alida los
esul ados ob enidos. Pa a mejo a el modelo se ía con enien e es ablece un c i e io que pe mi iese ene
unas a iables de en ada con mayo peso y de es a o ma la dis ancia es a ía ponde ada.
K-Modes
Es e mé odo de clasi icación se aplica si las a iables con las que se abajan son ca ego ías como ocu e en
es e caso.
Se u iliza un concep o de dis ancia di e en e al an e io . Hay que maximiza la unción de simila idad. Es a
se de ine de o ma que si una de las a iables del nue o pacien e coincide con la del pacien e ideal suma ía
1
a dicha dis ancia. Po lo an o, cuan as más eces coincida con las a iables del pacien e ideal mayo se á
es a unción. De es a mane a es udiando es a unción con espec o a cada una de las clases, aquella que el
suma o io sea mayo , se á a la que pe enezca el pacien e. Cla amen e es e modelo no es el elegido debido a
que:
•
No se iene en cuen a el ascenso de g a edad que se iene en aquellas a iables que no se puede ag upa
únicamen e en dos g upos. Es deci si, po ejemplo, se compa a la es imación de sang e pe dida, el
modelo a a ía igual si compa amos con
<750ml
a cualquie pacien e que es u ie a ue a de ese
ango. El p oblema que hay, como ya se ha comen ado, es que es muy impo an e ene en cuen a que
34 Capí ulo 5. Casos de es udio
un pacien e de clase
IV
debe se a ado di e en e que uno de clase
II
el cual es bas an e simila a la
p ime a clase que hemos comen ado.
•
O o incon enien e se ía a la ho a de ac ualiza el pacien e ideal debido a que oma á aquel que sea la
moda (y no la media como es en el caso de K−Mean).
K-Means
Al igual que en el caso an e io , pa a de e mina el g upo al que se le asigna un pacien e, se oma á la meno
de las dis ancias con espec o a los pacien es ideales. La di e encia que exis e es que, es posible que el cen o
de cada clase a íe. Pa a pode lle a a cabo es e es udio, sin que el pacien e ipo su a mucha a iación, ya
que pod ía al e a el p o ocolo, se ha supues o que p e io al ing eso de nue os pacien es, habían llegado
100
pacien es ideales de cada una de las clases. De es a o ma se consigue que una nue a ac ualización de un
pacien e no a ía el cen o del g upo. Po lo an o, se ha conside ado i al que los pacien es que ca ac e izan
a cada clase no se desplacen de o ma muy ag esi a.
Se a a explica el p ocedimien o ma emá ico:
•
1) Asignación de cada obse ación al clus e con la dis ancia euclídea. Es e es el paso que se ealiza en
el p ime mé odo que se ha explicado.
•
2) Recalcula el cen o de cada clasi icación ( ol e a calcula el nue o pacien e ideal) una ez se ha
añadido un nue o pacien e.
5.1.4 Razones de elección del modelo
T as la desc ipción de cada uno de los modelos, en p ime a ins ancia se ha desca ado el mé odo de las
K−Modes
po las azones expues as. Po lo que queda elegi en e el mé odo de la ma iz de dis ancias y
K-Means, poniendo en es e úl imo
100
pacien es p e ios asignados en cada g upo pa a que el pacien e ideal
no a íe b uscamen e.
Ambos p ocedimien os se conside an álidos y depende á de la lexibilidad que se enga pa a al e a al
pacien e que de ine a cada clase ya que igual según el c i e io de los médicos, es o es inal e able.
5.1.5 Análisis de esul ados
Pa a ealiza el es udio pe inen e, se ha u ilizado
Py hon
y las lib e ías
numpy
,
pandas
,
kmodes.kmodes
y
sklea n.clus e .
Se han añadido
149
pacien es alea o ios y se ha compa ado el mé odo de la Ma iz de dis ancias con el de
K-Means. Los esul ados han sido los siguien es:
•Coincidencias = 138 pacien es asignados al mismo g upo = 92.62 %
•Di e encia de 1clase = 8pacien es = 5.37 %
•Di e encia de 2clases = 3pacien es = 2.01 %
Se puede obse a que, como se que ía, los cen oides apenas han a iado y es po ello que ambos mé odos
han coincidido en la asignación de la g an mayo ía de pacien es. A con inuación, se adjun an los
3
pacien es
que han enido una di e encia de dos clases a la ho a de clasi ica los. Se usa án es as mues as pa a que
con ando con la ayuda de pe sonal médico cuali icado, se sepa el g upo al que ealmen e debe ía pe enece .
[2,0,1,0,2,1,0,0]
•KMeans ijo = Clase I
•KMeans = Clase III
[0,1,1,0,0,3,0,1]
•KMeans ijo = Clase I
•KMeans = Clase III
[1,1,1,0,0,2,0,1]
•KMeans ijo = Clase I
•KMeans = Clase III
5.1 Caso I. Clasi icación de pacien es con ampu aciones aumá icas en dis in as clases según su g a edad 35
5.1.6 Usabilidad
El mé odo de uso se ía e alua a iable a a iable al nue o pacien e que se quie a asigna e in oduci los
alo es en el p og ama. Una ez hecho es o se end ía la clase a la que pe enece y a con inuación se ac ua ía
en unción del p o ocolo desc i o.
5.1.7 Mejo a del modelo
Pa a un p ime modelo del algo i mo, se ha enido en cuen a que odas las a iables ienen el mismo peso.
Realmen e es o no es algo p eciso ya que hay cie as a iables que son más c í icas y a ec an en mayo medida
a la ag upación del pacien e. La mejo a se pod ía ealiza de di e sas o mas y aquí se plasman dos de ellas:
•
Acudi a un especialis a médico que pe mi a conoce desde su expe iencia cuáles son las mediciones a
las que se les da más impo ancia. Incluso puede se que haya a iables que pe mi an desca a algún
g upo. Debido a es o, la expe iencia de un p o esional es c ucial.
•
Tene un egis o de pacien es y conoce en cada caso a qué g upo se le ha asignado. Es o supond ía
pasa de algo i mos de Machine Lea ning No Supe isados (como se ha a on ado el p oblema) a
Supe isados. Se pod ía en ena un modelo de K-Nea es Neighbou s lo cual se ía mucho más e icaz.
36 Capí ulo 5. Casos de es udio
5.2 Caso II. De e minación lesión cánce de mama
Se
ha ealizado el es udio de la de e minación de la p obabilidad que iene un pacien e dado una se ie de
asgos, de padece cánce de mama benigno o maligno. Pa a ello se ha empleado el da ase p o enien e
del Hospi al Uni e si a io de Wisconsin p opo cionado po el doc o William H. Wolbe g. La echa en la que
se hizo público es a base de da os ue el 8 de Ene o de 1991 [15].
Se lle ó a cabo un egis o de 699 pacien es. De cada uno de ellos se iene la in o mación de las a iables
que se explican a con inuación:
•Radio: media de las dis ancias desde el cen o has a los pun os del pe íme o.
•Tex u a: des iación es ánda de los alo es de la escala de g ises.
•Pe íme o
•Á ea
•Sua idad: a iación local en longi udes de adio.
•Compacidad: pe me o2
ea −1
•Pun os cónca os: núme o de po ciones cónca as del con o no.
•Sime ía
•Dimensión ac al
•Resul ado: cánce benigno o maligno.
Se ienen
9
a iables de en ada que oman un alo en e el
1−10
ya que los da os ienen escalados.
Como a iable obje i o o a iable a p edeci se iene "Resul ado", en la que se egis a la decisión que el
médico omó pa a cada pacien e. Debido a es o, se puede conclui que se a a de un p oblema de Machine
Lea ning Supe isado. En es e caso el p oblema consis e en una clasi icación y se ienen dos ca ego ías
posibles.
5.2.1 Análisis explo a o io
A con inuación, se adjun a una imagen donde se puede obse a el po cen aje de casos benignos y malignos.
Figu a 5.2 Dis ibución esul ados de e aluación.
Como se puede obse a en la imagen an e io , el
65.52 %
de los casos u ie on como esul ado benigno,
mien as que el
34.48 %
es an e ue on malignos. Debido a que se examina on un o al de
699
pacien es, se
iene que:
•458 pacien es u ie on cánce benigno.
5.2 Caso II. De e minación lesión cánce de mama 37
•241 pacien es u ie on cánce maligno.
Son ci as que pe mi en asegu a que se a a de un p oblema cuyos da os de salida es án balanceados ya
que no exis e una g an di e encia en e las dos clases.
A con inuación, se adjun a la p e isualización que se ob u o as habe ealizado la ca ga de da os.
Figu a 5.3 P e isualización del da ase as la ca ga de da os.
Se obse a que, como se ha dicho an e io men e, se ienen pacien es egis ados desde el pacien e
0
al
698
quedando un o al de 699 pacien es.
O o pun o posi i o que iene es e da ase es que odas las a iables de en ada que se han de inido
p e iamen e es án den o de un mismo ango de modo que no es necesa io es anda iza o no maliza , se
pod ía hace . De odos modos, se ealiza la es anda ización de las a iables de en ada pa a que el ango es é
en e 0y1.
Siguiendo con la e apa del análisis explo a o io de los da os, se adjun an las p incipales ca ac e ís icas que
iene cada una de las a iables an o pa a el caso de cánce benigno como maligno.
Figu a 5.4 Ca ac e ís icas a iables de en ada pa a cánce benignos.
44 Capí ulo 5. Casos de es udio
Como se puede obse a , 4501 imágenes es án duplicadas, lo que supone el 44.94 % del o al del da ase .
Una ez se eliminan dichas duplicidades, se pasa a isualiza el núme o de imágenes que el da ase con iene
de cada uno de los g upos.
Figu a 5.16 Dis ibución de casos según p oblema cu áneo.
Cla amen e se a a de un p oblema no balanceado,
•Ne us melanocí ico: 4415 imágenes
•En e medades benignas, Que a osis: 440 imágenes
•Melanoma: 230 imágenes
•Ca cinoma de células basales: 175 imágenes
•Que a osis ac ínica: 151 imágenes
•Lesiones ascula es: 64 imágenes
•De ma o ib oma: 39 imágenes
Cie o es que en las p ime as ap oximaciones del modelo no se balanceó el p oblema y como e a de espe a
no dio un buen esul ado. A modo de ejemplo, uno de los p oblemas más comunes que ienen que es udia
los cien í icos de da os en el sec o banca io es la de e minación de ansacciones audulen as. Si hubiese
1
ansacción audulen a dia ia y
100.000
egis adas en un día, si el algo i mo dice que odas son co ec as,
end ía una exac i ud del
99.999 %
. ¿Es o que ía deci que el modelo unciona co ec amen e? No, ya que
no es á esol iendo el p oblema.
Pa a lle a es a labo a cabo, se u iliza de la lib e ía de
sklea n
la opción de
esample
. Se gene a án
500
imágenes de cada uno de los casos. Pa a el Ne us melanocí ico de las 4415 imágenes se selecciona án
500
y del es o lo que se ha á se á epe i se el núme o de imágenes has a llega a
500
. Es e paso es cla e pa a
ga an iza la e icacia del modelo pese a que se pueda llega a disminui la p ecisión po lo que se ha explicado
an e io men e.
5.3 Caso III. P edicción p oblemas cu áneos 45
Figu a 5.17 Código de escalado de las mues as.
Quedando como esul ado lo siguien e,
Figu a 5.18 Mues as escaladas.
5.3.2 En enamien o del modelo
An es de pasa a comen a la es uc u a de la ed neu onal, lo p ime o que hay que ealiza es de ini la
X
y la salida
y
. En es e caso la
X
se á la in o mación que o ece la imagen (la cual hay que edimensiona
di idiendo el ec o en e el máximo de las componen es que es
255
). La
y
se á la en e medad que ha enido
el pacien e y al ene
7
clases se han gene ado
7
columnas dis in as, las cuales se ellena án pa a cada caso
con
0
si no es el p oblema que iene el pacien e, o con
1
si lo es. Se ha u ilizado el código
o_ca ego ical
.
Una ez hecho es o, se ha p ocedido a di idi el conjun o en en enamien o y es ing, median e la unción
46 Capí ulo 5. Casos de es udio
ain_ es _spli
(al igual que en el caso an e io ), y es a ez se ha des inado un
75 %
de los da os pa a el
conjun o de en enamien o y el es o pa a el es ing. No hay una egla que ma que es e po cen aje po lo que
se pod ía a ia y p oba el que de un mejo esul ado.
Figu a 5.19 A qui ec u a ed neu onal.
•
La p ime a capa de neu onas "Con olucional de 2 Dimensiones" es donde en a án las imágenes. En
es a capa se aplican 256 il os (ke nel) de amaño
3x3
los cuales de ec an cie as ca ac e ís icas de la
imagen. Como unción de ac i ación se u iliza á el ec i icado lineal uni a io.
•
A con inuación se hace un MaxPooling de
2x2
que educe el amaño de la imagen que en a a la mi ad,
man eniendo las ca ac e ís icas que de ec ó cada ke nel.
•
Pa a e i a el o e i ing se añade la capa de D opou . La capa de D opou consis e en elimina la
in o mación que apo a un de e minado po cen aje de neu onas den o de cada una de las capas de la
ed neu onal y se u iliza con el in de educi el sob eajus e. El sob eajus e u o e i ing, es el e ec o
causado po el sob een enamien o del algo i mo pa a unos cie os da os.
•
En las siguien es dos capas se sigue la misma me odología. La di e encia es que en cada capa se
educen los il os del ke nel a la mi ad. Aunque se podían habe man enido en odas las capas el
núme o del ke nel ijo, se ha decidido hace de es a o ma, po que en cada capa se educe la dimensión
de la imagen a la mi ad.
•
A con inuación se aplana con "Fla en()" los
32
úl imos il os del ke nel y se c ea una capa de 32
neu onas adicionales median e "Dense()".
•
Finalmen e se pasan es as
32
neu onas a las
7
clases que son las que se ienen que clasi ica . Se usa la
unción de ac i ación so max pa a es a capa de salida.
Figu a 5.20 A qui ec u a ed neu onal II.
5.3 Caso III. P edicción p oblemas cu áneos 47
Figu a 5.21 Resumen ed neu onal.
Se han elegido
75
epochs pa a que así se pueda isualiza la e olución del algo i mo y cómo a e inando
con o me aumen en las i e aciones y se co ijan los pesos. Se ajus a el modelo y comienza el en enamien o.
5.3.3 Análisis de esul ados
Pa a medi el endimien o de los algo i mos con el conjun o de da os se calcula el accu acy o exac i ud. Se
ha ob enido una exac i ud del 75.2 %. Aho a se e á si los esul ados son cohe en es.
Figu a 5.22 E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs.
48 Capí ulo 5. Casos de es udio
Figu a 5.23 E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs.
Ambas ep esen aciones son cohe en es debido a que a medida que aumen an los epochs, aumen a la
exac i ud y disminuye el e o . También se puede obse a que mien as que el algo i mo en el conjun o de
en enamien o da mejo es esul ados (la exac i ud llega ce ca del
90 %
), la alidación se ha quedado algo
es ancada. Se pod ía p oba a aumen a al
80 −85 %
el po cen aje de los da os de en enamien o y e alua
cómo esponde el modelo.
A con inuación, se a a mos a la ma iz de con usión. Es a ma iz mues a el núme o de eces que el
algo i mo ha encasillado una imagen en un g upo o en o o. Aquella clasi icación que se si úe en la diagonal
se á co ec a, mien as que la que se si úe ue a de la diagonal es inco ec a.
Figu a 5.24 Ma iz de con usión.
5.3 Caso III. P edicción p oblemas cu áneos 49
Lesión Tasa de acie o
Células basales ca cínomas 73.15 %
De ma o ib oma 97.65 %
Que a osis benigna 70 %
Lesiones ascula es 96.875 %
Melanoma 73.15 %
Ne us melanocí ico 60.714 %
Que a osis ac ínica 72.8 %
Como se puede obse a los esul ados no son del odo malos. Es cie o que el ne us melanocí ico se lle a en
es e caso la peo pa e. Es po ello que pod ía es a bien aumen a el núme o de imágenes de es e ipo pa a
que así el algo i mo sea capaz de de ec a de mane a co ec a los asgos.
A con inuación, se a a adjun a una imagen de la ma iz de con usión de una ap oximación inicial del
algo i mo. En es e caso no se habían eliminado las imágenes duplicadas ni se había solucionado el p oblema
del balanceo de casos.
Figu a 5.25 Ma iz de con usión inco ec a.
Como se puede obse a , el algo i mo coloca p ác icamen e odas las imágenes como ne us melanocí ico
po lo que, se llegó a la conclusión de que no es aba abajando co ec amen e. Es igual que lo que se ha
comen ado an es, a pesa de que el algo i mo no es á abajando co ec amen e, la exac i ud es ele ada debido
a que exis e un ipo de imágenes que es p ác icamen e el 80 % de odos los ejemplos.
5.3.4 Mé odo de uso
Como se ha podido obse a , el algo i mo acie a en 3 de cada 4 casos en es a ap oximación. Mejo a ía
analizando la ed neu onal, aumen ando el núme o de imágenes...
Pa a u iliza lo lo único que hab ía que hace se ía subi una imagen de la mancha. Pod ía diseña se una
aplicación sencilla que al subi la imagen de ol iese lo siguien e:
50 Capí ulo 5. Casos de es udio
Figu a 5.26 Respues a de la aplicación.
Figu a 5.27 Respues a de la aplicación.
5.3 Caso III. P edicción p oblemas cu áneos 51
5.3.5 Mejo a del modelo
Viendo que la e ec i idad del modelo es del
75.2 %
y obse ando que en la ma iz de con usión algunas asas
de acie os e an bajas, se ha a ado de mejo a el modelo. Pa a ello las modi icaciones que se han ealizado
han sido las siguien es:
•Se han eescalado los da os de la siguien e o ma:
Figu a 5.28 Escalado de las imágenes.
Es o se ha ealizado con la in ención de aumen a el po cen aje de acie o de aquellas clases que enían
una asa más baja.
•El conjun o de en enamien o en ez de se el 75 % de los da os, es a ez pasa a se el 80 %.
•Se ha aumen ado el núme o de epochs a 150.
52 Capí ulo 5. Casos de es udio
Los esul ados ob enidos son los siguien es:
Figu a 5.29
E olución de la exac i ud de la ed neu onal a medida que aumen a el núme o de epochs. Caso
mejo ado.
Figu a 5.30
E olución del e o de la ed neu onal a medida que aumen a el núme o de epochs. Caso mejo ado.
5.3 Caso III. P edicción p oblemas cu áneos 53
El modelo alcanza una exac i ud del
84.90 %
, lo que supone una mejo a del
13 %
con espec o al modelo
an e io . La ma iz de con usión que se ob iene es la siguien e:
Figu a 5.31 Ma iz de con usión.
Lesión Tasa de acie o
Células basales ca cínomas 91.866 %
De ma o ib oma 100 %
Que a osis benigna 75.524 %
Lesiones ascula es 100 %
Melanoma 71.839 %
Ne us melanocí ico 68.807 %
Que a osis ac ínica 80 %
Se puede obse a cómo los esul ados en odas las lesiones han mejo ado excep o en el caso del melanoma
el cual ha disminuido (aunque nuy poco) la asa de acie o. El modelo ha mejo ado bas an e y iene una asa
de acie o ele ada.
60 Capí ulo 6. Anexo
medidas_nue as = clus e _ - clus e _M
# In[65]:
medidas_nue as = medidas_nue as [400:]
medidas_nue as
# ### 3.2.1 Se an a es udia la des iación que ienen las medidas
# In[66]:
len(medidas_nue as)
# ### 3.2.2 Coincidencias
# In[67]:
coinciden es = medidas_nue as[medidas_nue as==0]
# In[68]:
n_coinciden es = len(coinciden es)
n_coinciden es
# #### Po cen aje de coincidencia
# In[69]:
asa_coincidencia = (n_coinciden es/len(medidas_nue as))*100
asa_coincidencia
# ### 3.2.3 Di e encias de 1 cambio de clase
# In[70]:
una_clase_pos = len(medidas_nue as[medidas_nue as==10])
una_clase_neg = len(medidas_nue as[medidas_nue as==-10])
una_clase = una_clase_pos + una_clase_neg
#n_una_clase = len(una_clase)
una_clase
# In[71]:
1 Código 61
# Vemos las eces que sale nega i o y posi i o en e a las o ales
(una_clase_neg/una_clase)*100
# In[72]:
(una_clase_pos/una_clase)*100
# In[73]:
asa_una_clase = (una_clase/len(medidas_nue as))*100
asa_una_clase
# ### 3.2.3 Di e encias de 2 cambios de clase
# In[74]:
dos_clases_pos =len(medidas_nue as[medidas_nue as==(20)])
dos_clases_neg =len(medidas_nue as[medidas_nue as==(-20)])
dos_clases = dos_clases_pos + dos_clases_neg
#n_dos_clases = len(dos_clases)
dos_clases
# In[75]:
(dos_clases_neg/dos_clases)*100
# In[76]:
(dos_clases_pos/dos_clases)*100
# In[77]:
asa_dos_clases = (dos_clases/len(medidas_nue as))*100
asa_dos_clases
# ### 3.2.4 Di e encias de 3 cambios de clase
# In[78]:
es_clases_pos =len(medidas_nue as[medidas_nue as==(30)])
es_clases_neg =len(medidas_nue as[medidas_nue as==(-30)])
62 Capí ulo 6. Anexo
es_clases = es_clases_pos + es_clases_neg
#n_dos_clases = len(dos_clases)
es_clases
# In[79]:
asa_ es_clases = ( es_clases/len(medidas_nue as))*100
asa_ es_clases
# ## Añadiendo el mé odo de los K-Means cambiando el cen oide
# In[59]:
om sklea n.clus e impo KMeans
kmeans = KMeans(n_clus e s=4). i (d _mean)
cen oids = kmeans.clus e _cen e s_
cen oids = np.a ound(cen oids, decimals=1)
p in (cen oids)
# In[8]:
c4_mean = [3,3,1,1,3,3,3,2]
c2_mean = [1,1,0,1,1,1,1,1]
c3_mean = [2,2,1,1,2,2,2,1]
c1_mean = [0,0,0,0,0,0,0,0]
# In[9]:
c1_mean == c1_
# In[10]:
c2_mean == c2_
# In[11]:
c3_mean == c3_
# In[12]:
c4_mean == c4_
1 Código 63
# In[13]:
cen oids_no med = cen oids / cen oids.max(axis=0)
# In[18]:
[clus e _mean,dis ance_mean] = q(da a_no med, cen oids_no med)
# In[19]:
clus e _mean
# In[57]:
clus e _mean = np.whe e(clus e _mean==1,40,clus e _mean)
clus e _mean = np.whe e(clus e _mean==2,30, clus e _mean)
clus e _mean = np.whe e(clus e _mean==3,10, clus e _mean)
clus e _mean = np.whe e(clus e _mean==0,20, clus e _mean)
clus e _mean[528]
# In[35]:
medidas_nue as_mean = clus e _ - clus e _mean
medidas_nue as_mean1 = medidas_nue as_mean
medidas_nue as_mean = medidas_nue as_mean [400:]
medidas_nue as_mean
# In[36]:
len(medidas_nue as_mean)
# In[37]:
coinciden es_mean = medidas_nue as_mean[medidas_nue as_mean==0]
n_coinciden es_mean = len(coinciden es_mean)
n_coinciden es_mean
# In[38]:
asa_coincidencia_mean = (n_coinciden es_mean/len(medidas_nue as_mean))*100
asa_coincidencia_mean
64 Capí ulo 6. Anexo
# In[39]:
una_clase_pos_mean = len(medidas_nue as_mean[medidas_nue as_mean==10])
una_clase_neg_mean = len(medidas_nue as_mean[medidas_nue as_mean==-10])
una_clase_mean = una_clase_pos_mean + una_clase_neg_mean
#n_una_clase = len(una_clase)
una_clase_mean
# In[40]:
(una_clase_mean/len(medidas_nue as_mean))*100
# In[41]:
dos_clase_pos_mean = len(medidas_nue as_mean[medidas_nue as_mean==20])
dos_clase_neg_mean = len(medidas_nue as_mean[medidas_nue as_mean==-20])
dos_clase_mean = dos_clase_pos_mean + dos_clase_neg_mean
#n_una_clase = len(una_clase)
dos_clase_mean
(dos_clase_mean/len(medidas_nue as_mean))*100
# In[42]:
dos_clase_mean
# In[43]:
asa_coincidencia_mean+(una_clase_mean/len(medidas_nue as_mean))*100+(dos_clase
_mean/len(medidas_nue as_mean))*100
# In[45]:
#medidas_nue as_mean1
medidas_nue as_mean1[np.whe e(medidas_nue as_mean1 == 20)]
# In[47]:
np.whe e(medidas_nue as_mean1 == -20)
# In[48]:
1 Código 65
np.whe e(medidas_nue as_mean1 == 0)
# In[ ]:
66 Capí ulo 6. Anexo
1.2 Caso II
#!/us /bin/en py hon
# coding: u -8
# In[1]:
impo numpy as np
om sklea n impo neighbo s,p ep ocessing
om sklea n.model_selec ion impo ain_ es _spli
impo pandas as pd
impo ma plo lib.pyplo as pl
impo seabo n as sns; sns.se ()
sns.se _s yle(’da kg id’)
# In[2]:
om sklea n.p ep ocessing impo S anda dScale
om sklea n.linea _model impo Logis icReg ession
om sklea n.neighbo s impo KNeighbo sClassi ie
om sklea n. ee impo DecisionT eeClassi ie
om sklea n.s m impo Linea SVC, SVC
om sklea n.neu al_ne wo k impo MLPClassi ie
om sklea n.ensemble impo RandomFo es Classi ie , G adien Boos ingClassi ie
# In[3]:
mainpa h="/Use s/Usua io/Desk op/Skyli e/AI_MEDICINE/"
ilename= "CANCER_DE_MAMA/cance /b eas -cance -wisconsin.da a. x "
ullpa h=mainpa h+"/"+ ilename
da a = pd. ead_cs ( ullpa h,heade =None)
da a.desc ibe()
# In[4]:
mainpa h="/Use s/Usua io/Desk op/Skyli e/AI_MEDICINE/"
ilename= "CANCER_DE_MAMA/cance /b eas -cance -wisconsin.da a. x "
ullpa h=mainpa h+"/"+ ilename
da a = pd. ead_cs ( ullpa h,heade =None)
da a = da a.d op([0],axis = 1)
da a.head()
# In[5]:
da a.desc ibe()
1 Código 67
# In[6]:
da a.columns = ["V1","V2","V3","V4","V5","V6","V7","V8","V9","Class"]
da a
# In[7]:
da a. eplace("?",-99999999,inplace = T ue)
# ### Explo ación de los da os
# In[8]:
da a ame = da a.se _index(da a["Class"])
# In[9]:
da a_benigno = da a ame.loc[2]
# In[10]:
da a_benigno.shape
# In[11]:
da a_benigno.desc ibe()
# In[12]:
da a_maligno = da a ame.loc[4]
# In[13]:
da a_maligno.shape
# In[14]:
da a_maligno.desc ibe()
68 Capí ulo 6. Anexo
# In[15]:
pl . igu e( igsize = (8,8))
pl .pie(da a[’Class’]. alue_coun s(),au opc = ’%.2 %%’,labels=["Benigno","
Maligno"])
pl . i le("Dis ibución de pacien es")
# In[16]:
pip ins all -U seabo n
# In[17]:
pl . igu e( igsize = (25,15))
o i, column in enume a e(da a.columns):
pl .subplo (4,6,i+1)
sns.boxplo (da a=da a[column])
pl . i le(column)
pl .show()
# In[18]:
co = da a.co ()
pl . igu e( igsize = (24,20))
sns.hea map(co , anno = T ue, min = -1.0, cmap = ’mako’)
pl . i le("Ma iz de co elacion")
pl .show()
# In[19]:
X = da a[["V1","V2","V3","V4","V5","V6","V7","V8","V9"]]
da a[’Class’] = da a[’Class’]. eplace({
2: "Benigno",
4: "Maligno",
})
Y = da a["Class"]
Y
# In[20]:
X_ ain, X_ es , Y_ ain, Y_ es = ain_ es _spli (X,Y, es _size = 0.2)
# In[21]:
1 Código 69
scale = S anda dScale ()
scale . i (X_ ain)
X_ ain = pd.Da aF ame(scale . ans o m(X_ ain), index=X_ ain.index, columns=
X_ ain.columns)
X_ es = pd.Da aF ame(scale . ans o m(X_ es ), index=X_ es .index, columns=X_
es .columns)
X_ ain
# In[22]:
models = {
" Logis ic Reg ession": Logis icReg ession(),
" K-Nea es Neighbo s": KNeighbo sClassi ie (),
" Decision T ee": DecisionT eeClassi ie (),
"Suppo Vec o Machine (Linea Ke nel)": Linea SVC(),
" Suppo Vec o Machine (RBF Ke nel)": SVC(),
" Neu al Ne wo k": MLPClassi ie (),
" Random Fo es ": RandomFo es Classi ie (),
" G adien Boos ing": G adien Boos ingClassi ie (),
}
o name, model in models.i ems():
model. i (X_ ain, Y_ ain)
p in (name + " ained.")
# In[23]:
o name, model in models.i ems():
p in (name + ": {:.2 }%". o ma (model.sco e(X_ es , Y_ es ) * 100))
# In[24]:
classi ica ion = neighbo s.KNeighbo sClassi ie ()
classi ica ion. i (X_ ain,Y_ ain)
# In[25]:
accu acy = classi ica ion.sco e(X_ es ,Y_ es )
accu acy
# In[26]:
medida_nue a = np.a ay([4,4,4,2,2,3,2,1,1])
medida_nue a = medida_nue a. eshape(1,-1)
76 Capí ulo 6. Anexo
# In[77]:
X = np.asa ay(skin_d _balanced[’image’]. olis ())
X = X/255.
# In[78]:
x_ ain, x_ es , y_ ain, y_ es = ain_ es _spli (X, y, es _size=0.25,
andom_s a e=42)
# In[79]:
model = Sequen ial()
model.add(Con 2D(256, (3, 3), ac i a ion=" elu", inpu _shape=(SIZE, SIZE, 3)))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Con 2D(128, (3, 3),ac i a ion=’ elu’))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Con 2D(64, (3, 3),ac i a ion=’ elu’))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Fla en())
model.add(Dense(32))
model.add(Dense(7, ac i a ion=’so max’))
model.summa y()
# In[80]:
model.compile(loss=’ca ego ical_c ossen opy’, op imize =’Adam’, me ics=[’acc
’])
# In[81]:
model.summa y()
# In[82]:
ba ch_size = 16
1 Código 77
epochs = 75
# In[83]:
his o y = model. i (
x_ ain, y_ ain,
epochs=epochs,
ba ch_size = ba ch_size,
alida ion_da a=(x_ es , y_ es ),
e bose=2)aju
# In[160]:
sco e = model.e alua e(x_ es , y_ es )
p in (’Tes accu acy:’, sco e[1])
# In[85]:
#plo he aining and alida ion accu acy and loss a each epoch
loss = his o y.his o y[’loss’]
al_loss = his o y.his o y[’ al_loss’]
epochs = ange(1, len(loss) + 1)
pl .plo (epochs, loss, ’y’, label=’T aining loss’)
pl .plo (epochs, al_loss, ’ ’, label=’Valida ion loss’)
pl . i le(’T aining and alida ion loss’)
pl .xlabel(’Epochs’)
pl .ylabel(’Loss’)
pl .legend()
pl .show()
# In[86]:
acc = his o y.his o y[’acc’]
al_acc = his o y.his o y[’ al_acc’]
pl .plo (epochs, acc, ’y’, label=’T aining acc’)
pl .plo (epochs, al_acc, ’ ’, label=’Valida ion acc’)
pl . i le(’T aining and alida ion accu acy’)
pl .xlabel(’Epochs’)
pl .ylabel(’Accu acy’)
pl .legend()
pl .show()
# In[159]:
# P edic ion on es da a
y_p ed = model.p edic (x_ es )
# Con e p edic ions classes o one ho ec o s
78 Capí ulo 6. Anexo
y_p ed_classes = np.a gmax(y_p ed, axis = 1)
# Con e es da a o one ho ec o s
y_ ue = np.a gmax(y_ es , axis = 1)
# In[88]:
om sklea n.me ics impo con usion_ma ix
con usion_m x = con usion_ma ix(y_ ue, y_p ed_classes)
# plo he con usion ma ix
plo _labels = [’bcc’, ’d ’, ’bkl’, ’ asc’, ’mel’, ’n ’,’akiec’]
plo _con usion_ma ix(con usion_m x, classes = plo _labels)
# In[100]:
sns.hea map(con usion_m x.T, squa e=T ue, anno =T ue, m =’d’, cba =T ue,
x icklabels=plo _labels, y icklabels=plo _labels )
# In[140]:
p ediccion = y_p ed[1]*100
x_ es [1]
# In[121]:
p in (’La p obabilidad que sean células basales ca cinomas es del’,p ediccion
[0],’%’)
p in (’La p obabilidad que sea de ma o ib oma es del’,p ediccion[1],’%’)
p in (’La p obabilidad que sea benigno (ca cinomas) es del’,p ediccion[2],’%’)
p in (’La p obabilidad que sea una lesión ascula es del’,p ediccion[3],’%’)
p in (’La p obabilidad que sea melanoma es del’,p ediccion[4],’%’)
p in (’La p obabilidad que sea ne us melanocí ico es del’,p ediccion[5],’%’)
p in (’La p obabilidad que sea que a osis ac ínica es del’,p ediccion[6],’%’)
# In[126]:
columns = [’Células basales ca cinomas’,’De ma o ib oma’,’Benigna’,
’Lesiones ascula es’,’Melanoma’,’Ne us
melanocí ico’,’Que a osis ac ínica’]
# In[135]:
d 1 = pd.Da aF ame(p ediccion,columns)
d 1_ ansposed = d 1.T
d 1_ ansposed
1 Código 79
# In[137]:
ig, ax2 = pl .subplo s(1, 1, igsize= (15, 10))
d 1_ ansposed.plo (kind=’ba ’, ax=ax2)
# In[158]:
y_ es
# In[155]:
y_p ed2 = np.a gmax(y_p ed,axis=1)
y_ es 2 = np.a gmax(y_ es ,axis=1)
# In[157]:
pl . igu e( igsize=(16,16))
o i in ange(9):
pl .subplo (3,3,i+1)
index = i+100
pl .imshow(x_ es [index,:,:,::-1])
label_exp = columns[y_ es 2[index]] #expec ed label
label_p ed = columns[y_p ed2[index]] #p edic ed label
label_p ed_p ob = ound(np.max(y_p ed1[index])*100)
pl . i le(’Expec ed:’+s (label_exp)+’ n P ed.:’+s (label_p ed)+’ (’+s (
label_p ed_p ob)+’%)’)
pl .ylabel(’’)
pl . igh _layou ()
pl .sa e ig(’ inal_ igu e.png’,dpi=300)
pl .show()
# In[ ]:
80 Capí ulo 6. Anexo
Mejo a del esul ado an e io
#!/us /bin/en py hon
# coding: u -8
# ## 1. Impo e de lib e ías
# In[1]:
impo ma plo lib.pyplo as pl
impo numpy as np
impo pandas as pd
impo os
impo glob
impo seabo n as sns
om PIL impo Image
np. andom.seed(123)
om sklea n.p ep ocessing impo label_bina ize
om sklea n.me ics impo con usion_ma ix
impo i e ools
om sklea n.model_selec ion impo ain_ es _spli
impo ke as
om ke as.u ils.np_u ils impo o_ca ego ical # used o con e ing labels o
one-ho -encoding
om ke as.models impo Sequen ial
om ke as.laye s impo Dense, D opou , Fla en, Con 2D, MaxPool2D
om ke as impo backend as K
impo i e ools
om ke as.laye s.no maliza ion impo Ba chNo maliza ion
om ke as.u ils.np_u ils impo o_ca ego ical # con e o one-ho -encoding
om enso low.ke as.callbacks impo *
om ke as.op imize s impo Adam
om ke as.p ep ocessing.image impo ImageDa aGene a o
om ke as.callbacks impo ReduceLROnPla eau
# ## 2. Ca ga de imágenes
# In[2]:
mainpa h="/Use s/Usua io/Desk op/Skyli e/SKIN_CANCER"
ilename= "skin-cance -mnis -ham10000"
pa h = mainpa h+"/"+ ilename
pa h_imagenes = {os.pa h.spli ex (os.pa h.basename(x))[0]:x o x in glob.glob(
os.pa h.join(pa h,’*’,’*.jpg’))}
# ## 3. Ca ga del documen o
# In[3]:
1 Código 81
mainpa h ="/Use s/Usua io/Desk op/Skyli e/SKIN_CANCER"
ilename = "skin-cance -mnis -ham10000/HAM10000_me ada a.cs "
ullpa h = mainpa h+"/"+ ilename
skin_d = pd. ead_cs ( ullpa h)
# In[4]:
# Visualizamos cómo queda el da ase
skin_d .head()
# In[5]:
# In oducimos el pa h eco iendo el pa h de imágenes c eado con la image_id
skin_d [’pa h’] = skin_d [’image_id’].map(pa h_imagenes.ge )
# In[6]:
# In oducimos o a columna pa a e el nomb e comple o de la lesión
ipo_lesion = {
’n ’:’Ne us melanocí ico’,
’mel’: ’Melanoma’,
’bkl’: ’En e medades benignas: Que a osis ’,
’bcc’: ’Células basales ca cinomas’,
’akiec’: ’Que a osis ac ínica’,
’ asc’: ’Lesiones ascula es’,
’d ’: ’De ma o ib oma’
}
skin_d [’cell_ ype’] = skin_d [’dx’].map( ipo_lesion.ge )
# In[7]:
# Pasamos las dis in as cell_ ype a ca ego ías
skin_d [’cell_ ype_idx’] = pd.Ca ego ical(skin_d [’cell_ ype’]).codes
# ## Explo ación del da ase : limpieza y w angling
# In[8]:
skin_d .isnull().sum()
# In[9]:
skin_d [’age’]. illna((skin_d [’age’].mean()), inplace=T ue)
skin_d .isnull().sum()
82 Capí ulo 6. Anexo
# In[10]:
p in (skin_d .d ypes)
# In[11]:
SIZE = 64
# In[12]:
skin_d [’image’] = skin_d [’pa h’].map(lambda x: np.a ay(Image.open(x). esize
((SIZE,SIZE))))
# In[13]:
skin_d .head()
# In[14]:
skin_d [’image’].map(lambda x: x.shape). alue_coun s()
# In[15]:
skin_d [’image’]
# ## Eliminación de imágenes duplicadas
# In[16]:
# his will ell us how many images a e associa ed wi h each lesion_id
d _undup = skin_d .g oupby(’lesion_id’).coun ()
# now we il e ou lesion_id’s ha ha e only one image associa ed wi h i
d _undup = d _undup[d _undup[’image_id’] == 1]
d _undup. ese _index(inplace=T ue)
d _undup.head()
# In[17]:
de ge _duplica es(x):
unique_lis = lis (d _undup[’lesion_id’])
i x in unique_lis :
1 Código 83
e u n ’unduplica ed’
else:
e u n ’duplica ed’
skin_d [’duplica es’] = skin_d [’lesion_id’]
skin_d [’duplica es’] = skin_d [’duplica es’].apply(ge _duplica es)
# In[18]:
skin_d [’duplica es’]. alue_coun s()
skin_d _nd = skin_d [skin_d [’duplica es’] == ’unduplica ed’]
# In[19]:
skin_d [’duplica es’]. alue_coun s()
# In[20]:
# Así queda el no
¯de casos
skin_d _nd[’cell_ ype_idx’]. alue_coun s()
# In[21]:
# Se puede obse a cómo es á desbalanceado
ig, ax1 = pl .subplo s(1, 1, igsize= (15, 10))
skin_d _nd[’cell_ ype’]. alue_coun s().plo (kind=’ba ’, ax=ax1)
# In[22]:
# Se a a p ocede a eescala los casos
om sklea n.u ils impo esample
d _0 = skin_d [skin_d .cell_ ype_idx == 0]
d _1 = skin_d [skin_d .cell_ ype_idx == 1]
d _2 = skin_d [skin_d .cell_ ype_idx == 2]
d _3 = skin_d [skin_d .cell_ ype_idx == 3]
d _4 = skin_d [skin_d .cell_ ype_idx == 4]
d _5 = skin_d [skin_d .cell_ ype_idx == 5]
d _6 = skin_d [skin_d .cell_ ype_idx == 6]
# In[23]:
d _0_balanced = esample(d _0, eplace=T ue, n_samples=1000, andom_s a e=42)
d _1_balanced = esample(d _1, eplace=T ue, n_samples=600, andom_s a e=42)
84 Capí ulo 6. Anexo
d _2_balanced = esample(d _2, eplace=T ue, n_samples=700, andom_s a e=42)
d _3_balanced = esample(d _3, eplace=T ue, n_samples=900, andom_s a e=42)
d _4_balanced = esample(d _4, eplace=T ue, n_samples=900, andom_s a e=42)
d _5_balanced = esample(d _5, eplace=T ue, n_samples=500, andom_s a e=42)
d _6_balanced = esample(d _6, eplace=T ue, n_samples=500, andom_s a e=42)
skin_d _balanced = pd.conca ([d _0_balanced, d _1_balanced,
d _2_balanced, d _3_balanced,
d _4_balanced, d _5_balanced, d _6_balanced])
# In[24]:
# Se puede obse a cómo es á desbalanceado
ig, ax2 = pl .subplo s(1, 1, igsize= (15, 10))
skin_d _balanced[’cell_ ype’]. alue_coun s().plo (kind=’ba ’, ax=ax2)
# In[26]:
skin_d _balanced[skin_d _balanced.cell_ ype_idx == 1]
# In[27]:
# Se puede obse a cómo aho a sí nos queda el da ase balanceado
skin_d _balanced[’cell_ ype’]. alue_coun s()
# ## P epa amos los da os pa a en ena el modelo
# In[28]:
y = skin_d _balanced[’cell_ ype_idx’]
y.shape
# In[29]:
y = o_ca ego ical(y, num_classes = 7)
y.shape
# In[30]:
X = np.asa ay(skin_d _balanced[’image’]. olis ())
X = X/255.
# In[31]:
1 Código 85
x_ ain, x_ es , y_ ain, y_ es = ain_ es _spli (X, y, es _size=0.2, andom
_s a e=423)
# In[32]:
model = Sequen ial()
model.add(Con 2D(256, (3, 3), ac i a ion=" elu", inpu _shape=(SIZE, SIZE, 3)))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Con 2D(128, (3, 3),ac i a ion=’ elu’))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Con 2D(64, (3, 3),ac i a ion=’ elu’))
#model.add(Ba chNo maliza ion())
model.add(MaxPool2D(pool_size=(2, 2)))
model.add(D opou (0.3))
model.add(Fla en())
model.add(Dense(32))
model.add(Dense(7, ac i a ion=’so max’))
model.summa y()
# In[33]:
model.compile(loss=’ca ego ical_c ossen opy’, op imize =’Adam’, me ics=[’acc
’])
# In[34]:
model.summa y()
# In[36]:
ba ch_size = 16
epochs = 150
# In[37]:
his o y = model. i (
x_ ain, y_ ain,
epochs=epochs,