‫Bentornati, a tutti, a questa continua discussione sulla teoria e l'intuizione alla base delle macchine vettoriali
‫di supporto in questa lezione.
‫Ci concentreremo davvero sul trucco del kernel e sulla matematica dietro le macchine vettoriali di supporto.
‫In precedenza, abbiamo discusso solo dell'intuizione alla base di questi metodi.
‫Quindi ora faremo un breve accenno alla matematica generale di come costruiamo per supportare le
‫macchine vettoriali e discuteremo anche di come la matematica è correlata alle chiamate secolari e di classe.
‫Inizieremo con una breve rassegna sull'utilizzo di classificatori basati sui margini che si espandono lentamente dal classificatore del margine
‫massimo al classificatore vettoriale di supporto, e infine utilizzando il trucco del kernel per le macchine vettoriali di
‫supporto.
‫Ora sentiti libero di considerare questa lezione facoltativa, che puoi sostituire con la relativa lettura.
‫La lettura di fondo può essere trovata nel capitolo nove di un'introduzione all'apprendimento statistico per una panoramica profonda
‫e completa di tutto ciò di cui discutiamo.
‫Puoi controllare la pubblicazione originale di Cortez e se APNIC ha chiamato Support Vector Networks nel
‫Machine Learning Journal.
‫Ora, parliamo prima di iperpianti definiti matematicamente qui, posso immaginare uno spazio bidimensionale
‫con due caratteristiche X1 e X2.
‫Un iperpiano è solo una linea in due elementi, il che significa che potrei definirlo matematicamente come le linee che abbiamo
‫visto prima.
‫Una beta, non per l'intercetta più beta una volta X1 più beta due volte x2 e imposta questo uguale a zero e ci
‫sarà un insieme di beta che definirà questa linea.
‫Ora, tieni presente che potrei espandere questo a un numero di dimensioni, continuando così dove c'è un
‫singolo coefficiente Beita per ogni singola caratteristica.
‫Ora, questa è la definizione matematica di un iperpiano per un certo numero di caratteristiche.
‫Parliamo di separare gli iperpiani, l'intera idea dietro gli iperpiani per le macchine vettoriali di supporto è che
‫stanno separando le classi, il che significa che dovrei iniziare a pensare non solo alla linea
‫piana ibrida stessa, ma alle definizioni matematiche di ciò che ho considererò come un fattore di
‫separazione.
‫Quindi voglio considerare che i valori sopra lo zero cadranno su un lato di questo iperpiano.
‫Allo stesso modo, i valori sotto zero cadranno dall'altra parte dell'iperpiano.
‫Quindi ora ho una serie di equazioni in grado di definire su quale lato dell'iperpiano cadi.
‫L'ultima considerazione che dobbiamo fare per definire matematicamente qualcosa come un classificatore di margine
‫massimo sono i punti dati stessi.
‫Qualcosa da notare qui è che quando lo digitiamo matematicamente, in genere mostriamo i
‫punti caratteristici o i punti dati effettivi come la matrice trasposta di X.
‫Vale a dire che X da uno a NP rappresenta il numero di punti dati e da uno a P rappresenta il
‫numero di caratteristiche.
‫Quindi nota che questo viene trasposto dal modo in cui di solito scriviamo i nostri dati in qualcosa come il
‫frame di dati di un panda.
‫Sono gli stessi dati.
‫Basta trasporre.
‫Quindi le colonne delle righe e le righe delle colonne, di nuovo, da uno a N è il numero
‫di punti stessi.
‫Una terapia è il numero di caratteristiche effettive.
‫Quindi in questo caso avremmo due feature X1 e X2, dato il diagramma a destra e
‫avremmo sei punti.
‫Quindi da uno a sei sarebbe uno a uno.
‫Ora usiamo tutte queste informazioni per definire matematicamente un classificatore di margine massimo.
‫Ricordiamo che l'intero scopo di un classificatore di margine massimo è massimizzare M dove m è questo margine che si
‫estende dall'aquaplano.
‫Quindi stiamo essenzialmente cercando di scegliere i migliori coefficienti beta in grado di massimizzare questo margine,
‫ma abbiamo alcuni vincoli.
‫Siamo soggetti a questi due vincoli, dato il set di dati, quindi cosa significa in realtà?
‫Bene, tutto questo significa che quello che stiamo cercando di fare è considerare i punti dati qui.
‫In questo caso, abbiamo sei punti dati o uno attraverso NP.
‫E vogliamo assicurarci di soddisfare questo requisito del soggetto in cui essenzialmente i punti dati saranno
‫uguali o maggiori del margine, a seconda del lato del margine su cui
‫cadono effettivamente.
‫Questo è essenzialmente solo un modo matematico per dire che per un classificatore di margine massimo, nessun punto dati
‫può effettivamente trovarsi all'interno del margine.
‫Siamo anche soggetti a questa somma dei quadrati per i coefficienti beta pari a uno.
‫Ora, questo aiuta effettivamente a corrispondere all'altra equazione determinando che se dovessi inserire i valori delle caratteristiche
‫nell'equazione sottostante, se sei soggetto a beta al quadrato e la somma di questi è
‫uguale a uno, allora perché ho moltiplicato da questi coefficienti beta volte?
‫Il valore della caratteristica fornisce la distanza perpendicolare dal punto all'iperpiana e garantisce che tale
‫distanza sia grande almeno quanto il margine stesso.
‫Questo solo per dire che con questo vincolo siamo in grado di calcolare matematicamente
‫la distanza ortogonale da qualsiasi punto all'iperpiano.
‫E qui abbiamo di nuovo la definizione completa, matematicamente parlando, del classificatore di margine Emax, data questa matrice
‫di trasposizione di punti dati, vogliamo capire i coefficienti beta che massimizzeranno questo
‫em soggetto a queste due equazioni, il che essenzialmente assicura che i punti sono al di fuori di quei margini
‫e cadono sul lato corretto del margine data la loro classe.
‫E siamo soggetti a questo beta quadrato, qualche coefficiente è uguale a uno per determinare
‫la distanza ortogonale dai punti all'iperpiana.
‫Passiamo ora a un classificatore di vettori di supporto.
‫Richiamare un classificatore di vettori di supporto è diverso da un classificatore di margine massimo perché
‫consente classificazioni errate, consentendo essenzialmente che un certo numero di punti rientri nel margine.
‫Quindi vogliamo ancora massimizzare questo margine e vogliamo ancora assicurarci che
‫la somma dei quadrati sia uguale a uno per poter determinare la distanza ortogonale dai vettori
‫al piano stesso.
‫Ma poiché esiste un classificatore di vettori di supporto, ora consento alcuni termini di errore.
‫Quindi nota che sto usando Epsilon e questo epsilon è una relazione tra un valore C impostato o questo valore
‫C determinerà quante classificazioni errate ti permetti effettivamente.
‫Quindi è praticamente la stessa equazione, tranne che ora il margine ha questo fattore di errore fattore epsilon determinato dalla somma
‫di Epsilon che è uguale a Lessner per vedere dove la C può essere fornita dall'utente.
‫E saremo in grado di utilizzare la convalida incrociata per risolvere il C ottimale al fine di massimizzare l'accuratezza o massimizzare la precisione
‫o il richiamo, a seconda di ciò che stiamo effettivamente cercando di ottimizzare qui.
‫Ma questa è la definizione completa di un classificatore di vettori di supporto, essenzialmente la stessa cosa di un classificatore
‫di margine massimo.
‫Ma con questi vincoli aggiunti o aggiunte del fatto che possiamo effettivamente avere classificazioni errate vincolate da un
‫certo valore di C e quando C va a zero, allora torniamo effettivamente su un classificatore di margine massimo,
‫essenzialmente non consentendo alcun errore.
‫Ora, una breve nota su questo valore di SI, dovresti notare che il modo in cui l'hai definito qui
‫matematicamente, più grande è il valore del mare, più errori ci permettiamo.
‫Saikat impara perché vogliono rimanere coerenti su più modelli.
‫Dicono che C è un parametro di regolarizzazione inversamente proporzionale al C mostrato nell'equazione qui.
‫Questo è tutto per dire che matematicamente parlando, nelle equazioni che mostriamo qui, man mano
‫che aumenti C, aumenti il numero di classificazioni errate a cui permetti all'intuizione di apprendere che è inversamente proporzionale
‫all'equazione mostrata qui.
‫Ovviamente, saranno più chiari quando inizieremo a sperimentare con l'apprendimento di Saikat.
‫Ma è solo qualcosa da tenere a mente che il C nella documentazione di Cyclers e la richiesta di classe per le
‫macchine vettoriali di supporto non è esattamente la stessa cosa che sto mostrando qui nelle equazioni, o che in genere
‫leggerai quando stai effettivamente leggendo il equazioni per macchine a vettori di supporto.
‫In realtà è inversamente proporzionale a C, ed è solo perché vogliono che il parametro di
‫regolarizzazione rimanga coerente su più modelli.
‫OK, quindi, finalmente, passiamo alle macchine vettoriali di supporto e al modo in cui le definiamo matematicamente, ricordiamo che dobbiamo usare
‫le macchine vettoriali di supporto non sono state in grado di trovare alcun iperpiano chiaramente separabile per i nostri
‫punti dati qui abbiamo quello che sembra qualcosa che possiamo 't davvero separato con la linea.
‫Abbiamo un mucchio di punti nel mezzo e poi un'altra classe che lo circonda.
‫Quindi quello che facciamo, come abbiamo discusso in precedenza, è trasformare questo in una sorta di dimensione superiore o spazio di
‫funzionalità.
‫Quindi in questo momento potrei avere funzionalità x1 x2 fino al numero di funzionalità XP e potrei usare qualcosa
‫come una trasformazione polinomiale usando X1 e x1 al quadrato x2 accanto al quadrato fino a espandere XP al quadrato per provare
‫a capire se c'è un iper idrovolante in questo spazio più ampio che sarà
‫in grado di separare con successo queste due classi.
‫E posso ancora consentire classificazioni errate in questo spazio di funzionalità più elevato.
‫Quindi, ancora una volta, quello che voglio fare è massimizzare questo margine.
‫Ma ora ho molti più coefficienti beta da considerare a seconda dello spazio delle funzionalità a cui lo sto
‫espandendo.
‫Quindi, se esponiamo tutto questo matematicamente, quello che stiamo facendo qui è aggiungere l'aggiunta per
‫questo semplice caso di un polinomio quadrato.
‫Tieni presente che questa non è una macchina vettoriale di supporto generalizzata.
‫Sto solo mostrando la macchina vettore di supporto che abbiamo mostrato in precedenza dove l'espansione dello spazio delle caratteristiche
‫era quadrata, essenzialmente una delle macchine vettoriali di supporto più semplici che possiamo fare.
‫Quindi non stiamo più considerando solo x1 x2 fino a XP, ma stiamo anche considerando il valore della caratteristica
‫al quadrato.
‫Voglio ancora massimizzare il mio margine m ma ora ho coefficienti non solo per le caratteristiche originali, ma anche
‫coefficienti per le caratteristiche al quadrato.
‫E sto consentendo classificazioni errate, che noterai essere in realtà nel soggetto a y se
‫I dove è maggiore o uguale al margine per uno meno Epsilon o Epsilon è di nuovo definito
‫da questo parametro utente C essenzialmente consentendo qualche errore classificazioni anche in questo spazio di funzionalità più
‫elevato.
‫Quindi la macchina del vettore di supporto con l'utilizzo di questo spazio di funzionalità
‫più ampio mi consentirebbe di capire come separare lo spazio di funzionalità effettivo per classificare correttamente questi
‫punti, anche oltre il vincolo delle funzionalità originali.
‫Dato che ora sto considerando uno spazio di funzionalità più ampio di cose come X al quadrato o X2 al quadrato, ecc.
‫Ora, la domanda principale che sorge quando passiamo a uno spazio di funzionalità più ampio è come affrontiamo
‫effettivamente questa crescente complessità?
‫Anche se abbiamo mostrato solo un semplice esempio di un polinomio di grado due, è molto probabile che per set
‫di dati più complessi dovremo aumentare questo polinomio a un livello molto più ampio.
‫E man mano che l'ordine polinomiale cresce, il numero di calcoli necessari per
‫risolvere i margini cresce fino a un punto in cui potrebbe essere impossibile calcolare effettivamente così tanti calcoli di margine.
‫La risposta per risolvere questo problema risiede nel trucco del kernel, che fa uso del prodotto interno dei vettori.
‫Questo è anche noto come prodotto DOT.
‫Prima di mostrarti come possiamo effettivamente usare il trucco del kernel con il nostro calcolo del vettore di supporto.
‫Esaminiamo rapidamente cosa rappresenta effettivamente un prodotto DOT o un prodotto interno.
‫Quindi qui semplificheremo un prodotto in modo che sia solo tra due vettori e ricordiamo che i vettori
‫possono essere più di due dimensioni che mostrato qui possono essere molte, molte dimensioni.
‫Ma per semplicità, lo useremo in uno spazio bidimensionale.
‫Ho il vettore A e il vettore B e il prodotto DOT o il prodotto interno tra questi due vettori
‫è definito come la somma di ciascuno dei loro sottocomponenti moltiplicata insieme.
‫Vale a dire, se ho un vettore bidimensionale mostrato qui, allora c'è un sottocomponente lungo
‫l'asse X e un sottocomponente lungo l'asse Y, che potrei definire come A1 e B uno lungo l'asse X, e poi
‫A due e B due lungo l'asse Y.
‫Ora puoi immaginare che mentre passiamo ai vettori tridimensionali, vettori quadridimensionali, cetera, ci saranno
‫sottocomponenti per ciascuna di quelle dimensioni e per il prodotto DOT.
‫Ciò significherebbe in questo caso particolare, il prodotto interno o il prodotto DOT tra A e
‫B sarebbe solo la somma di ciascuno di quei sottocomponenti moltiplicati insieme.
‫Ora, potresti anche ricordare dalle tue lezioni di matematica che questa non è l'unica definizione o notazione matematica
‫per questo.
‫Quel prodotto, il prodotto DOT, può anche essere definito come una moltiplicazione della grandezza di ciascuno dei
‫vettori moltiplicata per il coseno del grado tra di loro.
‫Ora, perché è importante notare anche che se iniziamo a pensare a un prodotto in questo
‫formato, è essenzialmente una somiglianza tra i vettori.
‫Quindi questo risulterà nello stesso calcolo di dire A1 per B1 più A due per B2.
‫È essenzialmente un'altra definizione per il prodotto DOT.
‫Il motivo per cui questo è utile è perché con questa produzione di coseno di theta, è una misura di somiglianza tra
‫i vettori.
‫Puoi pensare a questo considerando casi estremi.
‫Immagina che il grado tra questi fosse zero.
‫Il coseno di zero è uguale a uno dove ciò significa che quel prodotto è essenzialmente
‫la moltiplicazione della grandezza del vettore A. e il vettore B, ha senso perché se il grado fosse zero,
‫significa che entrambi questi vettori puntano esattamente nella stessa direzione, il che significa che il loro grado o coseno theta
‫è simile al cento per cento.
‫Quindi dovrebbe essere uguale a uno.
‫Noterai anche nel caso in cui questi due vettori siano perpendicolari o ortogonali tra loro, coseno
‫di 90 gradi.
‫Sarebbe uguale a zero, il che significa che il prodotto interno è uguale a zero.
‫E poi se puntano in direzioni esattamente opposte, cioè coseno di centottanta gradi, allora
‫avremmo uno negativo che essenzialmente dice che è negativo uno per la grandezza di A
‫e la grandezza di B.
‫Quindi chiaramente possiamo pensare a questo prodotto interno come una misura di somiglianza.
‫Quindi passiamo ora alla discussione del colonnello, Eric.
‫Possiamo pensare a un classificatore di vettori di supporto lineare in termini di questo prodotto interno, oppure possiamo dire
‫che abbiamo una funzione di X uguale a Beita, non più la somma di alcuni termini alfa per volte, il prodotto
‫interno di ciascuna coppia di giri punti.
‫In sostanza, calcoliamo i prodotti interni di tutte le coppie di osservazioni di addestramento.
‫E puoi dare un'occhiata alla lettura nel capitolo nove di eSolar per uno sguardo più approfondito.
‫Oppure puoi controllare la pubblicazione di Cortez e Chapnick, oltre al motivo per cui siamo in
‫grado di eseguire effettivamente questo calcolo dei prodotti interni.
‫Ma per ora, è un po' basta prenderlo, dato che sono in grado di riscrivere un classificatore di vettori di supporto lineare
‫in termini di prodotti interni.
‫Ora, poiché sono in grado di calcolare i prodotti interni di tutte le coppie di osservazioni
‫di addestramento moltiplicate per un parametro alfa, ti renderai conto che in questo caso particolare, il parametro alfa è diverso da zero
‫solo per i vettori di supporto.
‫Quindi torniamo indietro un secondo e vediamo se ha senso.
‫Te l'ho appena detto, posso riscrivere il classificatore del vettore di supporto lineare usando questa
‫equazione, che dice che invece di calcolare questo coefficiente beta moltiplicato per il valore della caratteristica stessa, proverò
‫a calcolare questo alfa moltiplicato per il prodotto interno di tutte le coppie di osservazioni di formazione.
‫Ma se lo riscrivo in questo modo, ti renderai presto conto che Alpha è diverso da zero solo per i vettori di supporto
‫contrassegnati in giallo su quel grafico.
‫Ora, ha senso?
‫Bene, intuitivamente parlando, ricorda che il margine dipende solo dai vettori di supporto.
‫Dal punto di vista dei margini, non importa una volta raggiunto il vettore di supporto, quali vettori
‫si trovano al di là di esso, perché sei solo la ricerca di quel margine dai primi vettori
‫di supporto con cui viene il contatto, il che significa che ' ti stai già risparmiando un sacco di
‫calcolo, ma dovendoti preoccupare solo dei vettori di supporto, cioè i vettori che entrano in contatto con il margine.
‫Ora, per questo motivo, posso riscrivere da I uguale a uno fino a un numero qualsiasi di
‫punti e invece considerare solo ho detto s dove s è una raccolta degli indici di questi punti di supporto, essenzialmente la
‫stessa equazione.
‫Ma sto solo considerando i punti del vettore di supporto perché possiamo dimostrare che Alpha dipende solo
‫da quei punti di supporto, essenzialmente non dovendo fare tanti calcoli.
‫Poi viene la funzione di colonnello, quindi troveremo una funzione di colonnello come funzione K tra due punti di
‫addestramento, punto di addestramento occhio e punto di addestramento I primo, e possiamo dimostrare che questo
‫sara' uguale al seguente.
‫Alcuni X di IFJ moltiplicati per X per primo di J.
‫E questo dovrebbe ovviamente sembrare familiare perché sembra un prodotto interno e un colonnello.
‫Puoi pensarlo come una funzione che quantifica solo la somiglianza di due osservazioni.
‫E abbiamo appena parlato di come il prodotto scalare e il prodotto interno siano essenzialmente misurazioni di somiglianza.
‫Ciò significa che se inizi a esaminare effettivamente l'equazione del classificatore del vettore di supporto lineare, la
‫definiamo utilizzando un prodotto interno.
‫Quindi ora posso usare la mia relazione di un prodotto interno uguale alla somma di queste moltiplicazioni di ciascun sottocomponente
‫per scambiare la mia funzione del kernel in questo classificatore del vettore di supporto appena riscritto, essenzialmente dandoci una macchina
‫del vettore di supporto dove posso facilmente scambiare in qualsiasi funzione del kernel che voglio, dove di
‫nuovo, la funzione del kernel è essenzialmente una misura di somiglianza.
‫E in realtà ci sono molte funzioni del kernel tra cui scegliere qui.
‫Stiamo mostrando la funzione del kernel più semplice, che è solo un kernel lineare, ma posso anche avere un
‫avviso del kernel polinomiale.
‫Ora sto solo calcolando questa funzione del kernel in cui ho una relazione tra la funzione
‫del kernel e il grado di ciò che voglio calcolare, risparmiando un sacco di calcoli perché in realtà non
‫sto più calcolando i calcoli nello spazio completo delle funzionalità.
‫Sto calcolando il kernel, che è un prodotto interno.
‫Un altro colonnello popolare è il bassista radiofonico, il colonnello o altrimenti noto come funzione di bassista radiofonico RBF.
‫Questo è un colonnello molto più complicato.
‫E infatti, se provi a calcolarlo effettivamente senza utilizzare i prodotti interni, in realtà
‫crea, in teoria, un numero infinito di confronti computazionali.
‫Quindi l'unico modo per farlo matematicamente è con una funzione del kernel che utilizzerà il prodotto interno.
‫Quindi l'uso di Col in sostituzione è noto come il trucco COL, ed è ciò che accade effettivamente quando usiamo
‫il supporto.
‫Le macchine vettoriali sono state in grado di riscrivere quella relazione dal classificatore del vettore di supporto in termini di un
‫prodotto interno.
‫E poi abbiamo una varietà di Khalsa da scegliere che sono essenzialmente definite come funzioni di
‫somiglianza, che posso scambiare ovunque vedo accadere il prodotto interno.
‫E poi i Col ci permettono di evitare calcoli nello spazio delle caratteristiche allargato.
‫Devono solo eseguire calcoli per ogni coppia distinta di punti di svolta in cui ho davvero solo bisogno
‫di considerare quei vettori di supporto stessi.
‫I dettagli completi alla base di questo possono essere trovati nella Sezione nove punto tre punto due, eSolar.
‫Ora, intuitivamente, quello che abbiamo già visto è che i prodotti interni agiscono come una misura della somiglianza tra i vettori
‫e il modo migliore in cui posso spiegare intuitivamente le macchine vettoriali di supporto, nel caso tu fossi un po' poco
‫chiaro con il trucco del kernel è che l'uso di i kernel possono essere pensati come una misura della somiglianza
‫tra lo spazio delle caratteristiche originale e lo spazio delle caratteristiche ingrandito.
‫Quindi, invece di dover eseguire effettivamente i calcoli grezzi e lo spazio delle funzionalità ingrandito, posso dire che
‫i kernel mi daranno una misura della somiglianza tra lo spazio delle funzionalità originale e lo spazio
‫delle funzionalità di grandi dimensioni e useranno i kernel per eseguire calcoli, invece di salvarmi un sacco di lavoro computazionale
‫in quello spazio di funzionalità allargato.
‫OK, ora che abbiamo compreso la teoria e l'intuizione alla base delle macchine vettoriali di supporto, passiamo
‫all'utilizzo effettivo con il codice.
‫Ci vediamo alla prossima lezione.