Come calcolare il numero di funzioni in base alla risoluzione dell'immagine?


18

Abbiamo appena trattato l'ipotesi non lineare di Neturalrks neurali di Andrew Ng e abbiamo avuto una domanda a scelta multipla per determinare il numero di funzioni per un'immagine con una risoluzione di 100x100 di intensità in scala di grigi .

E la risposta è stata di 50 milioni, 5 x 107

Tuttavia, in precedenza per un'immagine in scala di grigi 50 x 50 pixel. il numero di funzioni è 50x50 (2500)

Perché dovrebbe essere 5 x 107 anziché ?10,000

Tuttavia dice che include tutti i termini quadratici ( ) come caratteristichexixj

Supponiamo che tu stia imparando a riconoscere le auto da immagini di 100 × 100 pixel (scala di grigi, non RGB). Lascia che le caratteristiche siano valori di intensità dei pixel. Se si allena la regressione logistica includendo tutti i termini quadratici ( ) come caratteristiche, su quante funzioni si avrà?xixj

e nella diapositiva precedente relativa a 100x100, che le funzioni quadratiche ( x ) = 3 milioni di funzioni, ma non riesco ancora a mettere un dito sulla connessione.x jxixj

Risposte:


16

Forse un caso più semplice renderà le cose più chiare. Diciamo che scegliamo un campione di pixel 1x2 anziché 100x100.

Pixel di esempio dall'immagine

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

Immaginiamo che, quando tracciamo il nostro set di allenamento, abbiamo notato che non può essere facilmente separato con un modello lineare, quindi scegliamo di aggiungere termini polinomiali per adattarli meglio ai dati.

Diciamo, decidiamo di costruire i nostri polinomi includendo tutte le intensità di pixel e tutti i possibili multipli che possono essere formati da loro.

Poiché la nostra matrice è piccola, li enumeriamo:

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

L'interpretazione della sequenza di funzioni sopra riportata può vedere che esiste un modello. I primi due termini, gruppo 1, sono caratteristiche costituite solo dalla loro intensità di pixel. I seguenti due termini, gruppo 2, sono costituiti dal quadrato della loro intensità. Gli ultimi due termini, gruppo 3, sono il prodotto di tutte le combinazioni di intensità di pixel a coppie (due).

gruppo 1: x1, x2

gruppo 2: x12, x22

gruppo 3: x1×x2, x2×x1

Ma aspetta, c'è un problema. Se osservi i termini del gruppo 3 nella sequenza ( e x 2 × x 1 ) noterai che sono uguali. Ricorda il nostro esempio di alloggio. Immagina di avere due funzioni x1 = metraggio quadrato e x2 = metraggio quadrato, per la stessa casa ... Non ha alcun senso! Ok, quindi dobbiamo sbarazzarci della funzione duplicata, diciamo arbitrariamente x 2 × x 1 . Ora possiamo riscrivere l'elenco delle funzionalità del gruppo tre come:x1×x2x2×x1x2×x1

gruppo 3: x1×x2

Contiamo le funzionalità in tutti e tre i gruppi e ne otteniamo 5.

Ma questo è un esempio di giocattolo. Consente di ricavare una formula generica per il calcolo del numero di funzioni. Usiamo i nostri gruppi originali di funzionalità come punto di partenza.

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

Ah! Ma abbiamo dovuto sbarazzarci del prodotto duplicato nel gruppo 3.

Quindi, per contare correttamente le funzionalità del gruppo 3 avremo bisogno di un modo per contare tutti i prodotti unici a coppie nella matrice. Che può essere fatto con il coefficiente binomiale, che è un metodo per contare tutti i possibili sottogruppi univoci di dimensione k da un gruppo uguale o più grande di dimensione n. Quindi per contare correttamente le caratteristiche nel gruppo 3 calcolare .C(m×n,2)

Quindi la nostra formula generica sarebbe:

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

Usiamolo per calcolare il numero di funzioni nel nostro esempio di giocattolo:

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

Questo è tutto!


2
Vorrei che questa spiegazione fosse stata data nella lezione!
Ian Walker-Sperber

Mi chiedo come dovremmo saperlo nel corso senza essere spiegato
Mohammed Noureldin,

6

Se si utilizzano tutte le funzioni lineari e quadratiche, il numero totale dovrebbe essere:

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

1
Puoi spiegarlo un po 'di più? stai dicendo xi + xi ^ 2 + xixi? È xi = 100 e xj = 100? perché xi e xi ^ 2 sono entrambi 100 * 100? Che cos'è C (100 * 100,2)?
Iancovici,

4
(1) ci sono totalmente 100 * 100 pixel, se stai usando l'intensità come caratteristiche, ci saranno 100 * 100 caratteristiche in totale, questo è xi; e (ii) puoi anche usare la densità di potenza come caratteristica, ovvero (xi, xi) o xi. ^ 2, ancora 100 * 100 in totale; infine (iii) se usi le correlazioni tra due pixel, ci saranno in totale coppie di C, ovvero (xi, xj), C è una combinazione in matematica ( mathworld.wolfram.com/Combination.html )
lennon310

Grazie, un'ultima domanda è: xi = xi ^ 2 in questo contesto?
Iancovici,

Ho usato xi per rappresentare un singolo pixel e xi ^ 2 significa usare coppie dello stesso pixel (xi, xi). Il numero di singolo pixel è lo stesso delle coppie dello stesso pixel. Non ha nulla a che fare con l'intensità dei pixel. Dispiace per la confusione.
lennon310,

Stessa domanda, qualche anno dopo. Non dovremmo prendere in considerazione anche i possibili valori di intensità (da 0 a 255)?
albus_c,


0

@whuber 50 milioni arriva quando hai un'immagine di 100 * 100 pixel. dove quadrato (100 * 100) = 100000000 (10 milioni) e quadrato (100 * 100) / 2 = 5 milioni. Spero che questo risponda.


Questa è una risposta a un commento e non una risposta a questa domanda.
Michael R. Chernick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.