No aprendizado de máquina, por que os sobrescritos são usados ​​em vez dos subscritos?

20

Estou fazendo o curso de Andrew Ng sobre Machine Learning através do Coursera . Para equações, sobrescritos são usados ​​em vez de subscritos. Por exemplo, na seguinte equação é usada em vez de :x(Eu)xEu

J(θ0 0,θ1)=12mEu=1m(hθ(x(Eu))-y(Eu))2

Aparentemente, essa é uma prática comum. Minha pergunta é por que usar sobrescritos em vez de subscritos? Os sobrescritos já são usados ​​para exponenciação. Concedido, parece que sou capaz de desambiguar entre os casos de uso sobrescrito e exponenciação prestando atenção à presença ou não de parênteses, mas ainda parece confuso.

entpnerd
fonte
4
Eu suspeito que talvez seja porque algumas pessoas da ciência da computação não são versadas em notação matemática padrão e, portanto, compõem sua própria notação. Às vezes, os atuários também fazem isso, e é frustrante quando você chega a conceitos mais complicados.
rocinante 03/02
5
A iindexação está no tamanho do conjunto de dados ou nos elementos do vetor x? Se o primeiro, isso é totalmente padrão. Neste último caso, isso é totalmente fora do padrão. E a razão pela qual o sobrescrito é usado é porque às vezes você deseja se referir ao elemento do vetor usando o subscrito.
Rex Kerr #
4
@rocinante lol não, é porque os subscritos já são usados ​​para indexar vetores.
Neil G
4
@rocinante Isso é bastante presunçoso. E quanto aos vetores contravariantes / notação de Einstein ?
Will Vousden
4
@rocinante Eu tenho que repetir os outros, sublinhando que sua redação é lamentável. Todos nós tendemos a considerar o que é local e familiar como padrão.
Nick Cox

Respostas:

26

Se denota um vetor , é uma notação padrão para a ésima coordenada de , ou seja,x R m x i i x x = ( x 1 , x 2 , , x m ) R m .xxRmxEuEux

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

Se você tem uma coleção de desses vetores, como você indicaria um ésimo vetor? Você não pode escrever , isso tem outro significado padrão. Às vezes, as pessoas escrevem e é por isso que acredito que Andrew Ng o faça.i x i x ( i )nEuxEux(Eu)

Ou seja,

x(1)=(x1(1),x2(1),...,xm(1))Rmx(2)=(x1(2),x2(2),...,xm(2))Rm...x(n)=(x1(n),x2(n),...,xm(n))Rm.
ameba diz Restabelecer Monica
fonte
Não estou discordando, mas muitas vezes é usado, ou seja, para medições repetidas. xEuj
Cliff AB
1
Sim, mas é equivalente ao meu ; qual seria o equivalente de ? x ( i ) j x ( i )xEujxj(Eu)x(Eu)
ameba diz Restabelecer Monica
1
sim, isso é uma vantagem. Eu acho que É usado algumas vezes, mas isso pode ser confundido com . n j = 1 x i j / mxi.j=1nxij/m
Cliff AB
1
Se você deseja iterar sobre matrizes, o parece a maneira mais intuitiva de fazer isso. Portanto, a notação permanece consistente ao passar de vetores para matrizes. xmn(Eu)
josh
2
@JAB Sim, é para tornar a notação mais explícita ("dica de tipo", como você diz). Obviamente, pode-se concordar em usar para o ésimo vetor e para o ésimo elemento do ésimo vetor. Existem várias convenções possíveis, esta é apenas uma delas. Nem estou dizendo que é o melhor, apenas explicando a lógica por trás disso. i x i j j ixEuEuxEujjEu
Ameba diz Reinstate Monica
11

O uso de super scripts, como você afirmou, acredito que não é muito comum na literatura de aprendizado de máquina. Eu teria que revisar as anotações do curso de Ng para confirmar, mas se ele colocar esse uso lá, eu diria que ele seria a origem da proliferação dessa notação. Esta é uma possibilidade. De qualquer maneira, para não ser muito desagradável, mas não acho que muitos dos alunos do curso on-line estejam publicando literatura sobre aprendizado de máquina, portanto, essa notação não é muito comum na literatura real. Afinal, esses são cursos introdutórios de aprendizado de máquina, e não de nível de doutorado.

O que é muito comum nos super scripts é denotar a iteração de um algoritmo usando super scripts. Por exemplo, você pode escrever uma iteração do método de Newton como

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

onde é o hessiano e é o gradiente.H(θ(t))θ(t)

(... Sim, essa não é a melhor maneira de implementar o método de Newton devido à inversão da matriz Hessiana ...)

Aqui, representa o valor de na iteração . Esse é o uso mais comum (mas certamente não apenas) dos super scripts que eu conheço.θ(t)θtth

EDIT: Para esclarecer, na pergunta original, parecia sugerir que na notação ML, era equivalente à notação da estatística . Na minha resposta, afirmo que isso não é realmente prevalente na literatura sobre ML. Isso é verdade. No entanto, como apontado por @amoeba, há muita notação sobrescrita na literatura de ML para dados, mas nesses casos normalmente não significa a observação de um único vetor .x(Eu)xEux(Eu)Euthx

Cliff AB
fonte
1
O conflito com o uso de sobrescritos entre parênteses / entre colchetes para contagens de iteração (uma notação que é de uso comum em uma ampla variedade de áreas) é uma coisa realmente importante a ser levantada.
Glen_b -Reinstala Monica
2
Também é comumente usado para indicar o índice da amostra no conjunto de treinamento, que é como a iteração, mas não é exatamente o mesmo, porque você geralmente acaba repetindo o conjunto de treinamento muitas vezes.
Rex Kerr #
3
Também vi contagens de iterações observadas usando subscritos ( ), bem como na linha ( a ( n + 1 ) = a ( n ) + 1 ). É por isso que, ao usar alguma notação específica, geralmente coloco algo no início para desambiguar (por exemplo, dizendo "na série a seguir, blá blá blá" e depois colocando a matemática). Portanto, qualquer que seja a notação em uso, os leitores podem (espero) intuir o significado de casos potencialmente ambíguos, em vez de adivinhar com base nas convenções que conhecem. uman+1=uman+1uma(n+1)=uma(n)+1
JAB
1
(x>0 0)Eu(x>0 0)
Eu(x>0 0)x>0 0====
4

Os sobrescritos já são usados ​​para exponenciação.

Em matemática, sobrescritos são usados ​​à esquerda e à direita, dependendo do campo. A escolha é sempre um legado histórico, nada mais. Quem entrou em campo pela primeira vez estabeleceu a convenção de usar sub ou sobrescritos.

Dois exemplos Sobrescritos são usados ​​para denotar derivadas:f(x)(n)

REuEuEujTEuk=REujCjk

jEuBkeu

Portanto, a escolha de sobrescritos por Ng também é puramente histórica. Não há motivo real para usá-los ou não, ou preferi-los a subscritos. Na verdade, acredito que aqui as pessoas da ML estão usando notação tensorial. Eles definitivamente são bem versados ​​no assunto, por exemplo, veja este artigo.

Aksakal
fonte
1
Outro exemplo para o seu argumento: notação de Einstein
Neil G