Co to jest rozrost?
Rozrost w przestrzeni N-wymiarowej jest podprzestrzenią (N-1)-wymiarową; Jeśli przestrzeń jest trójwymiarowa, wówczas jego przerost są dwuparazowymi płaszczyznami. Przestrzeń n-wymiarowa jest zawsze rozciągana przez zestaw n liniowo niezależnych wektorów i zawsze można znaleźć n wzajemnie ortogonalne wektory obejmujące przestrzeń. Które mogą, ale nie muszą być w definicji skończonej przestrzeni wektorowej, ale jest to fakt, dla którego dowód można znaleźć w prawie każdym podręczniku algebry liniowej.
W rezultacie rozrost w przestrzeni N jest rozpowszechniany przez liniowe wektory niezależne N-1 i ma wektor nth (nie w płaszczyźnie) ortogonalny.
Co to jest maszyna wektorowa wsparcia?
Maszyna wektorowa wsparcia (SVM) to nadzorowany algorytm klasyfikacji binarnej uczenia maszynowego. Biorąc pod uwagę zestaw dwóch rodzajów punktów w wymiarach N, SVM generuje rozrost wymiarowy (N-1), aby podzielić te punkty na dwie grupy, jak pokazano poniżej:
Na powyższym rysunku SVM wybierze czerwoną linię jako najlepszy rozrost oddzielający klasy niebieskie i zielone.
Załóżmy, że masz dwa rodzaje punktów w płaszczyźnie, które są liniowo rozdzielone. SVM znajdzie linię prostą, która dzieli te punkty na dwa typy i jest jak najdalej od nich wszystkich. Ta linia jest znana jako przerost i został wybrany, aby wartości odstające nie były ignorowane, a punkty różnych klas są tak daleko, jak to możliwe. Jeśli nie można oddzielić punktów, SVM używa transformacji jądra w celu zwiększenia wymiarów punktów.
Przypadek omówiony powyżej był dość prosty, ponieważ dane były oddzielne liniowo - jak widzieliśmy, mogliśmy narysować linię prostą, aby oddzielić czerwone i niebieskie typy punktów.
Co jeśli dane nie są liniowo rozdzielone? Nie będziemy w stanie oddzielić klas, rysując prosty hiperplan. Aby rozwiązać to wyzwanie, dodamy trzeci wymiar do zestawu danych. Do tej pory mieliśmy dwa wymiary: x i y. Tworzymy nowy wymiar i nakazujemy, aby obliczał go w sposób wygodny dla nas: Z = x2 + y2.
To stworzy trójwymiarową przestrzeń z poprzednich punktów. Możemy wywnioskować z poniższej rysunku, że początkowo punkty nie były liniowo rozdzielne, ale po zastosowaniu funkcji jądra łatwo oddzieliliśmy punkty danych. Dostępnych jest wiele funkcji jądra, które możesz wybrać zgodnie z przypadkiem użycia.
Zalety SVM
Wady SVM
Kierunki ceny akcji prognozy za pomocą SVM
Prognozy rynku akcji są dokonywane przez przewidywanie przyszłej wartości akcji spółki lub innego instrumentu finansowego obrotu na giełdzie przy użyciu analizy podstawowej lub technicznej.
Zaletą prognozowania giełdowego jest to, że pozwala on mądrze i zyskujesz.
Pierwszym zadaniem tej implementacji jest import wszystkich bibliotek i modułów w naszym skrypcie. Sklearn zostanie wykorzystany do budowy modelu, pandy będą używane do obsługi ramek danych, a Numpy jest przeznaczona na algebrę liniową. Poniżej znajduje się wymagany import:
ze Sklearn.SVM Import SVCNastępnym zadaniem jest odczytanie zestawu danych z pliku. Plik będzie w pamięci zewnętrznej i możesz pobrać zestaw danych stąd.
# Odczytanie pliku CSV z zewnętrznej pamięciPrzypisz DATETIME jako indeks ramki danych i upuść kolumnę „Data”
# Data tworzenia jako kolumna indeksuPrzypisz funkcje wejściowe do zmiennej
# Utwórz zmienne predykcyjnePrzypisz kolumnę docelową do innej zmiennej
# Zmienne docelowePodziel zestaw danych na próbki pociągu i testu. Próbki pociągów zbudują model, a próbki testowe zidentyfikują dokładność modelu.
split = int (0.9*Len (DF))Utwórz teraz model SVM
# Wsparcie klasyfikator wektorowyDokładność tego modelu można znaleźć za pomocą różnych wskaźników.
Aby przewidzieć sygnał zapasów, użyj poniższej metody.
DF ['sig'] = model.Przewiduj (x)Wniosek
W tym artykule przeprowadzono dyskusję, zalety i przypadki użycia maszyn wektorowych wsparcia. Jest to popularny i efektywny kosmiczny algorytm zarówno dla zadań klasyfikacyjnych, jak i regresji, i wykorzystuje zasady geometryczne do rozwiązywania naszych problemów. Później wdrożyliśmy również prognozę kierunku ceny akcji za pomocą algorytmu SVM. Prognozowanie cen akcji jest niezwykle pomocne w świecie biznesu, a kiedy stosujemy automatyzację do tego, tworzy więcej szumu dla tego problemu.