Czy ktoś zdołał uruchomić regresję najmniejszych kwadratów w Vowpal Wabbit? Próbuję potwierdzić, że zwróci ona tę samą odpowiedź co dokładne rozwiązanie, tj. Przy wyborze, aby zminimalizować ||y - X a||_2 + ||Ra||_2
(gdzie R jest regularyzacją) chcę uzyskać odpowiedź analityczną a = (X^T X + R^T R)^(-1) X^T y
. Wykonanie tego typu regresji zajmuje około 5 wierszy w numpy python.Regresja zwykłych najmniejszych kwadratów w Vowpal Wabbit
Dokumentacja VW sugeruje, że może to zrobić (przypuszczalnie funkcja straty "kwadrat"), ale jak dotąd nie udało mi się uzyskać tego, by zbliżyć się do wyników Pythona. Becuase kwadratu jest domyślna funkcja straty, ja po prostu dzwoniąc:
$ vw-varinfo input.txt
gdzie input.txt posiada linie takie jak
1.4 | 0:3.4 1:-1.2 2:4.0 .... etc
Czy muszę mieć jakieś inne parametry w VW zadzwonić? Nie jestem w stanie pogrzebać (raczej minimalnej) dokumentacji.
Nie jest jasne, o co tu chodzi. Czy możesz podać więcej informacji wyjaśniających, czego oczekujesz od tego, co dostajesz? – Spaceghost
Pamiętaj, że vw to algorytm online, który aktualizuje wagę modelu (współczynniki OLS) tylko nieznacznie dla każdego przykładu i nigdy nie wraca ani nie działa. Jeśli chcesz uzyskać wydajność podobną do algorytmu wsadowego, szczególnie gdy liczba przykładów nie jest dużo większa niż liczba funkcji, prawdopodobnie będziesz musiał wykonać wiele przejść na wejściu do momentu uzyskania zbieżności (np. '-c --passes 100 '). – arielf
"--loss_function classic" da wanilii najmniejszych kwadratów. "-loss_function squared" często przewyższa go, ponieważ ma "Online Weightance Weight Aware Updates" (zobacz: http://arxiv.org/abs/1011.1576) –