Od sieci bayesowskich po sieci neuronowe: w jaki sposób można zastosować regresję wielowymiarową do sieci z wieloma wyjściami

20

Mam do czynienia z bayesowskim hierarchicznym modelem liniowym , tutaj sieć go opisująca.

Model graficzny opisujący problem

Y oznacza dzienną sprzedaż produktu w supermarkecie (zaobserwowano).

X jest znaną matrycą regresorów, w tym cen, promocji, dnia tygodnia, pogody i świąt.

S. to nieznany ukryty poziom zapasów każdego produktu, który powoduje najwięcej problemów i który uważam za wektor zmiennych binarnych, po jednym dla każdego produktu z wskazującym na zapasy, a więc niedostępność produktu. Nawet jeśli teoretycznie nie jestem znany, oszacowałem to za pomocą HMM dla każdego produktu, więc należy to uznać za znane jako X. Właśnie zdecydowałem się odhaczyć go dla właściwego formalizmu.1

η jest parametrem mieszanego efektu dla każdego pojedynczego produktu, w którym uwzględniane są mieszane efekty: cena produktu, promocje i wyprzedaż.

b 1β jest wektorem stałych współczynników regresji, podczas gdy i są wektorami współczynnika efektów mieszanych. Jedna grupa wskazuje markę, a druga smak (jest to przykład, w rzeczywistości mam wiele grup, ale tutaj zgłaszam tylko 2 dla jasności).b1b2)

Σ b 1Ση , i są hiperparametrami w stosunku do efektów mieszanych.Σb1Σb2)

Ponieważ mam dane zliczania, powiedzmy, że każdą sprzedaż produktu traktuję jako dystrybucję Poissona zależną od regresorów (nawet jeśli dla niektórych produktów obowiązuje przybliżenie liniowe, a dla innych model z napompowaniem zerowym jest lepszy). W takim przypadku miałbym produkt ( tylko dla tych, którzy są zainteresowani samym modelem bayesowskim, przejdź do pytania, jeśli uznasz go za nieciekawy lub nietrywialny :) ):Y

ΣηIW(α0,γ0)

Σb1IW(α1,γ1)

α 0 , γ 0 , α 1 , γ 1Σb2IW(α2,γ2) , znane.α0,γ0,α1,γ1,α2,γ2)

ηN(0,Ση)

b1N(0,Σb1)

b2N(0,Σb2)

Σ ββN(0,Σβ) , znany.Σβ

λtijk=βXti+ηiXppsti+b1jZtj+b2kZtk ,

YtijkPoi(exp(λtijk))

j 1 , , m 1 k ja1,,N. , ,jot1,,m1k1,,m2)

ZjaMacierz efektów mieszanych dla 2 grup, wskazująca cenę, promocję i zapasy rozpatrywanego produktu. wskazuje na odwrotne rozkłady Wishart, zwykle stosowane w macierzach kowariancji normalnych pierwiastków wielowymiarowych. Ale to nie jest ważne tutaj. Przykładem możliwej może być matryca wszystkich cen, lub możemy nawet powiedzieć . Jeśli chodzi o priorytety dla macierzy mieszanych efektów wariancji-kowariancji, po prostu starałbym się zachować korelację między wpisami, aby byłby dodatni, gdyby i były produktami tej samej marki lub któregoś z ten sam smak. XppsjajaW.ZjaZja=Xjaσjajotjajot

Intuicja tego modelu polegałaby na tym, że sprzedaż danego produktu zależy od jego ceny, jego dostępności lub nie, ale także od cen wszystkich innych produktów i zapasów wszystkich innych produktów. Ponieważ nie chcę mieć tego samego modelu (czytaj: ta sama krzywa regresji) dla wszystkich współczynników, wprowadziłem mieszane efekty, które wykorzystują niektóre grupy, które mam w moich danych, poprzez współdzielenie parametrów.

Moje pytania to:

  1. Czy istnieje sposób na przeniesienie tego modelu do architektury sieci neuronowej? Wiem, że istnieje wiele pytań dotyczących związków między siecią bayesowską, losowymi polami markowa, bayesowskimi modelami hierarchicznymi i sieciami neuronowymi, ale nie znalazłem niczego, co przechodzi od bayesowskiego modelu hierarchicznego do sieci neuronowych. Zadaję pytanie o sieci neuronowe, ponieważ mając dużą wymiarowość mojego problemu (uważam, że mam 340 produktów), oszacowanie parametrów przez MCMC zajmuje tygodnie (próbowałem tylko dla 20 produktów z równoległymi łańcuchami w runJags i zajęło to dni) . Ale nie chcę wybierać losowo i po prostu przekazywać dane do sieci neuronowej jako czarna skrzynka. Chciałbym wykorzystać strukturę zależności / niezależności mojej sieci.

Tutaj właśnie naszkicowałem sieć neuronową. Jak widać, regresory ( i wskazują odpowiednio cenę i zapasy produktu ) u góry są wprowadzane do ukrytej warstwy, podobnie jak te specyficzne dla produktu (tutaj rozważałem ceny i zapasy). P.jaS.jaja(Niebieskie i czarne krawędzie nie mają szczególnego znaczenia, chodziło tylko o to, aby rysunek był wyraźniejszy). Ponadto i mogą być silnie skorelowane podczasY1Y2)Y3)może być zupełnie innym produktem (pomyśl o 2 sokach pomarańczowych i czerwonym winie), ale nie używam tych informacji w sieciach neuronowych. Zastanawiam się, czy informacje o grupowaniu są wykorzystywane tylko do inicjalizacji wagi, czy też można dostosować sieć do problemu.

przykład kukiełkowy sieci neuronowej

Edytuj, mój pomysł:

Możliwa inicjalizacja?

Mój pomysł byłby taki: jak poprzednio, i są produktami skorelowanymi, podczas gdy jest zupełnie inny. Wiedząc o tym a priori, robię 2 rzeczy:Y1Y2)Y3)

  1. niektóre neurony w ukrytej warstwie do dowolnej grupy, którą mam, w tym przypadku mam 2 grupy {( ), ( )}.Y1,Y2)Y3)
  2. Inicjuję wysokie wagi między wejściami a przydzielonymi węzłami (pogrubione krawędzie) i oczywiście buduję inne ukryte węzły, aby uchwycić pozostałą „losowość” danych.

Z góry dziękuję za Twoją pomoc

Tommaso Guerrini
źródło
@Tomasso Guerrini tutaj jest możliwa odpowiedź dla ciebie: stats.stackexchange.com/questions/4498/…
Anton Danilov
dzięki @AntonDanilov, niestety przyjęta odpowiedź mówi: „Chociaż sieci neuronowe są wyposażone w„ wykresy ”, generalnie nie kodują informacji o zależnościach, a węzły nie reprezentują zmiennych losowych”: /
Tommaso Guerrini
1
Czy próbowałeś Stana , czy to nie jest możliwe z powodu twojego problemu? Hamiltonian Monte Carlo może być o rząd wielkości szybszy niż próbkowanie Gibbsa i dobrze skaluje się do setek (a nawet tysięcy) zmiennych.
lacerbi
1
Czy próbowałeś zadać to samo pytanie (pytania) do listy mailingowej użytkowników Stan ? Zazwyczaj są bardzo pomocni w kwestiach technicznych, aby model działał. Na przykład możliwe jest, że problemy w twoim przypadku można rozwiązać dzięki lepszej parametryzacji. ( Hamiltonian Monte Carlo powinien mieszać się znacznie szybciej niż próbkowanie Gibbsa.)
Lacerbi
1
Prawdopodobnie lepiej powiedzieć, że spamowałem tę listę mailingową. Nawiasem mówiąc, dziękuję bardzo Luigi .. Jestem w takiej sytuacji, w której nie mam więcej czasu na rozwiązywanie problemów tak, jak powinienem, ponieważ mam zbliżający się termin. Wygląda na to, że STAN jest świetnym narzędziem, ale krzywa uczenia się jest trochę stroma, aby naprawdę zdać sobie sprawę z jego niesamowitej wydajności (na razie zdałem sobie sprawę z jego przyspieszenia wrt JAGS)
Tommaso Guerrini

Odpowiedzi:

1

Dla przypomnienia, nie uważam tego za odpowiedź, ale za długi komentarz! PDE (równanie ciepła), które jest używane do modelowania przepływu ciepła przez metalowy pręt, może być również użyte do modelowania wyceny opcji. Nikt, kogo znam, nigdy nie próbował sugerować związku między ceną opcji a przepływem ciepła per se. Myślę, że cytat z linku Daniłowa mówi to samo. Zarówno wykresy bayesowskie, jak i sieci neuronowe używają języka grafów do wyrażania relacji między różnymi częściami wewnętrznymi. Jednak wykresy bayesowskie mówią o strukturze korelacji zmiennych wejściowych, a wykres sieci neuronowej mówi, jak zbudować funkcję predykcji ze zmiennych wejściowych. To są bardzo różne rzeczy.
Różne metody stosowane w DL próbują „wybrać” najważniejsze zmienne, ale jest to kwestia empiryczna. Nie mówi również o strukturze korelacji całego zestawu zmiennych lub pozostałych zmiennych. Sugeruje jedynie, że zmienne, które przetrwają, będą najlepsze do predykcji. Na przykład, jeśli spojrzymy na sieci neuronowe, zostaniemy poprowadzeni do niemieckiego zestawu danych kredytowych, który, o ile dobrze pamiętam, zawiera 2000 punktów danych i 5 zmiennych zależnych. Dzięki próbom i błędom wydaje mi się, że sieć z tylko 1 ukrytą warstwą i przy użyciu tylko 2 zmiennych daje najlepsze wyniki w prognozowaniu. Można to jednak odkryć jedynie poprzez zbudowanie wszystkich modeli i przetestowanie ich na niezależnym zestawie testowym.

meh
źródło
Nie otrzymuję porównania z zastosowaniem tego samego modelu na różnych danych: tutaj dane są takie same, a model różni się, a nie na odwrót. Co więcej, nie próbuję wnioskować na temat struktury korelacji moich zmiennych za pomocą sieci neuronowej, co jest już dobrze osiągnięte dzięki wnioskowaniu bayesowskiemu z tyłu. Wykres miał tylko zobrazować to, co dzieje się w modelu hierarchicznym, więc nie rozumiem rzeczy związanej z „językiem grafów” (być może wprowadziłem cię w błąd z tytułem, ale potrzebowałem chwytliwego: D)
Tommaso Guerrini,
I może nie rozumiem twojego pytania. Nadal uważam, że chodzi o to, że sposób tworzenia krawędzi w dwóch strukturach grafowych nie ma ze sobą nic wspólnego. Można po prostu zdefiniować sieć neuronową z danym zestawem krawędzi i ciężarów, ale nie ma powodu sądzić, że taka sieć będzie albo dokładna, albo przydatna. Sercem tworzenia sieci neuronowej jest użycie czegoś podobnego do propagacji wstecznej, aby dane mogły określić „prawidłowe” wagi.
meh
„Wykres miał tylko zobrazować to, co dzieje się w modelu hierarchicznym”. Zgadzamy się, że w jednym przypadku definiujemy strukturę kowariancji, a model jest bardzo dobrze interpretowalny a posteriori, podczas gdy w drugim pozwalamy na wykonanie gradientu, a nawet jeśli nie jest możliwy do interpretacji, zwykle (jak w moim przypadku) daje dobre wyniki. Moje pytanie brzmi: czy istnieje sposób na utrzymanie interpretacji bez utraty przewidywania? Dlatego zapytałem o to na stosie i dlatego proponuję ten pomysł w edycji, szukam pomysłów. Mam nadzieję, że teraz jest to dla ciebie jasne.
Tommaso Guerrini
Nie można udowodnić negatywności, więc nie mogę definitywnie stwierdzić, że nie ma związku między wykresami sieci bayesowskiej i grafami sieci neuronowych. Mogę powiedzieć, że nie mam wiedzy o takim związku i że jestem głęboko sceptyczny wobec jakiegokolwiek związku. Chociaż można użyć struktury grafu sieci bayesowskiej do nadania struktury grafu sieci neuronowej, z punktu widzenia sieci neuronowej nie wydaje się to rozsądne. Obecnie nie mam czasu na wypracowanie szczegółów, ale jako eksperyment myślowy wyobraź sobie zestaw danych, w którym wszystkie zmienne niezależne były statystycznie
meh
y=xja+zjazja=ZA×σ-1(xja)σzjajest w przybliżeniu zero. Jednak powinny być częścią każdego dobrego modelu.
meh