Wpis z mikrobloga

Mircy, ostatnio gdzies zasłyszałem termin "normalizacja względem wariancji", ogólnie chodzi o sieci neuronowe, gdzie do modelu wchodzi n-zrodel, kazde jako feature vectory juz wyekstraktowane z pewnych danych, nastepnie wszystkie te wektory z n zrodel sa konkatenowe i po tym polaczeniu zeby przeprowadzic na nich wlasnie wspomniana "normalizacje wzgledem wariancji". Nie jestem pewny o co dokladnie moze chodzic? Czy chodzi po prostu o standaryzacje Z-score Normalization? Czy o cos moze innego?

Wie ktos moze o co moze chodzic i bylby sklonny mi to wytlumaczyc?

#sztucznainteligencja #machinelearning #datascience #artificialintelligence #siecineuronowe #uczeniemaszynowe #programowanie
  • 11
  • Odpowiedz
@mrocznapszczola: Wiesz, niektore angielskie nazwy ciezko tlumaczyc na jezyk polski, ale ok, widze, ze jestes fanem wyrazenia "uczenia glebokiego" zamiast deep learning ale tak czy siak dzieki za odpwoiedz
  • Odpowiedz
@mrocznapszczola: Pisanie o uczeniu maszynowym po polsku do latwych nie nalezy ze wzgledu na rozne zwroty ktore sie "dziwnie" tlumacza na polski, troche wiecej wyrozumialosci. Chetnie dowiem sie zatem jak powinienem napisac? Wektory cech?
  • Odpowiedz
@Burkhard dokładnie wektor cech albo połączenie zamiast konkatowane. Takie spolszczanie słów niczemu nie służy, bo wiele z nich jest już w naszym języku od bardzo dawna. Nie mówię, że wszystko da się przetłumaczyć, ale pamiętaj, że jak już coś piszesz po angielsku, to lepiej użyj poprawnej pisowni. Ale wracając do tematu, to batch normalization, to metoda, której szukałeś?
  • Odpowiedz
@Burkhard: Jak już zostało wspomniane wyżej, chodzi o normalizację/standaryzację. Wyliczasz to niezależnie per cecha za pomocą prostego wzoru. Dla każdej z cech wyliczasz jej średnią oraz odchylenie standardowe (które jest pierwiastkiem kwadratowym z wariancji, o której wspomniałeś - stąd wiemy, że chodzi o standaryzację). Mając wyliczone te zmienne dla całego zbioru (i każdej cechy), dla każdej obserwacji dokonujesz wyliczenia: (cecha - średnia) / odchylenie.

Docelowo otrzymujesz cechy, które mają takie właściwości:
  • Odpowiedz
@piotrsbk: Dziekuje za szczegolowa odpowiedz. W moim przypadku mam do czynienia z sekwencjami pewnych wektorow, na wejsciu mam (liczbasekwencji, dlugoscsekwencji, dlugoscwektora).

Zrobilem cos takiego, ze przetransformowalem taki obiekt na (liczba
sekwencji, dlugosc_sekwencji * dlugosc_wektora) a potem zrobilem standaryzacje wzgledem osi 1 (liczac od 0).
  • Odpowiedz
@Burkhard: To jest najprostsze podejście, które powinno być ok, o ile tak samo traktujesz dane wchodzące do modelu, tzn. spłaszczasz dane do (liczba_sekwencji, długość_sekwencji * długość wektora) np. przed wrzuceniem do regresji logistycznej. Jeśli planujesz wrzucić sekwencję do modelu, który "rozumie" sekwencje, np. jakiegoś RNNa, to może to być potencjalnie problematyczne.

Weźmy sobie przykład: masz zbiór, w którym codziennie mierzysz temperaturę i wilgotność (długość_wektora=2) przez co godzinę przez cały
  • Odpowiedz
@piotrsbk: Bardzo dziekuje za to "rozpisanie sie" bo dzieki temu wytlumaczyles mi to w przystepny sposob. A wiec jednak nadal na mirko mozna znalezc super rzeczowa pomoc, dziekuje, mam nadzieje ze kiedys uda mi sie odwdzieczyc :)
  • Odpowiedz