La aparición del valor nan

La razón del valor nan

NaN ( N ot un N umber, no un número) es un tipo de valor de numérico tipo de datos en la informática , que representa un valor indefinido o no representable. Se utiliza a menudo en aritmética de punto flotante. La primera introducción de NaN fue el estándar de número de punto flotante [IEEE 754] (https://baike.baidu.com/item/IEEE 754/3869922) en 1985

Después de leer esta enciclopedia, de hecho, todo el mundo casi comprende dónde está el problema. Los siguientes puntos son un análisis más específico y algunos ejemplos y trampas reales.

Respuesta de la enciclopedia Baidu de NaN

Razón

  • Hay un número negativo cuando se usa la pérdida de registros

    Entendemos bien log (-1),

    np.log(-1)
    
    nan
    
  • Tasa de aprendizaje demasiado alta

    En primer lugar, si la tasa de aprendizaje es demasiado grande, habrá oscilaciones y habrá oscilaciones, lo que hará que su valor de gradiente sea particularmente grande y es probable que se desborde. Este valor de gradiente puede ser inf, -inf.

    Las siguientes operaciones conducirán todas a la generación de nan, que son todas operaciones inciertas.

    >>> a = np.inf/np.inf
    >>> a
    nan
    
    >>> 0*np.inf
    nan
    
    
    
  • Datos sucios

    Una vez que haya el primer nan en la expresión, se propagará, por lo que al depurar, generalmente es necesario encontrar el primer error

Errores comunes


Es decir, nan y overflowError suelen ir acompañados de random.

  • OverflowError: int demasiado grande para convertir a flotante

  • RuntimeWarning: desbordamiento encontrado en multiplicar

  • RuntimeWarning: valor no válido encontrado en reducir retorno ufunc.reduce (obj, eje, dtype, out, ** passkwargs)

La oración anterior le recuerda que ya ha aparecido un valor ilegal al realizar operaciones matriciales. La alta probabilidad de estos valores ilegales es nan, por lo que todos los resultados posteriores serán nulos.

para resumir

Resumen: Para evitar esta situación, al ajustar los parámetros, los grandes irán a los pequeños (los grandes pasos tirarán inevitablemente de los huevos). Si hay un problema, que no cunda el pánico, primero busque posibles operaciones ilegales. Como la asignación de pérdida de registros y desbordamiento inf.

Supongo que te gusta

Origin blog.csdn.net/qq_45175218/article/details/111473326
Recomendado
Clasificación