Makine öğreniminde, abonelikler yerine neden üst simgeler kullanılıyor?


20

Andrew Ng'nin Coursera aracılığıyla Machine Learning konusundaki kursunu alıyorum . Denklemler için abonelikler yerine üst simgeler kullanılır. Örneğin, aşağıdaki denklemde yerine kullanılır : x ix(i)xi

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

Görünüşe göre, bu yaygın bir uygulamadır. Benim sorum neden abonelik yerine üst simge kullanmalı? Üst simgeler zaten üs alma için kullanılmaktadır. Verilen parantezlerin var olup olmamasına dikkat ederek üst simge ve üstel kullanım durumları arasında ayrım yapabiliyor gibi görünsem de yine de kafa karıştırıcı görünüyor.


4
Bazı bilgisayar bilimleri insanlarının standart matematiksel gösterimde usta olmadıklarından ve bu nedenle kendi gösterimlerini oluşturduklarından şüpheleniyorum. Aktüerler bazen bunu yapar ve daha karmaşık kavramlara ulaştığınızda sinir bozucu olur.
rocinante

5
Is iveri seti boyutu üzerinde indeksleme ya vektör elemanları üzerinde x? Birincisi, bu tamamen standart. İkincisi ise, bu tamamen standart değildir. Üst simge kullanılmasının nedeni, bazen alt simge kullanarak vektörün elemanına başvurmak istemenizdir.
Rex Kerr

4
@rocinante lol hayır, bunun nedeni aboneliklerin zaten vektörleri indekslemek için alınmış olmasıdır.
Neil G

4
@rocinante Bu oldukça küstah. Kontravaryant vektörler / Einstein gösterimi ne olacak ?
Vousden

4
@ rocinante İfadelerinizin talihsiz olduğunu vurgulamak için başkalarını yankılamalıyım. Hepimiz yerel ve tanıdık olanı standart olarak görme eğilimindeyiz.
Nick Cox

Yanıtlar:


26

Eğer O anlamına gelir için bir vektör sonra standart gösterimi için kullanılmıştır -inci koordinatı , yanix R m x i i x x = ( x 1 , x 2 , , x m ) R m .xxRmxiix

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

Bu tür vektörlerden oluşan bir koleksiyonunuz varsa , bir vektörü nasıl ifade edersiniz ? yazamazsınız , bunun başka bir standart anlamı vardır. Bazen insanlar yazarlar ve bu yüzden Andrew Ng'nin bunu neden yaptığını düşünüyorum.i x i x ( i )nixix(i)

yani

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.

Katılmıyorum, ancak genellikle , yani tekrarlanan ölçümler için kullanılır. xij
Cliff AB

1
Evet, ancak benim ; nin eşdeğeri ne olur ? x ( i ) j x ( i )xijxj(i)x(i)
amip, Reinstate Monica'yı

1
evet, bu bir avantaj. Bence Bazen kullanılır, ancak bu . Σ n j = 1 x i j / mxi.j=1nxij/m
Cliff AB

1
Matrisler üzerinde yineleme yapmak istiyorsanız, bunu yapmanın en sezgisel yolu gibi görünüyor. Bu nedenle gösterim vektörlerden matrislere geçerken tutarlı kalır. xmn(i)
josh

2
@JAB Evet, gösterimi daha açık yapmak (dediğiniz gibi "tip ipucu"). Tabii bir kullanmayı kabul edebilir için -inci vektör ve için ait-inci elemanı -inci vektör. Muhtemel çeşitli sözleşmeler var, bu sadece onlardan biri. En iyisi olduğunu bile söylemiyorum, sadece arkasındaki mantığı açıklıyorum. i x i j j ixiixijji
amip, Reinstate Monica'yı

11

Süper senaryoların belirttiğiniz gibi kullanılması, makine öğrenimi literatüründe çok yaygın olmadığına inanıyorum . Ben onaylayın Ng adlı ders notlarını gözden olurdu, ancak eğer orada kullanımının koyuyor, onun bu gösterimde çoğalması kökeni olacağını söyleyebilirim. Bu bir olasılık. Her iki durumda da, çok kaba olmak istemiyorum, ancak çevrimiçi ders öğrencilerinin çoğunun makine öğrenimi hakkında literatür yayınladığını düşünmüyorum, bu nedenle bu gösterim gerçek literatürde çok yaygın değildir. Sonuçta, bunlar doktora düzeyinde dersler değil, makine öğreniminde giriş dersleridir.

Süper komut dosyalarında çok yaygın olan şey, süper komut dosyaları kullanarak bir algoritmanın yinelemesini belirtmektir. Örneğin, Newton yönteminin yinelemesini şu şekilde yazabilirsiniz:

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

burada Hessian ve eğimdir.θ ( t )H(θ(t))θ(t)

(... evet, bu Hessian matrisinin tersine çevrilmesi nedeniyle Newton'un yöntemini uygulamanın en iyi yolu değil ...)

Burada, , yinelemesindeki değerini temsil eder . Bu, farkında olduğum süper komut dosyalarının en yaygın (ama kesinlikle değil) kullanımıdır. θ t t hθ(t)θtth

DÜZENLEME: Orijinal soruda, ML gösteriminde, istatistiğin gösterimi ile eşdeğer olduğunu öne sürmek için ortaya çıktı . Cevabımda bunun ML literatüründe gerçekten yaygın olmadığını belirtiyorum. Bu doğru. Bununla birlikte, @amoeba ile sivri dışarı olarak, veri için ML literatürde üst simge gösterimde bol miktarda, ancak bu durumda tipik olarak gelmez tek bir vektör gözlenmesini . x i x ( i ) i t h xx(i)xix(i)ithx


1
Yineleme sayıları için parantez içine alınmış / parantezli üstyazıların (çok çeşitli alanlarda ortak kullanımda olan bir gösterim) kullanımıyla ortaya çıkan çatışma, yükseltilmesi gereken çok önemli bir şeydir.
Glen_b

2
Genellikle egzersiz setindeki örnek dizini belirtmek için kullanılır, bu da yineleme gibidir, ancak tam olarak aynı değildir, çünkü genellikle egzersiz setinizde birçok kez yineleme yaparsınız.
Rex Kerr

3
Ayrıca abonelikleri ( ) yanı sıra satır ( ) kullanarak kaydedilen yineleme sayılarını gördüm . Bu nedenle, belirli bir gösterimi kullanırken, genellikle belirsizliğe başlamak için bir şeyler koyacağım (örneğin, "aşağıdaki dizilerde, falan falan filan" diyerek ve sonra matematiği koyarım). Böylece, hangi gösterim kullanılırsa kullanılsın, okuyucular bildikleri sözleşmelere dayanarak tahmin etmek yerine potansiyel olarak belirsiz vakaların anlamını sezebilirler. a ( n + 1 ) = a ( n ) + 1an+1=an+1a(n+1)=a(n)+1
JAB

1
@JAB ile hemfikirim. Daha genel olarak, matematiksel tedavilerde yazılımdan gösterim almak için kod yazacak ve kullanacak insanlar için iğrenç olduğunu sanmıyorum. Örneğin ve çekişmeli olarak, bilgi işlem insanları, gibi gereksiz formalizmler yerine, doğruysa 1 ve yanlışsa 0 olarak değerlendirilecek gibi temiz gösterimi kullanmada birçok matematiksel grubun çok ilerisindedir. ; burada sadece Donald Knuth'un arkasından takip ediyorum. I ( x > 0 )(x>0)I(x>0)
Nick Cox

@NickCox I genellikle olasılık söz konusu olduğunda sadece formunu görür; aksi takdirde, sadece bir eşitsizlik kısıtlamasıdır. Matematiksel denklemler söz konusu olduğunda, ya parçalı temsillere ayrılırlar ya da sadece denklemin kendisini aksi takdirde belirsizliği tetikleyeceği için bir eşitsizlik olarak temsil ederler. ( Matematikte nasıl ya da çoğu programlama dilinde daha incedir ; gerçek bir ödev veya eşitlik kontrolü yerine bir kısıtlama veya tanım getirir.)x > 0 =I(x>0)x>0====
JAB

4

Üst simgeler zaten üs alma için kullanılmaktadır.

Matematikte üstyazılar alana bağlı olarak sola ve sağa kullanılır. Seçim her zaman tarihsel miras, başka bir şey değil. Alana ilk giren kişi alt veya üst simge kullanma kuralını belirler.

f(x)(n)

RiiijTik=RijCjk

jiBkl

Bu nedenle, Ng tarafından üst simge seçimi de tamamen tarihseldir. Bunları kullanmanın veya kullanmamanın veya aboneliklere tercih etmenin gerçek bir nedeni yoktur. Aslında, burada ML halkının tensör notasyonu kullandığına inanıyorum. Kesinlikle bu konuda çok bilgilidirler, örneğin bu makaleye bakınız .


1
Puanınız için başka bir örnek: Einstein notasyonu
Neil G
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.