what is support vector machine machine learning
Aquest tutorial explica la màquina vectorial de suport a ML i conceptes associats com ara hiperavió, vectors de suport i aplicacions de SVM:
A la Tutorial anterior , vam conèixer els algorismes genètics i el seu paper en l’aprenentatge automàtic.
Hem estudiat alguns algoritmes supervisats i no supervisats en l’aprenentatge automàtic en els nostres tutorials anteriors. La retropropagació és un algorisme d'aprenentatge supervisat, mentre que Kohenen és un algorisme d'aprenentatge no supervisat.
En aquest tutorial de màquines vectorials de suport, coneixerem les màquines vectorials de suport. Els SVM són algorismes d’aprenentatge automàtic supervisats matemàticament i sòlids que s’utilitzen extensament en la classificació del conjunt de dades de formació.
=> Llegiu la sèrie completa de formació sobre aprenentatge automàtic
Què aprendreu:
- Què és una màquina vectorial de suport (SVM)
- Què és un hiperavió
- Què són els algorismes de classificació i regressió
- Què són els vectors de suport
- Com funciona una màquina vectorial de suport
- Com optimitzar la posició de l’hiperplà
- Aplicacions de SVM
- Conclusió
- Lectura recomanada
Què és una màquina vectorial de suport (SVM)
L’algorisme SVM és un algorisme d’aprenentatge supervisat classificat en tècniques de classificació. És una tècnica de classificació binària que utilitza el conjunt de dades d’entrenament per predir un hiperplàni òptim en un espai n-dimensional.
Aquest hiperplà s’utilitza per classificar nous conjunts de dades. En ser un classificador binari, el conjunt de dades d’entrenament, l’hiperplà, divideix el conjunt de dades d’entrenament en dues classes.
Els algoritmes SVM s’utilitzen per classificar les dades en un pla bidimensional i també en un hiperplà multidimensional. L'hiperplà multidimensional utilitza els 'nuclis' per classificar les dades multidimensionals.
Sempre es vol tenir una distinció màxima entre els punts de dades classificats. Això vol dir que haurien de tenir una distància màxima o que l’hiperplà hauria de tenir un marge màxim entre els punts de dades.
Què és un hiperavió
Un hiperplà és un límit que divideix el pla. És un límit de decisió que classifica els punts de dades en 2 classes diferents. Com que SVM s'utilitza per classificar les dades en multidimensionals, un hiperplà pot ser una línia recta si hi ha 2 entrades o un pla 2 D si hi ha més de 2 entrades.
Els algoritmes SVM també es poden utilitzar per a l'anàlisi de regressió, però principalment s'utilitzen per a la classificació. Vegem alguns detalls més sobre cadascun d’aquests mètodes.
Què són els algorismes de classificació i regressió
Un algorisme de classificació és el que analitza les dades de formació per predir el resultat. El resultat és una classe objectiu, per exemple , Dia o Nit, Sí o No, Llarg o Curt. Un exemple d'algorisme de classificació seria si un client d'una botiga que compra pa també compraria mantega. La classe objectiu seria 'Sí' o 'No'.
Un algorisme de regressió descobreix la relació entre les variables independents i prediu un resultat. La regressió lineal descobreix una relació lineal entre l'entrada i la sortida. Per exemple: 'A' com a entrada i 'b' com a sortida, una funció lineal seria b = k * a + c.
Què són els vectors de suport
Els vectors de suport són els punts de dades que ens ajuden a optimitzar l’hiperplà. Aquests vectors es troben més a prop de l’hiperplà i són més difícils de classificar. La posició de l’hiperplà de decisió depèn dels vectors de suport. Si s’eliminen aquests vectors de suport, també canviarà la posició de l’hiperplà.
Una màquina vectorial de suport (SVM) utilitza els punts de dades d’entrada o les funcions anomenades vectors de suport per maximitzar els límits de decisió, és a dir, l’espai al voltant de l’hiperplà. Les entrades i sortides d’un SVM són similars a la xarxa neuronal. Només hi ha una diferència entre el SVM i el NN, tal com s’indica a continuació.
Entrades: La xarxa SVM pot contenir n nombre d’entrades per exemple x1, x2, ...... .., xjo, ...., Xn.
Sortides: La sortida objectiu t.
Pesos: Igual que els pesos de la xarxa neuronal w1, a2, ……, ans’associen a cada entrada la combinació lineal de la qual prediu la sortida y.
Diferència entre xarxes neuronals i SVM
Els pesos sinàptics de les xarxes neuronals s’eliminen per calcular la sortida y de la xarxa mentre que en SVM es redueixen o s’eliminen els pesos diferents de zero per calcular el límit de decisió òptim.
Amb l’eliminació dels pesos, reduirà el conjunt de dades d’entrada a algunes funcions d’entrada importants que ajudaran a decidir l’hiperplà separable.
Com funciona una màquina vectorial de suport
Com sabem, l'objectiu de les màquines vectorials de suport és maximitzar el marge entre els punts de dades classificats. Això aportarà resultats més òptims per classificar nous conjunts de dades sense formació. Així, es pot aconseguir tenint un hiperplà en una posició on el marge és màxim.
Vegem un exemple de punts de dades separats linealment:
Pas 1: Esbrineu l’hiperplà correcte a partir de diferents possibilitats: per decidir el millor hiperplà, esbrineu tots els plans possibles que divideixen les dades i, a continuació, seleccioneu el que millor classifiqui els conjunts de dades d’entrada. Al gràfic següent hi ha tres possibilitats d’hiperplà. L'hiperplà 3 divideix millor els punts de dades.
Pas 2: Seleccioneu un hiperplà que tingui un marge màxim entre els punts de dades més propers: el marge es defineix com la distància entre l’hiperplà i els punts de dades més propers. Per tant, és òptim tenir un marge màxim. Quan 2 o més de 2 hiperavions classifiquin les dades per igual, esbrineu el marge.
Es tria l’hiperplà amb el marge màxim. A la figura següent, l’hiperplà 2.1.2.2 i 2.3 divideix els punts de dades, però l’hiperplà 2.2 té un marge màxim.
Pas 3: Quan hi ha valors atípics: els valors atípics són punts de dades diferents d’un conjunt de punts de dades. En el cas de 2 conjunts de punts de dades, pot existir un valor atípic. El SVM ignora aquests valors atípics a les dades i, a continuació, troba un hiperplà de marge màxim.
Pas 4: En cas de punts de dades separats no linealment, el SVM utilitza un truc del nucli. Convertirà un pla no linealment separable en panell separable introduint una nova dimensió. Els trucs del nucli són equacions matemàtiques complexes que fan transformacions de dades complexes per optimitzar l’hiperplà.
La figura següent mostra punts de dades no linealment separables que després es transformen en alta dimensionalitat amb el pla z. L'hiperplà que divideix els dos conjunts de dades és un cercle.
Com optimitzar la posició de l’hiperplà
La posició de l’hiperplà s’optimitza mitjançant els algorismes d’optimització.
Paràmetre SVM: nucli
La creació d’un hiperplà optimitzat en un problema no separable linealment es fa mitjançant nuclis. Els nuclis són funcions matemàtiques que converteixen el problema complex mitjançant la forma algebraica lineal.
Per a un nucli lineal, l'equació es troba com:
F (x) = b + suma (ajo* (x, xjo))
on,
x són les noves dades d'entrada
xjoés el vector de suport
b, ajosón els coeficients. Aquests coeficients s’estimen durant la fase d’aprenentatge de l’algorisme.
Per a un problema complex separable no linealment, el truc del nucli funciona com convertir el problema separable no lineal en un problema separable. Transforma les dades complexes i descobreix la manera de dividir els punts de dades en sortides.
Les funcions del nucli són de molts tipus, com ara lineal, polinòmic, sigmoide, biaix radial, no lineal i moltes més.
Vegem els usos d'algunes de les funcions del nucli anteriors:
Les funcions del nucli calculen el producte intern de les 2 entrades x, y de l'espai.
# 1) Funció de biaix radial: La funció del nucli més utilitzada diu que per a tots els valors compresos entre x = (-1,1), el valor de la funció és 1 en cas contrari 0. Per a algunes interceptacions, digueu xjo, el valor de la funció del nucli és 1 per | (xjo- h), (xjo+ h) | per a xjopres com a centre i 0 en cas contrari.
# 2) Funció sigmoide: Com a xarxes neuronals que utilitzen Sigmoid, la funció del nucli per a SVM és
# 3) Funció tangent hiperbòlica: Tal com fan servir les xarxes neuronals, la funció és
# 4) Funció del nucli gaussià: La funció del nucli de Gauss indica
# 5) Funció polinòmica: k (xjo, xj) = (Xjo* xj+1)2
Aplicacions de SVM
Les aplicacions de la vida real de SVM inclouen:
# 1) Classificació d'articles en diferents categories: El SVM diferencia els textos escrits i el divideix en diferents categories, com ara Entreteniment, Salut, Articles de ficció. Es basa en els valors de llindar preestablerts calculats mentre s’entrenava l’SVM.
Si es creua el valor llindar, es posa a la categoria. Si no es compleix el valor, es defineixen noves categories per classificar-les.
millor editor de python mac os x
# 2) Reconeixement de la cara: La imatge donada es classifica com a imatge facial o no facial mitjançant la detecció de les característiques mitjançant píxels. Es reconeix la imatge com una cara o una no cara.
# 3) Informació sanitària: Els SVM s’utilitzen per classificar els pacients en funció dels seus gens, el reconeixement de patrons biològics, etc.
# 4) Detecció d'homologia de proteïnes: En ciències mèdiques computacionals, els SVM s’entrenen sobre com es modelen les seqüències de proteïnes. El SVM s'utilitza llavors per detectar l'homologia de les proteïnes.
Conclusió
En aquest tutorial de màquines de vectors de suport, hem conegut les màquines de vectors de suport. Els algorismes SVM són algorismes d’aprenentatge supervisats que s’utilitzen per classificar dades binàries i dades separables linealment. Classifica els punts de dades per un hiperplà amb un marge màxim.
Els punts de dades no lineals també es poden classificar per màquines vectorials de suport que utilitzen Kernel Tricks. Hi ha moltes aplicacions de SVM a la vida real, una de les aplicacions més habituals és el reconeixement facial i el reconeixement d’escriptura a mà.
Bona lectura !!
=> Visiteu aquí la sèrie exclusiva d’aprenentatge automàtic
Lectura recomanada
- Tutorial d'aprenentatge automàtic: Introducció a ML i les seves aplicacions
- Una guia completa sobre xarxes neuronals artificials en aprenentatge automàtic
- Mineria de dades contra aprenentatge automàtic contra intel·ligència artificial contra aprenentatge profund
- Tipus d’aprenentatge automàtic: supervisat contra aprenentatge no supervisat
- Introducció als algorismes genètics en l'aprenentatge automàtic
- 11 eines de programari d'aprenentatge automàtic més populars el 2021
- Les 13 millors empreses d'aprenentatge automàtic (Llista actualitzada 2021)
- Què és Java Vector | Tutorial de Java Vector Class amb exemples