Votre fonction de perte ne fonctionnerait pas car elle incitait à définir θ1 sur une valeur finie et θ0 à - ∞ .
Appelons r ( x , y) = 1mΣmi = 1hθ( x( i )) -ylerésidudeh.
Votre objectif est de rendre r plus proche possible de zéro , pas seulement de le minimiser . Une valeur négative élevée est aussi mauvaise qu'une valeur positive élevée.
EDIT: Vous pouvez y remédier en limitant artificiellement l'espace des paramètres Θ (par exemple, vous voulez | θ0| <10 ). Dans ce cas, les paramètres optimaux se situeraient sur certains points de la limite de l’espace paramétrique. Voir https://math.stackexchange.com/q/896388/12467 . Ce n'est pas ce que tu veux.
Pourquoi utilisons-nous la perte carrée
L'erreur au carré oblige h ( x ) et y à correspondre. Elle est minimisée à u = v , si possible, et vaut toujours ≥ 0 , car c'est un carré du nombre réel u - v .
| u-v |fonctionnerait également dans le but ci-dessus, de même que(u−v)2n , avecn un nombre entier positif. La première estfait utilisé (il est appeléℓ1 perte, vous pouvez aussi venirtravers leℓ2 perte,qui est un autre nom pourerreurcarré).
Alors, pourquoi la perte au carré est-elle meilleure que celles-ci? C'est une question profonde liée au lien entre l' inférence Frequentist et Bayésienne . En bref, l'erreur au carré concerne le bruit gaussien .
Si vos données ne correspondent pas exactement à tous les points, c'est-à-dire que h(x)−y n'est pas nul quel que soit le θ vous choisissez (comme cela se produira toujours dans la pratique), cela peut être dû au bruit . Dans tout système complexe, il existe de nombreuses petites causes indépendantes de la différence entre votre modèle h et la réalité y : erreur de mesure, facteurs environnementaux, etc. Selon le théorème de la limite centrale (CLT), le bruit total serait réparti Normalement , c.-à-d. Distribution gaussienne . Nous voulons choisir le meilleur ajustement θen tenant compte de cette répartition du bruit. Supposons que R=h(X)−Y , la partie de y que votre modèle ne peut pas expliquer, suit la distribution gaussienne N(μ,σ) . Nous utilisons des majuscules parce que nous parlons maintenant de variables aléatoires.
La distribution gaussienne a deux paramètres, moyenne μ=E[R]=1m∑ihθ(X(i))−Y(i))et varianceσ2=E[R2]=1m∑i(hθ(X(i))−Y(i)))2. Voiricipour mieux comprendre ces termes.
Considérez μ , c’est l’ erreur systématique de nos mesures. Utilisez h′(x)=h(x)−μ pour corriger l’erreur systématique, de sorte que μ′=E[R′]=0 (exercice pour le lecteur). Rien d'autre à faire ici.
σ représente l'erreur aléatoire, également appeléebruit. Une fois que nous avons pris en compte la composante de bruit systématique comme dans le point précédent, le meilleur prédicteur est obtenu lorsqueσ2=1m∑i(hθ(X(i))−Y(i)))2est réduitminimum. En d'autres termes, le meilleur prédicteur est celui qui présente la distribution la plus serrée (la plus petite variance) autour de la valeur prédite, c'est-à-dire la plus petite variance. Minimiser la perte la plus faible est la même chose que minimiser la variance! Cela explique pourquoi la perte de moindre carré fonctionne pour un large éventail de problèmes. Le bruit sous-jacent est très souvent gaussien, à cause du CLT, et minimiser l'erreur au carré s'avère être labonnechose à faire!
Pour prendre en compte simultanément la moyenne et la variance, nous incluons un terme de biais dans notre classificateur (afin de traiter l'erreur systématique μ ), puis nous minimisons la perte en carrés.
Questions de suivi:
Perte des moindres carrés = erreur gaussienne. Est-ce que chaque autre fonction de perte correspond également à une certaine distribution de bruit? Oui. Par exemple, la perte ℓ1 (minimisation de la valeur absolue au lieu de l'erreur au carré) correspond à la distribution de Laplace (regardez la formule du PDF dans l'infobox - il s'agit simplement de la gaussienne avec | x-μ | au lieu de ( x - μ )2 ). Une perte populaire pour les distributions de probabilité est la divergence KL . -La distribution gaussienne est très motivée par le théorème de la limite centrale, dont nous avons discuté plus tôt. Quand la distribution de Laplace est-elle le bon modèle de bruit? Il y a des circonstances où il se réalise naturellement, mais il est plus communément comme régularisateur pour faire respecter la parcimonie : la ℓ1 perte est le moins convexe parmi toutes les pertes convexes.
- Comme Jan le mentionne dans les commentaires, le minimiseur des écarts carrés est la moyenne et le minimiseur de la somme des écarts absolus est la médiane . Pourquoi voudrions-nous trouver la médiane des résidus au lieu de la moyenne? Contrairement à la moyenne, la médiane n'est pas ébranlée par une très grande valeur aberrante. Ainsi, la perte ℓ1 est utilisée pour une robustesse accrue. Parfois, une combinaison des deux est utilisée.
Existe-t-il des situations dans lesquelles nous minimisons à la fois la moyenne et la variance? Oui. Cherchez le compromis biais-variance . Ici, nous regardons un ensemble de classificateurs hθ∈ H et parmi eux demander quel est le meilleur. Si nous demandons quel ensemble de classificateurs est le meilleur pour un problème, minimiser à la fois le biais et la variance devient important. Il s'avère qu'il y a toujours un compromis entre eux et nous utilisons la régularisation pour parvenir à un compromis.
En ce qui concerne le 12 terme
Le 1/2 n'a pas d'importance et en fait, ni le m - ce sont deux constantes. La valeur optimale de θ resterait la même dans les deux cas.
L’expression du dégradé devient plus jolie avec le 12 , car le 2 du terme carré s'annule.
- Lorsque vous écrivez du code ou des algorithmes, nous nous intéressons généralement davantage au dégradé. Il est donc utile de le garder concis. Vous pouvez vérifier les progrès simplement en vérifiant la norme du dégradé. La fonction de perte elle-même est parfois omise du code car elle est utilisée uniquement pour la validation de la réponse finale.
Le m est utile si vous résolvez ce problème avec la descente de gradient. Ensuite, votre dégradé devient la moyenne de m termes au lieu d'une somme. Son échelle ne change donc pas lorsque vous ajoutez plus de points de données.
- J'ai déjà rencontré ce problème auparavant: je teste le code avec un petit nombre de points et tout fonctionne correctement, mais lorsque vous le testez avec l'intégralité du jeu de données, vous constatez une perte de précision et parfois des dépassements / sous-débits, c'est-à-dire que votre dégradé devient
nan
ou inf
. Pour éviter cela, normalisez simplement le nombre de points de données.
Ces décisions esthétiques sont utilisées ici pour maintenir la cohérence avec les équations futures dans lesquelles vous allez ajouter des termes de régularisation . Si vous incluez le m , le paramètre de régularisation λ ne dépendra pas de la taille du jeu de données m et sera plus interprétable pour tous les problèmes.