‫Bienvenidos todos a esta discusión continua de la teoría y la intuición detrás de las máquinas de
‫vectores de soporte en esta conferencia.
‫Realmente nos centraremos en el truco del kernel y las matemáticas detrás de las máquinas de vectores de soporte.
‫Anteriormente, solo hemos hablado de la intuición detrás de estos métodos.
‫Entonces, lo que vamos a hacer ahora es repasar brevemente las matemáticas generales de cómo construimos para
‫soportar máquinas vectoriales y también discutiremos cómo las matemáticas se relacionan con las llamadas seculares y de clase.
‫Comenzaremos con una breve revisión del uso de clasificadores basados en márgenes que se expanden lentamente desde el clasificador de
‫margen máximo para admitir el clasificador de vectores, y luego finalmente usamos el truco del kernel para admitir máquinas de
‫vectores.
‫Ahora siéntase libre de considerar esto como una lección opcional, que puede reemplazar con la lectura relativa.
‫La lectura de antecedentes se puede encontrar en el capítulo nueve de una introducción al aprendizaje estadístico para obtener una descripción
‫general profunda y completa de todo lo que discutimos.
‫Puede consultar la publicación original de Cortez y si APNIC llamó Support Vector Networks en el
‫Machine Learning Journal.
‫Ahora, primero hablemos de hiperplaints definidos matemáticamente aquí, puedo imaginar un espacio bidimensional
‫con dos características X1 y X2.
‫Un hiperplano es solo una línea en dos características, lo que significa que podría definir esto matemáticamente como las líneas que
‫hemos visto antes.
‫Una beta, no para la intersección más beta una vez X1 más beta dos veces x2 y establezca esto igual a cero y
‫habrá algún conjunto de beta que definirá esta línea.
‫Ahora, tenga en cuenta que podría expandir esto a varias dimensiones, simplemente continuando esto donde hay un
‫único coeficiente de Beita para cada característica.
‫Ahora, esta es la definición matemática de un hiperplano para algunas características.
‫Hablemos de separar los hiperplanos, la idea detrás de los hiperplanos para las máquinas de vectores de soporte es que
‫están separando las clases, lo que significa que debería comenzar a pensar no solo en la línea del plano
‫híbrido en sí, sino en las definiciones matemáticas de lo que yo ' Lo voy a considerar como factor
‫separador.
‫Entonces quiero considerar que los valores que están por encima de cero van a caer en un lado de este hiperplano.
‫Del mismo modo, los valores por debajo de cero van a caer del otro lado del hiperplano.
‫Así que ahora tengo un conjunto de ecuaciones que pueden definir en qué lado del hiperplano caes.
‫La última consideración que debemos hacer para definir matemáticamente algo como un clasificador de margen máximo
‫son los puntos de datos en sí.
‫Algo a tener en cuenta aquí es que cuando realmente escribimos esto matemáticamente, generalmente mostramos los
‫puntos de características reales o puntos de datos como la matriz transpuesta de X.
‫Es decir, X uno a NP representa el número de puntos de datos y uno a P representa el
‫número de características.
‫Así que observe que esto se transpone de la forma en que normalmente escribimos nuestros datos en algo como el
‫marco de datos de un panda.
‫Son los mismos datos.
‫Solo transponer.
‫Entonces, las columnas de las filas y las filas de las columnas, nuevamente, uno a N es el número de
‫puntos en sí.
‫Una terapia es el número de características reales.
‫Entonces, en este caso, tendríamos dos características X1 y X2, dado el diagrama de la derecha y
‫tendríamos seis puntos.
‫Entonces uno a seis sería uno a través.
‫Ahora usemos toda esta información para definir matemáticamente un clasificador de margen máximo.
‫Recuerde que todo el propósito de un clasificador de margen máximo es maximizar M donde m es este margen que se extiende desde
‫el hidroplaneo.
‫Por lo tanto, esencialmente estamos tratando de elegir los mejores coeficientes beta que puedan maximizar este margen,
‫pero tenemos algunas restricciones.
‫Estamos sujetos a estas dos restricciones, dado el conjunto de datos, entonces, ¿qué significa esto realmente?
‫Bueno, todo esto significa que lo que estamos tratando de hacer es considerar los puntos de datos aquí.
‫En este caso, tenemos seis puntos de datos o uno hasta NP.
‫Y lo que queremos hacer es asegurarnos de que cumplimos con este requisito de la asignatura, en el que esencialmente los puntos
‫de datos serán iguales o mayores que el margen, dependiendo del lado del margen en el que
‫realmente caigan.
‫Básicamente, esto es solo una forma matemática de decir que para un clasificador de margen máximo, ningún punto de
‫datos puede estar dentro del margen.
‫También estamos sujetos a esta suma de cuadrados para que los coeficientes beta sean iguales a uno.
‫Ahora, esto en realidad ayuda a corresponder a la otra ecuación al determinar que si tuviera que insertar los valores de
‫las características en la ecuación a continuación, si está sujeto a beta al cuadrado y la suma de esos
‫es igual a uno, entonces ¿por qué he multiplicado por estos tiempos de coeficientes beta?
‫El valor de la característica le da la distancia perpendicular desde el punto al hiperplano y asegura que esa
‫distancia sea al menos tan grande como el margen mismo.
‫Esto es solo para decir que con esta restricción podemos calcular matemáticamente la
‫distancia ortogonal desde cualquier punto al hiperplano.
‫Y aquí tenemos la definición completa, matemáticamente hablando, del clasificador de margen Emax nuevamente, dada esta matriz de
‫transposición de puntos de datos, queremos averiguar los coeficientes beta que van a
‫maximizar este em sujeto a estas dos ecuaciones, lo que esencialmente asegura que los puntos están fuera de esos márgenes
‫y caen en el lado correcto del margen dada su clase.
‫Y estamos sujetos a esta beta al cuadrado, algún coeficiente es igual a uno para determinar la
‫distancia ortogonal desde los puntos hasta el hiperplano.
‫Ahora, pasemos a un clasificador de vectores de soporte.
‫Recuerde que un clasificador de vectores de soporte es diferente de un clasificador de margen máximo
‫porque permite clasificaciones erróneas, lo que esencialmente permite que algunos puntos caigan dentro del margen.
‫Así que todavía queremos maximizar este margen y queremos asegurarnos de que estamos sujetos
‫a que la suma del cuadrado sea igual a uno para poder determinar la distancia ortogonal desde los vectores
‫al plano en sí.
‫Pero debido a que hay un clasificador de vectores de soporte, ahora permito algún término de error.
‫Observe que estoy usando Epsilon y este épsilon es una relación entre algún valor C establecido o este valor C va
‫a determinar cuántos errores de clasificación te permites realmente.
‫Así que es más o menos la misma ecuación, excepto que ahora el margen tiene este factor de error épsilon determinado por
‫la suma de Epsilon siendo Lessner igual para ver dónde el usuario puede proporcionar la C.
‫Y podremos usar la validación cruzada para resolver la C óptima con el fin de maximizar la precisión o maximizar la
‫precisión o la recuperación, según lo que realmente estemos tratando de optimizar aquí.
‫Pero esta es la definición completa de un clasificador de vectores de soporte, esencialmente lo mismo que un clasificador
‫de margen máximo.
‫Pero con estas restricciones agregadas o adiciones del hecho de que en realidad podemos tener clasificaciones erróneas restringidas
‫por algún valor de C y cuando C va a cero, entonces regresamos a un clasificador de margen máximo,
‫esencialmente sin permitir ningún error.
‫Ahora, una nota rápida sobre este valor de SI, debería notar que la forma en que lo ha definido aquí
‫matemáticamente, cuanto mayor es el valor del mar, más errores nos permitimos.
‫Saikat aprende debido al hecho de que quieren mantener la coherencia en varios modelos.
‫Dicen que C es un parámetro de regularización inversamente proporcional al C que se muestra en la ecuación aquí.
‫Eso es todo para decir que matemáticamente hablando, en las ecuaciones que estamos mostrando aquí, a medida
‫que aumenta C, aumenta el número de clasificaciones erróneas y permite que la comprensión aprenda que es inversamente proporcional a la ecuación
‫que se muestra aquí.
‫Obviamente, serán más claros a medida que comencemos a experimentar con el aprendizaje de Saikat.
‫Pero es solo algo para tener en cuenta que el C en la documentación de los cicladores y la llamada de
‫clase para máquinas vectoriales de soporte no es exactamente lo mismo que estoy mostrando aquí en las ecuaciones, o que
‫normalmente leerá cuando esté leyendo el ecuaciones para máquinas de vectores de soporte.
‫En realidad, es inversamente proporcional a C, y eso es solo porque quieren que el parámetro de
‫regularización permanezca consistente en múltiples modelos.
‫Bien, finalmente, pasemos a admitir máquinas vectoriales y cómo las definimos matemáticamente. Recordemos que necesitamos usar máquinas vectoriales
‫de soporte. No pudimos encontrar ningún hiperplano claramente separable para nuestros puntos de datos. Aquí tenemos
‫lo que parece algo que podemos. Realmente no se separa con la línea.
‫Tenemos un montón de puntos en el medio y luego otra clase que lo rodea.
‫Entonces, lo que hacemos, como discutimos anteriormente, es transformar esto en algún tipo de dimensión superior o espacio de
‫características.
‫Así que ahora mismo podría tener características x1 x2 hasta el número de características de XP, y podría usar
‫algo como una transformación polinomial usando X1 y x1 al cuadrado x2 al lado de al cuadrado para expandir XP al
‫cuadrado para tratar de averiguarlo si hay un hiperhidroavión en este espacio de características
‫más grande, podrá separar con éxito estas dos clases.
‫Y todavía puedo permitir clasificaciones erróneas en este espacio de características superior.
‫De nuevo, lo que quiero hacer es maximizar este margen.
‫Pero ahora tengo muchos más coeficientes beta para considerar dependiendo del espacio de funciones al que estoy expandiendo
‫esto.
‫Entonces, si simplemente presentamos todo esto matemáticamente, lo que estamos haciendo aquí es agregar la suma
‫para este caso simple de un polinomio cuadrado.
‫Tenga en cuenta que esta no es una máquina de vectores de soporte generalizada.
‫Solo estoy mostrando la máquina de vectores de soporte que mostramos anteriormente donde la expansión del espacio de características era
‫cuadrada, esencialmente una de las máquinas de vectores de soporte más simples que podemos hacer.
‫Entonces, ya no solo estamos considerando x1 x2 hasta XP, sino que también estamos considerando el valor de la característica
‫al cuadrado.
‫Todavía quiero maximizar mi margen m, pero ahora tengo coeficientes no solo para las características originales, sino también
‫coeficientes para las características al cuadrado.
‫Y estoy permitiendo clasificaciones erróneas, que notará que en realidad están en el tema ay
‫si yo donde es mayor o igual al margen multiplicado por uno menos Epsilon o Epsilon se define
‫nuevamente por este parámetro de usuario C esencialmente permitiendo algunos errores clasificaciones incluso en este espacio de características
‫superior.
‫Entonces, la máquina de vectores de soporte con la utilización de este espacio de características
‫más grande me permitiría descubrir cómo separar el espacio de características real para clasificar estos puntos correctamente, incluso
‫más allá de la restricción de las características originales.
‫Dado que ahora estoy considerando un espacio de características más grande de cosas como X al cuadrado o X2 al cuadrado, etc.
‫Ahora, la pregunta principal que surge a medida que avanzamos hacia un espacio de características más grande es ¿cómo lidiamos realmente
‫con esta creciente complejidad?
‫Si bien solo mostramos un ejemplo simple de un polinomio de grado dos, es muy probable que para conjuntos
‫de datos más complejos, necesitemos hacer crecer este polinomio en un grado mucho mayor.
‫Y a medida que el orden de los polinomios crece, el número de cálculos necesarios
‫para resolver los márgenes también crece hasta un punto en el que puede ser inviable calcular realmente tantos cálculos de márgenes.
‫La respuesta para solucionar este problema radica en el truco del núcleo, que hace uso del producto interno de los vectores.
‫Esto también se conoce como producto DOT.
‫Antes, le mostraremos cómo podemos usar el truco del kernel con nuestro cálculo de máquina de vectores de soporte.
‫Repasemos rápidamente lo que realmente representa un producto DOT o un producto interno.
‫Entonces, aquí vamos a simplificar un producto para que esté entre dos vectores y recordemos que los vectores pueden
‫ser más que solo dos dimensiones que se muestran aquí pueden ser muchas, muchas dimensiones.
‫Pero para simplificar, solo usaremos esto en un espacio bidimensional.
‫Tengo el vector A y el vector B, y el producto DOT o producto interno entre estos dos vectores se
‫define como la suma de cada uno de sus subcomponentes multiplicados.
‫Es decir, si tengo un vector bidimensional que se muestra aquí, entonces hay un subcomponente a lo largo del eje
‫X y un subcomponente a lo largo del eje Y, que podría definir como A1 y B uno a lo largo del eje X, y luego A
‫dos y B dos a lo largo del eje Y.
‫Ahora puede imaginar que a medida que avanzamos hacia los vectores tridimensionales, los vectores de cuatro dimensiones,
‫etc., habrá subcomponentes para cada una de esas dimensiones y para el producto DOT.
‫Eso significaría que en este caso particular, el producto interno o producto DOT entre A y B
‫sería simplemente la suma de cada uno de esos subcomponentes multiplicados juntos.
‫Ahora, también puede recordar de sus clases de matemáticas que esta no es la única definición o notación
‫matemática para ello.
‫Ese producto, el producto DOT, también se puede definir como una multiplicación de la magnitud de cada uno
‫de los vectores multiplicado por el coseno del grado entre ellos.
‫Ahora, ¿por qué es importante tener en cuenta también que si comenzamos a pensar en un producto en
‫este formato, es esencialmente una similitud entre los vectores?
‫Así que esto dará como resultado el mismo cálculo que decir A1 por B1 más A dos por B2.
‫Es esencialmente otra definición para el producto DOT.
‫La razón por la que esto es útil es porque con esta producción de coseno de theta, es una medida de similitud
‫entre los vectores.
‫Puede pensar en esto considerando casos extremos.
‫Imagina que el grado entre estos fuera cero.
‫El coseno de cero es igual a uno donde eso significa que ese producto es esencialmente
‫la multiplicación de la magnitud del vector A. y el vector B, eso tiene sentido porque si el grado era
‫cero, eso significa que ambos vectores apuntan exactamente en la misma dirección, lo que significa que su grado o coseno
‫theta es cien por ciento similar.
‫Entonces debería ser igual a uno.
‫También notará en el caso de que estos dos vectores sean perpendiculares u ortogonales entre sí,
‫coseno de 90 grados.
‫Eso sería igual a cero, lo que significa que el producto interno es igual a cero.
‫Y luego, si apuntan en direcciones exactamente opuestas, es decir, el coseno de ciento ochenta
‫grados, entonces tendríamos uno negativo que esencialmente dice que es negativo una vez la magnitud de
‫A y la magnitud de B.
‫Así que claramente podemos pensar en este producto interno como una medida de similitud.
‫Pasemos ahora a hablar del coronel, Eric.
‫Podemos pensar en un clasificador de vectores de soporte lineal en términos de este producto interno, o podemos decir
‫que tenemos alguna función de X es igual a Beita, no más la suma de algunos tiempos de término alfa, el producto
‫interno de cada par de vueltas puntos.
‫Básicamente, calculamos los productos internos de todos los pares de observaciones de entrenamiento.
‫Y puede consultar la lectura en el Capítulo nueve de eSolar para una mirada más profunda.
‫O puede consultar la publicación de Cortez y Chapnick, además de por qué
‫podemos realizar este cálculo de productos internos.
‫Pero por ahora, es como tomarlo, ya que puedo reescribir un clasificador de vectores de soporte lineal en
‫términos de productos internos.
‫Ahora, dado que puedo calcular los productos internos de todos los pares de observaciones de entrenamiento
‫multiplicados por algún parámetro alfa, se dará cuenta de que en este caso particular, el parámetro alfa es solo distinto de
‫cero para los vectores de soporte.
‫Así que retrocedamos un segundo y veamos si esto tiene sentido.
‫Les acabo de decir, puedo reescribir el clasificador de vectores de soporte lineal usando esta ecuación,
‫que dice que en lugar de calcular este coeficiente beta multiplicado por el valor de la característica en
‫sí, intentaré calcular este alfa multiplicado por el producto interno de todos los pares de observaciones de entrenamiento.
‫Pero si lo reescribo de esta manera, pronto se dará cuenta de que Alpha solo es distinto de cero para los vectores de
‫soporte marcados en amarillo en ese gráfico.
‫Ahora, ¿eso tiene sentido?
‫Bueno, hablando intuitivamente, recuerda que el margen solo depende de los vectores de soporte.
‫Desde el punto de vista de los márgenes, realmente no importa una vez que golpeas el vector de soporte,
‫qué vectores se encuentran más allá de él, porque eres solo el hallazgo de ese margen por los primeros vectores
‫de soporte con los que entra en contacto, lo que significa que tú ' Ya te estás ahorrando mucho cálculo,
‫pero solo tienes que preocuparte por los vectores de soporte, es decir, los vectores que entran en contacto con el margen.
‫Ahora, debido a esto, puedo reescribir desde I es igual a uno hasta cualquier número de puntos y,
‫en su lugar, solo considerar que dije s donde s es una colección de los índices de estos puntos de apoyo, esencialmente la
‫misma ecuación.
‫Pero solo estoy considerando los puntos del vector de soporte porque podemos mostrar que Alpha solo depende de
‫esos puntos de soporte, esencialmente sin tener que hacer tantos cálculos.
‫Luego viene la función de coronel, así que vamos a encontrar una función de coronel como una función K entre dos puntos
‫de entrenamiento, ojo de punto de entrenamiento y punto de entrenamiento I prime, y podemos demostrar que esto será
‫igual a lo siguiente.
‫Alguna X de la FIP multiplicada por X por el primo de J.
‫Y esto, obviamente, debería parecer familiar porque parece un producto interno y un coronel.
‫Puede pensar en ello como una función que simplemente cuantifica la similitud de dos observaciones.
‫Y acabamos de hablar sobre cómo el producto punteado y el producto interno son esencialmente medidas de similitud.
‫Eso significa que si comienza a mirar realmente la ecuación del clasificador de vectores de soporte lineal, la
‫definimos usando un producto interno.
‫Entonces ahora puedo usar mi relación de un producto interno que es igual a la suma de estas multiplicaciones de
‫cada subcomponente para intercambiar mi función de kernel en este clasificador de vectores de soporte recientemente reescrito, esencialmente dándonos una
‫máquina de vectores de soporte donde puedo intercambiar fácilmente en cualquier función del kernel que desee, donde
‫nuevamente, la función del kernel es esencialmente una medida de similitud.
‫Y en realidad hay muchas funciones del kernel para elegir aquí.
‫Estamos mostrando la función de kernel más simple, que es solo un kernel lineal, pero también puedo tener un
‫aviso de kernel polinomial.
‫Ahora solo estoy calculando esta función del kernel donde tengo una relación entre la
‫función del kernel y el grado de lo que quiero calcular, ahorrándome muchos cálculos porque ya no
‫estoy calculando cálculos en el espacio completo de funciones.
‫Estoy calculando el kernel, que es un producto interno.
‫Otro coronel popular es el bajista de radio, coronel o también conocido como función de bajista de radio RBF.
‫Este es un coronel mucho más complicado.
‫Y de hecho, si intenta realmente calcular esto sin utilizar los productos internos, en realidad
‫crea, en teoría, un número infinito de comparaciones computacionales.
‫Entonces, la única forma de hacer esto matemáticamente es con una función del kernel que usará el producto interno.
‫Entonces, el uso de Col's como reemplazo se conoce como el truco COL, y eso es lo que realmente sucede cuando
‫usamos soporte.
‫Las máquinas vectoriales pudieron reescribir esa relación desde el clasificador de vectores de soporte en términos de un
‫producto interno.
‫Y luego tenemos una variedad de Khalsa para elegir que se definen esencialmente como funciones de similitud, que
‫puedo intercambiar donde sea que vea que ocurre el producto interno.
‫Y luego los de Col nos permiten evitar cálculos en el espacio de características ampliado.
‫Solo necesitan realizar cálculos para cada par distinto de puntos de inflexión donde realmente solo necesito considerar
‫esos vectores de soporte en sí mismos.
‫Los detalles completos detrás de esto se pueden encontrar en la Sección nueve punto tres punto dos, eSolar.
‫Ahora, intuitivamente, lo que ya hemos visto es que los productos internos actúan como una medida de similitud entre vectores y
‫la mejor manera en que puedo explicar intuitivamente las máquinas de vectores de soporte, en caso de que no le quedara
‫claro el truco del kernel es que el uso de Los núcleos se pueden considerar como una medida de similitud
‫entre el espacio de características original y el espacio de características ampliado.
‫Entonces, en lugar de tener que realizar los cálculos sin procesar y el espacio de características ampliado, puedo decir
‫que los núcleos me darán una medida de similitud entre el espacio de características original y el
‫espacio de características grande y usarán los núcleos para realizar cálculos, en lugar de eso me ahorrarán mucho trabajo computacional
‫en ese espacio de características ampliado.
‫Bien, ahora que entendemos la teoría y la intuición detrás de las máquinas de vectores de soporte, pasemos
‫a usarlas realmente con código.
‫Te veré en la próxima conferencia.