Jakieś praktyczne zasady dotyczące liczby funkcji w porównaniu z liczbą wystąpień? (małe zestawy danych)


17

Zastanawiam się, czy jest jakaś heurystyka na temat liczby cech w porównaniu z liczbą obserwacji. Oczywiście, jeśli liczba cech jest równa liczbie obserwacji, model się dopasuje. Stosując rzadkie metody (LASSO, elastyczna siatka) możemy usunąć kilka funkcji w celu zmniejszenia modelu.

Moje pytanie brzmi (teoretycznie): czy przed użyciem wskaźników do oceny wyboru modelu istnieją jakieś obserwacje empiryczne, które wiążą optymalną liczbę cech z liczbą obserwacji?

Na przykład: w przypadku problemu z klasyfikacją binarną obejmującego 20 instancji w każdej klasie, czy istnieje górny limit liczby używanych funkcji?

Odpowiedzi:


14

Wiele gazet wyraziło taką opinię

tylko w rzadkich przypadkach znany jest rozkład błędu w zależności od liczby funkcji i wielkości próbki.

Powierzchnia błędu dla danego zestawu instancji i cech jest funkcją korelacji (lub jej braku) między cechami.

Ten artykuł sugeruje, co następuje:

  • N.-1N.
  • N.

Innym (empirycznym) podejściem, które można zastosować, jest narysowanie krzywych uczenia się dla różnych rozmiarów próbek z tego samego zestawu danych i użycie tego do przewidywania wydajności klasyfikatora przy różnych rozmiarach próby. Oto link do artykułu .


2
Uważam tę odpowiedź za nieco mylącą, ponieważ brakuje kluczowego założenia artykułu Hua: Funkcje Hua i in. rozważyć w połączonej papieru są wszystkie informacyjny, który nie jest tym, co można spodziewać się, że w praktyce. IMHO należy to wyraźnie zaznaczyć, ponieważ najczęstszym rodzajem nieskorelowanych „cech” IMHO są nieinformacyjne kanały pomiarowe.
cbeleites wspiera Monikę

Wrt. krzywe uczenia się: OP prawdopodobnie nie będzie w stanie ich używać z przypadkami 2 × 20, ponieważ nie można ich zmierzyć z użyteczną precyzją z tak niewielu przypadków. Hua krótko o tym wspomina i omawialiśmy tę trudność raczej szczegółowo w artykule, który zamieściłem w mojej odpowiedzi poniżej.
cbeleites obsługuje Monikę

8

z własnego doświadczenia: w jednym przypadku pracowałem z prawdziwą bazą danych, która jest bardzo mała (300 obrazów) z wieloma klasami, poważny problem braku równowagi danych i ostatecznie skorzystałem z 9 funkcji: SIFT, HOG, kontekstu kształtu, SSIM, GM oraz 4 funkcje oparte na DNN. W innym przypadku pracowałem z bardzo dużą bazą danych (> 1 M obrazów) i skończyłem na użyciu tylko funkcji HOG. Myślę, że nie ma bezpośredniego związku między liczbą instancji a liczbą funkcji wymaganych do osiągnięcia wysokiej dokładności. ALE: liczba klas, podobieństwo między klasami i zmienność w obrębie tej samej klasy (te trzy parametry) mogą wpływać na liczbę funkcji. w przypadku posiadania większej bazy danych z wieloma klasami i dużym podobieństwem między klasami oraz dużej zmienności w obrębie tej samej klasy potrzebujesz więcej funkcji, aby osiągnąć wysoką dokładność. ZAPAMIĘTAJ:


@Bashar Haddad: Popraw mnie, jeśli się mylę (ponieważ jestem nowy zarówno w wizji komputerowej, jak i ML), czy funkcja HOG nie jest w rzeczywistości wektorem wielowymiarowym (w moim przypadku otrzymywałem 1764-wymiarowe funkcje HOG). Więc kiedy powiesz, że 9 funkcji, a jedną z nich jest HOG, to czy faktycznie nie otrzymujesz przestrzennej przestrzeni cech dla samego HOG?
Mathmath,

1
W literaturze używają słowa cecha do wskazania typu cechy lub indeksu wymiarów. Więc kiedy mówię, że używam 6 funkcji, oznacza to, że używam 6 typów funkcji, z których każda jest wektorem (1 x D). jeśli mówię o typie elementu wieprz, każdy wymiar może być cechą.
Bashar Haddad

2

To zależy ... ale oczywiście ta odpowiedź nie doprowadzi cię nigdzie.

Jest pewną ogólną zasadą dotyczącą złożoności modelu: Uczenie się na podstawie danych - wymiar VC

„Bardzo z grubsza” potrzebujesz 10 punktów danych dla każdego parametru modelu. Liczba parametrów modelu może być podobna do liczby funkcji.


2

Trochę późno na imprezę, ale oto heurystyka.

problem z klasyfikacją binarną z 20 instancjami w każdej klasie, czy istnieje górny limit liczby używanych funkcji?

  • Do szkolenia klasyfikatorów liniowych zaleca się 3–5 niezależnych przypadków na klasę i cechę. Ten limit zapewnia niezawodnie stabilne modele, nie gwarantuje dobrego modelu (nie jest to możliwe: możesz mieć nieinformacyjne dane, w których żaden model nie mógłby osiągnąć dobrej wydajności uogólnienia)

  • Jednak w przypadku próbek tak małych, jak scenariusz, weryfikacja (walidacja) wąskim gardłem jest a nie szkolenie, a weryfikacja zależy od bezwzględnej liczby przypadków testowych, a nie przypadków związanych ze złożonością modelu: z reguły potrzebujesz ≈ 100 testów przypadki w mianowniku w celu oszacowania proporcji z przedziałem ufności nieprzekraczającym 10% szerokości.

    Niestety oznacza to również, że zasadniczo nie można uzyskać empirycznej krzywej uczenia się dla swojej aplikacji: nie można jej wystarczająco dokładnie zmierzyć, aw praktyce i tak miałbyś ogromne trudności z ekstrapolacją, ponieważ podczas szkolenia reagujesz na małą próbkę ograniczając swój model złożoność - i rozluźniłbyś to wraz ze wzrostem wielkości próby.

    Szczegółowe informacje można znaleźć w naszym artykule: Beleites, C. and Neugebauer, U. i Bocklitz, T. and Krafft, C. and Popp, J .: Planowanie wielkości próby dla modeli klasyfikacji. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    zaakceptowano manuskrypt na arXiv: 1211.1323

  • Nigdy nie miałem nic bliskiego tym zaleceniom (dane spektroskopowe, również do zastosowań medycznych). To, co robię, to: bardzo dokładnie mierzę stabilność modelu w ramach procesu modelowania i weryfikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.