Je suis un passionné de programmation et d'apprentissage automatique. Il y a seulement quelques mois, j'ai commencé à apprendre la programmation d'apprentissage automatique. Comme beaucoup de ceux qui n'ont pas de formation scientifique quantitative, j'ai également commencé à apprendre le ML en bricolant avec les algorithmes et les jeux de données du package ML largement utilisé (caret R).
Il y a quelque temps, j'ai lu un blog dans lequel l'auteur parle de l'utilisation de la régression linéaire en ML. Si je me souviens bien, il a parlé de la façon dont tout l'apprentissage automatique utilise finalement une sorte de "régression linéaire" (je ne sais pas s'il a utilisé ce terme exact) même pour des problèmes linéaires ou non linéaires. Cette fois, je n'ai pas compris ce qu'il voulait dire par là.
Ma compréhension de l'utilisation de l'apprentissage automatique pour les données non linéaires consiste à utiliser un algorithme non linéaire pour séparer les données.
C'était ma pensée
Disons que pour classer les données linéaires, nous avons utilisé l'équation linéaire et pour les données non linéaires, nous utilisons l'équation non linéaire, disons
Cette image est tirée du site Web sikit learn de la machine à vecteur de support. Dans SVM, nous avons utilisé différents noyaux à des fins de ML. Donc, ma pensée initiale était que le noyau linéaire sépare les données en utilisant une fonction linéaire et que le noyau RBF utilise une fonction non linéaire pour séparer les données.
Mais j'ai vu ce blog où l'auteur parle de réseaux neuronaux.
Pour classer le problème non linéaire dans la sous-intrigue de gauche, le réseau neuronal transforme les données de telle manière qu'au final, nous pouvons utiliser une séparation linéaire simple des données transformées dans la sous-intrigue de droite
Ma question est de savoir si tous les algorithmes d'apprentissage automatique utilisent finalement une séparation linéaire pour la classification (ensemble de données linéaire / non linéaire)?