Normalización de datos mapminmax

# Normalización de datos
1. ¿Por qué necesitamos normalizar?
Para cambiar una expresión dimensional en una expresión adimensional, la estandarización de los datos consiste en escalar los datos a un pequeño intervalo específico. La normalización se propone principalmente para la conveniencia del procesamiento de datos, es más conveniente y rápido mapear los datos en el rango de 0 a 1. Es una transformación, transformada en una expresión adimensional y se convierte en escalar. Esto no solo garantiza la conveniencia del cálculo, sino que también resalta el significado esencial de las cantidades físicas. La función importante de la normalización es eliminar la influencia de la diferencia entre los valores y dimensiones de las cantidades físicas y establecer una escala unificada para todas las cantidades físicas, bajo la cual se considera la ley de cambio de los datos experimentales. La normalización es principalmente para eliminar la influencia de las dimensiones.

Zhihu dio otra explicación sobre la normalización.
Siento que sería mejor dar un pequeño ejemplo aquí y agregarlo más tarde.
2. ¿Normalizar por muestra o por característica?
train_data =
[1 3 7
2 4 8]
Cada columna representa una muestra y cada fila representa una característica de la muestra.
En primer lugar, creo que los datos deberían normalizarse por característica, es decir, normalizados por fila.

3. ¿Deben normalizarse las muestras de entrenamiento y las muestras de prueba juntas o por separado?
Para la regresión, creo que la entrada de la muestra de entrenamiento y la entrada de la muestra de prueba deben normalizarse juntas, y la salida de la muestra de entrenamiento y la salida de la muestra de prueba deben normalizarse juntas.
Debido a que una línea de la muestra pertenece al mismo atributo, todas las entradas deben juntarse y normalizarse.
Si la muestra de entrenamiento se normaliza primero, por ejemplo,
rain_data =
[1 3 7
2 4 8]
y luego la muestra de prueba se normaliza de acuerdo con la información máxima y mínima normalizada por la muestra de entrada, obviamente, 9, 10 de la muestra de prueba no pertenece a 1 Dentro del rango de -7, esto no es razonable.
test_data =
9 10
6 2
4. Función Matlab para normalizar los datos.
1. Uso básico
[y, ps] = mapminmax (x, ymin, ymax)% Aquí, si no se especifica ymin, ymax, ymin toma el valor predeterminado de -1, Ymax por defecto es 1, si x se normaliza al rango de 0,1, entonces [y, ps] = mapminmax (x, 0,1)
mapminmax (datos) El rango de normalización predeterminado es [-1,1], y normaliza cada fila. ¡Recuerda normalizar las filas! ! !
La información en la matriz de muestra x registrada en ps incluye el número de filas en x, los valores máximo y mínimo de cada fila en x, y otra información.
Ejecute el código de matlab:
x = [2,3,4,5,6;
7,8,9,10,11
6, 5, 4, 5, 7];
[xx, ps] = mapminmax (x, 0, 1);
Después de ejecutar:
Inserte la descripción de la imagen aquí
En realidad mapminmax realiza y = (ymax-ymin) * (x-xmin) / (xmax-xmin) + ymin
en cada fila de x ; y es el valor de cada fila en la tabla anterior, es decir, x es calculado de acuerdo con el resultado del algoritmo anterior.
La información antes y después de la operación x registrada en ps. xrows representa el número de filas de x, xmax representa el valor máximo de cada fila de x, xmin representa el valor mínimo de cada fila de x, xrange representa el rango de valores de cada fila de x, yrows representa el número de filas en el tabla anterior, y ymax se refiere al valor máximo de y.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/JGL121314/article/details/108740286
Recomendado
Clasificación