Kysymys:
Miksi koneoppimisessa käytetään alaindeksejä tilauskoodien sijaan?
entpnerd
2016-02-04 03:13:01 UTC
view on stackexchange narkive permalink

Käyn Andrew Ng: n koneoppimiskurssin Courseran kautta. Yhtälöissä käytetään alaindeksien sijasta alaindeksejä. Esimerkiksi seuraavassa yhtälössä $ x ^ {(i)} $ käytetään $ x_i $: n sijaan:

$ J (\ theta_0, \ theta_1) = \ frac {1} {2m} \ summa \ limits_ {i = 1} ^ {m} {(h_ \ theta (x ^ {(i)}) - y ^ {(i)}) ^ 2} $

Ilmeisesti tämä on yleinen käytäntö. Kysymykseni on, miksi käyttää alaindeksejä tilauksien sijaan? Yläindeksejä käytetään jo eksponentointiin. Myönnän siltä, ​​että pystyn erottamaan yläindeksin ja eksponention käyttötapaukset kiinnittämällä huomiota sulkujen olemassaoloon, mutta se näyttää silti sekavalta.

Epäilen sen johtuvan ehkä siitä, että jotkut tietojenkäsittelytieteen ihmiset eivät ole perehtyneet tavalliseen matemaattiseen notaatioon, ja siksi he muodostavat oman merkintänsä.Aktuaarit tekevät niin joskus myös, ja on turhauttavaa, kun pääset monimutkaisempiin käsitteisiin.
Indeksoidaanko "i" tietojoukon koon vai vektorin "x" elementtien yli?Jos entinen, se on täysin vakio.Jos jälkimmäinen, se on täysin epätyypillinen.Ja syy siihen, miksi yläindeksiä käytetään, johtuu siitä, että joskus haluat viitata vektorin elementtiin alaindeksin avulla.
@RexKerr: Uskon vahvasti, että tämä on oikea vastaus (tässä tapauksessa).Kirjoitin vastaustani, kun kommenttisi ilmestyi.
@rocinante lol ei, se johtuu siitä, että vektorien indeksointiin on jo otettu tilauksia.
@rocinante Se on melko ylimielistä.Entä kiistanalaiset vektorit / [Einstein-merkinnät] (https://fi.wikipedia.org/wiki/Einstein_notation)?
@rocinante Minun täytyy toistaa toisia korostaen, että sanamuotosi on valitettava.Meillä kaikilla on taipumus pitää paikallista ja tuttua vakiona.
Hei @Jonathan, Ihmettelen, jos huomaat, että olemassa olevat vastaukset ovat ratkaisseet kysymyksesi.Jos näin on, harkitse toisen hyväksymistä.Jos ei, voit vapaasti selventää jäljellä olevat epäilyt.
Hyvä asia @amoeba.Odotin, että asiat rauhoittuvat, ja se on ehdottomasti ollut.Vastaus hyväksytty.
Kolme vastused:
amoeba
2016-02-04 06:11:59 UTC
view on stackexchange narkive permalink

Jos $ x $ tarkoittaa vektoria $ x \ \ mathbb R ^ m $: ssa, niin $ x_i $ on vakiomerkintä $ x $ -koordinaatille $ i $ - $ $ x = (x_1, x_2 , \ ldots, x_m) \ in \ mathbb R ^ m. $$

Jos sinulla on kokoelma $ n $ tällaisia ​​vektoreita, miten merkitsisit $ i $ -th-vektoria? Et voi kirjoittaa $ x_i $, sillä on jokin muu tavanomainen merkitys. Joten joskus ihmiset kirjoittavat $ x ^ {(i)} $, ja uskon siksi, että Andrew Ng tekee sen.

Ie

\ begin {yhtälö} x ^ {(1)} = (x_1 ^ {(1)}, x_2 ^ {(1)}, \ ldots, x_m ^ {(1)}) \ in \ mathbb R ^ m \\ x ^ {(2)} = (x_1 ^ {(2)}, x_2 ^ {(2)}, \ ldots, x_m ^ {(2)} ) \ in \ mathbb R ^ m \\\ ldots \\ x ^ {(n)} = (x_1 ^ {(n)}, x_2 ^ {(n)}, \ ldots, x_m ^ {(n)}) \ sisään \ mathbb R ^ m. \\\ end {yhtälö}

En ole eri mieltä, mutta usein käytetään $ x_ {ij} $ eli toistuviin mittauksiin.
Kyllä, mutta $ x_ {ij} $ vastaa minun $ x ^ {(i)} _ j $;mikä olisi yhtä suuri kuin $ x ^ {(i)} $?
kyllä, se on etu.Luulen, että $ x_ {i.} $ Käytetään joskus, mutta tämä voidaan sekoittaa muotoon $ \ sum_ {j = 1} ^ n x_ {ij} / m $.
@CliffAB Jos sinulla on toistuvia mittauksia, eikö sinun määritellä sitä ensin selventämällä, onko $ x $ luettelo vai joukko?(Luettelossa sallitaan toistuvat numerot, kun taas joukko ei), joten elementin kuvaamiseen ei tarvita kahta tilausta.
@rocinante: Uskon, että tulkitsette väärin mitä tarkoitan "toistuvilla mittauksilla".Tässä tapauksessa $ x_ {ij} $ viittaa kohteen $ i ^ {th} $ mittaukseen $ i ^ {th} $.Esimerkiksi, jos $ x $ edustaa juoksemailiaikoja, joissa kohteilla on 5 ajoa, $ x_ {2,3} $ on mailin aika toisen kohteen kolmannelle yritykselle.
Jos haluat toistaa matriiseja, $ x_ {mn} ^ {(i)} $ näyttää olevan intuitiivisin tapa tehdä se.Siksi merkinnät pysyvät yhdenmukaisina siirryttäessä vektoreista matriiseihin.
Kuinka $ x_i $ ei tarkoita $ i $ -th -vektoria, jos $ x $ on vektorikokoelma?Vai onko vain kyse siitä, ettet välttämättä tiedä, onko $ x $ tarkoitus olla pisteiden kokoelma vai erikseen vektoreiden kokoelma, joten $ x ^ {(i)} $ -syntaksi on tarkoitettu vain tyyppivihjeille?
@JAB Kyllä, sen tarkoituksena on tehdä merkinnästä selkeämpi ("tyyppivihje" kuten sanot).Tietysti voidaan sopia käyttävän $ x_i $: ta vektorin $ i $ -th ja $ x_ {ij} $: ta $ i $ -th -vektorin $ j $ -th-elementissä.Mahdollisuuksia on useita, tämä on vain yksi niistä.En edes sano, että se on paras, vain selittämällä sen perustelut.
Eikö $ x_ {i \ bullet} $ ole tavallinen merkintä mallille $ x ^ {(i)} $?
@Francis, Mielestäni en ole * koskaan * nähnyt tätä merkintää (jos tarkoitat todella `` x_ {i \ bullet} '' eikä `` x_ {i \ dot} '').Millä aloilla se on yleistä?
@amoeba: ne ovat sama asia, johon viittaan.Jotkut kirjoittajat käyttävät $ \ bullet $ yli $ \ cdot $, jotta piste olisi paremmin havaittavissa.
Cliff AB
2016-02-04 03:52:10 UTC
view on stackexchange narkive permalink

Superskriptien käyttö, kuten olet sanonut, mielestäni ei ole kovin yleistä koneoppimisessa kirjallisuudessa. Minun on tarkistettava Ng: n kurssimerkinnät vahvistaakseni, mutta jos hän käyttää tätä käyttöä, sanoisin, että hän olisi peräisin tämän merkinnän lisääntymisestä. Tämä on mahdollisuus. Joko niin, ei olla liian epäystävällinen, mutta en usko, että monet verkkokurssin opiskelijoista julkaisevat koneoppimista koskevaa kirjallisuutta, joten tämä merkintä ei ole kovin yleinen varsinaisessa kirjallisuudessa. Loppujen lopuksi nämä ovat koneoppimisen perehdyttäviä kursseja, ei tohtorin tason kursseja.

Superskripteillä on hyvin yleistä merkitä superskriptejä käyttävän algoritmin iterointia. Voit esimerkiksi kirjoittaa iteroinnin Newtonin menetelmästä seuraavasti:

$ \ theta ^ {(t + 1)} = \ theta ^ {(t)} - ​​H (\ theta ^ {(t)} ) ^ {- 1} \ nabla \ theta ^ {(t)} $

missä $ H (\ theta ^ {(t)}) $ on hessiläinen ja $ \ nabla \ theta ^ {( t)} $ on kaltevuus.

(... kyllä, tämä ei ole aivan paras tapa toteuttaa Newtonin menetelmä Hessin-matriisin käänteisen vuoksi ...)

Täällä $ \ theta ^ {( t)} $ edustaa $ \ theta $ -arvoa $ t ^ {th} $ -toistossa. Tämä on yleisin (mutta varmasti ei vain) superskriptien käyttö, josta olen tietoinen.

MUOKKAA: Selvennykseksi näytti siltä, ​​että alkuperäisessä kysymyksessä ehdotettiin, että ML-merkinnässä $ x ^ {(i)} $ vastasi tilastoa $ x_i $ merkinnät. Vastauksessani totean, että tämä ei ole todella yleistä ML-kirjallisuudessa. Tämä on totta. Kuten @amoeba huomautti, ML-kirjallisuudessa on kuitenkin runsaasti yläindeksiä, mutta näissä tapauksissa $ x ^ {(i)} $ ei tarkoita tyypillisesti yksittäisen vektori $ x $.

Ristiriita sulkuilla / suluissa olevien alaindeksien käyttämisellä iterointilaskentaan (merkintä, joka on yleisesti käytössä useilla alueilla) on todella tärkeä asia, joka on nostettava esiin.
Sitä käytetään myös osoittamaan näytteen hakemisto harjoitusjoukossa, joka on kuin iteraatio, mutta ei aivan sama, koska yleensä pääset iteroimaan harjoittelusarjan läpi monta kertaa.
Olen nähnyt myös iteraatioiden määrän havaittu käyttämällä tilauksia ($ a_ {n + 1} = a_n + 1 $) sekä rivillä ($ a (n + 1) = a (n) + 1 $).Siksi käytän tiettyä merkintää käytettäessä yleensä jotain alussa erottuvaa (esim. Sanomalla "seuraavassa sarjassa, bla blaa blaa" ja sitten laitat matematiikan).Näin ollen riippumatta siitä, mitä merkintöjä käytetään, lukijat voivat (toivottavasti) ymmärtää merkityksen mahdollisesti epäselville tapauksille sen sijaan, että heidän tarvitsisi arvata tuntemiensa käytäntöjen perusteella.
Olen samaa mieltä @JAB: n kanssa.Yleisesti ottaen en usko, että se on kamalaa ihmisille, jotka kirjoittavat ja käyttävät koodia lainatakseen merkintöjä ohjelmistoista matemaattisissa hoidoissa.Esimerkiksi ja kiistanalaisella tavalla laskennalliset ihmiset ovat paljon matemaattisia ryhmiä edellä käytettäessä puhdasta merkintää, kuten $ (x> 0) $, joka arvioidaan arvoksi 1, jos tosi ja 0, jos väärä, tarpeettomien formalismien, kuten $ I (x> 0) $;täällä olen vain seuraamassa Donald Knuthin takana.
@NickCox Näen yleensä $ I (x> 0) $ -lomakkeen todennäköisyyden suhteen;muuten $ x> 0 $ on vain eriarvoisuuden rajoitus.Kun on kyse matemaattisista yhtälöistä, ne joko hajotetaan paloittain esityksiin tai ne vain edustavat itse yhtälöä eriarvoisuutena, koska muuten se aiheuttaisi epäselvyyttä.(Se on samanlainen kuin miten matematiikassa $ = $ on hienovaraisempi kuin joko = = tai `==` useimmilla ohjelmointikielillä; se tuo mukanaan rajoituksen tai määritelmän todellisen tehtävän tai tasa-arvon tarkistuksen sijaan.)
Näen usein, että matematiikan oikeita tai vääriä lauseita arvioidaan arvoksi 1 tai 0. Siksi $ \ text {sign} (x) $: n määritelmä on $ [x> 0] - [x <0] $.(Korjaamalla aikaisempaa kommenttiani, hakasulkeet ovat täällä hieman parempia kuin suluissa.) Joidenkin matemaatikoiden ja tilastotieteilijöiden käyttämät merkinnät $: = $ ja $ =: $ ovat toinen loistava esimerkki siitä, kuinka ohjelmoinnista saatu merkintä (tässä tapauksessa Algol1950-luku) voi auttaa tekemään vivahteikkaita eroja, nimittäin eron määritelmän ja vastaavuuden välillä.
Aksakal
2016-02-05 01:16:21 UTC
view on stackexchange narkive permalink

Yläindeksejä käytetään jo eksponentointiin.

Matematiikassa alaindeksejä käytetään vasemmalle ja oikealle kentästä riippuen. Valinta on aina historiallinen perintö, ei mitään muuta. Kuka ensin tuli kentälle, asetti tavan käyttää ala- tai alaindeksejä.

Kaksi esimerkkiä. Yläindeksejä käytetään johdannaisten merkitsemiseen: $ f (x) ^ {(n)} $

tensori -algebrassa sekä super- että alaindeksejä käytetään voimakkaasti samaan asiaan, kuten $ R (t) ^ i_i $ voi tarkoittaa $ i $ riviä ja $ j $ saraketta. Se on melko ilmeikäs: $ T_i ^ k = R_i ^ jC_j ^ k $

Muistan myös fysiikan komentosarjojen käyttämisen ennen kirjaimia (reseptikirjoituksia), esim. $ ^ i_jB_k ^ l $. Luulen, että se oli tensoreiden kanssa.

Siksi myös Ng: n valinta alaindekseihin on puhtaasti historiallinen. Ei ole mitään todellista syytä käyttää niitä tai olla käyttämättä niitä tai mieluummin tilaajia. Itse asiassa uskon, että tässä ML-ihmiset käyttävät tensorimerkintää. He ovat ehdottomasti hyvin perehtyneitä aiheeseen, esim. katso tämä paperi.

Toinen esimerkki asiasta: [Einstein-merkinnät] (https://fi.wikipedia.org/wiki/Einstein_notation)


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...