Quelles sont les étapes pour convertir la somme pondérée des carrés en forme matricielle?

8

Je suis nouveau dans la conversion de formules en formulaire matriciel. Mais cela est nécessaire pour un code d'apprentissage automatique efficace. Je veux donc comprendre la "bonne" façon, pas les trucs de cow-boy que je fais.

D'accord, j'essaie de convertir la somme pondérée des carrés de la forme ci-dessous en forme matricielle. Je vois souvent la forme matricielle comme équivalente à celle ci-dessous, et aucune explication n'est donnée sur la façon dont elle est dérivée.

J(w)=i=1mui(wTxiyi)2

où est le poids de chaque erreur d'échantillon . De plus, , , , , . est la valeur prédite, résultat de la multiplication d'un vecteur poids par un vecteur caractéristique.uiixiRnwRnyRuiRi=1,...,mwTxi

Voici ce que je pense et je suis créatif. Alors n'hésitez pas à aller jusqu'au bout si je continue sur une tangente.

Soit un vecteur colonne de fonctions qui représente l'erreur non quadratique. On peut représenter sur asr(wTxiyi)2i=1,...,m

(1)r2=[r1r2rm][r1r2rm]

Le résultat du vecteur multiplié par le vecteur est une matrice (scalaire).1×mm×11×1

Soit un vecteur de poids qui pèse chaque erreur d'échantillon. Comme nous devons peser les erreurs au carré, nous devons incorporer dans la formule avant d'obtenir le scalaire. Puisque nous voulons que le premier reste un vecteur , nous définissons comme une matrice diagonale avec les termes diagonaux provenant de . Nous avons maintenant:uu1r1×mUu

(2)J(w)=[r1r2rm][u1000u2000um][r1r2rm]

Nous pouvons simplifier ceci en

(3)J(w)=rTUr

Maintenant, nous développons . Nous avions multiplié par , nous donnant où X est maintenant une matrice et est un vecteur de colonne . Soit y le vecteur de colonne représentant les étiquettes . Maintenant . Nous substituons cela dans la formule , nous donnant la somme finale pondérée des carrés sous forme de matrice: rxiRnwRnXwm×nwn×1m×1y=1,...,mr=(Xwy)3

(4)J(w)=(Xwy)TU(Xwy)

Tout d'abord, cela a-t-il un sens? Deuxièmement, et surtout, est-ce vraiment ainsi que vous êtes censé le faire?

Merci

vega
la source
1
Cela: math.stackexchange.com/questions/198257/… pourrait vous aider!
kjetil b halvorsen
+1: C'est drôle que tu penses faire des trucs de cowboy. C'est exactement la façon de le faire, même si je ne l'écrirais jamais complètement (donc bon travail!). Ceci est un chapitre d'un livre de mon cours d'économétrie 1 pendant mon étude d'économétrie. La page 120 explique comment réécrire une fonction (facile) en notation matricielle et la page 121 est votre exemple sans les pondérations (notation légèrement différente cependant). Si je me souviens bien, un autre chapitre traite également des estimateurs WLS (qui est essentiellement votre expression).
Marcel10
Cela me semble correct.
Matthew Gunn

Réponses:

1

Je vais tenter une réponse à cette question: tout ce que vous avez présenté est correct.

Ce que vous avez essentiellement dérivé est le théorème de Gauss-Markov: l'estimateur des moindres carrés pondérés est le meilleur estimateur linéaire sans biais pour les données pondérées. Cet estimateur minimise la somme des carrés pondérés (votre premier affichage) et est donné par: . Ici est la matrice de conception avec la première colonne définie sur le vecteur de uns (c'est le terme d'interception).β^WLS=(XTWX)(XTWY)X1n×1

Ce résultat s'applique à une matrice de covariance arbitraire. Cependant, les données indépendantes pondérées sont représentées avec un vecteur de poids le long de la diagonale de la matrice de poids. (votre notation a comme coefficient de régression et comme poids, donc pour éviter toute confusion, la matrice de conception serait et .wuX=[x],W=diag(u),β=[w]

La preuve du théorème de Gauss Markov est par contradiction. Voyez ici . Cela signifie que nous ne dérivons pas analytiquement un tel estimateur directement de la fonction de perte. Vous avez peut-être vu une telle approche utilisée pour dériver des équations d'estimation de régression linéaire et logistique.

AdamO
la source