Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
clase:iabd:pia:2eval:tema07-apendices [2024/10/12 15:11] admin [Backpropagation] |
— (actual) | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== 7.g Apéndices ====== | ||
- | |||
- | ===== Tipos de funciones de coste ===== | ||
- | |||
- | |||
- | ==== Huber ==== | ||
- | La función de coste Huber es un compromiso entre MAE y MSE, ese compromiso se define con un parámetro llamado delta δ. | ||
- | La siguiente gráfica compara MAE, MSE y distintos valores de delta. | ||
- | |||
- | {{ : | ||
- | |||
- | |||
- | * Si delta tiene en valor cercano a 1, tenderá a parecerse a MAE | ||
- | * Si delta tiene un valor elevado, tenderá a parecerse a MSE | ||
- | |||
- | <note tip>Como decíamos con MAE y MSE. ¿queremos que los valores extremos se tengan en cuenta. Pues con el parámetro delta podemos hacer un ajuste mas fino</ | ||
- | |||
- | |||
- | |||
- | Su uso en Keras es: | ||
- | <sxh python> | ||
- | model.compile(loss=tf.keras.losses.Huber(delta=3)) | ||
- | </ | ||
- | |||
- | < | ||
- | Pensando en la gráfica de Huber he pensado si MAE=|y−ˆy|1 y MSE=|y−ˆy|2, | ||
- | |||
- | Y he creado una gráfica similar para ver los resultados y no están mal | ||
- | |||
- | {{ : | ||
- | |||
- | He mirado un poco por internet para ver si alguien los usaba y no he encontrado nada, supongo que será porque hacer el cálculo de una potencia con decimales es bastante costoso en tiempo. | ||
- | </ | ||
- | |||
- | Mas información: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | |||
- | |||
- | ===== Top-N-Accuracy ===== | ||
- | En problemas de clasificación en los que hay muchísimos clases a clasificar , se puede usar otra métrica llamada **Top-N Accuracy**. Veamos en que consiste. | ||
- | |||
- | El problema de clasificación de ImageNet hay 1000 posibles clases a clasificar. En ese caso cuando decimos que un " | ||
- | |||
- | ^ Clase ^ Probabilidad ^ | ||
- | | Casa | 0.06 | | ||
- | | Botella | 0,04 | | ||
- | | Farola | 0,15 | | ||
- | | Gato | 0,34 | | ||
- | | Perro | 0,28 | | ||
- | | Niño | 0,04 | | ||
- | | Adulto | 0,02 | | ||
- | | Bicicleta | 0,03 | | ||
- | | Semáforo | 0,001 | | ||
- | | Puente | 0,039 | | ||
- | |||
- | |||
- | Si la imagen es de un gato, en este caso diríamos que ha acertado ya que la probabilidad de ser gato es del 34% y es la mayor de todas. Y con eso calcularíamos el valor de '' | ||
- | |||
- | Sin embargo veamos este otro ejemplo: | ||
- | |||
- | |||
- | ^ Clase ^ Probabilidad ^ | ||
- | | Casa | 0.06 | | ||
- | | Botella | 0,04 | | ||
- | | Farola | 0,15 | | ||
- | | Gato | 0,28 | | ||
- | | Perro | 0,34 | | ||
- | | Niño | 0,04 | | ||
- | | Adulto | 0,02 | | ||
- | | Bicicleta | 0,03 | | ||
- | | Semáforo | 0,001 | | ||
- | | Puente | 0,039 | | ||
- | |||
- | En este nuevo ejemplo, también le hemos pasado una imagen de una gato pero la probabilidad de ser gato es del 28% mientras que la de ser perro es del 34%. Por ello diríamos que no ha acertado. | ||
- | |||
- | Sin embargo usando la métrica de '' | ||
- | |||
- | Esta métrica tiene sentido cuando hay muchísimas clases (En ImageNet hay 1000 clases). Y aunque la predicción correcta no sea la mejor al menos está entre las 2 primeras '' | ||
- | |||
- | En el siguiente artículo [[https:// | ||
- | |||
- | |||
- | |||
- | === Keras === | ||
- | en keras se puede usar esta métrica con [[https:// | ||
- | |||
- | Por defecto esta métrica calcula es '' | ||
- | |||
- | <sxh python> | ||
- | model.compile(optimizer=' | ||
- | </ | ||
- | |||
- | <sxh python> | ||
- | model.compile(optimizer=' | ||
- | </ | ||
- | |||
- | |||
- | Más información: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | |||
- | |||
- | |||
- | |||