2016-12-29 4 views
-1

Je suis en train d'essayer de normaliser un numpy.ndarray contenant des nombres complexes, mais pour une raison quelconque est ma mise en œuvre loin la partie coulée complexe .. Pourquoi? ...La normalisation Minmax rejette la partie complexe?

def numpy_minmax(X): 
    xmin = X.min() 
    print X.min() 
    print X.max() 
    return (2*(X - xmin)/(X.max() - xmin)-1)*0.9 
+0

À votre avis, quel est le nombre minimum de numéros complexes? Lequel est plus petit, '3 + 4j' ou' 4 + 3j'? Oui, NumPy ignore la partie imaginaire. Vous pouvez le prendre en compte avec 'np.imag (X) .min()' mais pour commencer, qu'est-ce que la "minimax normalisation" veut dire pour les nombres complexes? – FTP

+0

Comment le réseau Neural gère-t-il les nombres complexes? .. La normalisation a été faite pour l'entrée d'un réseau de neurones. Comment puis-je le normaliser? –

+0

Quelle est pour vous la normalisation? – eyllanesc

Répondre

1

Le minimum ou maximum de nombres complexes est un concept indéfini. C'est pourquoi NumPy ignore la partie imaginaire en prenant max ou min d'un tableau.

En général, la normalisation consiste en en centrant et en.

Une notion naturelle du centre d'un tableau de nombres complexes est le centre du plus petit disque qui les contient. Mais ceci (le centre Chebyshev) est quelque peu difficile à calculer. Une manière plus simple de centrer est de prendre le plus petit rectangle aligné sur les axes contenant les nombres. Cela implique de regarder séparément max/min des parties réelles et imaginaires:

a = (np.real(X).min() + np.real(X).max())/2.0 
b = (np.imag(X).min() + np.imag(X).max())/2.0 
Y = X - complex(a, b) 

Ensuite, la mise à l'échelle. On dirait que vous voulez que les valeurs absolues des nombres soient au maximum de 0,9. Ceci peut être arrangé en utilisant le maximum des valeurs absolues des éléments de Y.

return 0.9*Y/np.abs(Y).max() 

Cela ne veut pas la seule façon on pourrait procéder; mais pour moi, ce qui précède semble être l'adaptation la plus directe de votre code au cas complexe.