Comment calculer le nombre de fonctionnalités en fonction de la résolution de l'image?


18

Je viens de couvrir l'hypothèse non linéaire d'Andrew Ng sur les réseaux neuronaux, et nous avons eu une question à choix multiples pour déterminer le nombre de caractéristiques pour une image de résolution 100x100 d' intensités en échelle de gris .

Et la réponse était 50 millions, x10 75dixsept

Cependant, plus tôt pour une image en échelle de gris de 50 x 50 pixels. le nombre de fonctionnalités est de 50x50 (2500)

Pourquoi serait-ce x au lieu de ?10 7 10 , 0005dixseptdix,000

Il dit cependant inclure tous les termes quadratiques ( ) comme caractéristiquesXjeXj

Supposons que vous apprenez à reconnaître des voitures à partir d'images 100 × 100 pixels (niveaux de gris, pas RVB). Soit les entités des valeurs d'intensité de pixels. Si vous entraînez une régression logistique incluant tous les termes quadratiques ( ) en tant que caractéristiques, combien de caractéristiques aurez-vous?XjeXj

et dans la diapositive précédente concernant le 100x100, que les fonctionnalités quadratiques ( x ) = 3 millions de fonctionnalités, mais je ne peux toujours pas mettre le doigt sur la connexion.x jXjeXj

Réponses:


16

Peut-être qu'un cas plus simple clarifiera les choses. Disons que nous choisissons un échantillon 1x2 de pixels au lieu de 100x100.

Exemples de pixels de l'image

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

Imaginez en traçant notre ensemble d'entraînement, nous avons remarqué qu'il ne peut pas être séparé facilement avec un modèle linéaire, nous avons donc choisi d'ajouter des termes polynomiaux pour mieux ajuster les données.

Disons que nous décidons de construire nos polynômes en incluant toutes les intensités de pixels et tous les multiples possibles qui peuvent être formés à partir d'eux.

Puisque notre matrice est petite, énumérons-les:

X1, X2, X12, X22, X1×X2, X2×X1

L'interprétation de la séquence de caractéristiques ci-dessus peut voir qu'il existe un modèle. Les deux premiers termes, groupe 1, sont des caractéristiques constituées uniquement de leur intensité de pixels. Les deux termes suivants après cela, le groupe 2, sont des caractéristiques constituées du carré de leur intensité. Les deux derniers termes, groupe 3, sont le produit de toutes les combinaisons d'intensités de pixels (deux) par paire.

groupe 1:X1, X2

groupe 2:X12, X22

groupe 3:X1×X2, X2×X1

Mais attendez, il y a un problème. Si vous regardez les termes du groupe 3 dans la séquence ( et ), vous remarquerez qu'ils sont égaux. Rappelez-vous notre exemple de logement. Imaginez avoir deux caractéristiques x1 = superficie, et x2 = superficie, pour la même maison ... Cela n'a aucun sens! Ok, nous devons donc nous débarrasser de la fonction en double, disons arbitrairement . Maintenant, nous pouvons réécrire la liste des fonctionnalités du groupe trois:x 2 × x 1X1×X2X2×X1X2×X1

groupe 3:X1×X2

Nous comptons les fonctionnalités dans les trois groupes et obtenons 5.

Mais ceci est un exemple de jouet. Permet de dériver une formule générique pour calculer le nombre d'entités. Utilisons nos groupes originaux de fonctionnalités comme point de départ.

sjezegroup1+sjezegroup2+sjezegroup3=m×n+m×n+m×n=3×m×n

Ah! Mais nous avons dû nous débarrasser du produit en double dans le groupe 3.

Donc, pour compter correctement les fonctionnalités du groupe 3, nous aurons besoin d'un moyen de compter tous les produits par paire uniques dans la matrice. Ce qui peut être fait avec le coefficient binomial, qui est une méthode pour compter tous les sous-groupes uniques possibles de taille k à partir d'un groupe égal ou plus grand de taille n. Donc, pour compter correctement les entités du groupe 3, calculez .C(m×n,2)

Notre formule générique serait donc:

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

Permet de l'utiliser pour calculer le nombre de fonctionnalités dans notre exemple de jouet:

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

C'est ça!


2
Je souhaite que cette explication ait été donnée dans la conférence!
Ian Walker-Sperber du

Je me demande comment nous supposions savoir cela dans le cours sans être expliqué
Mohammed Noureldin

6

Si vous utilisez toutes les fonctions linéaires et quadratiques, le nombre total est censé être:

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

1
Pouvez-vous l'expliquer un peu plus loin? tu dis xi + xi ^ 2 + xixi? Est-ce que xi = 100 et xj = 100? pourquoi xi et xi ^ 2 sont tous les deux 100 * 100? Qu'est-ce que C (100 * 100,2)?
Iancovici

4
(1) il y a totalement 100 * 100 pixels, si vous utilisez l'intensité comme fonctionnalités, il y aura 100 * 100 fonctionnalités au total, c'est xi; et (ii) vous pouvez également utiliser la densité de puissance comme caractéristique, c'est-à-dire (xi, xi) ou xi. ^ 2, toujours 100 * 100 au total; enfin (iii) si vous utilisez les corrélations entre deux pixels, il y aura au total C paires de pixels, c'est-à-dire (xi, xj), C est une combinaison en mathématiques ( mathworld.wolfram.com/Combination.html )
lennon310

Merci, une dernière question est pourquoi xi = xi ^ 2 dans ce contexte?
Iancovici

J'ai utilisé xi pour représenter un seul pixel, et xi ^ 2 signifie utiliser des paires du même pixel (xi, xi). Le nombre de pixel unique est le même de paires du même pixel. Cela n'a rien à voir avec l'intensité des pixels. Désolé pour la confusion.
lennon310

Même question, quelques années plus tard. Ne faut-il pas également prendre en compte les valeurs d'intensité possibles (de 0 à 255)?
albus_c


0

@whuber 50 millions vient quand vous avez une image de 100 * 100 pixels. où carré (100 * 100) = 100000000 (10 millions) et carré (100 * 100) / 2 = 5 millions. J'espère que cela répond.


Il s'agit d'une réponse à un commentaire et non d'une réponse à cette question.
Michael R. Chernick
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.