‫Bienvenue à tous dans cette discussion continue sur la théorie et l'intuition derrière les machines à
‫vecteurs de support dans cette conférence.
‫Nous allons vraiment nous concentrer sur l'astuce du noyau et les mathématiques derrière les machines à vecteurs de support.
‫Auparavant, nous n'avons vraiment discuté que de l'intuition derrière ces méthodes.
‫Nous allons donc maintenant passer brièvement en revue les mathématiques générales de la façon dont nous construisons pour prendre en
‫charge les machines vectorielles et nous discuterons également de la façon dont les mathématiques sont liées aux appels séculaires et de classe.
‫Nous commencerons par un bref aperçu de l'utilisation des classificateurs basés sur les marges, qui s'étendent lentement du classificateur à marge
‫maximale au classificateur à vecteurs de support, puis enfin à l'aide de l'astuce du noyau pour les machines à vecteurs
‫de support.
‫Maintenant, n'hésitez pas à considérer cela comme une conférence facultative, que vous pouvez remplacer par la lecture relative.
‫La lecture de fond peut être trouvée dans le chapitre neuf d'une introduction à l'apprentissage statistique pour un aperçu approfondi
‫et complet de tout ce dont nous discutons.
‫Vous pouvez consulter la publication originale de Cortez et si APNIC a appelé Support Vector Networks dans le
‫Machine Learning Journal.
‫Maintenant, parlons d'abord des hyperplaintes définies mathématiquement ici, je peux imaginer un espace à deux
‫dimensions avec deux caractéristiques X1 et X2.
‫Un hyper plan n'est qu'une ligne en deux entités, ce qui signifie que je pourrais définir cela mathématiquement comme les lignes que nous
‫avons vues auparavant.
‫Un bêta, pas pour l'interception plus bêta une fois X1 plus bêta deux fois x2 et définissez-le égal à zéro et il y
‫aura un ensemble de bêtas qui définira cette ligne.
‫Maintenant, gardez à l'esprit que je pourrais étendre cela à un certain nombre de dimensions, en continuant simplement là où il
‫y a un seul coefficient Beita pour chaque caractéristique.
‫Maintenant, c'est la définition mathématique d'un hyper plan pour un certain nombre de caractéristiques.
‫Parlons de la séparation des hyperplans, l'idée derrière les hyperplans pour les machines à vecteurs de support est qu'ils séparent
‫les classes, ce qui signifie que je devrais commencer à penser non seulement à la ligne de plan
‫hybride elle-même, mais aux définitions mathématiques de ce que je ' je vais considérer comme un facteur de
‫séparation.
‫Je veux donc considérer que les valeurs supérieures à zéro vont tomber d'un côté de cet hyper plan.
‫De même, les valeurs inférieures à zéro vont tomber de l'autre côté de l'hyper plan.
‫Alors maintenant, j'ai un ensemble d'équations qui est capable de définir de quel côté de l'hyper plan vous tombez.
‫La dernière considération que nous devons faire afin de définir mathématiquement quelque chose comme un classificateur de
‫marge maximale sont les points de données eux-mêmes.
‫Quelque chose à noter ici est que lorsque nous tapons cela mathématiquement, nous montrons généralement les
‫points caractéristiques ou les points de données réels comme la matrice transposée de X.
‫C'est-à-dire que X un à NP représente le nombre de points de données et un à P représente
‫le nombre d'entités.
‫Remarquez donc que cela est transposé de la façon dont nous écrivons généralement nos données dans quelque chose comme le
‫bloc de données d'un panda.
‫Ce sont les mêmes données.
‫Transposez simplement.
‫Alors les colonnes des lignes et les lignes des colonnes, encore une fois, un à N est le nombre
‫de points eux-mêmes.
‫Une thérapie est le nombre de caractéristiques réelles.
‫Donc dans ce cas, nous aurions deux caractéristiques X1 et X2, étant donné le schéma de droite et nous
‫aurions six points.
‫Donc un à six serait un à travers.
‫Utilisons maintenant toutes ces informations pour définir mathématiquement un classificateur de marge max.
‫Rappelons que l'objectif d'un classificateur de marge max est de maximiser M où m est cette marge s'étendant à partir
‫de l'aquaplanage.
‫Nous essayons donc essentiellement de choisir les meilleurs coefficients bêta qui peuvent maximiser cette marge, mais
‫nous avons certaines contraintes.
‫Nous sommes soumis à ces deux contraintes, compte tenu de l'ensemble de données, alors qu'est-ce que cela signifie réellement ?
‫Eh bien, tout cela signifie que ce que nous essayons de faire est de considérer les points de données ici.
‫Dans ce cas, nous avons six points de données ou un via NP.
‫Et nous voulons nous assurer que nous remplissons cette exigence de sujet où essentiellement les points de données vont être
‫égaux ou supérieurs à la marge, selon le côté de la marge sur lequel ils se
‫situent réellement.
‫Il s'agit essentiellement d'une manière mathématique de dire que pour un classificateur de marge maximale, aucun point de données ne
‫peut réellement se trouver dans la marge.
‫Nous sommes également soumis à cette somme des carrés pour les coefficients bêta étant égal à un.
‫Maintenant, cela aide en fait à correspondre à l'autre équation en déterminant que si vous deviez intégrer les valeurs des
‫caractéristiques dans l'équation ci-dessous, si vous êtes soumis au bêta au carré et que la somme de
‫celles-ci est égale à un, alors pourquoi ai-je multiplié par ces coefficients bêta fois?
‫La valeur de la caractéristique vous donne la distance perpendiculaire du point à l'hyper plaine, et elle garantit que cette
‫distance est au moins aussi grande que la marge elle-même.
‫C'est juste pour dire qu'avec cette contrainte, nous sommes capables de calculer mathématiquement la distance
‫orthogonale de n'importe quel point à l'hyper plaine.
‫Et ici, nous avons à nouveau la définition complète, mathématiquement parlant, du classificateur de marge Emax, étant donné cette matrice
‫de transposition de points de données, nous voulons déterminer les coefficients bêta qui vont
‫maximiser cet em soumis à ces deux équations, ce qui garantit essentiellement que les points sont en dehors de ces marges et
‫tombent du bon côté de la marge compte tenu de leur classe.
‫Et nous sommes soumis à ce bêta au carré, un certain coefficient étant égal à un afin de déterminer
‫la distance orthogonale des points à l'hyper plaine.
‫Passons maintenant à un classificateur de vecteurs de support.
‫Rappelez-vous qu'un classificateur à vecteur de support est différent d'un classificateur à marge maximale car il
‫permet des classifications erronées, permettant essentiellement qu'un certain nombre de points tombent dans la marge.
‫Nous voulons donc toujours maximiser cette marge et nous voulons toujours nous assurer
‫que la somme des carrés est égale à un afin de pouvoir déterminer la distance orthogonale des vecteurs
‫au plan lui-même.
‫Mais comme il existe un classificateur de vecteur de support, j'autorise maintenant un terme d'erreur.
‫Remarquez donc que j'utilise Epsilon et que cet epsilon est une relation entre une valeur C définie ou cette valeur C va déterminer
‫le nombre de classifications erronées que vous vous autorisez réellement.
‫C'est donc à peu près la même équation, sauf que maintenant la marge a ce facteur d'erreur facteur epsilon déterminé par la
‫somme de l'Epsilon étant Lessner égale pour voir où le C peut être fourni par l'utilisateur.
‫Et nous allons pouvoir utiliser la validation croisée pour résoudre le C optimal afin de maximiser la précision ou de maximiser la
‫précision ou le rappel, en fonction de ce que nous essayons réellement d'optimiser ici.
‫Mais c'est la définition complète d'un classificateur de vecteur de support, essentiellement la même chose qu'un classificateur
‫de marge max.
‫Mais avec ces contraintes supplémentaires ou les ajouts du fait que nous pouvons en fait avoir des classifications erronées contraintes
‫par une certaine valeur de C et que C passe à zéro, nous revenons en fait à un classificateur à marge
‫maximale, ne permettant essentiellement aucune erreur.
‫Maintenant, une note rapide sur cette valeur de SI, vous devriez remarquer que la façon dont vous l'avez définie ici mathématiquement,
‫plus la valeur de la mer est grande, plus nous nous permettons d'erreurs.
‫Saikat apprend parce qu'ils veulent rester cohérents sur plusieurs modèles.
‫Ils disent que C est un paramètre de régularisation inversement proportionnel au C indiqué dans l'équation ici.
‫C'est tout pour dire que mathématiquement, dans les équations que nous montrons ici, au fur et à mesure
‫que vous augmentez C, vous augmentez le nombre de classifications erronées que vous permettez à un aperçu d'apprendre qu'il est inversement proportionnel
‫à l'équation montrée ici.
‫De toute évidence, ils seront plus clairs au fur et à mesure que nous commencerons à expérimenter avec Saikat learn.
‫Mais c'est juste quelque chose à garder à l'esprit que la documentation C in cyclers et l'appel de classe pour les machines
‫à vecteurs de support n'est pas exactement la même chose que je montre ici dans les équations, ou que vous lirez
‫généralement lorsque vous lisez réellement le équations pour les machines à vecteurs de support.
‫C'est en fait inversement proportionnel à C, et c'est simplement parce qu'ils veulent que ce paramètre de
‫régularisation reste cohérent sur plusieurs modèles.
‫OK, donc enfin, passons aux machines à vecteurs de support et à la façon dont nous définissons celles-ci mathématiquement, rappelons que nous devons utiliser des
‫machines à vecteurs de support n'ont pas été en mesure de trouver un hyper plan clairement séparable pour nos points de données
‫ici, nous avons ce qui ressemble à quelque chose que nous pouvons pas vraiment séparé avec la ligne.
‫Nous avons un tas de points au milieu, puis une autre classe l'entourant.
‫Donc, ce que nous faisons, comme nous l'avons vu précédemment, est de transformer cela en une sorte de dimension supérieure ou d'espace de
‫caractéristiques.
‫Donc, pour le moment, je pourrais avoir des fonctionnalités x1 x2 jusqu'au nombre de fonctionnalités XP, et je pourrais utiliser quelque chose
‫comme une transformation polynomiale utilisant X1 et x1 au carré x2 à côté de carré tout le chemin pour étendre XP au carré afin
‫d'essayer de comprendre s'il y a un hyper hydravion dans cet espace de fonctionnalités plus grand
‫qui sera capable de séparer avec succès ces deux classes.
‫Et je peux toujours permettre des classifications erronées dans cet espace de fonctionnalités supérieur.
‫Encore une fois, ce que je veux faire, c'est maximiser cette marge.
‫Mais maintenant, j'ai beaucoup plus de coefficients bêta à prendre en compte en fonction de l'espace de fonctionnalités auquel j'étends
‫cela.
‫Donc, si nous exposons simplement tout cela mathématiquement, ce que nous faisons ici, c'est que nous ajoutons
‫l'addition pour ce cas simple d'un polynôme carré.
‫Gardez à l'esprit qu'il ne s'agit pas d'une machine à vecteurs de support généralisée.
‫Je montre juste la machine à vecteurs de support que nous avons précédemment montrée où l'expansion de l'espace des caractéristiques était
‫carrée, essentiellement l'une des machines à vecteurs de support les plus simples que nous puissions faire.
‫Nous ne considérons donc plus seulement x1 x2 jusqu'à XP, mais nous considérons également la valeur de caractéristique
‫au carré.
‫Je veux toujours maximiser ma marge m mais maintenant j'ai des coefficients non seulement pour les caractéristiques d'origine, mais aussi
‫des coefficients pour les caractéristiques au carré.
‫Et j'autorise les classifications erronées, que vous remarquerez en fait dans le sujet de y si
‫j'ai où elle est supérieure ou égale à la marge multipliée par un moins Epsilon ou Epsilon est à
‫nouveau défini par ce paramètre utilisateur C permettant essentiellement quelques erreurs classifications même dans cet espace de fonction
‫supérieur.
‫Ainsi, la machine à vecteurs de support avec l'utilisation de cet espace de caractéristiques plus
‫large me permettrait de comprendre comment séparer l'espace de caractéristiques réel afin de classer correctement ces points,
‫même au-delà de la contrainte des caractéristiques d'origine.
‫Depuis que je considère maintenant un plus grand espace de fonctionnalités comme X au carré ou X2 au carré, etc.
‫Maintenant, la principale question qui se pose alors que nous passons à un espace de fonctionnalités plus large est de savoir comment
‫gérer cette complexité croissante ?
‫Bien que nous n'ayons montré qu'un exemple simple d'un degré polynomial de deux, il est très probable que pour des ensembles
‫de données plus complexes, nous devrons développer ce polynôme à un degré beaucoup plus important.
‫Et à mesure que l'ordre polynomial augmente, le nombre de calculs nécessaires pour résoudre
‫les marges augmente également à un point tel qu'il peut être impossible de calculer réellement autant de calculs de marge.
‫La réponse à ce problème réside dans l'astuce du noyau, qui utilise le produit interne des vecteurs.
‫Ceci est également connu sous le nom de produit DOT.
‫Avant de vous montrer comment nous pouvons réellement utiliser l'astuce du noyau avec notre calcul de machine à vecteur de support.
‫Examinons rapidement ce que représente réellement un produit DOT ou un produit interne.
‫Donc, ici, nous allons simplifier un produit pour qu'il soit juste entre deux vecteurs et rappeler que les vecteurs
‫peuvent être plus que deux dimensions qui sont montrées ici peuvent être de nombreuses dimensions.
‫Mais pour plus de simplicité, nous allons simplement l'utiliser dans un espace à deux dimensions.
‫J'ai le vecteur A et le vecteur B, et le produit DOT ou le produit interne entre ces deux vecteurs
‫est défini comme la somme de chacun de leurs sous-composants multipliée ensemble.
‫C'est-à-dire que si j'ai un vecteur à deux dimensions montré ici, alors il y a un sous-composant le long
‫de l'axe X et un sous-composant le long de l'axe Y, que je pourrais définir comme A1 et B un le long de l'axe X, puis
‫A deux et B deux le long de l'axe Y.
‫Maintenant, vous pouvez imaginer qu'à mesure que nous passons aux vecteurs tridimensionnels, aux vecteurs quadridimensionnels, cetera, il
‫y aura des sous-composants pour chacune de ces dimensions et pour le produit DOT.
‫Cela signifierait que dans ce cas particulier, le produit interne ou produit DOT entre A et
‫B serait simplement la somme de chacun de ces sous-composants multipliée ensemble.
‫Maintenant, vous vous souviendrez peut-être aussi de vos cours de mathématiques que ce n'est pas la seule définition ou notation
‫mathématique pour cela.
‫Ce produit, le produit DOT, peut également être défini comme une multiplication de la grandeur de chacun
‫des vecteurs multipliée par le cosinus du degré qui les sépare.
‫Maintenant, pourquoi est-il important de noter également que si nous commençons à penser à un produit dans ce
‫format, il s'agit essentiellement d'une similitude entre les vecteurs.
‫Cela va donc aboutir au même calcul que de dire A1 fois B1 plus A deux fois B2.
‫C'est essentiellement une autre définition du produit DOT.
‫La raison pour laquelle cela est utile est qu'avec cette production de cosinus de thêta, c'est une mesure de similarité entre
‫les vecteurs.
‫Vous pouvez penser à cela en considérant les cas extrêmes.
‫Imaginez que le degré entre ceux-ci était nul.
‫Le cosinus de zéro est égal à un où cela signifie que ce produit est essentiellement
‫la multiplication de la magnitude du vecteur A. et le vecteur B, cela a du sens car si le degré
‫était zéro, cela signifie que ces deux vecteurs pointent exactement dans la même direction, ce qui signifie que leur degré ou cosinus
‫thêta est à cent pour cent similaire.
‫Il doit donc être égal à un.
‫Vous remarquerez également dans le cas où ces deux vecteurs sont perpendiculaires ou orthogonaux l'un à l'autre,
‫cosinus de 90 degrés.
‫Ce serait égal à zéro, ce qui signifie que le produit interne est égal à zéro.
‫Et puis s'ils pointent dans des directions exactement opposées, c'est-à-dire un cosinus de cent quatre-vingts
‫degrés, alors nous aurions moins un, disant essentiellement que c'est moins une fois la magnitude de
‫A et la magnitude de B.
‫Il est donc clair que nous pouvons considérer ce produit interne comme une mesure de similarité.
‫Passons maintenant à la discussion sur le colonel Eric.
‫Nous pouvons penser à un classificateur de vecteurs de support linéaire en fonction de ce produit interne, ou nous pouvons
‫dire que nous avons une fonction de X égale à Beita, pas plus la somme de quelques temps de terme alpha, le
‫produit interne de chaque paire de rotation points.
‫Nous calculons essentiellement les produits internes de toutes les paires d'observations d'apprentissage.
‫Et vous pouvez consulter la lecture du chapitre neuf d'eSolar pour un examen plus approfondi.
‫Ou vous pouvez consulter la publication de Cortez et Chapnick, ainsi que les raisons pour lesquelles nous
‫sommes en mesure d'effectuer ce calcul des produits internes.
‫Mais pour l'instant, il suffit de le prendre, car je suis capable de réécrire un classificateur de vecteur de support linéaire
‫en termes de produits internes.
‫Maintenant, puisque je suis capable de calculer les produits internes de toutes les paires d'observations d'apprentissage
‫multipliés par un paramètre alpha, vous vous rendrez compte que dans ce cas particulier, le paramètre alpha n'est différent de zéro
‫que pour les vecteurs de support.
‫Revenons en arrière une seconde et voyons si cela a du sens.
‫Je viens de vous le dire, je peux réécrire le classificateur de vecteur de support linéaire en
‫utilisant cette équation, qui dit qu'au lieu de calculer ce coefficient bêta multiplié par la valeur de la caractéristique elle-même,
‫je vais essayer de calculer cet alpha multiplié par le produit interne de toutes les paires d'observations de formation.
‫Mais si je le réécris de cette façon, vous vous rendrez vite compte qu'Alpha n'est différent de zéro que pour les vecteurs de
‫support marqués en jaune sur ce tracé.
‫Maintenant, est-ce que cela a du sens ?
‫Eh bien, intuitivement parlant, cela rappelle que la marge ne dépend que des vecteurs de support.
‫Du point de vue des marges, peu importe une fois que vous avez atteint le vecteur de support,
‫quels vecteurs se trouvent au-delà, car vous ne trouvez cette marge que par les premiers vecteurs de support avec
‫lesquels elle entre en contact, ce qui signifie que vous ' Vous vous épargnez déjà beaucoup de calculs, mais
‫vous n'avez à vous soucier que des vecteurs de support, c'est-à-dire des vecteurs qui entrent en contact avec la marge.
‫Maintenant, à cause de cela, je peux réécrire à partir de I égal à un jusqu'à n'importe quel nombre
‫de points et à la place, considérer uniquement I dit s où s est une collection des indices de ces points de support, essentiellement la
‫même équation.
‫Mais je ne considère que les points de vecteur de support car nous pouvons montrer qu'Alpha ne dépend que de
‫ces points de support, n'ayant essentiellement pas à faire autant de calculs.
‫Vient ensuite la fonction colonel, nous allons donc trouver une fonction colonel en tant que fonction K entre deux points d'entraînement, le
‫point d'entraînement œil et le point d'entraînement I prime, et nous pouvons montrer que cela va être égal
‫à ce qui suit.
‫Un certain X de IFJ multiplié par X par un nombre premier de J.
‫Et cela devrait évidemment sembler familier car cela ressemble à un produit intérieur et à un colonel.
‫Vous pouvez le considérer comme une fonction qui quantifie simplement la similitude de deux observations.
‫Et nous venons de parler de la façon dont ils pointent le produit et le produit intérieur sont essentiellement des mesures de similitude.
‫Cela signifie que si vous commencez réellement à regarder cette équation de classificateur de vecteur de support linéaire, nous la
‫définissons à l'aide d'un produit interne.
‫Alors maintenant, je peux utiliser ma relation d'un produit interne égal à la somme de ces multiplications de chaque sous-composant afin
‫d'échanger ma fonction de noyau dans ce classificateur de vecteur de support nouvellement réécrit, nous donnant essentiellement une machine à vecteur
‫de support où je peux facilement échanger dans n'importe quelle fonction de noyau que je veux, où encore
‫une fois, la fonction de noyau est essentiellement une mesure de similarité.
‫Et il y a en fait de nombreuses fonctions du noyau parmi lesquelles choisir.
‫Nous montrons la fonction de noyau la plus simple, qui n'est qu'un noyau linéaire, mais je peux aussi avoir un
‫avis de noyau polynomial.
‫Je calcule maintenant simplement cette fonction de noyau où j'ai une relation entre la fonction de
‫noyau et le degré de ce que je veux calculer, ce qui m'épargne beaucoup de calculs car je ne
‫calcule plus réellement les calculs dans l'espace complet des fonctionnalités.
‫Je calcule le noyau, qui est un produit interne.
‫Un autre colonel populaire est le bassiste radio, le colonel ou autrement connu sous le nom de fonction de bassiste radio RBF.
‫C'est un colonel beaucoup plus compliqué.
‫Et en fait, si vous essayez de calculer cela sans utiliser les produits internes, cela crée
‫en fait, en théorie, un nombre infini de comparaisons de calcul.
‫Donc, la seule façon de le faire mathématiquement est d'utiliser une fonction du noyau qui va utiliser le produit interne.
‫Ainsi, l'utilisation de Col's en remplacement est connue sous le nom d'astuce COL, et c'est ce qui se passe réellement lorsque nous utilisons
‫le support.
‫Les machines vectorielles ont pu réécrire cette relation à partir du classificateur de vecteurs de support en termes de
‫produit interne.
‫Et puis nous avons une variété de choix de Khalsa qui sont essentiellement définis comme des fonctions de similitude, que
‫je peux échanger partout où je vois le produit intérieur se produire.
‫Et puis Col's nous permet d'éviter les calculs dans l'espace des fonctionnalités élargi.
‫Ils n'ont besoin d'effectuer des calculs que pour chaque paire distincte de points de retournement où je n'ai vraiment besoin
‫de considérer que ces vecteurs de support eux-mêmes.
‫Les détails complets derrière cela peuvent être trouvés dans la section neuf virgule trois virgule deux, eSolar.
‫Maintenant, intuitivement, ce que nous avons déjà vu, c'est que les produits internes agissent comme une mesure de la similarité
‫entre les vecteurs et la meilleure façon pour moi d'expliquer intuitivement les machines à vecteurs de support, au cas où vous
‫n'auriez pas compris l'astuce du noyau, c'est que l'utilisation de Les noyaux peuvent être considérés comme une mesure de la
‫similarité entre l'espace des caractéristiques d'origine et l'espace des caractéristiques agrandi.
‫Ainsi, au lieu d'avoir à effectuer les calculs bruts et l'espace de fonctionnalités élargi, je peux dire que les
‫noyaux me donneront une mesure de la similitude entre l'espace de fonctionnalités d'origine et le grand espace
‫de fonctionnalités et utiliseront les noyaux pour effectuer un calcul, au lieu de me sauver beaucoup de travail de calcul
‫dans cet espace de fonctionnalités élargi.
‫OK, maintenant que nous comprenons la théorie et l'intuition derrière les machines à vecteurs de support, passons à
‫leur utilisation avec du code.
‫Je te verrai au prochain cours.