Dans l'apprentissage automatique, pourquoi les exposants sont-ils utilisés à la place des indices?

20

Je prends le cours d' Andrew Ng sur l'apprentissage automatique à travers Coursera . Pour les équations, les exposants sont utilisés à la place des indices. Par exemple, dans l'équation suivante, est utilisé à la place de :X(je)Xje

J(θ0,θ1)=12mje=1m(hθ(X(je))-y(je))2

Apparemment, c'est une pratique courante. Ma question est pourquoi utiliser des exposants au lieu des indices? Les exposants sont déjà utilisés pour l'exponentiation. Certes, je semble être en mesure de lever toute ambiguïté entre les cas d'utilisation d'exposant et d'exponentiation en faisant attention à la présence ou non de parenthèses, mais cela semble toujours confus.

entpnerd
la source
4
Je soupçonne que c'est peut-être parce que certains informaticiens ne connaissent pas la notation mathématique standard et inventent donc leur propre notation. Les actuaires le font parfois aussi, et c'est frustrant quand on arrive à des concepts plus compliqués.
rocinante
5
L' iindexation est-elle supérieure à la taille de l'ensemble de données ou aux éléments du vecteur x? Si le premier, c'est tout à fait standard. Si ce dernier, c'est totalement non standard. Et la raison pour laquelle l'exposant est utilisé est que, parfois, vous voulez faire référence à l'élément du vecteur en utilisant l'indice.
Rex Kerr
4
@rocinante lol non, c'est parce que les indices sont déjà pris pour indexer les vecteurs.
Neil G
4
@rocinante C'est plutôt présomptueux. Qu'en est-il des vecteurs contravariants / notation d'Einstein ?
Will Vousden
4
@rocinante Je dois faire écho aux autres en soulignant que votre formulation est malheureuse. Nous avons tous tendance à considérer ce qui est local et familier comme standard.
Nick Cox

Réponses:

26

Si désigne un vecteur alors est une notation standard pour la ème coordonnée de , c'est-à-direx R m x i i x x = ( x 1 , x 2 , , x m ) R m .XXRmXjejeX

x=(x1,x2,,xm)Rm.

Si vous avez une collection de tels vecteurs, comment désigneriez-vous un ème vecteur? Vous ne pouvez pas écrire , cela a une autre signification standard. Donc, parfois, les gens écrivent et c'est pourquoi je crois qu'Andrew Ng le fait.i x i x ( i )nixix(i)

C'est à dire

x(1)=(x1(1),x2(1),,xm(1))Rmx(2)=(x1(2),x2(2),,xm(2))Rmx(n)=(x1(n),x2(n),,xm(n))Rm.
amibe dit réintégrer Monica
la source
Je ne suis pas en désaccord, mais souvent est utilisé, c'est-à-dire pour des mesures répétées. xij
Cliff AB
1
Oui, mais est équivalent à mon ; quel serait l'équivalent de ? XjejXj(je)X(je)
amibe dit Réintégrer Monica le
1
oui, c'est un avantage. Je pense que Est parfois utilisé, mais cela pourrait être confondu avec . xi.j=1nXjej/m
Cliff AB
1
Si vous souhaitez parcourir les matrices, alors le semble le moyen le plus intuitif de le faire. Par conséquent, la notation reste cohérente lors du passage des vecteurs aux matrices. Xmn(je)
josh
2
@JAB Oui, c'est pour rendre la notation plus explicite ("type hinting" comme vous dites). Bien sûr, on peut accepter d'utiliser pour le i- ème vecteur et x i j pour le j- ème élément du i- ème vecteur. Il existe différentes conventions possibles, ce n'est que l'une d'entre elles. Je ne dis même pas que c'est le meilleur, j'explique simplement la raison d'être. xiixijjje
Amoeba dit Reinstate Monica
11

L'utilisation de super scripts comme vous l'avez dit, je crois, n'est pas très courante dans la littérature d'apprentissage automatique. Je devrais revoir les notes de cours de Ng pour confirmer, mais s'il met cet usage là, je dirais qu'il serait à l'origine de la prolifération de cette notation. C'est une possibilité. Quoi qu'il en soit, ne soyez pas trop méchant, mais je ne pense pas que beaucoup d'étudiants de cours en ligne publient de la littérature sur l'apprentissage automatique, donc cette notation n'est pas très courante dans la littérature actuelle. Après tout, ce sont des cours d'introduction à l'apprentissage automatique, pas des cours de niveau doctorat.

Ce qui est très courant avec les super scripts est de désigner l'itération d'un algorithme utilisant des super scripts. Par exemple, vous pouvez écrire une itération de la méthode de Newton comme

θ(t+1)=θ(t)-H(θ(t))-1θ(t)

H(θ(t))θ(t)

(... oui ce n'est pas tout à fait le meilleur moyen de mettre en œuvre la méthode de Newton en raison de l'inversion de la matrice de Hesse ...)

θ(t)θtth

X(je)XjeX(je)jethX

Cliff AB
la source
1
Le conflit avec l'utilisation d'exposants entre parenthèses / entre crochets pour le nombre d'itérations (une notation qui est couramment utilisée dans un large éventail de domaines) est une chose vraiment importante à soulever.
Glen_b -Reinstate Monica
2
Il est également couramment utilisé pour indiquer l'index de l'échantillon dans l'ensemble d'apprentissage, qui est similaire à l'itération mais pas exactement le même car vous finissez généralement par itérer plusieurs fois dans votre ensemble d'entraînement.
Rex Kerr
3
unen+1=unen+1une(n+1)=une(n)+1
1
(X>0)je(X>0)
je(X>0)X>0====
4

Les exposants sont déjà utilisés pour l'exponentiation.

En mathématiques, les exposants sont utilisés à gauche et à droite selon le domaine. Le choix est toujours un héritage historique, rien de plus. Celui qui est entré en premier sur le terrain a établi la convention d'utilisation des sous-indices ou des exposants.

F(X)(n)

RjejejejTjek=RjejCjk

jjeBkl

Par conséquent, le choix des exposants de Ng est également purement historique. Il n'y a aucune raison réelle de les utiliser ou de ne pas les utiliser, ou de les préférer aux indices. En fait, je pense qu'ici, les ML utilisent la notation tensorielle. Ils connaissent certainement bien le sujet, par exemple, voir cet article.

Aksakal
la source
1
Un autre exemple pour votre point: notation Einstein
Neil G