En el aprendizaje automático, ¿por qué se usan superíndices en lugar de subíndices?


20

Estoy tomando el curso de Andrew Ng sobre Machine Learning a través de Coursera . Para las ecuaciones, se utilizan superíndices en lugar de subíndices. Por ejemplo, en la siguiente ecuación se usa x(i) lugar de xi :

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2

Aparentemente, esta es una práctica común. Mi pregunta es ¿por qué usar superíndices en lugar de subíndices? Los superíndices ya se usan para exponenciación. De acuerdo, parece que puedo desambiguar entre los casos de uso de superíndice y exponenciación prestando atención a si hay paréntesis o no, pero aún parece confuso.


44
Sospecho que tal vez sea porque algunas personas de la informática no están familiarizadas con la notación matemática estándar y, por lo tanto, inventan su propia notación. Los actuarios también hacen esto a veces, y es frustrante cuando llegas a conceptos más complicados.
rocinante

55
¿Está iindexando sobre el tamaño del conjunto de datos o sobre los elementos del vector x? Si es lo primero, eso es totalmente estándar. Si es lo último, eso es totalmente no estándar. Y la razón por la que se usa el superíndice es porque a veces desea referirse al elemento del vector usando el subíndice.
Rex Kerr

44
@rocinante lol no, es porque los subíndices ya están tomados para indexar vectores.
Neil G

44
@rocinante Eso es bastante presuntuoso. ¿Qué pasa con los vectores contravariantes / notación de Einstein ?
Will Vousden

44
@rocinante Tengo que hacerme eco de otros al subrayar que su redacción es desafortunada. Todos tenemos una tendencia a considerar lo que es local y familiar como estándar.
Nick Cox

Respuestas:


26

Si denota un vector x R m, entonces x i es una notación estándar para la coordenada i -ésima de x , es decir, x = ( x 1 , x 2 , , x m )xxRmxiix

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

Si tiene una colección de tales vectores, ¿cómo denotaría un i -ésimo vector? No puedes escribir x i , esto tiene otro significado estándar. Entonces a veces la gente escribenixi y es por eso que creo que Andrew Ng lo hace.x(i)

Es decir

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.

No estoy en desacuerdo, pero a menudo se usa , es decir, para mediciones repetidas. xij
Cliff AB

1
Sí, pero es equivalente a mi x ( i ) j ; ¿Cuál sería el equivalente de x ( i ) ? xijxj(i)x(i)
ameba dice Reinstate Monica

1
Sí, eso es una ventaja. Creo que a veces se usa, pero esto podría confundirse con n j = 1 x i j / m . xi.j=1nxij/m
Cliff AB

1
Si desea iterar sobre matrices, entonces parece la forma más intuitiva de hacerlo. Por lo tanto, la notación se mantiene constante cuando se pasa de vectores a matrices. xmn(i)
josh

2
@JAB Sí, es para hacer la notación más explícita ("sugerencia de tipo" como usted dice). Por supuesto, uno puede aceptar usar para el i -ésimo vector y x i j para el elemento j -ésimo del i -ésimo vector. Hay varias convenciones posibles, esta es solo una de ellas. Ni siquiera digo que sea la mejor, solo explicando la razón detrás de esto. xiixijji
ameba dice Reinstate Monica

11

El uso de super scripts como usted ha dicho, creo que es no muy común en la literatura de aprendizaje automático. Tendría que revisar las notas del curso de Ng para confirmar, pero si él está poniendo ese uso allí, diría que sería el origen de la proliferación de esta notación. Esta es una posibilidad. De cualquier manera, para no ser demasiado cruel, pero no creo que muchos de los estudiantes del curso en línea estén publicando literatura sobre aprendizaje automático, por lo que esta notación no es muy común en la literatura real. Después de todo, estos son cursos introductorios de aprendizaje automático, no cursos de nivel de doctorado.

Lo que es muy común con los súper scripts es denotar la iteración de un algoritmo que usa súper scripts. Por ejemplo, podría escribir una iteración del método de Newton como

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

donde es la arpillera y θ ( t ) es el gradiente.H(θ(t))θ(t)

(... sí, esta no es la mejor manera de implementar el método de Newton debido a la inversión de la matriz de Hesse ...)

Aquí, representa el valor de θ en la iteración t t h . Este es el uso más común (pero ciertamente no solo) de super scripts que conozco.θ(t)θtth

EDITAR: Para aclarar, en la pregunta original, parecía sugerir que en la notación ML, era equivalente a la notación estadística x i . En mi respuesta, afirmo que esto no es realmente frecuente en la literatura de ML. Esto es verdad. Sin embargo, como a cabo en punta por @amoeba, hay un montón de notación superíndice en la literatura ML para los datos, pero en estos casos x ( i ) típicamente no significa que el i t h observación de un único vector x .x(i)xix(i)ithx


1
El choque con el uso de superíndices entre paréntesis / entre paréntesis para el recuento de iteraciones (una notación que es de uso común en una amplia gama de áreas) es algo muy importante para plantear.
Glen_b -Reinstale a Monica

2
También se usa comúnmente para indicar el índice de la muestra en el conjunto de entrenamiento, que es como la iteración pero no exactamente igual porque generalmente terminas iterando a través de tu conjunto de entrenamiento muchas veces.
Rex Kerr

3
También he visto recuentos de iteraciones observados usando subíndices ( unanorte+1=unanorte+1) así como en línea (una(norte+1)=una(norte)+1) Es por eso que, cuando utilizo alguna notación específica, generalmente pongo algo al principio para desambiguar (por ejemplo, decir "en la siguiente serie, bla, bla, bla" y luego poner las matemáticas). Por lo tanto, cualquiera que sea la notación en uso, los lectores pueden (con suerte) intuir el significado de casos potencialmente ambiguos en lugar de tener que adivinar en función de las convenciones que conocen.
JAB

1
Estoy de acuerdo con @JAB. En general, no creo que sea atroz para las personas que escribirán y usarán código para tomar prestada la notación del software en tratamientos matemáticos. Por ejemplo, y polémicamente, las personas informáticas están muy por delante de muchos grupos matemáticos en el uso de notación limpia como(X>0 0), para ser evaluado como 1 si es verdadero y 0 si es falso, en lugar de formalismos innecesarios como yo(X>0 0); aquí solo estoy siguiendo a Donald Knuth.
Nick Cox

@NickCox Generalmente solo veo el yo(X>0 0)forma cuando se trata de probabilidad; de otra manera,X>0 0es solo una restricción de desigualdad. Cuando se trata de ecuaciones matemáticas, se dividen en representaciones por partes o simplemente representan la ecuación en sí misma como una desigualdad, ya que de lo contrario induciría ambigüedad. (Es similar a cómo=en matemáticas es más sutil que cualquiera =o ==en la mayoría de los lenguajes de programación; introduce una restricción o definición en lugar de una asignación real o verificación de igualdad.)
JAB

4

Los superíndices ya se usan para exponenciación.

En matemáticas, los superíndices se usan de izquierda a derecha según el campo. La elección es siempre un legado histórico, nada más. Quien primero ingresó al campo estableció la convención de usar subíndices o superíndices.

Dos ejemplos Los superíndices se usan para denotar derivados:F(X)(norte)

En el álgebra tensorial, tanto súper como subíndices se usan mucho para lo mismo queRyoyo puede significar yo rows and j columns. It's quite expressive: Tik=RijCjk

Also I remember using scripts before letters (prescripts) in Physics, e.g. jiBkl. I think it was with tensors.

Hence, the choice of superscripts by Ng is purely historical too. There's no real reason to use or not use them, or prefer them to subscripts. Actually, I believe that here ML people are using tensor notation. They definitely are well versed in the subject, e.g. see this paper.


1
Another example for your point: Einstein notation
Neil G
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.