J'apprends actuellement les estimations des moindres carrés (et autres) pour la régression, et d'après ce que je lis également dans certaines littératures d'algorithmes adaptatifs, souvent la phrase "... et puisque la surface d'erreur est convexe ..." apparaît et aucune profondeur quant aux raisons pour lesquelles il est convexe au départ n'est nulle part où se trouver.
... Alors qu'est-ce qui le rend exactement convexe ?
Je trouve cette omission répétée légèrement ennuyeuse parce que je veux pouvoir concevoir mes propres algorithmes adaptatifs, avec mes propres fonctions de coût, mais si je ne peux pas dire si ma fonction de coût donne ou non une surface d'erreur convexe, je ne pourrai pas aller trop loin dans l'application de quelque chose comme la descente de gradient car il n'y aura pas de minimum global. Peut-être que je veux faire preuve de créativité - peut-être que je ne veux pas utiliser les moindres carrés comme critère d'erreur par exemple.
En creusant plus profondément (et mes questions commencent ici), j'ai trouvé que pour pouvoir dire si vous avez une surface d'erreur convexe, vous devez vous assurer que votre matrice de Hesse est semi-définie positive. Pour les matrices symétriques, ce test est simple - assurez-vous simplement que toutes les valeurs propres de la matrice de Hesse ne sont pas négatives. (Si votre matrice n'est pas symétrique, vous pouvez la rendre symétrique en l'ajoutant à sa propre transposition et en effectuant le même test de valeur propre, en vertu du Gramian , mais ce n'est pas important ici).
Qu'est-ce qu'une matrice de Hesse? La matrice de Hesse codifie toute la combinaison possible des partiels de votre fonction de coût. Combien de partiels y a-t-il? Autant que le nombre d'entités dans votre vecteur d'entités. Comment calculer les partiels? Prenez les dérivées partielles «à la main» de la fonction de coût d'origine.
C'est exactement ce que j'ai fait: je suppose que nous avons une matrice de données x , notée par la matrice , où, désigne le nombre d'exemples, et désigne le nombre d'entités par exemple. (qui sera également le nombre de partiels). Je suppose que nous pouvons dire que nous avons échantillons de temps et échantillons spatiaux de capteurs, mais l'application physique n'est pas trop importante ici.X m n m n
De plus, nous avons également un vecteur de taille x . (Il s'agit de votre vecteur «étiquette» ou de votre «réponse» correspondant à chaque ligne de ). Pour simplifier, j'ai supposé pour cet exemple particulier. Donc 2 «exemples» et 2 «fonctionnalités».m 1 X m = n = 2
Supposons maintenant que vous vouliez déterminer la «ligne» ou le polynôme le mieux adapté ici. C'est-à-dire que vous projetez vos entités de données d'entrée par rapport à votre vecteur polynomial co-efficace telle sorte que votre fonction de coût soit:
Maintenant, prenons la première dérivée partielle wrt , (caractéristique 0) Ainsi:
Maintenant, calculons tous les deuxièmes partiels, donc:
Nous savons que la Hesse n'est rien d'autre que:
Maintenant, sur la base de la façon dont j'ai construit la matrice de données (mes `` fonctionnalités '' vont par colonnes et mes exemples par lignes), la Hesse semble être:
... qui n'est rien d'autre que la matrice de covariance échantillon !
Donc je ne sais pas trop comment interpréter - ou je devrais dire, je ne sais pas trop comment généraliser je devrais être ici. Mais je pense que je peux dire que:
Toujours vrai:
- La matrice de Hesse contrôle toujours si votre surface d'erreur / coût est convexe.
- Si votre matrice hessoise est pos-semi-def, vous êtes convexe (et pouvez utiliser avec plaisir des algorithmes comme la descente de gradient pour converger vers la solution optimale).
Vrai pour LSE uniquement:
- La matrice de Hesse pour le critère de coût LSE n'est rien d'autre que la matrice de covariance d'origine. (!).
- Pour moi, cela signifie que, si j'utilise le critère LSE, les données elles-mêmes déterminent si j'ai ou non une surface convexe? ... Ce qui signifierait alors que les vecteurs propres de ma matrice de covariance ont en quelque sorte la capacité de «façonner» la surface de coût? Est-ce toujours vrai? Ou cela a-t-il simplement fonctionné pour les critères LSE? Cela ne me convient pas que la convexité d'une surface d'erreur soit dépendante des données.
Donc, en le replaçant dans le contexte de la question initiale, comment peut-on déterminer si une surfacture d'erreur (basée sur une fonction de coût que vous sélectionnez) est convexe ou non? Cette détermination est-elle basée sur les données ou sur la Hesse?
Merci
TLDR: Comment, exactement et pratiquement, dois-je déterminer si ma fonction de coût et / ou mon ensemble de données produisent une surface d'erreur convexe ou non convexe?