Görüntü çözünürlüğüne göre özellik sayısı nasıl hesaplanır?


18

Sadece Sinir Netowrks Andrew Ng adlı Doğrusal Olmayan Hipotezi kaplı ve biz belirlenmesi için çoktan seçmeli bir soru vardı özelliklerin sayısını çözünürlükte bir görüntü için 100x100 ait grescale şiddetleri.

Ve cevap 50 milyon oldu 5 x 107

Ancak, daha önce 50 x 50 piksel, gri tonlamalı bir görüntü için. özellik sayısı 50x50 (2500)

Neden olsun ki 5 x 107 yerine 10,000 ?

Bununla birlikte, tüm ikinci dereceden terimleri ( xixj ) özellikler olarak dahil ettiğini söylüyor

100 × 100 piksel görüntülerden (RGB değil gri tonlamalı) otomobilleri tanımayı öğrendiğinizi varsayalım. Özelliklerin piksel yoğunluğu değerleri olmasına izin verin. Tüm ikinci terimleri ( xixj ) içeren lojistik regresyonu özellikler olarak eğitirseniz, kaç özelliğe sahip olacaksınız?

ve 100x100 ile ilgili önceki slaytta, ikinci dereceden özelliklerin ( xi x xj ) = 3 milyon özellik olduğunu, ancak yine de bağlantıya parmak koyamam.

Yanıtlar:


16

Belki daha basit bir durum işleri daha net hale getirecektir. Diyelim ki 100x100 yerine 1x2 piksel örneği seçiyoruz.

Görüntüden Örnek Pikseller

+----+----+
| x1 | x2 |
+----+----+

Eğitim setimizi çizerken, lineer bir modelle kolayca ayrılamayacağını fark ettik, bu nedenle verilere daha iyi uyması için polinom terimleri eklemeyi seçiyoruz.

Diyelim ki, tüm piksel yoğunluklarını ve onlardan oluşabilecek tüm olası katları dahil ederek polinomlarımızı oluşturmaya karar veriyoruz.

Matrisimiz küçük olduğundan, bunları sıralayalım:

x1, x2, x12, x22, x1×x2, x2×x1

Yukarıdaki özellik dizisini yorumlamak, bir desen olduğunu görebilir. İlk iki terim, grup 1, yalnızca piksel yoğunluklarından oluşan özelliklerdir. Bundan sonraki iki terim, grup 2, yoğunluklarının karesinden oluşan özelliklerdir. Son iki terim, grup 3, çift (iki) piksel yoğunluğunun tüm kombinasyonlarının ürünüdür.

grup 1: x1, x2

grup 2: x12, x22

grup 3: x1×x2, x2×x1

Ama bekleyin, bir sorun var. Grup 3 terimlerine dizideki ( ve x 2 × x 1 ) bakarsanız, bunların eşit olduğunu fark edeceksiniz. Konut örneğimizi hatırlayın. Aynı ev için x1 = kare çekim ve x2 = kare çekim olmak üzere iki özelliğiniz olduğunu hayal edin ... Bu hiç mantıklı değil! Tamam, bu yüzden yinelenen özellikten kurtulmamız gerekiyor, diyelim ki keyfi olarak x 2 × x 1 . Şimdi üçüncü grup özelliklerinin listesini şu şekilde yeniden yazabiliriz:x1×x2x2×x1x2×x1

grup 3: x1×x2

Her üç gruptaki özellikleri sayıyoruz ve 5 alıyoruz.

Ama bu oyuncak bir örnek. Özelliklerin sayısını hesaplamak için genel bir formül elde edelim. Orijinal özellik gruplarımızı başlangıç ​​noktası olarak kullanalım.

sizegroup1+sizegroup2+sizegroup3=m×n+m×n+m×n=3×m×n

Ah! Ancak grup 3'teki kopya üründen kurtulmak zorunda kaldık.

Bu nedenle, grup 3 için özellikleri doğru bir şekilde saymak için matristeki tüm benzersiz çift ürünleri saymanın bir yoluna ihtiyacımız olacak. Bu, eşit veya daha büyük bir boyut n grubundan k boyutunun tüm olası benzersiz alt gruplarını saymak için bir yöntem olan binom katsayısı ile yapılabilir. Böylece grup 3'teki özellikleri doğru saymak için hesaplayın .C(m×n,2)

Yani genel formülümüz:

m×n+m×n+C(m×n,2)=2m×n+C(m×n,2)

Oyuncak örneğimizdeki özellik sayısını hesaplamak için kullanalım:

2×1×2+C(1×2,2)=4+1=5

Bu kadar!


2
Derste bu açıklama yapılmış olsaydı!
Ian Walker-Sperber

Bunu açıklanmadan derste nasıl bilmemiz gerektiğini merak ediyorum
Mohammed Noureldin

6

Tüm doğrusal ve karesel özellikleri kullanıyorsanız, toplam sayının aşağıdaki gibi olması gerekir:

100*100 + 100*100 + C(100*100,2) = 50015000
10000   + 10000   + 49995000     = 50015000
xi         xi^2       xixj

1
Biraz daha açıklayabilir misiniz? xi + xi ^ 2 + xixi mi diyorsun? Xi = 100 ve xj = 100 mü? xi ve xi ^ 2 neden her ikisi de 100 * 100? C (100 * 100,2) nedir?
Iancovici

4
(1) toplam 100 * 100 piksel var, yoğunluğu özellik olarak kullanıyorsanız, toplamda 100 * 100 özellik olacak, bu xi; ve (ii) güç yoğunluğunu bir özellik olarak da kullanabilirsiniz, bu (xi, xi) veya xi. ^ 2, hala toplamda 100 * 100; son olarak (iii) iki piksel arasındaki korelasyonları kullanırsanız, toplamda C piksel çiftleri olacaktır, bu (xi, xj), C matematikte birleşimdir ( mathworld.wolfram.com/Combination.html )
lennon310

Teşekkürler, son bir soru neden xi = xi ^ 2 bu bağlamda?
Iancovici

Tek pikseli temsil etmek için xi kullandım ve xi ^ 2 aynı pikselin (xi, xi) çiftlerini kullanmak anlamına gelir. Tek piksel sayısı, aynı pikselin çiftleriyle aynıdır. Piksel yoğunluğu ile ilgisi yoktur. Karışıklık için özür dilerim.
lennon310

Aynı soru, birkaç yıl sonra. Olası yoğunluk değerlerini de dikkate almamalı mıyız (0'dan 255'e kadar)?
albus_c


0

@ buğday 50 milyon 100 * 100 piksel görüntünüz olduğunda gelir. burada kare (100 * 100) = 100000000 (10 milyon) ve kare (100 * 100) / 2 = 5 milyon. Umarım bu cevaplar.


Bu bir yoruma verilen yanıttır, bu sorunun cevabı değildir.
Michael R. Chernick
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.