Sono un appassionato di programmazione e apprendimento automatico. Solo pochi mesi fa ho iniziato a conoscere la programmazione dell'apprendimento automatico. Come molti che non hanno un background scientifico quantitativo, ho anche iniziato a imparare a parlare di ML armeggiando con gli algoritmi e i set di dati nel pacchetto ML ampiamente usato (caret R).
Qualche tempo fa ho letto un blog in cui l'autore parla dell'uso della regressione lineare in ML. Se ricordo bene, ha parlato di come tutto l'apprendimento automatico alla fine utilizzi una sorta di "regressione lineare" (non sono sicuro se abbia usato questo termine esatto) anche per problemi lineari o non lineari. Quella volta non ho capito cosa intendesse con quello.
La mia comprensione dell'utilizzo dell'apprendimento automatico per dati non lineari è di utilizzare un algoritmo non lineare per separare i dati.
Questo era il mio pensiero
Diciamo che per classificare i dati lineari abbiamo usato l'equazione lineare e per i dati non lineari usiamo l'equazione non lineare diciamo
Questa immagine è tratta da Sikit Learn sito Web di supporto macchina vettoriale. In SVM abbiamo usato kernel diversi per scopi ML. Quindi il mio pensiero iniziale era che il kernel lineare separa i dati usando una funzione lineare e il kernel RBF usa una funzione non lineare per separare i dati.
Ma poi ho visto questo blog in cui l'autore parla delle reti neurali.
Per classificare il problema non lineare nella sottotrama di sinistra, la rete neurale trasforma i dati in modo tale che alla fine possiamo usare una semplice separazione lineare con i dati trasformati nel sottoprogetto giusto
La mia domanda è se tutti gli algoritmi di apprendimento automatico alla fine utilizzino una separazione lineare rispetto alla classificazione (set di dati lineare / non lineare)?