Dlaczego w uczeniu maszynowym stosowane są indeksy górne zamiast indeksów dolnych?

20

Biorę kurs Andrew Ng na Machine Learning poprzez Coursera . W przypadku równań zamiast indeksów dolnych stosuje się indeks górny. Na przykład w poniższym równaniu użyto zamiast : x ix(i)xi

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

Najwyraźniej jest to powszechna praktyka. Moje pytanie brzmi: po co używać indeksów górnych zamiast indeksów dolnych? Indeksy górne są już używane do potęgowania. To prawda, że ​​wydaje mi się, że potrafię rozróżnić przypadki użycia indeksu górnego i potęgowania, zwracając uwagę na obecność nawiasów, ale nadal wydaje się to mylące.

entpnerd
źródło
4
Podejrzewam, że może dlatego, że niektórzy informatycy nie znają standardowej notacji matematycznej i dlatego tworzą własną notację. Czasami też to robią aktuariusze, a frustracja jest bardziej skomplikowana.
rocinante
5
Czy iindeksowanie jest większe niż rozmiar zestawu danych, czy też elementy wektora x? Jeśli to pierwsze, jest to całkowicie standardowe. Jeśli to drugie, jest to całkowicie niestandardowe. Powodem, dla którego używany jest indeks górny, jest to, że czasami chcesz odwoływać się do elementu wektora za pomocą indeksu dolnego.
Rex Kerr
4
@rocinante lol nie, to dlatego, że indeksy są już pobierane do indeksowania wektorów.
Neil G
4
@rocinante To raczej zarozumiały. Co z wektorami przeciwstawnymi / notacją Einsteina ?
Will Vousden,
4
@ procinante Muszę powtórzyć innym, podkreślając, że twoje sformułowania są niefortunne. Wszyscy mamy tendencję do traktowania tego, co lokalne i znane jako standard.
Nick Cox,

Odpowiedzi:

26

Jeśli oznacza wektor x R m, to x i jest standardowym zapisem dla i- tej współrzędnej x , tj. X = ( x 1 , x 2 , , x m ) R m .xxRmxiix

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

Jeśli masz kolekcję takich wektorów, jak opisałbyś i- ty wektor? Nie możesz pisać x i , to ma inne standardowe znaczenie. Czasami więc ludzie piszą x ( i ) i dlatego wierzę, dlaczego Andrew Ng to robi.nixix(i)

To znaczy

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.
ameba mówi Przywróć Monikę
źródło
Nie zgadzam się, ale często używa się , tj. Do powtarzanych pomiarów. xij
Cliff AB
1
Tak, ale jest równoważne mojemu x ( i ) j ; jaki byłby odpowiednik x ( i ) ? xijxj(i)x(i)
ameba mówi Przywróć Monikę
1
tak, to zaleta. Myślę jest czasem używane, ale można to pomylić z n j = 1 x i j / m . xi.j=1nxij/m
Cliff AB
1
Jeśli chcesz iterować po macierzach, wydaje się najbardziej intuicyjnym sposobem. Dlatego notacja pozostaje spójna podczas przechodzenia z wektorów do macierzy. xmn(i)
josh
2
@JAB Tak, aby doprecyzować notację („jak piszesz”). Oczywiście można zgodzić się na użycie dla i-tego wektora i x i j dla j-tego elementu i-tego wektora. Możliwe są różne konwencje, to tylko jedna z nich. Nie twierdzę nawet, że jest najlepszy, po prostu wyjaśniam uzasadnienie. xiixijji
ameba mówi Przywróć Monikę
11

Używanie super skryptów, jak stwierdziliście, uważam, że nie jest bardzo powszechne w literaturze dotyczącej uczenia maszynowego. Musiałbym przejrzeć notatki z kursu Nga, aby potwierdzić, ale jeśli zastosuje to tutaj, powiedziałbym, że byłby źródłem rozpowszechnienia tego zapisu. To jest możliwość. Tak czy inaczej, żeby nie być zbyt niemiłym, ale nie sądzę, aby wielu studentów kursów online publikowało literaturę na temat uczenia maszynowego, więc notacja ta nie jest zbyt powszechna w literaturze. W końcu są to kursy wprowadzające do uczenia maszynowego, a nie doktoranckie.

Bardzo powszechne w super skryptach jest oznaczanie iteracji algorytmu za pomocą super skryptów. Na przykład możesz napisać iterację metody Newtona jako

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

gdzie to Hesjan, a θ ( t ) to gradient.H(θ(t))θ(t)

(... tak, nie jest to najlepszy sposób na wdrożenie metody Newtona ze względu na inwersję macierzy Hesji ...)

Tutaj reprezentuje wartość θ w iteracji t t h . Jest to najczęstsze (ale na pewno nie tylko) użycie super skryptów, o których wiem.θ(t)θtth

EDIT: Do wyjaśnienia, w oryginalnym pytanie wydawało się sugerować, że w zapisie ML, była równoważna statystyka na x i notacja. W mojej odpowiedzi twierdzę, że nie jest to tak naprawdę powszechne w literaturze ML. To prawda. Jednak, jak podkreślił @amoeba, jest mnóstwo indeksie górnym zapisie w literaturze ml dla danych, ale w tych przypadkach x ( i ) zazwyczaj nie oznacza í t h obserwację pojedynczego wektora x .x(i)xix(i)ithx

Cliff AB
źródło
1
Zderzenie z użyciem nawiasów / nawiasów klamrowych indeksu górnego dla iteracji (notacja, która jest powszechnie stosowana w wielu obszarach) jest bardzo ważna.
Glen_b
2
Jest również powszechnie używany do wskazywania indeksu próbki w zestawie treningowym, co jest podobne do iteracji, ale nie dokładnie takie samo, ponieważ zwykle kończy się to iteracją zestawu treningowego wiele razy.
Rex Kerr
3
Widziałem także liczby iteracji odnotowane za pomocą indeksów dolnych ( ), a także w linii ( a ( n + 1 ) = a ( n ) + 1 ). Właśnie dlatego, używając jakiegoś szczególnego zapisu, zwykle na początku umieszczam coś jednoznacznego (np. Mówiąc „w poniższej serii, bla bla bla”, a następnie umieszczając matematykę). Tak więc, niezależnie od używanej notacji, czytelnicy mogą (miejmy nadzieję) intuicyjnie zrozumieć potencjalnie dwuznaczne przypadki, zamiast zgadywać na podstawie znanych im konwencji. an+1=an+1a(n+1)=a(n)+1
JAB
1
Zgadzam się z @JAB. Mówiąc bardziej ogólnie, nie sądzę, aby to było haniebne dla ludzi, którzy będą pisać i używać kodu do zapożyczania notacji z oprogramowania w leczeniu matematycznym. Na przykład i spornie ludzie obliczeniowi wyprzedzają wiele grup matematycznych w stosowaniu czystej notacji, takiej jak , którą należy oceniać jako 1, jeśli jest to prawda, i 0, jeśli jest fałszem, zamiast niepotrzebnych formalizmów, takich jak I ( x > 0 ) ; tutaj tylko podążam za Donaldem Knuthem. (x>0)I(x>0)
Nick Cox,
@NickCox Na ogół widzę tylko formę jeśli chodzi o prawdopodobieństwo; w przeciwnym razie x > 0 jest tylko ograniczeniem nierówności. Jeśli chodzi o równania matematyczne, są one albo podzielone na reprezentacje fragmentaryczne, albo po prostu przedstawiają same równanie jako nierówność, ponieważ w przeciwnym razie wywołałoby to dwuznaczność. (Jest podobny do tego, jak = w matematyce jest bardziej subtelny niż w jednym lub w większości języków programowania; wprowadza ograniczenie lub definicję zamiast faktycznego sprawdzania przypisania lub równości.)I(x>0)x>0====
JAB
4

Indeksy górne są już używane do potęgowania.

W matematyce indeksy górne i lewe są używane w zależności od dziedziny. Wybór jest zawsze dziedzictwem historycznym, niczym więcej. Ktokolwiek pierwszy wszedł w teren, ustalił konwencję używania subskryptów lub indeksów górnych.

f(x)(n)

RiiijTik=RijCjk

jiBkl

Dlatego wybór indeksów górnych przez Ng jest również czysto historyczny. Nie ma prawdziwego powodu, aby z nich korzystać lub nie korzystać z nich, ani też preferować indeksów dolnych. Właściwie uważam, że tutaj ludzie ML używają notacji tensorowej. Zdecydowanie dobrze znają temat, np. Patrz ten artykuł.

Aksakal
źródło
1
Kolejny przykład twojej uwagi: notacja Einsteina
Neil G.