Być może prostszy przypadek wyjaśni sprawę. Powiedzmy, że wybieramy próbkę pikseli 1x2 zamiast 100x100.
Przykładowe piksele z obrazu
+----+----+
| x1 | x2 |
+----+----+
Wyobraź sobie, że podczas planowania naszego zestawu treningowego zauważyliśmy, że nie można go łatwo oddzielić za pomocą modelu liniowego, dlatego zdecydowaliśmy się dodać terminy wielomianowe, aby lepiej dopasować dane.
Powiedzmy, że decydujemy się na budowę naszych wielomianów przez uwzględnienie wszystkich intensywności pikseli i wszystkich możliwych wielokrotności, które można z nich utworzyć.
Ponieważ nasza matryca jest niewielka, wyliczmy je:
x1, x2, x21, x22, x1×x2, x2×x1
Interpretując powyższą sekwencję funkcji można zobaczyć, że istnieje wzorzec. Pierwsze dwa terminy, grupa 1, to cechy składające się tylko z ich intensywności pikseli. Następne dwa terminy, potem grupa 2, to cechy składające się z kwadratu ich intensywności. Ostatnie dwa terminy, grupa 3, są iloczynem wszystkich kombinacji intensywności par (dwóch) pikseli.
grupa 1: x1, x2
grupa 2: x21, x22
grupa 3: x1×x2, x2×x1
Ale czekaj, jest problem. Jeśli spojrzysz na terminy grupy 3 w sekwencji ( i x 2 × x 1 ), zauważysz, że są one równe. Zapamiętaj nasz przykład mieszkania. Wyobraź sobie, że masz dwie funkcje x1 = materiał kwadratowy i x2 = materiał kwadratowy dla tego samego domu ... To nie ma sensu! Ok, więc musimy pozbyć się duplikatu funkcji, powiedzmy arbitralnie x 2 × x 1 . Teraz możemy przepisać listę funkcji trzech grup jako:x1×x2x2×x1x2×x1
grupa 3: x1×x2
Liczymy funkcje we wszystkich trzech grupach i otrzymujemy 5.
Ale to jest przykład zabawki. Pozwala uzyskać ogólną formułę do obliczania liczby funkcji. Wykorzystajmy nasze oryginalne grupy funkcji jako punkt wyjścia.
sizegroup1+sizegroup2+sizegroup3=m×n+m×n+m×n=3×m×n
Ach! Musieliśmy jednak pozbyć się duplikatu produktu z grupy 3.
Tak więc, aby poprawnie policzyć funkcje dla grupy 3, potrzebujemy sposobu na policzenie wszystkich unikalnych produktów parowanych w macierzy. Można to zrobić za pomocą współczynnika dwumianowego, który jest metodą zliczania wszystkich możliwych unikalnych podgrup o wielkości k z równej lub większej grupy o wielkości n. Aby właściwie policzyć cechy w grupie 3, oblicz .C(m×n,2)
Więc nasza ogólna formuła byłaby:
m×n+m×n+C(m×n,2)=2m×n+C(m×n,2)
Użyjmy go do obliczenia liczby funkcji w naszym przykładzie zabawki:
2×1×2+C(1×2,2)=4+1=5
Otóż to!
Jeśli używasz wszystkich funkcji liniowych i kwadratowych, całkowita liczba powinna wynosić:
źródło
źródło
@ whuber 50 milionów przychodzi, gdy masz obraz 100 * 100 pikseli. gdzie kwadrat (100 * 100) = 100000000 (10 milionów) i kwadrat (100 * 100) / 2 = 5 milionów. Mam nadzieję, że te odpowiedzi.
źródło