Valores normalizados de características para SVM

He estado jugando con algunas implementaciones de SVM y me pregunto: ¿cuál es la mejor manera de normalizar los valores de las características para que encajen en un rango? (de 0 a 1)

Supongamos que tengo 3 características con valores en rangos de:

3 - 5.

0.02 - 0.05

10-15.

¿Cómo convierto todos esos valores en el rango de [0,1]?

¿Qué pasa si, durante el entrenamiento, el valor más alto de la función número 1 que encontraré es 5 y después de que comience a usar mi modelo en conjuntos de datos mucho más grandes, me encontraré con valores tan altos como 7? Entonces en el rango convertido, superaría 1 ...

¿Cómo normalizo los valores durante el entrenamiento para tener en cuenta la posibilidad de que los "valores en libertad" excedan los valores más altos (o más bajos) que el modelo "vio" durante el entrenamiento? ¿Cómo reaccionará el modelo a eso y cómo lo hago funcionar correctamente cuando eso sucede?

Respuestas a la pregunta(2)

Su respuesta a la pregunta