04- Hiperparámetro

Hiperparámetro

  Hiperparámetro: se puede entender simplemente como el parámetro que debe especificarse antes de ejecutar el algoritmo de aprendizaje automático . La k en el algoritmo kNN es el hiperparámetro más típico.

  También hay un parámetro de modelo correspondiente al hiperparámetro . Los parámetros del modelo son los parámetros aprendidos en el proceso del algoritmo . El algoritmo kNN que aprendimos anteriormente no tiene parámetros de modelo, solo hiperparámetros, y k es un hiperparámetro típico. Tanto el método de regresión lineal como el método de regresión logística que se aprenderá más adelante contienen una gran cantidad de parámetros del modelo, y luego puede tener una comprensión más profunda de los parámetros del modelo.

  A continuación, aprenderemos los hiperparámetros.

  Es posible que hayamos escuchado que un trabajo muy importante para los ingenieros de algoritmos de máquinas es ajustar los parámetros. En términos generales, este parámetro ajustado por ajuste es un hiperparámetro, porque es un parámetro que debemos determinar antes de que se ejecute el algoritmo.

  Entonces, ¿cómo solemos encontrar un buen hiperparámetro? En primer lugar, debido a que los algoritmos de aprendizaje automático se deben aplicar en diferentes campos, el conocimiento en diferentes campos es significativo. Normalmente, los mejores hiperparámetros para enfrentar diferentes problemas en diferentes campos pueden ser diferentes. Sí, y el mejor hiperparámetro se puede obtener a través del conocimiento en este campo.

  Entonces otro punto es el valor empírico . Para muchos problemas, hay muchos buenos valores empíricos utilizados por las personas. Muchas bibliotecas de aprendizaje automático tienen muchos valores predeterminados. Por lo general, estos valores predeterminados son valores empíricos relativamente buenos. Por ejemplo, la k en el algoritmo kNN en sklearn es 5 por defecto, por lo que este 5 es un mejor valor para el algoritmo kNN en la experiencia, pero aun así, frente a los problemas específicos a tratar, aún es posible resolver mejor su problema Los hiperparámetros no son lo mismo que los valores empíricos. Entonces, en este caso, es posible que solo podamos utilizar la búsqueda experimental .

  En otras palabras, intentamos probar varios conjuntos diferentes de hiperparámetros. Por ejemplo, probamos diferentes valores de k, y finalmente tomamos el valor de k con el mejor efecto como el valor de hiperparámetro utilizado por nuestro modelo real.

  Experimentemos específicamente para encontrar la mejor k.

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  De hecho, en el algoritmo kNN, no solo k es un hiperparámetro, sino que también se oculta un hiperparámetro muy importante.

  Hasta ahora, para el algoritmo kNN, como k = 3, hemos encontrado los tres puntos más cercanos al punto juzgado (verde), como se muestra en la figura siguiente, 1 rojo y 2 azules, y luego vote, azul: rojo = 2: 1, entonces el azul gana.
Inserte la descripción de la imagen aquí

  En este proceso, solo consideramos los tres nodos más cercanos al nodo verde, pero ignoramos las distancias correspondientes de los tres nodos más cercanos. De hecho, el nodo verde es el más cercano al nodo rojo. Entonces, en este caso, ¿es la distancia desde el nodo rojo? Si el peso es más pesado que el del nodo azul, entonces este es otro uso del algoritmo de k vecino más cercano, que es considerar el peso de la distancia . En general, el peso de la distancia que consideramos es el recíproco de esta distancia como el peso, en consecuencia, cuanto más cercana es la distancia, mayor es el recíproco y mayor el peso correspondiente. Entonces, en este caso, calculemos, el rojo es 1, el azul es 1/3 + 1/4 = 7/12, el rojo es más grande, entonces el rojo gana.
Inserte la descripción de la imagen aquí
  Si consideramos la distancia, en realidad hay otra ventaja. No hemos hablado de un problema antes, es decir, si usamos el algoritmo ordinario de k vecino más cercano, por ejemplo, k = 3, si el número de muestras clasificadas finalmente tiene 3 categorías, entonces Si hay un empate, el algoritmo ordinario del vecino más cercano k solo puede seleccionar un resultado aleatorio, lo que obviamente no es razonable. Y cuando tenemos en cuenta la distancia, podemos solucionar muy bien el problema de los billetes de empate.
Inserte la descripción de la imagen aquí

A continuación usamos el código para lograrlo.

Inserte la descripción de la imagen aquí


Más sobre la definición de distancia

  Hablamos antes sobre la distancia de Euler en nuestro algoritmo kNN .
Inserte la descripción de la imagen aquí
  Bueno, hay otra distancia muy famosa de distancia de Manhattan . (Es decir, la diferencia entre los dos puntos en cada dimensión, es decir, la diferencia en el eje x más la diferencia en el eje y) La
Inserte la descripción de la imagen aquí
  distancia entre las líneas roja, púrpura y amarilla en la figura anterior es la misma, que es Manhattan Distancia, la línea verde representa la distancia de Euler.

  Podemos encontrar la distancia de Manhattan y una distancia euclidiana es una cierta similitud en la forma de la siguiente derivación, podemos derivar la distancia de Minkowski (Distancia de Minkowski).

Inserte la descripción de la imagen aquí
  En este caso, equivale a obtener un nuevo hiperparámetro p. Cuando la distancia de Minkowski p es mayor o igual a 3, cuál es el significado matemático específico de esta distancia, no entraremos en ella.

A continuación usamos el código para lograrlo.

Inserte la descripción de la imagen aquí


El código específico se refiere a 05 hyperparameter.ipynb

Supongo que te gusta

Origin blog.csdn.net/qq_41033011/article/details/108967700
Recomendado
Clasificación