User Tools

Site Tools


Sidebar


Menu



notatki:ci:nne

This is an old revision of the document!


NNE (pl)

Bezparametryczna estymacja szumu

Idea bezparametrycznej estymacji szumu (nonparametric noise estimation) jest dosyć starym problemem i dotyczy głównie problemów regresji. Typowy problem regresji można zapisać jako:

y=f(x)+r

gdzie f(x) to “prawdziwa” postać funkcji, y to obserwowane wartości na wyjściu tej funkcji, natomiast r to addytywny szum o średniej = 0, który zabuża nam wyniki naszych obserwacji. Innymi słowy jeśli będziemy znali wartość szumu to będziemy mogli przewidzieć średni błąd naszego modelu, ponieważ nie powinien on przekroczyć wyestymowanej wartości r.
Do typowych metod wyznaczenia NNE można zaliczyć dwa różne podejścia:

Delta test

Delta test jest niczym innym jak założeniem że średni błąd modelu jest równy połowie błędu estymacji zrealizowanej w oparciu o algorytm 1-NN dla testu LOO . Innymi słowy oblicza się go jako średnią wartość błędu MSE liczonego dla najbliższych sąsiadów wszystkich wektorów podzieloną przez 2.

Gamma test

Delta test jest poprawny przy założeniu że odległość najbliższego sąsiada do każdego z punktów jest stosunkowo mała i dąży do 0. Zależność ta często jednak nie jest spełniona, dlatego też opracowano Gamma test, który próbuje sobie radzić z opisanymi ograniczeniami. Idea Gamma-testu polega na wyznaczeniu średniej odległości zarówno w przestrzeni wejściowej (pomiędzy najbliższymi sąsiadami, którzy znajdują się bliżej danego wektora niż założona miara o - x-x_i<o), jak i średniej odległości w przestrzeni wyjściowej do najbliższego wektora w przestrzeni wejściowej. Ponieaż pojawił się problem doboru o dlatego też założono uproszenie, gdzie poszukiwany jest po prostu najbliższy nąsiad lub k najbliższych sąsiadów do danego punktu. Na tej podstawie (różnic odległości na we i wy dla różnych k) budowany jest wykres średniej odległości k najbliższych sąsiadów w przestrzeni wej. jak wyj. Jeśli dokonać prostej aproksymacji liniowej to można na tej podstawie wyznaczyć wartość błędu przy założeniu że odległość najbliższego sąsiada → 0.
Odpowiednią procedurę można zapisać jako:

  1. Określ wartość k - liczbę rozpatrywanych najbliższych sąsiadów
  2. Znajdź dla każdego wektora jego k najbliższych sąsiadów. Powstanie więc macierz S o wymiarach [n x k] gdzie n to liczba wektorów w zbiorze treningowym, a k liczba najbliższych sąsiadów. Element macierzy s_ij stanowi więc na indeks j tego najbliższego sąsiada do danego i-tego wektora.
  3. Dla każdego wektora treningowego wyznacz na podstawie S wartości odległości do j - tego najbliższego sąsiada D_ij = d(x_i s_ij)^2, gdzie d to funkcja odległości Euklidesa
  4. Podobnie jak powyżej na podstawie S zbuduj macierz która zawiera kwadrat błędu wartości wyjściowych C_ij = (y_i - y_{s_ij})^2
  5. Wyznacz średni błąd dla każdego j-tego elementu w macierzach D i C w wyniku czego powinny powstać odpowiednio wektory o wymiarze e [1 x k] i o [1 x k]
  6. Na podstawie par punktów e i o dokonaj aproksymacji funkcji liniowej o = a*e+b, co można zapisać w postaci wektorowej jako o = x*a+b gdzie poszukiwane są parametry a i b. Można to prosto rozwiązać jako [a b]=inv([x 1])o
  7. Po wyznaczeniu parametrów a i b, wartość b odpowiada poszukiwanej średniej wartości szumu.

Szczegułów szukaj na nne

  • Printable version
  • Tell by mail
  • Export to OpenOffice
  • Export to PDF
  • Export to csv
  • Export to Timeline
  • Add page to book
  • Tools:
notatki/ci/nne.1268923665.txt.gz · Last modified: 2019/03/21 13:07 (external edit)