Wie berechnet man die Anzahl der Features basierend auf der Bildauflösung?


18

Wir haben gerade Andrew Ngs nichtlineare Hypothese neuronaler Netze behandelt und hatten eine Multiple-Choice-Frage zur Bestimmung der Anzahl von Merkmalen für ein Bild mit einer Auflösung von 100 x 100 der Intensität von Greskalen .

Und die Antwort war 50 Millionen, x10 75107

Früher jedoch für ein 50 x 50 Pixel großes Graustufenbild. Die Anzahl der Features beträgt 50 x 50 (2500).

Warum sollte es x statt ?10 7 10 , 000510710,000

Er sagt jedoch, dass alle quadratischen Terme ( ) als Merkmale enthalten sindxichxj

Angenommen, Sie lernen, Autos anhand von Bildern mit 100 × 100 Pixeln (Graustufen, nicht RGB) zu erkennen. Die Merkmale seien Pixelintensitätswerte. Wenn Sie die logistische Regression mit allen quadratischen Begriffen ( ) als Features , wie viele Features werden Sie haben?xichxj

und in der vorherigen Folie in Bezug auf die 100x100, dass die quadratischen Features ( x ) = 3 Millionen Features, aber ich kann immer noch keinen Finger auf die Verbindung legen.x jxichxj

Antworten:


16

Vielleicht macht ein einfacher Fall die Sache klarer. Nehmen wir an, wir wählen eine 1x2-Pixel-Stichprobe anstelle von 100x100.

Beispielpixel aus dem Bild

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

Stellen Sie sich vor, wir haben beim Zeichnen unseres Trainingssatzes festgestellt, dass es mit einem linearen Modell nicht einfach zu trennen ist. Aus diesem Grund fügen wir Polynomterme hinzu, um die Daten besser anzupassen.

Nehmen wir an, wir konstruieren unsere Polynome, indem wir alle Pixelintensitäten und alle möglichen Multiplikatoren einbeziehen, die daraus gebildet werden können.

Da unsere Matrix klein ist, listen wir sie auf:

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

Das Interpretieren der obigen Folge von Merkmalen kann erkennen, dass ein Muster vorliegt. Die ersten beiden Begriffe, Gruppe 1, sind Merkmale, die nur aus ihrer Pixelintensität bestehen. Die folgenden zwei Terme, Gruppe 2, sind Merkmale, die aus dem Quadrat ihrer Intensität bestehen. Die letzten beiden Terme, Gruppe 3, sind das Produkt aller Kombinationen von paarweisen (zwei) Pixelintensitäten.

Gruppe 1:x1, x2

Gruppe 2: x12, x22

Gruppe 3: x1×x2, x2×x1

Aber warte, es gibt ein Problem. Wenn Sie sich die Terme der Gruppe 3 in der Reihenfolge ( und x 2 × x 1 ) ansehen, werden Sie feststellen, dass sie gleich sind. Erinnern Sie sich an unser Wohnbeispiel. Stellen Sie sich vor, Sie haben zwei Funktionen x1 = Quadratmeter und x2 = Quadratmeter für dasselbe Haus ... Das ergibt keinen Sinn! Ok, also müssen wir das doppelte Feature loswerden, sagen wir willkürlich x 2 × x 1 . Jetzt können wir die Liste der Features der Gruppe drei wie folgt umschreiben:x1×x2x2×x1x2×x1

Gruppe 3: x1×x2

Wir zählen die Features in allen drei Gruppen und erhalten 5.

Dies ist jedoch ein Spielzeugbeispiel. Lässt uns eine allgemeine Formel für die Berechnung der Anzahl der Features ableiten. Lassen Sie uns unsere ursprünglichen Feature-Gruppen als Ausgangspunkt verwenden.

sichzeGrOup1+sichzeGrOup2+sichzeGrOup3=m×n+m×n+m×n=3×m×n

Ah! Aber wir mussten das doppelte Produkt in Gruppe 3 loswerden.

Um die Merkmale für Gruppe 3 richtig zu zählen, müssen Sie alle eindeutigen paarweisen Produkte in der Matrix zählen. Dies kann mit dem Binomialkoeffizienten geschehen, der eine Methode zum Zählen aller möglichen eindeutigen Untergruppen der Größe k aus einer gleichen oder größeren Gruppe der Größe n ist. Um die Merkmale in Gruppe 3 richtig zu zählen, berechnen Sie .C(m×n,2)

Unsere generische Formel wäre also:

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

Verwenden wir es, um die Anzahl der Features in unserem Spielzeugbeispiel zu berechnen:

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

Das ist es!


2
Ich wünschte, diese Erklärung wäre in der Vorlesung gegeben worden!
Ian Walker-Sperber

Ich frage mich, wie wir das im Kurs wissen sollten, ohne es zu erklären
Mohammed Noureldin,

6

Wenn Sie alle linearen und quadratischen Features verwenden, sollte die Gesamtzahl wie folgt lauten:

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

1
Können Sie das etwas näher erläutern? sagen Sie xi + xi ^ 2 + xixi? Ist xi = 100 und xj = 100? warum sind xi und xi ^ 2 beide 100 * 100? Was ist C (100 * 100,2)?
Iancovici

4
(1) Es gibt insgesamt 100 * 100 Pixel. Wenn Sie die Intensität als Merkmale verwenden, gibt es insgesamt 100 * 100 Merkmale, das ist xi. und (ii) Sie können auch die Leistungsdichte als Merkmal verwenden, dh (xi, xi) oder xi. ^ 2, immer noch 100 * 100 insgesamt; schließlich (iii) wenn Sie die Korrelationen zwischen zwei Pixeln verwenden, gibt es insgesamt C Pixelpaare, das heißt (xi, xj), C ist eine Kombination in Mathe ( mathworld.wolfram.com/Combination.html )
lennon310

Danke, eine letzte Frage ist, warum in diesem Zusammenhang xi = xi ^ 2 ist.
Iancovici

Ich habe xi verwendet, um ein einzelnes Pixel darzustellen, und xi ^ 2 bedeutet, dass Paare desselben Pixels (xi, xi) verwendet werden. Die Anzahl der einzelnen Pixel ist die gleiche wie bei Paaren desselben Pixels. Es hat nichts mit der Pixelintensität zu tun. Entschuldigung für die Verwirrung.
Lennon310

Dieselbe Frage, einige Jahre später. Sollten wir nicht auch die möglichen Intensitätswerte (von 0 bis 255) berücksichtigen?
albus_c


0

@whuber 50 Millionen kommt, wenn Sie 100 * 100 Pixel Bild haben. wobei Quadrat (100 × 100) = 100000000 (10 Millionen) und Quadrat (100 × 100) / 2 = 5 Millionen. Hoffe das beantwortet.


Dies ist eine Antwort auf einen Kommentar und keine Antwort auf diese Frage.
Michael R. Chernick
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.