Processing math: 100%

Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:matematicas:probabilidad_metricas

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:iabd:pia:matematicas:probabilidad_metricas [2024/02/04 20:17]
admin [El umbral]
clase:iabd:pia:matematicas:probabilidad_metricas [2025/04/26 12:17] (actual)
admin [Ejemplos]
Línea 8: Línea 8:
 Para calcular las métricas tenemos 2 arrays: Para calcular las métricas tenemos 2 arrays:
   * Yreal={yrealNyreal{0,1}} Array con los valores reales o verdaderos.    * Yreal={yrealNyreal{0,1}} Array con los valores reales o verdaderos. 
-  * Ypredicho={ypredichoRypredicho[0,1[} Array con los valores predichos por la red neuronal. +  * Ypredicho={ypredichoRypredicho[0,1[} Array con los valores predichos por la red neuronal. 
 + 
 +y ahora los juntamos en un único conjunto 
 + 
   * Y={(yreal,ypredicho)|yrealYreal,ypredichoYpredicho} Parejas de datos reales y predichos.   * Y={(yreal,ypredicho)|yrealYreal,ypredichoYpredicho} Parejas de datos reales y predichos.
  
Línea 28: Línea 31:
 FP=|{(yreal,ypredicho)Y|yreal=0ypredicho[0.5,1[}| FP=|{(yreal,ypredicho)Y|yreal=0ypredicho[0.5,1[}|
  
-$TN=|\{ (y_{real},y_{predicho}) \in Y | y_{real} = 1 \; \wedge \; y_{predicho} \in [0,0.5[ \}|$+$FN=|\{ (y_{real},y_{predicho}) \in Y | y_{real} = 1 \; \wedge \; y_{predicho} \in [0,0.5[ \}|$
  
-$TN=|\{ (y_{real},y_{predicho}) \in Y | y_{real} = 1 \; \wedge \; y_{predicho} \in [0.5,1[ \}|$+$TP=|\{ (y_{real},y_{predicho}) \in Y | y_{real} = 1 \; \wedge \; y_{predicho} \in [0.5,1[ \}|$
  
 La matriz de confusión es la siguiente: La matriz de confusión es la siguiente:
Línea 52: Línea 55:
  
 | ^^  Predicción  ^^  Métricas  ^^ | ^^  Predicción  ^^  Métricas  ^^
-| ^^  PN,ypredicho[0,0.5[  ^  PP,ypredicho[0.5,1[  ^  Predicho negativa  ^ Predicho positiva ^+| ^^  PN,ypredicho[0,0.5[  ^  PP,ypredicho[0.5,1[  ^  Predicho [0,0.5[  ^ Predicho [0.5,1[ ^
 ^  Realidad  ^  N,yreal=0  |  TN  |  FP  |  TNR=TNN FPR=FPN  | ^  Realidad  ^  N,yreal=0  |  TN  |  FP  |  TNR=TNN FPR=FPN  |
 ^ ::: ^  P,yreal=1  |  FN  |  TP  |  FNR=FNP TPR=TPP  | ^ ::: ^  P,yreal=1  |  FN  |  TP  |  FNR=FNP TPR=TPP  |
Línea 119: Línea 122:
  
  
-$I=\{ \;\; \{[0,0.5[\}\;,\;\{[0.5,1[\}\;\; \}$+I={[0,0.5[,[0.5,1[}
  
 Por lo tanto ahora habrá menos fórmulas. Por lo tanto ahora habrá menos fórmulas.
Línea 207: Línea 210:
  
 ====== Generalizando los intervalos ====== ====== Generalizando los intervalos ======
-y ahora viene lo interesante, ¿que pasaría si en vez de haber un único umbral hubiera 10 umbrales?+__**y ahora viene lo interesante, ¿que pasaría si en vez de haber un único umbral hubiera 10 umbrales?**__
  
-$I=\{ \;\;\{[0,0.1[\}\;,\;\{[0.1,0.2[\}\;,\;\{[0.2,0.3[\}\;,\;\{[0.3,0.4[\}\;,\;\{[0.4,0.5[\}\;,\;\{[0.5,0.6[\}\;,\;\{[0.6,0.7[\}\;,\;\{[0.7,0.8[\}\;,\;\{[0.8,0.9[\}\;,\;\{[0.9,1[\} \;\;\}$+I={[0,0.1[,[0.1,0.2[,[0.2,0.3[,[0.3,0.4[,[0.4,0.5[,[0.5,0.6[,[0.6,0.7[,[0.7,0.8[,[0.8,0.9[,[0.9,1[}
  
 +En el siguiente código en Python se puede ver el resultado de usar las fórmulas:[[https://colab.research.google.com/drive/1uO1no11lYzlhj0OMJl7H6jdgTMsDerq-?usp=sharing|main.ipynb]]
  
 +
 +====== Infinitos intervalos ======
 ¿Y si hubiera infinitos intervalos? Que podríamos sacar la probabilidad exacta para el resultado que nos ha dado. ¿Y si hubiera infinitos intervalos? Que podríamos sacar la probabilidad exacta para el resultado que nos ha dado.
  
-En el siguiente código en Python se puede ver el resultado de usar las fórmulas:[[https://colab.research.google.com/drive/1uO1no11lYzlhj0OMJl7H6jdgTMsDerq-?usp=sharing|main.ipynb]]+¿como sacarlo para infinitos intervalos? Pues calculando la función de densidad de probabilidad. 
 + 
 +Sabemos que la función de coste para las redes neuronales es $Binary \Cross \Entropy$: 
 + 
 +BinaryCrossEntropy(yreal,ypredicho)=(yreallog(ypredicho)+(1yreal)log(1ypredicho))  
 + 
 +Los valores de yreal son 0 o 1, mientras que los valores de ypredicho es un número real entre 0 y 1 
 + 
 +Veamos ahora gráficamente como es la fórmula según si yreal=0 o yreal=1 
 + 
 +$$ 
 +Binary \: Cross \: Entropy(y_{real},y_{predicho}) =\left\{\begin{matrix} 
 +-log(1-y_{predicho}) & si & y_{real}=0   \\ 
 +-log(y_{predicho}) & si & y_{real}=1   \\ 
 +\end{matrix}\right 
 +$$ 
 + 
 +{{:clase:iabd:pia:2eval:binary_crossentropy.png?nolink|}} 
 + 
 +====== Ejemplos ====== 
 + 
 +  * Evolución de la red de "las imágenes de números " en 16 épocas: 
 +{{ :clase:iabd:pia:experimentos:evolucion_red_digits.png?600 |}} 
 +  * Evolución de la red de "cancer" en 16 épocas: 
 +{{ :clase:iabd:pia:experimentos:evolucion_red_cancer.png?600 |}} 
clase/iabd/pia/matematicas/probabilidad_metricas.1707074269.txt.gz · Última modificación: 2024/02/04 20:17 por admin