usar tener tendencia seguidores saber que poner para muchos mas likes hashtags conseguir como buscador machine-learning svm scaling

machine-learning - tener - hashtag para instagram 2018



¿Por qué característica de escala? (7)

Descubrí que la escala en problemas de SVM (Support Vector Machine) realmente mejora su rendimiento ... He leído esta explicación:

"La principal ventaja de la escala es evitar atributos en rangos numéricos mayores que dominan aquellos en rangos numéricos más pequeños".

Desafortunadamente, esto no me ayudó ... ¿Alguien me puede dar una mejor explicación? ¡Gracias de antemano!


De lo que he aprendido del curso de Andrew Ng en coursera es que la ampliación de características nos ayuda a alcanzar el gradiente decente más rápidamente, si los datos están más dispersos, eso significa que si tiene una desviación más alta, tomará relativamente más tiempo. para calcular el gradiente decente en comparación con la situación cuando escalamos nuestros datos a través del escalado de características


El escalado de características es un truco general que se aplica a los problemas de optimización (no solo a SVM). El algoritmo de subrayado para resolver el problema de optimización de SVM es el descenso de gradiente. Andrew Ng tiene una gran explicación en sus videos de coursera here .

Ilustraré las ideas centrales aquí (tomo prestadas las diapositivas de Andrew). Supongamos que solo tiene dos parámetros y uno de ellos puede tomar un rango de valores relativamente grande. Luego, el contorno de la función de costo puede verse como óvalos muy altos y delgados (vea óvalos azules a continuación). Sus gradientes (el trazado de gradiente se dibuja en rojo) pueden tardar mucho tiempo y pueden ir y venir para encontrar la solución óptima.

En cambio, si ha escalado su función, el contorno de la función de costo podría parecer círculos; entonces el gradiente puede tomar un camino mucho más directo y alcanzar el punto óptimo mucho más rápido.


La idea de escalar es eliminar los cálculos de incesados ​​en una variable en particular al estandarizar todas las variables en una misma escala con esto, tendemos a calcular la pendiente mucho más fácil (y = mx + c) donde estamos normalizando el parámetro M para convergen lo más rápido posible.


La verdadera razón detrás de las características de escalado en SVM es el hecho de que este clasificador no es invariante de transformación afín . En otras palabras, si multiplica una característica por 1000, una solución dada por SVM será completamente diferente. No tiene casi nada que ver con las técnicas de optimización subyacentes (aunque se ven afectadas por los problemas de estas escalas, deben converger al óptimo global).

Considere un ejemplo: usted tiene un hombre y una mujer, codificados por su sexo y altura (dos características). Asumamos un caso muy simple con tales datos:

0 hombre, 1 mujer

1 150

1 160

1 170

0 180

0 190

0 200

Y hagamos algo tonto. Entrénelo para predecir el sexo de la persona, por lo que estamos tratando de aprender f (x, y) = x (ignorando el segundo parámetro).

Es fácil ver que, para tales datos, el clasificador de margen más grande "cortará" el plano horizontalmente en algún lugar alrededor de la altura "175", por lo que una vez que obtengamos una nueva muestra "0 178" (una mujer de 178 cm de altura) obtendremos la clasificación de que ella es un hombre.

Sin embargo, si reducimos todo a [0,1] obtenemos algo como

0 0.0

0 0.2

0 0.4

1 0.6

1 0.8

1 1.0

y ahora el clasificador de margen más grande "corta" el plano casi verticalmente (como se esperaba) y así, dada la nueva muestra "0 178" que también se escala a alrededor de "0 0.56", obtenemos que es una mujer (¡correcto!)

Por lo tanto, en general, la escala asegura que solo porque algunas características son grandes no llevará a usarlas como predictor principal .


Podemos acelerar el descenso de gradiente al tener cada uno de nuestros valores de entrada en aproximadamente el mismo rango. Esto se debe a que θ descenderá rápidamente en pequeños rangos y lentamente en grandes rangos, por lo que oscilará ineficientemente hasta el óptimo cuando las variables son muy desiguales. Esto es del curso de Andrews NG coursera.

Entonces, se hace para hacer algo como estandarizar los datos. A veces los investigadores quieren saber si una observación específica es común o excepcional. expresar una puntuación en términos de la cantidad de desviaciones estándar que se elimina de la media. Este número es lo que llamamos una puntuación z. Si recodificamos los puntajes originales en puntajes z, decimos que estandarizamos una variable.


Sí, si la normalización no está allí, entonces el contorno será delgado y, por lo tanto, con la normalización:

  1. Los valores están dentro del rango
  2. Acelera el cálculo de theta porque la cantidad de cálculos requeridos será menor

Solo pensamientos personales desde otra perspectiva.
1. ¿Por qué influye la escala de características?
Hay una palabra en la aplicación de algoritmo de aprendizaje automático, ''basura dentro, basura fuera''. Cuanto más real sea el reflejo de sus funciones, más precisión obtendrá su algoritmo. Eso también se aplica a cómo los algoritmos de aprendizaje automático tratan la relación entre las características. A diferencia del cerebro humano, cuando los algoritmos de aprendizaje automático se clasifican, por ejemplo, todas las características se expresan y calculan mediante el mismo sistema de coordenadas, que en cierto sentido, establece un supuesto a priori entre las características (no realmente la reflexión de los datos en sí). Y también la naturaleza de la mayoría de los algoritmos es encontrar el porcentaje de peso más apropiado entre las características para ajustar los datos. Por lo tanto, cuando las entradas de estos algoritmos tienen características sin escala, los datos a gran escala tienen más influencia en el peso. En realidad no es el reflejo de los datos en sí.
2. ¿ Por qué generalmente la escala de características mejora la precisión?
La práctica común en los algoritmos de aprendizaje automático no supervisados ​​acerca de la selección de hiper-parámetros (o hiper-parámetros) (por ejemplo, el proceso de Dirichlet jerárquico, hLDA) es que no debe agregar ninguna suposición subjetiva personal sobre los datos. La mejor manera es simplemente asumir que tienen la probabilidad de igualdad para aparecer. Creo que se aplica aquí también. La escala de características solo intenta suponer que todas las funciones tienen la oportunidad de influir en el peso, lo que refleja más la información / conocimiento que usted conoce sobre los datos. Comúnmente también resulta en una mejor precisión.

Por cierto, sobre la transformación afín invariante y la convergencia más rápida, hay un enlace de interés here en stats.stackexchange.com.