Nell'apprendimento automatico, perché vengono usati gli apici al posto degli abbonamenti?


20

Sto seguendo il corso di Andrew Ng sull'apprendimento automatico attraverso Coursera . Per le equazioni, al posto degli pedici vengono utilizzati apici. Ad esempio, nella seguente equazione viene utilizzato x(i) anziché :xi

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

Apparentemente, questa è una pratica comune. La mia domanda è: perché usare gli apici invece dei pedici? Gli apice sono già utilizzati per l'espiazione. Certo, mi sembra di essere in grado di chiarire le differenze tra i casi d'uso in apice e esponenziale prestando attenzione alla presenza o meno di parentesi, ma sembra comunque confuso.


4
Ho il sospetto che forse sia perché alcune persone di informatica non sono esperte nella notazione matematica standard, e quindi formano la propria notazione. A volte anche gli attuari lo fanno, ed è frustrante quando si arriva a concetti più complicati.
rocinante,

5
L' iindicizzazione si basa sulla dimensione del set di dati o sugli elementi del vettore x? Se il primo, è totalmente standard. Se quest'ultimo è totalmente non standard. E il motivo per cui viene usato l'apice è perché a volte si desidera fare riferimento all'elemento del vettore usando il pedice.
Rex Kerr,

4
@rocinante lol no, è perché gli indici sono già presi per indicizzare i vettori.
Neil G

4
@rocinante È piuttosto presuntuoso. Che dire di vettori / notazione di Einstein contraddittori ?
Will Vousden

4
@rocinante Devo fare eco agli altri nel sottolineare che la tua formulazione è sfortunata. Tutti abbiamo la tendenza a considerare ciò che è locale e familiare come standard.
Nick Cox,

Risposte:


26

Se denota un vettore x R m allora x i è una notazione standard per l' i -esima coordinata x , cioè x = ( x 1 , x 2 , ... , x m ) R m .xxRmxiix

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

Se si dispone di una raccolta di tali vettori, come si indica un I -vettore? Non si può scrivere x i , questo non ha altro significato standard. Quindi a volte le persone scrivono x ( i ) ed è per questo che credo perché Andrew Ng lo faccia.nixix(i)

ie

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.

Non sono in disaccordo, ma spesso viene usato , ovvero per misurazioni ripetute. xij
Cliff AB,

1
Sì, ma è equivalente alla mia x ( i ) j ; quale sarebbe l'equivalente di x ( i ) ? xijxj(i)x(i)
ameba dice di reintegrare Monica il

1
sì, questo è un vantaggio. Penso viene utilizzato a volte, ma potrebbe essere confuso con n j = 1 x i j / m . xi.j=1nxij/m
Cliff AB,

1
Se desideri scorrere le matrici, allora sembra il modo più intuitivo per farlo. Pertanto la notazione rimane coerente quando si passa da vettori a matrici. xmn(i)
josh

2
@JAB Sì, è per rendere la notazione più esplicita ("tipo di suggerimento" come dici tu). Naturalmente si può concordare di usare per l' i -esimo vettore e x i j per l' elemento j - esimo dell'io -vettore. Sono possibili varie convenzioni, questa è solo una di queste. Non sto nemmeno dicendo che è il migliore, spiegando solo la logica alla base. xiixijji
ameba dice di reintegrare Monica il

11

L'uso di super script come hai affermato credo non sia molto comune nella letteratura sull'apprendimento automatico. Dovrei rivedere gli appunti del corso di Ng per confermare, ma se ci mette quell'uso, direi che sarebbe l'origine della proliferazione di questa notazione. Questa è una possibilità Ad ogni modo, per non essere troppo scortese, ma non credo che molti studenti del corso online stiano pubblicando letteratura sull'apprendimento automatico, quindi questa notazione non è molto comune nella letteratura attuale. Dopotutto, si tratta di corsi introduttivi sull'apprendimento automatico, non di corsi di dottorato.

Ciò che è molto comune con i super script è denotare l'iterazione di un algoritmo usando i super script. Ad esempio, potresti scrivere un'iterazione del metodo di Newton come

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

H(θ(t))θ(t)

(... sì, questo non è proprio il modo migliore per implementare il metodo di Newton a causa dell'inversione della matrice dell'Assia ...)

θ(t)θtth

x(i)xix(i)ithx


1
Lo scontro con l'uso di apici tra parentesi / parentesi per i conteggi delle iterazioni (una notazione che è di uso comune in una vasta gamma di aree) è una cosa davvero importante da sollevare.
Glen_b -Restate Monica

2
È anche comunemente usato per indicare l'indice del campione nel set di allenamento, che è come l'iterazione ma non è esattamente lo stesso perché di solito finisci per iterare attraverso il tuo set di allenamento molte volte.
Rex Kerr,

3
an+1=an+1a(n+1)=a(n)+1

1
(x>0)I(x>0)

@NickCox In genere vedo solo l' I(x>0)x>0====

4

Gli apice sono già utilizzati per l'espiazione.

In matematica gli apice vengono utilizzati a destra e sinistra a seconda del campo. La scelta è sempre eredità storica, niente di più. Chiunque fosse entrato per la prima volta nel campo, stabiliva la convenzione di usare sottotitoli o apice.

f(x)(n)

In tensore algebra sia super e gli indici sono utilizzati pesantemente per la stessa cosa come potuto dire i righe e j colonne. È abbastanza espressivo: T kRiiijTik=RijCjk

jiBkl

Quindi, anche la scelta di apici di Ng è puramente storica. Non c'è alcun motivo reale per usarli o non usarli o preferirli agli abbonati. In realtà, credo che qui le persone con ML stiano usando la notazione tensoriale. Sicuramente hanno una buona conoscenza dell'argomento, ad esempio vedere questo documento.


1
Un altro esempio per il tuo punto: notazione di Einstein
Neil G
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.