Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. Wydział Informatyki, Elektroniki i Telekomunikacji KATEDRA INFORMATYKI

Wielkość: px
Rozpocząć pokaz od strony:

Download "Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. Wydział Informatyki, Elektroniki i Telekomunikacji KATEDRA INFORMATYKI"

Transkrypt

1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Informatyki, Elektroniki i Telekomunikacji KATEDRA INFORMATYKI PRACA MAGISTERSKA WOJCIECH FRYCZ ROZPOZNAWANIE WZORCÓW W TEKSTACH PUBLIKOWANYCH NA PORTALACH SPOŁECZNOŚCIOWYCH W ZASTOSOWANIU DO BADANIA NASTROJÓW SPOŁECZNYCH. PROMOTOR: dr inż. Marcin Kurdziel Kraków 2013

2 OŚWIADCZENIE AUTORA PRACY OŚWIADCZAM, ŚWIADOMY ODPOWIEDZIALNOŚCI KARNEJ ZA POŚWIAD- CZENIE NIEPRAWDY, ŻE NINIEJSZA PRACE DYPLOMOWA WYKONAŁEM OSOBIŚCIE I SAMODZIELNIE, I NIE KORZYSTAŁEM ZE ŹRÓDEŁ INNYCH NIŻ WYMIENIONE W PRACY PODPIS

3 AGH University of Science and Technology in Krakow Faculty of Computer Science, Electronics and Telecommunications DEPARTMENT OF COMPUTER SCIENCE MASTER OF SCIENCE THESIS WOJCIECH FRYCZ ANALYZING SOCIAL MOODS BY RECOGNIZING PATTERNS IN TEXTS FROM SOCIAL NETWORKS. SUPERVISOR: Marcin Kurdziel, Ph.D Krakow 2013

4 Serdecznie dziękuję rodzicom za wsparcie, motywację, dobre słowo oraz wiedzę.

5 Spis treści 1. Wprowadzenie Motywacja Cele pracy Twitter jako źródło danych Treść pracy Wstęp teoretyczny Klasyfikator SVM Wieloklasowy SVM One against One One against All Proces uczenia SVM Uczenie nadzorowane Uczenie semi-nadzorowane - transduktywny SVM Metodologie oceny klasyfikatorów Walidacja krzyżowa Leave one out Reprezentacje tekstu w uczeniu maszynowym Bag of words SpeedyFX Implementacja TME Architektura aplikacji Wykorzystane technologie Konfiguracja aplikacji - kanały danych Klasyfikatory Interfejs użytkownika Podstrona /#/start Podstrona /#/markets Podstrona /#/improve

6 SPIS TREŚCI 6 4. Eksperymantalna ocena skuteczności TME Wprowadzenie do części eksperymentalnej Charakterystyka danych Zbiór treningowy Funkcje jądra Ekstrakcja cech Estymacja parametrów klasyfikatorów Parametry klasyfikatorów dla kanału głównego Parametry klasyfikatorów dla kanałów finansowych Rozkład cech Uczenie nadzorowane vs semi-nadzorowane Przykłady użycia TME Wnioski i możliwości dalszego rozwoju... 41

7 1. Wprowadzenie 1.1. Motywacja Rozpoznawanie wzorców w zbiorach danych jest mocno rozwijającą się dziedziną nauki. Znajduje ona bardzo szerokie zastosowanie w wielu aplikacjach komputerowych jak i w codziennym życiu. Dzięki tej technologii możemy cieszyć się takimi usprawnieniami jak rozpoznawanie twarzy na zdjęciach czy otwieranie szlabanów poprzez automatyczny odczyt rejestracji samochodowych z obrazu kamery. Tak szerokie zastosowanie uczenia maszynowego było przyczynkiem do rozważań nad możliwością wykorzystania tych algorytmów do badania nastrojów społecznych poprzez automatyczną analizę treści zamieszczanych na portalach społecznościowych. Tego typu serwisy skupiają codziennie ogromną liczbę ludzi, którzy generują setki gigabajtów treści. Ta ogromna ilość informacji, w połączeniu z odpowiednio zaimplementowanymi algorytmami rozpoznawania wzorców, może pozwolić na ocenę nastrojów wybranej grupy społecznej. Wyniki działania takiej aplikacji mogłyby znaleźć ciekawe zastosowania w takich dziedzinach jak socjologia, psychologia czy ekonomia Cele pracy Celem pracy jest stworzenie aplikacji, Twitter Mood Evaluator (TME), której zadaniem będzie automatyczna kategoryzacja treści umieszczanych w internecie za pomocą portalu społecznościowego Twitter. Głównym zadaniem programu ma być podejmowanie decyzji czy dana treść w języku angielskim ma wydźwięk pozytywny, negatywny, bądź też nie posiada sformułowań pozwalających na określenie emocji. Wynikiem działania aplikacji będzie podawanie aktualnego nastroju wybranej grupy społecznej. Obsługa aplikacji odbywać się będzie z poziomu interfejsu webowego, za pomocą którego będzie można np. zawęzić obszar, z którego pobierane są wiadomości publikowane w portalu Twitter. Dodatkowym założeniem niniejszej pracy jest zbadanie korelacji pomiędzy nastrojem badanych wpisów a zachowaniami kursów na rynkach finansowych. W przypadku stwierdzenia dużej zależności pomiędzy tymi dwoma czynnikami, praca ta może być podstawą do stworzenia aplikacji wspierającej decyzje inwestycyjne na rynkach finansowych. 7

8 1.3. Twitter jako źródło danych 8 Rysunek 1.1: Reakcja inwestorów na fałszywą informację podaną przez konto Associated Press na Twitterze Twitter jako źródło danych Twitter został wybrany jako dostawca danych z kilkunastu względów, popartych wymaganiami wynikającymi z założeń pracy. Główny cel to badanie nastrojów społecznych w zadanych rejonach. Podstawowym warunkiem było więc znalezienie takiego źródła danych, które wiąże generowane treści z geolokalizacją. Automatyzacja procesu pobierania danych w czasie rzeczywistych wymagała również odpowiedniego API. Twitter zaspokaja powyższe wymogi, udostępniając Twitter Streaming API oraz dołączając współrzędne geograficzne miejsca publikacji wiadomości. Skorzystanie z treści udostępnianych przez ten portal społecznościowy byłoby niemożliwe, gdyby pojawiające się na nim informacje nie były publicznie dostępne. Nie można również zapomnieć, iż przyjęto, że aplikacja analizuje treści w języku angielskim. To właśnie w Stanach Zjednoczonych portal ten ma największą popularność. Kolejnym ważnym argumentem przemawiającym za słusznością wyboru Twittera jest to, że generuje on 350 milionów wpisów dziennie i jest dostępny na całym świecie 1. Każda wiadomość na Twitterze to tekst o długości do 140 znaków, co gwarantuje spójność formy przetwarzanych informacji. Analiza wpływu nastroju społecznego na rynki finansowe jest ważnym aspektem badań w pracy. Dzięki ogromnej popularności Twittera, oraz idei obserwowania innych użytkowników, to właśnie ten portal stał się bardzo popularnym źródłem informacji wśród inwestorów. Potwierdzają to powtarzające się od czasu do czasu sytuacje nagłych zmian kursowych występujące na różnych instrumentach finansowych po publikacji wpisów na Twitterze przez ważne osobistości lub instytucje. Przykładem takiego zachowania może być incydent przedstawiony na Rysunku 1.1. Dostęp do konta agencji prasowej Associated Press, obserwowanego przez 2.4 miliona użytkowników, został wykradziony i za jego pomocą opublikowano wiadomość o treści: Breaking: Two Explosions in the White House and Barak Obama is injured. Ta informacja spowodowała, że przez chwilę wartość indeksu S&P500 spadła o 136 miliardów dolarów. Kolejnym przykładem jest informacja opublikowana przez znanego inwestora giełdowego Carla Icahna: We currently have a large position in APPLE. We believe the company to be extremly 1 Dane na rok 2011,

9 1.4. Treść pracy 9 Rysunek 1.2: Skok wolumenu oraz wartości akcji Apple po informacji zamieszczonej na Twitterze przez Carla Icahna. undervalued. Spoke to Tim Cook today. Po publikacji tego wpisu wolumen obrotu wzrósł diametralnie a kapitalizacja spółki Apple wzrosła o 17.3 miliarda dolarów (Rysunek 1.2). Wpływ Twittera na giełdy potwierdzają między innymi następujące publikacje: Twitter mood prodicts the stock market [18], Predicting break-points in trading strategies with Twitter [19] czy Modeling public mood and emotion: Twitter sentiment and socio-economic phenomena [17] Treść pracy W rozdziale 1 znajduje się wprowadzenie zawierające krótką informację o tematyce i celach pracy. Rozdział 2 przedstawia wstęp teoretyczny do metod używanych w niniejszej pracy. Rozdział 3 omawia aspekt implementacyjny zadania opisywanego w pracy wraz z opisem interfejsu użytkownika. Przeprowadzone badania zostały omówione rozdziale 4. Podsumowanie obserwacji i wnioski wraz z możliwościami dalszego rozwoju znajdują się w rozdziale 5.

10 2. Wstęp teoretyczny Stworzenie aplikacji określającej aktualny nastrój autora badanej treści sprowadza się do klasyfikacji odpowiednich tekstów na trzy klasy: 1. pozytywne - zawierające w treści wydźwięk pozytywnego nastroju, 2. negatywne - wyraźnie wskazujące negatywne emocje, 3. neutralne - nie posiadające sformułowań określających nastrój. Analiza problemu oraz dostępnych technologii wskazała, że najbardziej dogodne wydaje się tu podejście wykorzystujace metody Support Vector Machines (SVM). Pierwsze podwaliny SVM zostały opisane w 1963 roku przez Vapnik a i Lerner a [4]. Sformułowanie metody wraz z uogólnieniem dla problemów nieliniowych zostały zaprezentowane w pracy A training algorithm for optimal margin classifiers [1] oraz Support-vector networks [2]. Rozwój tych metod w kierunku problemów z niepełnym etykietowaniem, tzw. uczenia semi-nadzorowanego (semi-supervised learning) podjęto w pracy Statistical learning theory [3]. Zaproponowane tam algorytmy wydają się być szczególnie ciekawe w zakresie niniejszej pracy, biorąc pod uwagę specyfikę problemu, w którym mamy do czynienia z bardzo małym zbiorem uczącym w stosunkowo dużej dziedzinie problemu. W pracy zdecydowano porównać oba podejścia: uczenia nadzorowanego (supervised learning) oraz semi-nadzorowanego (semi-supervised learning). Poniżej zostały przybliżone teoretyczne aspekty metodologii wykorzystanych w pracy Klasyfikator SVM SVM konstruuje N-1 wymiarową płaszczyznę (gdzie N to liczba atrybutów analizowanego problemu), która optymalnie rozdziela dane w dwie kategorie. Podejście SVM jest bardzo zbliżone do działania sieci neuronowych, lecz jest ono mniej podatne na problem przeuczenia. SVM pracuje na wektorach cech, których struktura zależy od problemu. Jednym z prostszych przypadków jest model, w którym każdy element ma dwa atrybuty, a zadaniem algorytmu jest przydzielenie każdej danej wejściowej jednej z dwóch możliwych klas. Problem ten został zaprezentowany na Rysunku 2.1. W tym wyidealizowanym przypadku elementy z klasy pierwszej znajdują się w lewym górnym rogu a klasy drugiej w prawym dolnym rogu dwuwymiarowej przestrzeni cech. Klasy są liniowo separowalne. SVM próbuje znaleźć hiperpłaszczyznę rozdzielającą te dwie klasy (w przypadku 2-wymiarowej przestrzeni hiperpłaszczyzną jest linia prosta). Jest nieskończenie wiele możliwych prostych rozdzielających te dwie 10

11 2.1. Klasyfikator SVM 11 Rysunek 2.1: Prezentacja problemu klasyfikacji wraz z dwoma możliwymi wynikami działania SVM. Kolorem czerwonym zostały zaznaczone wektory nośne. Rysunek 2.2: Problem klas liniowo nieseparowalnych (A) zmapowany do przestrzeni o wyższym wymiarze, w którym jest separowalny liniowo (B). klasy. Na Rysunku 2.1 zaznaczono dwa przykładowe rozwiązania ciągłą linią w kolorze czarnym. Powstaje pytanie, która z nich jest najlepsza i w jaki sposób odnaleźć optymalne rozwiązanie. Linie przerywane, równoległe do rozdzielających prostych są styczne do granicznych wektorów przestrzeni wejściowej. Odległość między tymi liniami określa się marginesem (fioletowa strzałka), natomiast wektory styczne do linii wyznaczającej margines nazywane są wektorami nośnymi (czerwone obramowanie, support vectors). SVM znajduje taką hiperpłaszczyznę decyzyjną aby zmaksymalizować margines pomiędzy wektorami nośnymi. Na Rysunku 2.1 rozwiązanie B jest więc lepsze niż rozwiązanie A. Niestety przypadek opisany powyżej jest bardzo uproszczony. SVM musi sobie radzić również z następującymi problemami: 1. wektory w przestrzeni cech nie są separowalne liniowo, 2. niektóre klastry utworzone przez wektory cech nie mogą być w pełni odseparowane, 3. w dziedzinie problemu wyróżnia się więcej niż dwie klasy. W przypadku pierwszym, przekształcenie przestrzeni cech do przestrzeni o wyższym wymiarze często pozwala zmapować problem liniowo nieseparowalny do problemu seperowalnego liniowo. Stosuje się w tym celu tzw. kernel trick. To rozwiązanie, zaprezentowane graficznie na Rynunku 2.2, jest szeroko

12 2.2. Wieloklasowy SVM 12 Rysunek 2.3: Przykład problemu, który nie jest w pełni separowalny z zaznaczonymi wektorami nośnymi. Rysunek 2.4: Przykład trzyklasowego problemu klasyfikacji. omówione w literaturze, m.in.: Support-vector networks [2], SVM Kernels for Time Series Analysis [6]. W drugim przypadku w dziedzinie badanego zagadnienia może wystąpić sytuacja jak na Rysunku 2.3, tzn. nie jest możliwa pełna separacja liniowa problemu. SVM radzi sobie w takich przypadkach pozwalając na wprowadzenie zaburzeń w klasyfikacji. Karę za zaburzenia określa tzw. współczynnik kary C. Trzeci przypadek, tj. zagadnienie klasyfikacji dla wielu klas omówiono szerzej w Rozdziale Wieloklasowy SVM Wcześniejsze rozważania dotyczyły SVM klasyfikującego na dwie klasy. Rysunek 2.4 pokazuje bardziej skomplikowany problem, którego dziedzina obejmuje trzy klasy. Zadania w których należy wykonać klasyfikację na więcej niż dwie klasy najczęściej rozwiązywane są w następujących krokach: 1. redukcja złożonego problemu do N binarnych zagadnień rozpatrywanych niezależnie przez binarne SVMy (liczba N zależy od przyjętej metodologii obliczania wyniku końcowego), 2. przetworzenie odpowiedzi z wszystkich N klasyfikatorów według wybranej strategii, określającej końcowy wynik. Najczęściej stosowane strategie wyznaczania końcowego wyniku w wieloklasowych zagadnieniach to one against one oraz one against all. Sposób ich działania jest opisany poniżej. Istnieje dużo kontrowersji na temat tego, które podejście jest skuteczniejsze. Tego tematu dotykają między innymi następu-

13 2.3. Proces uczenia SVM 13 jące prace: Which Is the Best Multiclass SVM Method? An Empirical Study [7], One Against One or One Against All : Which One is Better for Handwriting Recognition with SVMs? [8] One against One Dla problemu w którym występuje k różnych klas, podejście one against one polega na stworzeniu N binarnych klasyfikatorów. Każdy z nich rozpatruje dwie różne klasy z dziedziny problemu (na zasadzie każdy z każdym). Pojedynczy klasyfikator jako dane uczące przyjmuje tylko wektory z tych dwóch klas, dla których ma przeprowadzać klasyfikację. Liczba N określona jest więc wzorem: N = k(k 1) 2 Ostateczny wynik obliczany jest na zasadzie głosowania. Każdy z binarnych klasyfikatorów określa przynależność analizowanego wektora do jednej z klas, tj. przydziela mu jeden głos dla wybranej klasy. Klasa, która otrzymała najwięcej głosów jest wynikiem klasyfikatora wieloklasowego. Powyższe podejście może doprowadzić do sytuacji, w której nie da się określić wyniku. Dzieje się tak wtedy gdy co najmniej dwie klasy otrzymają tą samą liczbę punktów w głosowaniu i jest to najwyższa liczba głosów. Rozwiązania tego konfliktu mogą być następujące: (2.1) 1. wygrywa ta klasa, której suma funkcji odpowiedzi poszczególnych binarnych SVMów jest największa, 2. badany wektor jest klasyfikowany jako przynależący do więcej niż jednej klasy, 3. klasyfikator określa dany wektor jako niemożliwy do klasyfikacji One against All Strategia one against all dla problemu k klasowego zakłada budowę dokładnie N = k klasyfikatorów. Każdy z klasyfikatorów S i uczy się na wszystkich wektorach wejściowych w ten sposób, że odróżnia i-tą klasę od pozostałych k-1 klas. Wektor v jest klasyfikowany do klasy x wtedy i tylko wtedy gdy: max(s 1 ( v), S 2 ( v),..., S k ( v)) = S x ( v) (2.2) To podejście również obarczone jest zagrożeniem, że co najmniej dwa klasyfikatory zwrócą dokładnie ten sam wynik oraz będzie to wynik maksymalny. Podobnie jak w poprzedniej strategii, konflikt ten można rozwiązać przyjmując, że badany wektor jest klasyfikowany jako przynależący do więcej niż jednej klasy lub też oznaczany jako niemożliwy do klasyfikacji Proces uczenia SVM Pierwotnym podejściem uczenia metod SVM zaprezentowanym przez Vapnika w [2] jest klasyczne uczenie nadzorowane szerzej omówione w sekcji To podejście nie obejmuje jednak problemów z

14 2.3. Proces uczenia SVM 14 Rysunek 2.5: Dwie przykładowe dziedziny problemu. Kolorem szarym oznaczono wektory niesklasyfikowane. Linią ciągłą oznaczono granicę decyzyjną Supervised SVM, linia przerywaną Transductive SVM. częściowym etykietowaniem danych. Dlatego opracowane zostało uczenie semi-nadzorowane, którego reprezentantem jest transduktywny SVM opisany w dziale Niezależnie od wybranej metody nauczania, dane wejściowe są reprezentowane w taki sam sposób. Każdy element zbioru treningowego jest reprezentowany jako wektor atrybutów: X = (X 1, X 2, X 3,..., X n ) (2.3) Uczenie nadzorowane W podejściu z uczeniem nadzorowanym każdy wektor treningowy posiada przypisaną etykietę y γ, która określa przynależność do klasy. SVM rozpatruje problemy binarne, dlatego γ = {0, 1}. Pojedynczy przypadek treningowy można więc określić jako X, y χ γ, zaś zbiór uczący można zdefiniować jako: D = { X i, y i } n i=1 (2.4) gdzie n to liczba przypadków treningowych, X to wektor atrybutów określających pojedynczy element zbioru treningowego, a y to klasa nadana przez eksperta dla danego przypadku treningowego [9, r. 2.2]. SVM oblicza granicę decyzyjną maksymalizując odległość pomiędzy wektorami nośnymi tylko na podstawie informacji zawartej w zbiorze D (p. 2.1). Szczegóły algorytmu uczącego w tym przypadku zaprezentowano między innymi w pracy Supervised Learning and Bayesian Classification [5]. Przykładowy zbiór treningowy zaprezentowany jest na Rysunku 2.5 A. Granica decyzyjna algorytmu nauczanego z nadzorowaniem jest zaznaczona ciągłą linią. SVM w tym podejściu wykorzystuje tylko informację zawartą w wektorach oznaczonych jako niebieskie prostokąty oraz zielone elipsy Uczenie semi-nadzorowane - transduktywny SVM Transduktywny SVM jest kwalifikowany jak metoda semi-supervised learning. W odróżnieniu od klasyfikatorów uczących się tylko na próbkach poetykietowanych przez eksperta (uczenie nadzorowane), to rozwiązanie bierze pod uwagę w procesie nauki również wektory, które nie maja przypisanych klas.

15 2.3. Proces uczenia SVM 15 Zebranie poetykietowanych danych jest często trudnym, kosztownym oraz czasochłonnym zajęciem, wymagającym dostępu do eksperta w badanej dziedzinie. Zgromadzenie wektorów bez przypisanych klas jest zazwyczaj dużo prostsze. Przykład zaprezentowany na Rysunku 2.5 B pokazuje, że dane niepoetykietowane również niosą informację, która może znacznie poprawić jakość klasyfikatora. Jest to właśnie idea stojąca za metodami uczenia semi-nadzorowanego. Xiaojin Zhu zebrał i szeroko omówił kwestie tego podejścia w pracy Semi-Supervised Learning Literature Survey [12]. Uczenie semi-nadzorowane wykorzystuje się w problemach, w których występuje zła proporcja liczby danych treningowych do liczby wektorów nieoznaczonych. To zjawisko wystąpiło podczas badań prowadzonych nad niniejszą pracą i było przyczynkiem do porównania metod klasyfikacji w podejściu uczenia nadzorowanego i semi-nadzorowanego. Uczenie semi-nadzorowane zostało wprowadzone przez Vapnika w 1998 roku [3]. W procesie nauczania klasyfikatora L dana jest przestrzeń hipotez H zawierająca funkcje: gdzie D to zbiór wektorów treningowych, określony następująco: h : D { 1, 1} (2.5) D = D labeled D unlabeled (2.6) D labeled = { X i, y i } n l i=1, D unlabeled = { X i } n i=n l +1 (2.7) gdzie n to liczba wszystkich wektorów treningowych, n l to liczba poetykietowanych wektorów treningowych, a y i { 1, 1}. Transduktywny SVM L szuka takiej funkcji h L = L(D) z przestrzeni H, która maksymalizuje seperację pomiedzy zbiorami D labeled i D unlabeled, rozwiązując następująco zadany problem [13], [14]: min h H C 1 n l Θ(h( X i ), y i ) + C 2 n Θ(h( X j ), y j ) + J(h) (2.8) i=1 j=n l +1 gdzie Θ(a, b) jest równa zero dla a = b zaś w przeciwnym wypadku przyjmuje wartość jeden, h jest funkcją decyzyjną z przestrzeni H, a J(h) jest odwrotnością marginesu separacji klas. W przypadku liniowym: h( X) = w T X + b (2.9) J(h) = 1 2 w 2 (2.10) gdzie w jest wektorem normalnym hiperpłaszczyzny decyzyjnej. W przypadku nieliniowym, z wykorzystaniem kernel trick, funkcje te przyjmują postać: h( X) = (K( X, X 1 ), K( X, X 2 ),..., K( X, X n )) w T + b (2.11)

16 2.4. Metodologie oceny klasyfikatorów 16 J(h) = 1 2 wt K w (2.12) gdzie K to funkcja jądra [13, p.2]. Opisane równaniem 2.8 zagadnienie transduktywnego wnioskowania jest bardziej złożone od tego rozwiązywanego przez klasyczny SVM. Aby rozwiązać problem estymacji wartości y i, i {n l + 1, n l + 2,..., n} trzeba znaleźć rozwiązanie problemu estymacji funkcji h w ciągłej przestrzeni hipotez H. Zbióry D labeled i D unlabeled dzielą przestrzeń hipotez H na skończoną liczbę klas równoważności H [14]. Dwie funkcje z H należą do tej samej klasy H i jeśli tak samo klasyfikują wektory ze zbiorów D labeled oraz D unlabeled. To redukuje problem uczenia z poszukiwania rozwiązania w nieskończonej przestrzeni H do wyboru optymalnej klasy równoważności H i. Znalezienie rozwiązania dla transduktywnego SVM oznacza więc określenie takiej klasy równoważności H i, aby margines pomiędzy hiperpłaszczyznami generowanymi przez h H i był największy. Szersze rozważania dotyczące transduktywnego SVM znajdują się w pracach On Transductive Support Vector Machines [13] oraz Transductive Inference for Text Classification using Support Vector Machines [14] Metodologie oceny klasyfikatorów Ocena klasyfikatorów pozwala zweryfikować czy zaproponowane rozwiązanie jest skuteczne. Stosuje się tu takie miary jak: błąd klasyfikacji (lub, analogicznie, skuteczność klasyfikacji) oraz macierz błędu (confussion matrix). Wartości te zdefiniowane są jako: liczba wektorów błędnie sklasyfikowanych Bład klasyfikacji = liczba wszystkich wektorów testowych (2.13) Skuteczność klasyfikacji = liczba wektorów poprawnie sklasyfikowanych liczba wszystkich wektorów testowych (2.14) Macierz błędu, przedstawiona w tabeli 2.1, stosowana jest do oceny binarnych klasyfikatorów i obejmuje wartości: 1. TP (true positives) - liczba wektorów poprawnie sklasyfikowanych do klasy 1, 2. TN (true negatives) - liczba wektorów poprawnie sklasyfikowanych do klasy 0, 3. FP (false positives) - liczba wektorów błędnie sklasyfikowanych do klasy 1, 4. FN (false negatives) - liczba wektorów błędnie sklasyfikowanych do klasy 0. Licząc miarę oceny klasyfikatora nie można oczywiście korzystać ze zbioru wektorów użytych do jego trenowania. Ocenę tą należy przeprowadzać na osobnym zbiorze danych. Jest to dużym utrudnieniem jeśli zbiór elementów posiadających przypisane klasy jest mały. W takiej sytuacji można zastosować jedną z poniżej opisanych strategii.

17 2.5. Reprezentacje tekstu w uczeniu maszynowym 17 positives negatives positives TP FP negatives FN TN Tabela 2.1: Macierz błędu Walidacja krzyżowa Walidacja krzyżowa (cross validation) pozwala użyć wszystkich wektorów z etykietami do wyliczenia skuteczności klasyfikatora. Schemat postępowania jest następujący: 1. zbiór treningowy D jest dzielony na k równych zbiorów (D = {D 1, D 2,..., D k }), 2. n = 0 - liczba poprawnie zaklasyfikowanych wektorów, 3. dla i = 1, i <= k, i = i + 1, (a) klasyfikator uczy się na zbiorze D D i, (b) klasyfikator nadaje klasy wektorom ze zbioru D i, (c) n = n + (liczba poprawnie sklasyfikowanych wektorów ze zbioru D i ), 4. skuteczność klasyfikacji = n/ D. Współczynnik k przyjmuje wartości 2 k D. W niniejszej pracy badano skuteczność klasyfikacji z pomocą walidacji krzyżowej dla współczynnika k = Leave one out Podejście leave one out jest szczególnym przypadkiem walidacji krzyżowej. Stosuje się je gdy zbiór treningowy D jest bardzo mały. Schemat działania jest analogiczny do tego przedstawionego w Rozdziale 2.4.1, lecz wartość współczynnika k = D Reprezentacje tekstu w uczeniu maszynowym Przetwarzanie tekstu jest podstawowym zadaniem systemu realizowanego w tej pracy. Treść wygenerowana przez człowieka musi zostać przetworzona na odpowiednią reprezentację, aby można ją było użyć w zagadnieniu klasyfikacji. Istnieje wiele podejść do reprezentowania tekstu. Poniżej zostanie omówione jedno z podstawowych podejść - bag of words - oraz bardziej zaawansowana metoda zaproponowana przez inżynierów firmy HP, tj. SpeedyFx [11]. Obie te metody pokazują sposoby przekształcenia ciągów słów w reprezentację wektorową Bag of words Bag of words [15] jest podstawową i najprostszą formą reprezentacji tekstu. Polega ona na tym, że pojedyncze słowo staje się cechą. Wektor jest indeksowany poszczególnymi wyrazami. Kolejność wyrazów w oryginalnym tekście nie jest pamiętana. W zależności od problemu, wartością przyjmowaną dla

18 2.5. Reprezentacje tekstu w uczeniu maszynowym 18 każdego wyrazu może być: liczba wystąpień danego wyrazu w analizowanym tekście, 1 lub 0 w zależności od tego czy dany wyraz wystąpił w badanym tekście bądź nie albo wartość tf-idf (term frequency - inverse document frequency), która odzwierciedla istotność każdego ze słów w całym zbiorze badanych treści [16, roz ]. Jako przykład ilustrujący zasadę działania metody bag of words, rozważmy zdania: 1. Tom likes swimming. So Sue does. 2. Andrew likes skiing and swimming. W reprezentacji bag of words zdaniom tym odpowiadają wektory: 1. { Tom :1, likes :1, swimming :1, So :1, Sue :1, does :1, Andrew :0, skiing :0, and :0} 2. { Tom :0, likes :1, swimming :1, So :0, Sue :0, does :0, Andrew :1, skiing :1, and :1} SpeedyFX Klasyfikacja dużych ilości danych może wymagać wielu zasobów pamięciowych oraz obliczeniowych. Naukowcy z firmy HP zauważyli, że wąskim gardłem jest przetwarzanie analizowanego tekstu na wektor cech. Zaproponowali więc metodę optymalizującą ten problem i omówili ją w pracy Extremely Fast Text Feature Extraction for Classification and Indexing [11]. W przytoczonym artykule znajduje się porównanie pod względem czasowym oraz jakościowym klasycznego podejścia ekstrahowania cech z zaproponowaną metodą. W niniejszej pracy przetwarzane są treści publikowane na portalach społecznościowych. Ponieważ ilość generowanych w nich tekstów jest znacząca, postanowiono zastosować metodę SpeefyFx do ekstrakcji cech. Pseudokod tej metody przedstawia Algorytm 1. Zakłada się tu, że słowo to ciąg znaków składający się z liter lub cyfr. Tablica codetable powinna zawierać wszystkie znaki budujące wyrazy w badanym problemie. W niniejszej pracy została więc wykorzystana tablica hashująca zaprezentowana na Rysunku 2.6.

19 2.5. Reprezentacje tekstu w uczeniu maszynowym 19 Rysunek 2.6: Wartości tablicy hashującej codetable dla algorytmu SpeedyFx. boolean featurevector[] = new boolean[n]; int wordhash = 0; foreach byte ch: text do int code = codetable[ch]; if code!= 0 then else end /* code isawordchar */ wordhash = (wordhash» 1) + code; if wordhash!= 0 then end featurevector[wordhash % N] = 1; wordhash = 0; end Algorithm 1: Pseudokod algorytmu SpeedyFx. Autorzy pokazują [11], że metoda SpeedyFx jest wydajna ponieważ wykonuje kilka procedur na raz. Odpowiednia budowa tablicy codetable, w której każdej dużej i małej literze przyporządkowano wspólny token, pozwala ujednolicić wielkość liter w tekście wejściowym. Dzięki temu nie jest potrzebne wykonywanie procedury tolowercase lub alternatywnie touppercase. Kolejną zaletą tego podejścia jest wykrywanie końca wyrazu. Gdy analizowany w głównej pętli foreach znak nie ma zdefiniowanego tokenu w codetable oznacza to, że osiągnięto granicę wyrazu. Kolejną procedurą realizowaną przez SpeedyFx jest generowanie reprezentacji hasha z danego wyrazu. W publikacji [11] zostały przeprowadzone eksperymenty, które pokazują, że podejście wykorzystujące hashe zamiast typowego bag of words wykazuje bardzo zbliżoną skuteczność. Reprezentacja wektorów cech jako hashe liczbowe jest natomiast oszczędniejsza pamięciowo niż bag of words. Dodatkowym atutem jest brak wywołań zewnętrznych funkcji oraz wykorzystanie podstawowych struktur do przechowywania danych. Gdy wartość stałej N w Algorytmie 1 zostanie przyjęta jako potęga liczby 2, operację modulo można zastąpić bitową operacją AN D. Dzięki temu jedynymi operacjami wykonywanymi w procedurze SpeedyFx będą operacje bitowe oraz przypisywanie wartości w podstawowych strukturach danych.

20 3. Implementacja TME W rozdziale przedstawiono architekturę systemu Twitter Mood Evaluator, wykorzystane technologie, metodologie klasyfikacji oraz funkcjonalność interfejsu użytkownika Architektura aplikacji Rysunek 3.1 przedstawia schemat architektury TME. Zaznaczone są tam główne elementy aplikacji wraz z kierunkami oraz sposobem komunikacji. System składa się z pięciu modułów: 1. TME Server - udostępnia interfejs do: (a) zarządzania konfiguracją aplikacji, (b) pobierania zarchiwizowanej listy wpisów z Twittera z określonej lokalizacji lub feedu. (c) oceny nastroju tekstów, (d) pobrania statystyk nastroju zarchiwizowanych wpisów z Twittera, (e) podbrania historycznych notowań dla instrumentów z rynku FOREX. 2. Mood Evaluator Server - wykonuje klasyfikację tekstów. 3. Twitter Getter - pobiera treści pojawiające się na Twitterze; pobrany wpis jest oceniany pod względem nastroju, archiwizowany w bazie danych oraz wysyłany do nasłuchujących przeglądarek przez Push Server. 4. Push Server - moduł umożliwiający przesyłanie komunikatów do przeglądarek internetowych, przez co użytkownik aplikacji widzi treść w TME zaraz po jej publikacji na Twitterze. 5. User Interface - interfejs webowy pozwalający w przyjazny sposób korzystać z aplikacji TME. 20

21 3.2. Wykorzystane technologie 21 Rysunek 3.1: Architektura aplikacji TME Wykorzystane technologie Trzy moduły aplikacji zostały napisane w języku python. Są to Mood Evaluator Server, Twitter Getter (korzystający z Twitter Streaming API) oraz TME Server (stworzony w Django z wykorzystaniem django-rest-framework). Pozostałe dwa moduły, User Interface (zaimplementowany w AngularJs) i Push Server (działający w oparciu o framework Node.js), są stworzone w języku JavaScript. Zdecydowano, że do przechowywania danych zostanie zastosowana baza MongoDB. Daje ona możliwość zapisu dokumentów o różnej strukturze oraz wspiera wyszukiwanie geolokalizacyjne. Dodatkowo do zarządzania podstawową konfiguracją wykorzystana została relacyjna baza danych MySql Konfiguracja aplikacji - kanały danych Konfiguracja aplikacji jest scentralizowana i zarządzana z poziomu TME Server. Dostępna jest pod adresem: Zawiera ona podstawowe informacje wymagane do poprawnego działania i komunikacji aplikacji. Poniżej opisano podstawowe elementy konfiguracyjne. Twitter Getter nasłuchuje na wpisy pojawiające się na Twitterze za pomocą Twitter Streaming API. Każda odebrana wiadomość jest dopasowywana do kanałów wiadomości zdefiniowanych w scoring_feeds. To sprawia, że najważniejszą częścią konfiguracji aplikacji są elementy scoring_feeds oraz

22 3.3. Konfiguracja aplikacji - kanały danych 22 Rysunek 3.2: Przykładowa konfiguracja dwóch kanałów: ogólnego i dla waluty AUDUSD. twitter_stream. Umożliwiają one ustawienie nasłuchiwania dowolnych kanałów danych, przez co system można łatwo dostosować do wielu problemów. Przykładowa konfiguracja dwóch kanałów przedstawiona jest na Rysunku 3.2. Podstawowe parametry scoring_feeds to: 1. twitter_stream/filters - konfiguracja filtrów nasłuchiwania wiadomości z portartalu Twitter; dokładna dokumentacja znajduje się pod adresem https://dev.twitter.com/docs/ streaming-apis/parameters, wspierane parametry to track oraz locations, 2. scoring_feeds/name - wyświetlana nazwa kanału, 3. scoring_feeds/filters - warunki, które musi spełniać wpis aby został zakwalifikowany do danego kanału (wspierane opcje: track i locations), 4. scoring_feeds/classifiers - lista klasyfikatorów, które mają być zastosowane do wpisów tym kanale, 5. scoring_feeds/twitt_callbacks - lista workerów, którzy przetwarzają wpisy pojawiające się w danym kanale, 6. scoring_feeds/only_with_geo - flaga oznaczająca, że do danego kanału wpadają tylko wiadomości z informacją o geolokalizacji, 7. scoring_feeds/market - flaga oznaczająca dany kanał jako finansowy, 8. scoring_feeds/enabled - flaga włączająca/wyłączająca dany kanał,

23 3.4. Klasyfikatory scoring_feeds/socketio_key - klucz wykorzystywany przez interfejs graficzny do nasłuchiwania na nowe wiadomości w danym kanale, 10. scoring_feeds/rabbitmq_key - klucz służący do komunikacji pomiędzy modułami przez kolejkę RabbitMq Klasyfikatory Klasyfikatory w TME zostały zaimplementowane z wykorzystaniem dwóch ogólnodostępnych bibliotek, tj. scikit-learn (http://scikit-learn.org/) i SV M light (http://svmlight. joachims.org/). Pierwsza z nich napisana jest w języku python i implementuje różnorodne algorytmy uczenia maszynowego. W szczególności udostępnia algorytmy do klasyfikacji, regresji oraz klasteryzacji. Pierwotnie była to część projektu Google Summer of Code, ktorej autorem był David Cournapeau. Aktualnie jest rozwijana przez francuską instytucję INRIA oraz okazjonalnie przez Google. Jest dostępna pod otwartą licencją BSD. Implementacja SVM w scikit-learn korzysta z biblioteki LIBSVM (http://www.csie.ntu.edu.tw/~cjlin/libsvm/). Biblioteka SV M light została stworzona przez Thorstena Joachimsa na Uniwersytecie w Dortmundzie. Jest napisana w języku C. Zawiera implementację Support Vector Machine opisaną przez Vapnika w [2]. Ma ponadto wbudowaną obsługę transductive SVM. Autor zapewnia, że implementacja jest skalowalna pod względem wymagań pamięciowych oraz potrafi radzić sobie z problemami zawierającymi wiele tysięcy wektorów nośnych. Część klasyfikacyjna TME znajduje się w Mood Evaluator Server. Implementacja algorytmów mieści się w module lib.classifiers. Diagram klas tego modułu przedstawiony jest na Rysunku 3.3. Klasyfikatory dostępne w TME to: Oao Svm Light, Oaa Svm Light, Oao Transductive Svm Light, Oaa Transductive Svm Light, Oao Svm i Oaa Svm. Przedrostek w nazwie algorytmu oznacza wybraną strategię wyznaczania wyniku dla wieloklasowego SVM, tj. Oao - One against One, Oaa - One against All. Klasyfikatory posiadające sufiks Svm Light w nazwie wykorzystują implementację SVM zaproponowaną przez Thorstena Joachimsa (SV M light ). Pozostałe dwa korzystają z modułu svm.svc z biblioteki scikit-learn Interfejs użytkownika Aplikacja TME posiada webowy interfejs użytkownika. Jest on dostępny pod adresem tme. itcontractors.pl. Został on podzielony na trzy podstrony: 1. /#/start - umożliwia przeglądanie ogólnego nastroju społeczeństwa na świecie, 2. /#/markets - pozwala przeglądać kanały finansowe, 3. /#/improve - daje możliwość zebrania danych treningowych do klasyfikatorów w poszczególnych kanałach.

24 3.5. Interfejs użytkownika 24 Rysunek 3.3: Diagram klas modułu lib.classifiers w Mood Evaluator Server.

25 3.5. Interfejs użytkownika 25 Rysunek 3.4: Widok startowej podstrony TME Podstrona /#/start Rysunek 3.4 przedstawia główne okno aplikacji TME. Jest ono podzielone na trzy elementy: obszar z mapą świata (w lewej górnej części ekranu), statystyki nastrojów (w lewej dolnej części ekranu) i przełącznik do wyboru klasyfikatora wraz z listą wpisów pobranych Twittera (w prawej kolumnie). Dostępne klasyfikatory (Rozdział 3.4) przedstawia Rysunek 3.6. W tym widoku można wybrać dowolny interesujący użytkownika obszar na Ziemii, rysując prostokąt na mapie świata. Po zaznaczeniu obszaru zostaną automatycznie pobrane zarchiwizowane treści z Twittera opublikowane na zaznaczonym terenie. Jeśli ktoś stworzy wpis w wybranej strefie to od tego momentu zostanie on automatycznie dodany do listy w prawej kolumnie. Istnieje również możliwość wyznaczenia więcej niż jednego rejonu na mapie. Kolejne prostąkąty można rysować korzystając z narzędzia dostępnego w lewym górnym rogu mapy świata, włączanego kliknięciem w przycisk kwadratu. Po pobraniu wpisów następuje ich automatyczna ocena pod względem nastroju według wybranego klasyfikatora. Obliczane są również statystyki zmian nastroju w czasie dla wybranych obszarów. Wykres Historyczny nastrój pokazuje wartość średniej kroczącej o długości zdefiniowanej w konfiguracji (zmienna vars/moving_avg_periods, domyślnie 100 okresów) dla ostatnich wpisów w zadanym rejonie. Na potrzeby obliczenia tej średniej przyjęto, że wpis oceniony negatywnie otrzymuje liczbę -100, neutralnie 0, natomiast pozytywnie 100. Wskaźnik Aktualny nastrój pokazuje bieżącą wartość średniej kroczącej. Rysunek 3.5 przedstawia przykładowe trzy ocenione wpisy. Znacznik dłoni oraz kolor oznaczają wyznaczony nastrój dla danej treści - kciuk skierowany do góry koloru zielonego wskazuje nastrój pozytywny, znak zapytania w kolorze czarnym oznacza nastrój neutralny zaś kciuk koloru czerwonego skierowany w dół to nastrój negatywny. Pojedynczy element oprócz treści posiada również informację o nazwie użytkownika, który opublikował wpis, jego awatarze oraz tzw. hashtag z Twittera. Dodatkowo, po najechaniu myszą na nazwę użytkownika pokazuje się data i godzina (UTC) publikacji wiadomości.

26 3.5. Interfejs użytkownika 26 Rysunek 3.5: Trzy przykładowo ocenione wpisy. Rysunek 3.6: Klasyfikatory dostępne w TME Podstrona /#/markets Podstrona /#/markets służy do przeglądania kanałów finansowych. Jest również podzielona na trzy elementy: obszar z wykresem notowań wybranego instrumentu finansowego (w lewej górnej części ekranu), statystyki nastrojów (w lewej dolnej części ekranu) oraz przełączniki do wyboru kanału oraz klasyfikatora wraz z listą wpisów pobranych Twittera (w prawej kolumnie). W tym widoku można wybrać jeden z dostępnych kanałów finansowych. Ich listę przedstawia Rysunek 3.8. Po określeniu kanału - w tym wypadku pary walutowej - automatycznie ładowane są zarchiwizowane wiadomości z Twittera, wykres notowań wybranego instrumentu oraz statystyki nastrojów. Równocześnie rozpoczyna się nasłuchiwanie na wpisy pasujące do wybranego kanału pojawiające się na portalu społecznościowym. Na wykres notowań nakładany jest wykres historycznego nastroju. W tym widoku stosuje się inną semantykę oznaczenia nastroju (Rysunek 3.9). I tak, kciuk skierowany do góry koloru zielonego oznacza treść zawierającą informację o pozycjach kupna danego instrumentu, znak zapytania w kolorze czarnym to wpis nie zawierający informacji o kierunkach transakcji, natomiast kciuk koloru czerwonego skierowany w dół oznacza informację o sprzedaży danej pary walutowej Podstrona /#/improve Ta część interfejsu użytkownika służy zbieraniu danych treningowych dla klasyfikatorów. Podzielona jest na zakładki, z których każda dotyczy jednego kanału zdefiniowanego w konfiguracji aplikacji (Rysunek 3.10). Wpisy z kanałów nie finansowych ocenia się oznaczając treść jako pozytywna, negatywna oraz neutralna. Wpisy z kanałów finansowych ocenia się pod kątem informacji mówiącej o sprzedaży lub kupnie instrumentu. Można również wskazać, że konkretna wiadomość nie niesie informacji ozna-

27 3.5. Interfejs użytkownika 27 Rysunek 3.7: Widok podstrony umożliwiającej przeglądanie nastrojów na rynkach FOREX. Rysunek 3.8: Lista dostępnych kanałów finansowych. Rysunek 3.9: Trzy przykładowo ocenione wpisy w kanałach finansowych.

28 3.5. Interfejs użytkownika 28 Rysunek 3.10: Widok podstrony przeznaczonej do zbierania danych treningowych dla klasyfikatorów. czającej ruch notowań - wtedy oznacza się ją jako neutralna. Dla każdego z kanałów zamieszczona jest informacja o liczbie zakolejkowanych do oceny wiadomości oraz liczbie ocenionych treści. Nad zakładkami znajduje się zbiorcza statystyka.

29 4. Eksperymantalna ocena skuteczności TME W tym rozdziale przedstawione są kluczowe decyzje dotyczące eksperymentalnej oceny skuteczności TME. Zaprezentowany jest sposób pobierania i porządkowania danych. Omówiony jest zbiór treningowy, funkcje jądra użyte w klasyfikacji oraz procedura ekstrakcji cech. W drugiej części tego rozdziału przedstawione są wyniki przeprowadzonych eksperymentów wraz z komentarzem. Rozdział zamyka prezentacja przykładów użycia TME Wprowadzenie do części eksperymentalnej Charakterystyka danych TME rozdziela pobrane wiadomości na kanały, zgodnie z zadaną konfiguracją. Na potrzeby pracy zostało zdefiniowanych siedem kanałów, które można zakwalifikować do dwóch kategorii: ogólne oraz finansowe. Pierwsza z nich zawiera jeden kanał, w którym pojawiają się treści wyrażające nastrój osoby publikującej. Według autorów Twitter mood predicts the stock market [18] są to wpisy zawierające następujące zwroty: I feel, I am feeling, I m feeling, I don t feel, I m, Im, I am, makes me. Dodatkowo każdy element pojawiający się w tym kanale musi posiadać informację o geolokalizacji, czyli długość i szerokość geograficzną miejsca, z którego został opublikowany. Druga kategoria zawiera sześć kanałów. Gromadzą one dane dotyczące wypowiedzi na temat następujących par walutowych: USDJPY, USDCAD, GBPUSD, EURUSD, AUDUSD, USDCHF. Te sześć instrumentów finansowych zalicza się do tzw. majorsów, czyli grupy o największej płynności na rynku FOREX. Dana treść zaliczana jest do kanału pary walutowej XXXYYY wtedy i tylko wtedy gdy jest spełniony warunek wyrażenia regularnego /(.*XXX.?YYY.*)+/, tj. w treści musi znaleźć się trzyliterowy trzon oznaczający pierwszą walutę a następnie musi pojawić się trzyliterowy skrót drugiej waluty poprzedzony maksymalnie jednym, dowolnym, znakiem. Każdy z kanałów ma predefiniowany filtr, wymuszający aby treści pojawiające się w TME były w języku angielskim. Filtrowanie pod kątem języka bazuje wyłącznie na meta-danych udostępnianych przez portal. Czasem zdarza się więc, że w kanale pojawia się wpis napisany w języku innym niż oczekiwany Zbiór treningowy Dane treningowe zostały zebrane samodzielnie przez autora niniejszej pracy. W tym celu wykorzystano interfejs graficzny przedstawiony na Rysunku Tabela 4.1 przedstawia liczebność zebranych 29

30 4.1. Wprowadzenie do części eksperymentalnej 30 Kanał Pozytywne Negatywne Neutralne Suma Ogólny USDJPY USDCAD GBPUSD EURUSD AUDUSD USDCHF Tabela 4.1: Liczebność wektorów treningowych w poszczególnych kanałach. wektorów treningowych w poszczególnych kanałach. W każdym kanale liczba wektorów treningowych jest nierównomierna względem klas, co może mieć wpływ na wynik działania klasyfikatorów. Klasyfikatory semi-nadzorowane otrzymują w procesie nauczania dane poetykietowane oraz zbiór wektorów niepoetykietowanych, którego moc jest czterokrotnie większa niż moc zbioru danych poetykietowanych Funkcje jadra W TME wzięto pod uwagę cztery rodzaje funkcji jądra klasyfikatorów SVM: liniową, sigmoidalną (sigmoid), wielomianową (polynominal) oraz gaussowską radialną funkcję bazową (radial basis function - rbf ). Są one określone następującymi wzorami: K linear = X, (4.1) K sigmoid = tanh(g X 1 X 2 + c), (4.2) K polynominal = (g X 1 X 2 + c) d, (4.3) K rbf = exp( γ X 1 X 2 2 ). (4.4) Porównanie ich skuteczności dla klasyfikacji danych w kanale ogólnym oraz kanale EURUSD zostało przedstawione w Rozdziale Ekstrakcja cech Ekstrakcja cech z danych wejściowych odbywa się w dwóch etapach: preprocessing oraz generacja wektora cech. W pierwszym etapie przetwarzania wykonywane są następujące kroki: 1. rozkodowanie encji języka HTML, 2. usunięcie: (a) znaków zakodowanych w UNICODE,

31 4.2. Estymacja parametrów klasyfikatorów 31 Rysunek 4.1: Lista słów, które nie niosą ze sobą istotnej treści. (b) linków do stron zewnętrznych, (c) znaków niealfanumerycznych, (d) wyrazów zawierających mniej niż trzy znaki, (e) słów, które znajdują się na liście stopwords (p. Rysunek 4.1), 3. wygenerowanie i konkatenacja listy unigramów, bigramów i trigramów. Stopwords [10] są to wyrazy, które występują bardzo często w danym języku, lecz nie niosą ze sobą żadnych istotnych informacji. Właśnie dlatego zdecydowano się je usuwać z danych wejściowych. Podobnie postępuje się z wyrazami krótszymi niż trzy znaki. Kolejność występowania słów ma duże znaczenie w analizie semantycznej tekstów. Z tego powodu do zbioru cech dodano bigramy oraz trigramy. Ten zabieg uzupełnia informację o następstwo kolejnych wyrazów. Drugi etap przetwarzania, tj. generacja wektora cech, wykonywany jest przez algorytm SpeedyFx, opisany w Rozdziale Estymacja parametrów klasyfikatorów Dobór parametrów został przeprowadzony za pomocą podejścia grid search. Iteracyjnie sprawdzono która konfiguracja wartości parametrów pozwala osiągnąć najlepszą skuteczność klasyfikacji (p. Rozdział 2.4.1). Badanie zostało przeprowadzone dla każdego z klasyfikatorów z uczeniem nadzorowanym. Parametry wraz ze zbadanymi zakresami wartości zostały przedstawione w Tabeli 4.2, gdzie kernel to funkcja jądra a C to współczynnik kary. Znaczenie pozostałych atrybutów definiują wzory funkcji jądra przedstawione w Rozdziale Wyniki doboru parametrów zostały zebrane w Tabelach od 4.3 do Są tam przedstawione argumenty, przy których dla każdego z kerneli klasyfikator osiągnął największą skuteczność. Pogrubieniem wyróżniono ten zestaw atrybutów, który pozwala osiągnąć najlepszą jakość klasyfikacji. Na potrzeby przeprowadzenia porównań algorytmów zdecydowano, że w TME klasyfikatory z uczeniem nadzorowanym korzystają z sigmoidalnej funkcji jądra. W pięciu na osiem badanych przypadków wykazała ona najlepszą skuteczność a w pozostałych trzech osiągała wyniki zbliżone do najlepszych. Dla algorytmów semi-nadzorowanych, tj. Oao Transductive Svm Light oraz Oaa Transductive Svm Light, nie można było przeprowadzić wyszukiwania, ze względu na zbyt dużą złożoność procedury uczenia. Duży czas nauczania w przypadku testów dla kerneli nielinowych wymusił również zastosowanie liniowej funkcji jądra. Parametry dla tego kernela dobrano na podstawie wyników przeszukiwań odpowiednio dla klasyfikatorów Oao Svm Light i Oaa Svm Light.

32 4.2. Estymacja parametrów klasyfikatorów 32 Nazwa parametru Zakres wartości kernel rbf, polynominal, linear, sigmoid C 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 2, 3, 4, 5, 6, 7, 8, 9 γ ( rbf ), g ( polynominal, sigmoid ) 1e-06, 3.59e-06, 1.29e-05, 4.64e-05, 1.67e-04 6e-04, 2.15e-03, 7.7e-03, 2.78e-02, 0.1 c ( polynominal, sigmoid ) 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 d ( polynominal ) 3, 4, 5, 6, 7 Tabela 4.2: Parametry sprawdzane w procedurze grid search. Skuteczność kernel C γ / g c d linear sigmoid e polynominal e rbf 6 7.7e-03 Średnia skuteczność: (σ = ) Tabela 4.3: Wynik przeszukiwania parametrów dla Oao Svm w kanale ogólnym Parametry klasyfikatorów dla kanału głównego Analiza wyników zebranych w tabelach pozwala wnioskować, że stosowanie funkcji jądra w klasyfikatorach działających w kanale ogólnym nie przynosi zamierzonego efektu. Po przeszukaniu dużej dziedziny parametrów (Tabela 4.2) skuteczność klasyfikacji dla poszczególnych klasyfikatorów jest bardzo zbliżona do wyników zwracanych przez liniowy SVM. Brak wyraźnej poprawny potwierdza również średnie odchylenie standardowe skuteczności klasyfikacji, które wynosi σ = Wskazuje to, że nie udało się znaleźć takich wartości atrybutów, aby któryś z klasyfikatorów wykazywał wyraźnie lepszą skuteczność Parametry klasyfikatorów dla kanałów finansowych Dobór parametrów dla kanałów finansowych został przeprowadzony tylko na kanale EURUSD. Posiada on największy zbiór poetykietowanych wektorów. Dodatkowo, treści we wszystkich kanałach finansowych mają podobny charakter. Założono więc, że przeprowadzenie procedury grid se- Skuteczność kernel C γ / g c d linear sigmoid e polynominal e rbf e-05 Średnia skuteczność: (σ = ) Tabela 4.4: Wynik przeszukiwania parametrów dla Oaa Svm w kanale ogólnym.

33 4.3. Rozkład cech 33 Skuteczność kernel C γ / g c d linear sigmoid e polynominal 1 6e rbf 1 6e-04 Średnia skuteczność: (σ = ) Tabela 4.5: Wynik przeszukiwania parametrów dla Oao Svm Light w kanale ogólnym. Skuteczność kernel C γ / g c d linear sigmoid e polynominal 4 7.7e rbf 3 7.7e-03 Średnia skuteczność: (σ = ) Tabela 4.6: Wynik przeszukiwania parametrów dla Oaa Svm Light w kanale ogólnym. arch na pojedynczym kanale finansowym będzie wystarczające. Wyniki skuteczności przedstawione w Tabelach wykazują dużo większą zmienność, niż w przypadku kanału ogólnego. Średnie odchylenie standardowe skuteczności klasyfikacji dla wszystkich pomiarów wynosi σ = Oznacza to, że zbiór cech w kanale EURUSD staje się lepiej separowalny po zastosowaniu odpowiedniego przekształcenia nieliniową funkcją jądra, co ma znaczny wpływ na poprawę klasyfikacji. Dla kanału EURUSD funkcja sigmoidalna aż trzykrotnie dawała najlepsze wyniki klasyfikacji, co wskazuje, że najlepiej opisuje przekształcenie przestrzeni dla tego problemu. W związku z tym ten typ funkcji jądra (funkcja sigmoidalna) został zastosowany dla wszystkich klasyfikatorów z uczeniem nadzorowanym we wszystkich kanałach finansowych. Wartości poszczególnych parametrów tej funkcji przyjęto na podstawie wyników zebranych w Tabelach Rozkład cech Rysunek 4.2 przedstawia liczbę unikalnych cech w zależności od liczby przetworzonych wektorów dla kanału ogólnego. Liczba cech gwałtownie rośnie na początku przetwarzania, następnie stabilizuje się Skuteczność kernel C γ / g c d linear sigmoid e polynominal 8 7.7e rbf 9 7.7e-03 Średnia skuteczność: (σ = ) Tabela 4.7: Wynik przeszukiwania parametrów dla Oao Svm w kanale EURUSD.

34 4.3. Rozkład cech 34 Skuteczność kernel C γ / g c d linear sigmoid e polynominal 6 7.7e rbf 8 7.7e-03 Średnia skuteczność: (σ = ) Tabela 4.8: Wynik przeszukiwania parametrów dla Oaa Svm w kanale EURUSD. Skuteczność kernel C γ / g c d linear sigmoid polynominal 4 1e rbf 4 7.7e-03 Średnia skuteczność: (σ = ) Tabela 4.9: Wynik przeszukiwania parametrów dla Oao Svm Light w kanale EURUSD. Skuteczność kernel C γ / g c d linear sigmoid polynominal 5 1e rbf 2 6e-04 Średnia skuteczność: (σ = ) Tabela 4.10: Wynik przeszukiwania parametrów dla Oaa Svm Light w kanale EURUSD.

35 4.4. Uczenie nadzorowane vs semi-nadzorowane 35 Rysunek 4.2: Rozkład liczby cech w kanale ogólnym. Rysunek 4.3: Rozkład liczby cech w kanale EURUSD. na poziomie ok Rysunek 4.3 pokazuje tą zależność dla kanału EURUSD. Tu również widoczny jest gwałtowny wzrost, natomiast stabilizacja liczby cech następuje na poziomie ok Oznacza to, że treści umieszczane w kanale EURUSD wykazują się większym podobieństwem niż teksty pojawiające się w kanale ogólnym Uczenie nadzorowane vs semi-nadzorowane W ramach eksperymentalnej oceny TME porównano między innymi uczenie nadzorowane i seminadzorowane. Ten eksperyment został przeprowadzony na czterech klasyfikatorach: Oao Svm Light, Oao Transductive Svm Light, Oaa Svm Light i Oaa Transductive Svm Light. Klasyfikatory były uczone z liniową funkcją jądra. W Tabelach zaprezentowano wyniki otrzymane dla, odpowiednio: czasu nauczania, czasu oceny 5000 losowych tekstów oraz skuteczności wyznaczonej walidacją krzyżową (p. Rozdział 2.4.1) dla każdego z klasyfikatorów w poszczególnych kanałach. Tabela 4.11 przedstawia czas procesu nauczania klasyfikatorów. Dla algorytmów seminadzorowanych jest on średnio 400-krotnie dłuższy niż dla uczenia nadzorowanego- klasyfikatory semi-

36 4.4. Uczenie nadzorowane vs semi-nadzorowane 36 Kanał Oao Svm Light Oao Trans. Svm Light Oaa Svm Light Oaa Trans. Svm Light Ogólny USDJPY USDCAD GBPUSD EURUSD AUDUSD USDCHF Tabela 4.11: Porównanie czasu nauczania (w sekundach). Kanał Oao Svm Light Oao Trans. Svm Light Oaa Svm Light Oaa Trans. Svm Light Ogólny USDJPY USDCAD GBPUSD EURUSD AUDUSD USDCHF Tabela 4.12: Porównanie czasu oceny (w sekundach). nadzorowane w podejściu one against all uczone są średnio 240-krotnie dłużej niż nadzorowane, podczas gdy w podejściu one against one ten stosunek wynosi średnio 560. Ta ogromna różnica w złożoności procesu nauczania klasyfikatorów semi-nadzorowanych w porównaniu do nadzorowanych jest spowodowana dużo większym zbiorem treningowych przekazywanym klasyfikatorom do nauki. Drugą przyczyną jest charakter problemu jaki muszą one rozwiązywać - został on omówiony w Rozdziale Widać również znaczną różnicę pomiędzy czasem nauczania w kanale ogólnym a średnim czasem nauczania w kanałach finansowych. Wynika ona ze znacznych różnic w rozmiarze zbiorów treningowych (p. Tabela 4.1). Tabela 4.12 pokazuje czas potrzebny do oceny 5000 tekstów przez klasyfikatory w różnych kanałach. Algorytmy semi-nadzorowane potrzebują średnio 36% więcej czasu na ocenę wektorów wejściowych. Ciekawym zjawiskiem jest to, że ocena tekstów w podejściu one against one dla klasyfikatorów seminadzorowanych trwa 13% dłużej niż dla klasyfikatorów nadzorowanych, podczas gdy w przypadku one against all współczynnik ten wynosi 60%. Jest to odwrotny stosunek niż w przypadku procesu nauczania. Proces oceny wektorów nie wykazuje jednak aż tak ogromnej dysproporcji czasowej pomiędzy nauczaniem nadzorowanym a semi-nadzorowanym. Dzieje się tak ponieważ klasyfikatory po fazie nauczania działają na modelu, którego złożoność wynosi co najwyżej O(n), gdzie n to liczba wektorów wejściowych. Niemniej jednak klasyfikacja przeprowadzana przez klasyfikatory semi-nadzorowane zabiera więcej czasu. W tabeli 4.13 przedstawiono skuteczność osiąganą przez klasyfikatory nadzorowane w porównaniu

37 4.5. Przykłady użycia TME 37 Kanał Oao Svm Light Oao Trans. Svm Light Oaa Svm Light Oaa Trans. Svm Light Ogólny USDJPY USDCAD GBPUSD EURUSD AUDUSD USDCHF Tabela 4.13: Porównanie skuteczności klasyfikatorów. Rysunek 4.4: Wykres wahań oceny nastroju w Europie. do klasyfikatorów semi-nadzorowanych. Pogrubione zostały te klasyfikatory, które dla danego kanału i danej strategii wieloklasowego SVMa dawały lepszą skuteczność. Analiza przedstawionych wyników nie pozwala jednoznacznie stwierdzić, które podejście jest lepsze. Nauczanie semi-nadzorowane dało lepszą skuteczność w sześciu przypadkach, nadzorowane w siedmiu. W jednym przypadku klasyfikatory osiągnęły identyczny wynik. Różnice w sprawności pomiędzy dwoma podejściami do nauczania sięgały nawet 10%. Przedstawione tutaj wyniki odbiegają od spodziewanych. Zakładano, że podejście semi-nadzorowane będzie bardziej skuteczne. Możliwe przyczyny tych wyników omówione są we wnioskach (p. Rozdział 5) Przykłady użycia TME Rysunki 4.4, 4.5 oraz 4.6 pokazują wahania oceny nastrojów w Europie, w północnej części Ameryki Południowej oraz w Autralii. Przedstawione wykresy obejmują ostatnie wpisów z wybranego obszaru obublikowanych przed godziną 22 osiemnastego września 2013 roku. Nastroje w Ameryce Po-

38 4.5. Przykłady użycia TME 38 Rysunek 4.5: Wykres wahań oceny nastroju w Ameryce Południowej. Rysunek 4.6: Wykres wahań oceny nastroju w Australii.

39 4.5. Przykłady użycia TME 39 Rysunek 4.7: Wykres notowań pary walutowej EURUSD (czarna linia) oraz oceny nastrojów (niebieska linia). Rysunek 4.8: Wykres historycznej oceny nastroju w kanale EURUSD podczas weekendu. łudniowej wypadają najgorzej, ponieważ wahają się w granicach od -80 do -60. Pod koniec wybranego okresu zaczynają zwyżkować. Europa wykazuje się trochę lepszym usposobieniem. Wykres historycznego nastroju oscyluje wokół wartości -40 i również rośnie w końcu wybranego okresu. Najbardziej pozytywnie wypowiadają się Australijczycy. Wykres pokazujący ocenę ich nastrojów oscyluje pomiędzy wartościami -20, a -40. Rysunek 4.7 przedstawia wykres notowań pary walutowej EURUSD oraz nastrojów zmierzonych przez TME. Na tym wykresie widoczna jest reakcja na dwa ważne wydarzenia dla rynków. Są one odzwierciedlone zarówno przez notowania jak i przez zmianę nastrojów. Piątego września 2013 roku, o godzinie 12:00 odbyła się konferencja prezesa Europejskiego Banku Centralnego, który ogłosił, że będzie utrzymywał niskie stopy procentowe. Natomiast szóstego września 2013 roku podano dane z amerykańskiego rynku pracy. Rysunek 4.8 pokazuje zmianę historycznej oceny nastroju w kanale EURUSD w okresie od piątego do jedenastego września 2013 roku. Wyraźnie widać na nim, że podczas weekendu następuje uspokojenie nastrojów. W tym czasie na rynkach finansowych nie dzieje się zbyt wiele. Rysunki 4.9, 4.10, 4.11 i 4.12 przedstawiają wykresy notowań czterech pozostałych par walutowych, wraz z nastrojem wyznaczonym przez TME. Pokazują one wyraźną korelację pomiędzy oceną nastroju z TME a ruchami cen na rynkach.

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań Raport 1/2015 Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań autor: Michał Osmoła INIME Instytut nauk informatycznych i matematycznych z zastosowaniem

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

Analiza wpływu długości trwania strategii na proces optymalizacji parametrów dla strategii inwestycyjnych w handlu event-driven

Analiza wpływu długości trwania strategii na proces optymalizacji parametrów dla strategii inwestycyjnych w handlu event-driven Raport 8/2015 Analiza wpływu długości trwania strategii na proces optymalizacji parametrów dla strategii inwestycyjnych w handlu event-driven autor: Michał Osmoła INIME Instytut nauk informatycznych i

Bardziej szczegółowo

ALGORYTM RANDOM FOREST

ALGORYTM RANDOM FOREST SKRYPT PRZYGOTOWANY NA ZAJĘCIA INDUKOWANYCH REGUŁ DECYZYJNYCH PROWADZONYCH PRZEZ PANA PAWŁA WOJTKIEWICZA ALGORYTM RANDOM FOREST Katarzyna Graboś 56397 Aleksandra Mańko 56699 2015-01-26, Warszawa ALGORYTM

Bardziej szczegółowo

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change Raport 4/2015 Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change autor: Michał Osmoła INIME Instytut nauk informatycznych i matematycznych

Bardziej szczegółowo

Sposoby prezentacji problemów w statystyce

Sposoby prezentacji problemów w statystyce S t r o n a 1 Dr Anna Rybak Instytut Informatyki Uniwersytet w Białymstoku Sposoby prezentacji problemów w statystyce Wprowadzenie W artykule zostaną zaprezentowane podstawowe zagadnienia z zakresu statystyki

Bardziej szczegółowo

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy MODEL REGRESJI LINIOWEJ. METODA NAJMNIEJSZYCH KWADRATÓW Analiza regresji zajmuje się badaniem zależności pomiędzy interesującymi nas wielkościami (zmiennymi), mające na celu konstrukcję modelu, który dobrze

Bardziej szczegółowo

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010 ERGODESIGN - Podręcznik użytkownika Wersja 1.0 Warszawa 2010 Spis treści Wstęp...3 Organizacja menu nawigacja...3 Górne menu nawigacyjne...3 Lewe menu robocze...4 Przestrzeń robocza...5 Stopka...5 Obsługa

Bardziej szczegółowo

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA AMFETAMINY Waldemar S. Krawczyk Centralne Laboratorium Kryminalistyczne Komendy Głównej Policji, Warszawa (praca obroniona na Wydziale Chemii Uniwersytetu

Bardziej szczegółowo

Dokumentacja Końcowa

Dokumentacja Końcowa Metody Sztucznej Inteligencji 2 Projekt Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Dokumentacja Końcowa Autorzy: Robert Wojciechowski Michał Denkiewicz Wstęp Celem

Bardziej szczegółowo

Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl

Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl Text mining w programie RapidMiner Michał Bereta www.michalbereta.pl 1. Wstęp Aby skorzystać z możliwości RapidMinera w zakresie analizy tekstu, należy zainstalować Text Mining Extension. Wybierz: 1 Po

Bardziej szczegółowo

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie

Bardziej szczegółowo

ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT

ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT Pierwszym krokiem jest uzyskanie dostępu do danych rynkowych w celu pobrania aktualnych notowań spółek. Możesz to zrobić wybierając opcję Preferencje z menu Narzędzia.

Bardziej szczegółowo

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie

Bardziej szczegółowo

KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH

KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH Inżynieria Rolnicza 13/2006 Jacek Goszczyński Instytut Inżynierii Rolniczej Akademia Rolnicza w Poznaniu KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH Streszczenie Motywacją do badań

Bardziej szczegółowo

Informacje Giełdowe w Aplikacji Mobilnej. Instrukcja dla użytkowników

Informacje Giełdowe w Aplikacji Mobilnej. Instrukcja dla użytkowników Informacje Giełdowe w Aplikacji Mobilnej Instrukcja dla użytkowników 2 Informacje giełdowe Informacje giełdowe umożliwiają obserwację opóźnionych o co najmniej 15 minut notowań instrumentów finansowych

Bardziej szczegółowo

WellCommerce Poradnik: Dodawanie języka i waluty. autor: Adrian Potępa (biuro@eclairsoaware.pl)

WellCommerce Poradnik: Dodawanie języka i waluty. autor: Adrian Potępa (biuro@eclairsoaware.pl) WellCommerce Poradnik: Dodawanie języka i waluty autor: Adrian Potępa (biuro@eclairsoaware.pl) 2 Spis treści Internet pozwala dziś sprzedawać i dokonywać zakupów na całym świecie, nie wychodząc przy tym

Bardziej szczegółowo

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych

Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych dr Piotr Sulewski POMORSKA AKADEMIA PEDAGOGICZNA W SŁUPSKU KATEDRA INFORMATYKI I STATYSTYKI Porównanie generatorów liczb losowych wykorzystywanych w arkuszach kalkulacyjnych Wprowadzenie Obecnie bardzo

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

4.1. Wprowadzenie...70 4.2. Podstawowe definicje...71 4.3. Algorytm określania wartości parametrów w regresji logistycznej...74

4.1. Wprowadzenie...70 4.2. Podstawowe definicje...71 4.3. Algorytm określania wartości parametrów w regresji logistycznej...74 3 Wykaz najważniejszych skrótów...8 Przedmowa... 10 1. Podstawowe pojęcia data mining...11 1.1. Wprowadzenie...12 1.2. Podstawowe zadania eksploracji danych...13 1.3. Główne etapy eksploracji danych...15

Bardziej szczegółowo

Spis treści. Wstęp. Pierwsze logowanie. Wygląd platformy po zalogowaniu. Składnianie zleceń. Widok nowego zlecenia na wykresie oraz w zakładce handel

Spis treści. Wstęp. Pierwsze logowanie. Wygląd platformy po zalogowaniu. Składnianie zleceń. Widok nowego zlecenia na wykresie oraz w zakładce handel Instrukcja obsługi Spis treści Wstęp 3 Pierwsze logowanie 4 Wygląd platformy po zalogowaniu 5 Składnianie zleceń 6 Widok nowego zlecenia na wykresie oraz w zakładce handel 7 Zamykanie i modyfikacja zlecenia

Bardziej szczegółowo

Ćwiczenie 12. Metody eksploracji danych

Ćwiczenie 12. Metody eksploracji danych Ćwiczenie 12. Metody eksploracji danych Modelowanie regresji (Regression modeling) 1. Zadanie regresji Modelowanie regresji jest metodą szacowania wartości ciągłej zmiennej celu. Do najczęściej stosowanych

Bardziej szczegółowo

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r.

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r. Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r. W systemie SZOI została wprowadzona nowa funkcjonalność umożliwiająca tworzenie graficznych harmonogramów pracy.

Bardziej szczegółowo

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

Bardziej szczegółowo

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji Jacek Szcześniak Jerzy Błaszczyński Roman Słowiński Poznań, 5.XI.2013r. Konspekt Wstęp Wprowadzenie Metody typu wrapper Nowe metody

Bardziej szczegółowo

Informacje Giełdowe w Aplikacji Mobilnej. Instrukcja dla użytkowników z systemem Windows Phone

Informacje Giełdowe w Aplikacji Mobilnej. Instrukcja dla użytkowników z systemem Windows Phone Informacje Giełdowe w Aplikacji Mobilnej Instrukcja dla użytkowników z systemem Windows Phone INFORMACJE GIEŁDOWE INFORMACJE GIEŁDOWE umożliwiają obserwację opóźnionych o co najmniej 15 minut notowań instrumentów

Bardziej szczegółowo

Zmienność. Co z niej wynika?

Zmienność. Co z niej wynika? Zmienność. Co z niej wynika? Dla inwestora bardzo ważnym aspektem systemu inwestycyjnego jest moment wejścia na rynek (moment dokonania transakcji) oraz moment wyjścia z rynku (moment zamknięcia pozycji).

Bardziej szczegółowo

Analiza zależności liniowych

Analiza zależności liniowych Narzędzie do ustalenia, które zmienne są ważne dla Inwestora Analiza zależności liniowych Identyfikuje siłę i kierunek powiązania pomiędzy zmiennymi Umożliwia wybór zmiennych wpływających na giełdę Ustala

Bardziej szczegółowo

Studenckie Koło Naukowe Rynków Kapitałowych Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence).

Studenckie Koło Naukowe Rynków Kapitałowych Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence). Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence). MACD (zbieżność i rozbieżność średnich kroczących) - jest jednym z najczęściej używanych wskaźników. Jego popularność

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie. SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Statystyczna teoria korelacji i regresji (1) Jest to dział statystyki zajmujący

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Excel zadania sprawdzające 263

Excel zadania sprawdzające 263 Excel zadania sprawdzające 263 Przykładowe zadania do samodzielnego rozwiązania Zadanie 1 Wpisać dane i wykonać odpowiednie obliczenia. Wykorzystać wbudowane funkcje Excela: SUMA oraz ŚREDNIA. Sformatować

Bardziej szczegółowo

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L, Klasyfikator Jedną z najistotniejszych nieparametrycznych metod klasyfikacji jest metoda K-najbliższych sąsiadów, oznaczana przez K-NN. W metodzie tej zaliczamy rozpoznawany obiekt do tej klasy, do której

Bardziej szczegółowo

Poradnik korzystania z Bazy konkurencyjności dla niezalogowanego użytkownika systemu

Poradnik korzystania z Bazy konkurencyjności dla niezalogowanego użytkownika systemu Poradnik korzystania z Bazy konkurencyjności dla niezalogowanego użytkownika systemu 1 z 14 Spis treści 1. WPROWADZENIE... 3 1.1. CEL DOKUMENTU... 3 2. STRONA GŁÓWNA PORTALU... 3 2.1. ELEMENTY STRONY GŁÓWNEJ

Bardziej szczegółowo

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie:

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie: ma postać y = ax + b Równanie regresji liniowej By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : xy b = a = b lub x Gdzie: xy = też a = x = ( b ) i to dane empiryczne, a ilość

Bardziej szczegółowo

Event-driven trading. Reaktywność rynku i potencjał inwestycyjny zjawiska

Event-driven trading. Reaktywność rynku i potencjał inwestycyjny zjawiska Working paper 1/2014 Event-driven trading. Reaktywność rynku i potencjał inwestycyjny zjawiska autorzy: Dawid Tarłowski Patryk Pagacz Sławomir Śmiarowski INIME Instytut nauk informatycznych i matematycznych

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...

Bardziej szczegółowo

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań Anna Manerowska, Michal Kozakiewicz 2.12.2009 1 Wstęp Jako projekt na przedmiot MEUM (Metody Ewolucyjne Uczenia Maszyn)

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych wersja: 1.0 Nr ćwiczenia: 12, 13 Temat: Cel ćwiczenia: Wymagane przygotowanie

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Instrukcja użytkownika Smart Orders

Instrukcja użytkownika Smart Orders Instrukcja użytkownika Smart Orders Autorski dodatek do platformy mforex Trader Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 Spis treści 1. Informacje ogólne... 3 2. Uruchamianie

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem

Bardziej szczegółowo

Sieci neuronowe - dokumentacja projektu

Sieci neuronowe - dokumentacja projektu Sieci neuronowe - dokumentacja projektu Predykcja finansowa, modelowanie wskaźnika kursu spółki KGHM. Piotr Jakubas Artur Kosztyła Marcin Krzych Kraków 2009 1. Sieci neuronowe - dokumentacja projektu...

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WSTĘP... 2 1 UWARUNKOWANIA TECHNICZNE... 2 2 UWARUNKOWANIA FORMALNE... 2 3 LOGOWANIE DO SERWISU... 2 4 WIDOK STRONY GŁÓWNEJ...

Bardziej szczegółowo

Opis serwisu IT-PODBESKIDZIE Wersja 1.0

Opis serwisu IT-PODBESKIDZIE Wersja 1.0 Opis serwisu IT-PODBESKIDZIE Wersja 1.0 Projekt współfinansowany przez Unię Społecznego Spis treści 1.Wstęp...3 2.Założenia serwisu...3 3.Opis serwisu...4 4.Użytkownicy...4 5.Grupy tematyczne...5 6.Funkcjonalność

Bardziej szczegółowo

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego Przykład wykorzystania dodatku SOLVER 1 w arkuszu Ecel do rozwiązywania zadań programowania matematycznego Firma produkująca samochody zaciągnęła kredyt inwestycyjny w wysokości mln zł na zainstalowanie

Bardziej szczegółowo

TRANSAKCJE ARBITRAŻOWE PODSTAWY TEORETYCZNE cz. 1

TRANSAKCJE ARBITRAŻOWE PODSTAWY TEORETYCZNE cz. 1 TRANSAKCJE ARBITRAŻOWE PODSTAWY TEORETYCZNE cz. 1 Podstawowym pojęciem dotyczącym transakcji arbitrażowych jest wartość teoretyczna kontraktu FV. Na powyższym diagramie przedstawiono wykres oraz wzór,

Bardziej szczegółowo

Gdzie znaleźć aplikację

Gdzie znaleźć aplikację Aplikacja xdivergence znajduje się na portalu xstore.pro Gdzie znaleźć aplikację Można ją znaleźć poprzez wpisanie w wyszukiwarce dostępnej na górze strony wyrazu dywergencja lub divergence Inną możliwością

Bardziej szczegółowo

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej, Tworzenie wykresu do danych z tabeli zawierającej analizę rozwoju wyników sportowych w pływaniu stylem dowolnym na dystansie 100 m, zarejestrowanych podczas Igrzysk Olimpijskich na przestrzeni lat 1896-2012.

Bardziej szczegółowo

Semantyczne podobieństwo stron internetowych

Semantyczne podobieństwo stron internetowych Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Marcin Lamparski Nr albumu: 184198 Praca magisterska na kierunku Informatyka Semantyczne podobieństwo stron internetowych Praca wykonana

Bardziej szczegółowo

Spis treści. 1 Moduł Mapy 2

Spis treści. 1 Moduł Mapy 2 Spis treści 1 Moduł Mapy 2 1.1 Elementy planu............................. 2 1.1.1 Interfejs widoku......................... 3 1.1.1.1 Panel sterujacy.................... 3 1.1.1.2 Suwak regulujacy przybliżenie...........

Bardziej szczegółowo

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła Dokumentacja Administratora portalu aplikacji Wirtualna szkoła aktualna na dzień 20.12.2012 Wykonawca: Young Digital Planet SA 2012 Strona 2 z 15 Spis Treści Wirtualna szkoła SYSTEM ZARZĄDZANIA NAUCZANIEM...

Bardziej szczegółowo

Testy nieparametryczne

Testy nieparametryczne Testy nieparametryczne Testy nieparametryczne możemy stosować, gdy nie są spełnione założenia wymagane dla testów parametrycznych. Stosujemy je również, gdy dane można uporządkować według określonych kryteriów

Bardziej szczegółowo

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,

Bardziej szczegółowo

Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015)

Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015) NCW opis zmian Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015) 1. INTERFEJS I NAWIGACJA Wraz z nową wersją programu

Bardziej szczegółowo

Rozwiązania informatyczne

Rozwiązania informatyczne Forex - analiza zmienności głównych par walutowych na przestrzeni lat 2002-2011 Wprowadzenie Ostatnio na jednym z for internetowych poświęconych tematyce FX dyskutowaliśmy o tym jak wyglądał ten rynek

Bardziej szczegółowo

Wprowadzenie do analizy korelacji i regresji

Wprowadzenie do analizy korelacji i regresji Statystyka dla jakości produktów i usług Six sigma i inne strategie Wprowadzenie do analizy korelacji i regresji StatSoft Polska Wybrane zagadnienia analizy korelacji Przy analizie zjawisk i procesów stanowiących

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Jakość uczenia i generalizacja

Jakość uczenia i generalizacja Jakość uczenia i generalizacja Dokładność uczenia Jest koncepcją miary w jakim stopniu nasza sieć nauczyła się rozwiązywać określone zadanie Dokładność mówi na ile nauczyliśmy się rozwiązywać zadania które

Bardziej szczegółowo

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym Zależności i kontrola danych budżetowych w systemie Sz@rk FK 1. Wstęp Począwszy od wersji Sz@rk FK 2011 (11.03.30) wprowadzono do programu finansowoksięgowego nowe możliwości dotyczące kontrolowania poprawności

Bardziej szczegółowo

Co to jest arkusz kalkulacyjny?

Co to jest arkusz kalkulacyjny? Co to jest arkusz kalkulacyjny? Arkusz kalkulacyjny jest programem służącym do wykonywania obliczeń matematycznych. Za jego pomocą możemy również w czytelny sposób, wykonane obliczenia przedstawić w postaci

Bardziej szczegółowo

Padlet wirtualna tablica lub papier w Internecie

Padlet wirtualna tablica lub papier w Internecie Padlet wirtualna tablica lub papier w Internecie Umiejętność gromadzenia, a potem przetwarzania, wykorzystania i zastosowania informacji w celu rozwiązania jakiegoś problemu, jest uważana za jedną z kluczowych,

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA SYSTEMU BIP

INSTRUKCJA UŻYTKOWNIKA SYSTEMU BIP INSTRUKCJA UŻYTKOWNIKA SYSTEMU BIP REGIONALNY SYSTEM BIULETYNÓW INFORMACJI PUBLICZNEJ ORAZ CYFROWY URZĄD DLA URZĘDU MARSZAŁKOWSKIEGO WOJEWÓDZTWA MAŁOPOLSKIEGO Gdynia, maj 2013 Metryka Nazwa projektu Dostarczenie

Bardziej szczegółowo

Notowania Mobilne wersja Java

Notowania Mobilne wersja Java Notowania Mobilne wersja Java Instrukcja obsługi programu Notowania Mobilne to aplikacja, która pozwala na dostęp do notowań giełdowych w czasie rzeczywistym z każdego miejsca na świecie, gdzie tylko możliwe

Bardziej szczegółowo

Korzystania z systemu monitorowania pozycji system3.pl

Korzystania z systemu monitorowania pozycji system3.pl Instrukcja Korzystania z systemu monitorowania pozycji system3.pl biuro@k2search.pl NIP: 521-34-72-381 REGON: 141287541 KRS: 0000296927 kapitał zakładowy: 380.650,00 PLN (opłacony w całości) 1 1. Informacje

Bardziej szczegółowo

Zulutrade. w pełni automatyczne inwestowanie. [Wersja 1.1]

Zulutrade. w pełni automatyczne inwestowanie. [Wersja 1.1] Zulutrade w pełni automatyczne inwestowanie Zulutrade to nowatorska usługa na rynku forex. Stanowi połączenie między inwestorami poszukującymi systemów transakcyjnych, a tymi którzy je tworzą. Zulutrade

Bardziej szczegółowo

Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika

Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika Rozoczęcie korzystania z modułu odpowiedzialnego za systemu OGNIVO wymaga prawidłowej konfiguracji aplikacji Kancelaria Komornika oraz zainstalowania

Bardziej szczegółowo

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1. Widżety KIWIPortal tworzenie umieszczanie na stronach internetowych opcje zaawansowane Autor: Damian Rebuś Data: 29.06.2015 Wersja: 1.3 Strona 1 z 17 1 SPIS TREŚCI 2 Metody osadzania widżetów... 3 2.1

Bardziej szczegółowo

Wycena nieruchomości za pomocą wyboru wielokryterialnego w warunkach niepewności rozmytej oraz klasycznie: metodą pp i kcś

Wycena nieruchomości za pomocą wyboru wielokryterialnego w warunkach niepewności rozmytej oraz klasycznie: metodą pp i kcś Wycena nieruchomości za pomocą wyboru wielokryterialnego w warunkach niepewności rozmytej oraz klasycznie: metodą pp i kcś Materiały reklamowe ZAWAM-Marek Zawadzki Wybór wielokryterialny jako jadna z metod

Bardziej szczegółowo

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ MATEMATYKA Klasa III ZAKRES PODSTAWOWY Dział programu Temat Wymagania. Uczeń: 1. Miara łukowa kąta zna pojęcia: kąt skierowany, kąt

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Jak ustawić cele kampanii?

Jak ustawić cele kampanii? Jak ustawić cele kampanii? Czym są cele? Jest to funkcjonalność pozwalająca w łatwy sposób śledzić konwersje wygenerowane na Twojej stronie www poprzez wiadomości email wysłane z systemu GetResponse. Mierzenie

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

1 Moduł Inteligentnego Głośnika 3

1 Moduł Inteligentnego Głośnika 3 Spis treści 1 Moduł Inteligentnego Głośnika 3 1.1 Konfigurowanie Modułu Inteligentnego Głośnika........... 3 1.1.1 Lista elementów Modułu Inteligentnego Głośnika....... 3 1.1.2 Konfigurowanie elementu

Bardziej szczegółowo

UONET+ moduł Dziennik

UONET+ moduł Dziennik UONET+ moduł Dziennik Dokumentowanie lekcji w systemie UONET+ W systemie UONET+ bieżące lekcje rejestruje się i dokumentuje w module Dziennik w widoku Dziennik/ Lekcja. Dokumentowanie lekcji w tym widoku,

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Spis treści: Uzyskiwanie dostępu do konta GWAZY 3. Sekcje platformy 4. Informacje o platformie 5. Lista obserwowanych 5.

Spis treści: Uzyskiwanie dostępu do konta GWAZY 3. Sekcje platformy 4. Informacje o platformie 5. Lista obserwowanych 5. Spis treści: Uzyskiwanie dostępu do konta GWAZY 3 Sekcje platformy 4 Informacje o platformie 5 Lista obserwowanych 5 Obszar handlu 6 Metoda Classic 7 Otwarte inwestycje 9 Wiadomości 10 Sprawozdania 11

Bardziej szczegółowo

Marcin Orchel (AlgoExe) AlgoExe 1 / 11

Marcin Orchel (AlgoExe) AlgoExe 1 / 11 predykcja danych finansowych Marcin Orchel AlgoExe AlgoExe Marcin Orchel (AlgoExe) AlgoExe 1 / 11 AlgoExe to prywatna strona poświęcona tworzeniu oprogramowania do predykcji danych finansowych. Poszukujemy

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować

Bardziej szczegółowo

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007 Modele regresji wielorakiej - dobór zmiennych, szacowanie Paweł Cibis pawel@cibis.pl 1 kwietnia 2007 1 Współczynnik zmienności Współczynnik zmienności wzory Współczynnik zmienności funkcje 2 Korelacja

Bardziej szczegółowo

Inteligentne Multimedialne Systemy Uczące

Inteligentne Multimedialne Systemy Uczące Działanie realizowane w ramach projektu Absolwent informatyki lub matematyki specjalistą na rynku pracy Matematyka i informatyka może i trudne, ale nie nudne Inteligentne Multimedialne Systemy Uczące dr

Bardziej szczegółowo

Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU

Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Analiza danych Wstęp Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Różne aspekty analizy danych Reprezentacja graficzna danych Metody statystyczne: estymacja parametrów

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ

Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Funkcje wyszukiwania i adresu PODAJ.POZYCJĘ Mariusz Jankowski autor strony internetowej poświęconej Excelowi i programowaniu w VBA; Bogdan Gilarski właściciel firmy szkoleniowej Perfect And Practical;

Bardziej szczegółowo

PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com

PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com Analiza korelacji i regresji KORELACJA zależność liniowa Obserwujemy parę cech ilościowych (X,Y). Doświadczenie jest tak pomyślane, aby obserwowane pary cech X i Y (tzn i ta para x i i y i dla różnych

Bardziej szczegółowo

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA

Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA Forex PitCalculator Forex PitCalculator jest aplikacją służącą do obliczania podatku należnego z tytułu osiągniętych na rynku walutowym zysków. Jest to pierwsze tego typu oprogramowanie na polskim rynku.

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo