Je sais que Polynomial Logistic Regression
peut facilement apprendre des données typiques comme l'image suivante:
Je me demandais si les deux données suivantes peuvent également être apprises en utilisant ou non.
Polynomial Logistic Regression
Je suppose que je dois ajouter plus d'explications. Prenez la première forme. Si nous ajoutons des caractéristiques polynomiales supplémentaires pour cette entrée 2D (comme x1 ^ 2 ...), nous pouvons faire une frontière de décision qui peut séparer les données. Supposons que je choisis X1 ^ 2 + X2 ^ 2 = b. Cela peut séparer les données. Si j'ajoute des fonctionnalités supplémentaires, j'obtiendrai une forme ondulée (peut-être un cercle ondulé ou des ellipses ondulées) mais il ne peut toujours pas séparer les données du deuxième graphique, n'est-ce pas?
Réponses:
Oui, en théorie, l'extension polynomiale à la régression logistique peut approximer n'importe quelle limite de classification arbitraire. En effet, un polynôme peut approximer n'importe quelle fonction (au moins des types utiles aux problèmes de classification), et cela est prouvé par le théorème de Stone-Weierstrass .
Que cette approximation soit pratique pour toutes les formes de limites est une autre question. Vous pouvez être mieux à la recherche d'autres fonctions de base (par exemple la série de Fourier ou la distance radiale par rapport aux points d'exemple), ou d'autres approches entièrement (par exemple SVM) lorsque vous soupçonnez une forme de frontière complexe dans l'espace d'entités. Le problème avec l'utilisation de polynômes d'ordre élevé est que le nombre d'entités polynomiales que vous devez utiliser croît exponentiellement avec le degré du polynôme et le nombre d'entités originales.
Vous pouvez créer un polynôme pour classer XOR. peut être un début si vous utilisez et comme entrées binaires, cela mappe l'entrée à la sortie comme suit:5−10xy −1 1 (x,y)
Le passage dans la fonction logistique devrait vous donner des valeurs suffisamment proches de 0 et 1.
Semblable à vos deux zones circulaires, une simple courbe en huit:
où et sont des constantes. Vous pouvez obtenir deux zones fermées disjointes définies dans votre classificateur - sur les côtés opposés de l' axe , en choisissant et manière appropriée. Par exemple, essayez pour obtenir une fonction qui se sépare clairement en deux pics autour de et :a,b c y a,b c a=1,b=0.05,c=−1 x=−3 x=3
Le graphique affiché provient d' un outil en ligne sur academo.org , et est pour - la classe positive indiquée comme valeur 1 dans le graphique ci-dessus, et est généralement où en régression logistique ou justex2−y2−0.05x4−1>0 11+e−z>0.5 z>0
Un optimiseur trouvera les meilleures valeurs, vous aurez juste besoin d'utiliser comme termes d'expansion (bien que notez que ces termes spécifiques se limitent à correspondre à la même forme de base reflétée autour de l' axe - en pratique, vous voudriez avoir plusieurs termes jusqu'au polynôme du quatrième degré pour trouver des groupes disjoints plus arbitraires dans un classificateur).1,x2,y2,x4 y
En fait, tout problème que vous pouvez résoudre avec un réseau neuronal profond - de n'importe quelle profondeur - vous pouvez le résoudre avec une structure plate en utilisant la régression linéaire (pour les problèmes de régression) ou la régression logistique (pour les problèmes de classification). Il s'agit "simplement" de trouver la bonne extension de fonctionnalité. La différence est que les réseaux de neurones tenteront de découvrir directement une extension de fonctionnalité fonctionnelle, tandis que l'ingénierie des fonctionnalités utilisant des polynômes ou tout autre schéma est un travail difficile et pas toujours évident comment même commencer: considérez par exemple comment vous pouvez créer des approximations polynomiales à quel neuronal convolutionnel les réseaux font pour les images? Cela semble impossible. Cela risque également d'être extrêmement peu pratique. Mais cela existe.
la source
|x|
n'est pas permis, car c'est une non-linéarité différente.