Este artículo se refiere principalmente a la SVM explicada por Abella, el resorte principal de la estación B, y organiza el aprendizaje de la SVM. Además, también se recomienda la derivación de pizarra blanca de la estación B para explicar las fórmulas matemáticas con más detalle.
Problema de optimización
Bajo ciertas condiciones, resuelva el problema de encontrar el valor máximo / mínimo de la función.
Método multiplicador de Lagrange
El modelo de cálculo del multiplicador de Lagrange es el siguiente. k es el número de restricciones y hk (x) es la restricción.
Los valores extremos se toman cuando son tangentes.En este momento, los gradientes de las dos funciones son colineales, por lo que las dos funciones deben ser lineales después de la derivación.
Convierta el problema restringido en un problema sin restricciones y luego derive directamente el problema sin restricciones.
Algoritmo KKT
El modelo matemático cuando se trata de restricciones de desigualdad.
La función Lagrange se construye utilizando condiciones KKT.
Las condiciones específicas de KKT son las siguientes:
1. Para la función lagrangiana construida, después de la derivación de x, el resultado de la fórmula es 0.
2. El coeficiente antes de la desigualdad es mayor o igual a 0.
Problema dual
Si el problema de optimización original no es fácil de resolver, entonces el problema dual puede resolverse. Encuentre el valor máximo primero, luego el valor mínimo. Cuando se cumple la condición KKT, esto es equivalente a encontrar el valor mínimo de la f (x) original.
Prueba de por qué los dos son equivalentes.
Definición de dualidad. Resultó ser el mínimo para w, primero para a y b, luego para w para ser el más pequeño. Después del problema de la dualidad, es todo lo contrario: primero encuentre el mínimo de w y luego el máximo de a y b.
min (max ())> = max (min ()), por ejemplo, precio de la vivienda. min (max ()) es encontrar el más pequeño entre un montón de precios altos de la vivienda, como Beijing; max (min ()) es encontrar el más grande entre un montón de precios bajos de la vivienda, como la ciudad del condado de la línea 18. El primero debe ser> = el último. La siguiente es una prueba matemática estricta: lo
normal es d <= p, y los dos son iguales solo cuando se establece la condición KKT.
Soporte de máquina de vectores
Generalmente se usa para resolver el modelo de clasificación binaria. Para el gráfico de la izquierda, puede encontrar innumerables líneas para resolver, pero para la línea de puntos, cuando la muestra aumenta, es fácil juzgar el error. Por el contrario, el efecto de la línea continua será mucho mejor.
La máquina de vectores de soporte es encontrar la línea continua de diferenciación óptima y maximizar la distancia a los vectores de soporte en ambos lados. (La distancia entre los dos tipos de muestras se maximiza).
Modelo matemático SVM
El propósito es encontrar la función de línea continua, es decir, w y b, wx + b = 0.
Aquí, las líneas de división de las dos categorías son wx + b = 1 y wx + b = -1. El resultado aquí también puede ser 1, Si es 100, los dos lados se dividen por 100 al mismo tiempo, el resultado sigue siendo 1, y las w y b en el otro lado solo se transforman linealmente, lo que no afectará el resultado.
Encuentra el valor máximo por sustracción.
Usando el teorema del coseno, se convierte la fórmula del producto interno de dos vectores.
Finalmente, el valor de d1 + d2 se puede maximizar.
Anteriormente, w estaba en el denominador, buscando el máximo, pero ahora está cambiando para encontrar el valor mínimo de w.
La condición es que el resultado real y el resultado predicho tengan el mismo signo, es decir, la predicción es correcta.
Usa Lagrange para convertirte en un problema sin restricciones.
Pase al cálculo del problema dual.
El cálculo final son los puntos de muestra en el vector de soporte, y otros no están involucrados en el cálculo.
Modelo matemático con variables flojas
El SVM anterior es para datos completamente separables, pero no considera puntos anormales. Agregar variables de holgura puede evitar valores atípicos.
En una determinada categoría, incluidas otras categorías, debe relajar las restricciones.
C es la penalización para la variable de holgura: cuanto mayor es la C, menor es la variable de holgura y menor es la distancia de la línea discontinua; cuanto menor es la C, mayor es la variable de holgura y mayor es la distancia de la línea discontinua.
Diferenciarlos por separado para que sus derivados sean 0.
Vuelva a colocar la solución en la fórmula original.
Forma dual y condiciones KKT.
Función del núcleo
Para muestras inseparables linealmente, se utiliza una función de núcleo.
El problema se extiende directamente a la alta dimensión:
otra forma de medir la similitud de los dos datos.
Añadir la función del núcleo.
condición necesaria y suficiente núcleos :
un núcleo común :
Algoritmo SMO para SVM
Primero encuentre el eje y, luego el eje x, luego el eje y ... arregle una variable y resuelva la otra.
SMO selecciona dos variables y realiza cálculos mientras las variables restantes no se mueven.
Debido a que otras variables son fijas, puede considerarse como un
parámetro constante prueba de límite superior e inferior:
Clasificación de muestra SVM multicategoría
OVR
Piense en la muestra general como dos categorías, una pertenece a A, la otra pertenece a no A, una pertenece a B y otra pertenece a no B ... De esta manera, cuando hay categorías K, se deben establecer K SVM. Determine qué categoría tiene la mayor probabilidad. Generalmente use esto.
ESTE
Entrene a los clasificadores A y B, B y C, A y C para clasificar. Use el método de conteo para determinar a qué categoría pertenecen más los datos y luego determine a qué categoría pertenecen los datos.
Pasos para usar SVM
2. Los datos están estandarizados porque se miden por distancia, por lo que el estándar debe estar unificado.
Parámetros SVM.
SVM ventajas y desventajas
Otra desventaja es que los hiperparámetros de SVM tienen una gran influencia en los resultados, porque el ajuste de los hiperparámetros afecta directamente la selección de los vectores de soporte. Generalmente, C es más grande que gamma. C toma un número por encima de 1+, y gamma toma un número por debajo de 1-.
Referencia de información
https://www.bilibili.com/video/BV1ZE411p73x?p=7