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.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY

METODY INŻYNIERII WIEDZY METODY INŻYNIERII WIEDZY WALIDACJA KRZYŻOWA dla ZAAWANSOWANEGO KLASYFIKATORA KNN ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

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

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

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

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

Wprowadzenie do uczenia maszynowego

Wprowadzenie do uczenia maszynowego Wprowadzenie do uczenia maszynowego Agnieszka Ławrynowicz 12 stycznia 2017 Co to jest uczenie maszynowe? dziedzina nauki, która zajmuje się sprawianiem aby komputery mogły uczyć się bez ich zaprogramowania

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

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

SPOTKANIE 2: Wprowadzenie cz. I

SPOTKANIE 2: Wprowadzenie cz. I Wrocław University of Technology SPOTKANIE 2: Wprowadzenie cz. I Piotr Klukowski Studenckie Koło Naukowe Estymator piotr.klukowski@pwr.edu.pl 17.10.2016 UCZENIE MASZYNOWE 2/27 UCZENIE MASZYNOWE = Konstruowanie

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

Metody Sztucznej Inteligencji II

Metody Sztucznej Inteligencji II 17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału

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

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

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa

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

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

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

Agnieszka Nowak Brzezińska

Agnieszka Nowak Brzezińska Agnieszka Nowak Brzezińska jeden z algorytmów regresji nieparametrycznej używanych w statystyce do prognozowania wartości pewnej zmiennej losowej. Może również byd używany do klasyfikacji. - Założenia

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

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

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

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

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

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Pattern Classification

Pattern Classification Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley & Sons, 2000 with the permission of the authors

Bardziej szczegółowo

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa. GLM (Generalized Linear Models) Data Mining Wykład 6 Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa Naiwny klasyfikator Bayesa jest klasyfikatorem statystycznym -

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 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

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Temat: Platforma Systemowa Wonderware cz. 2 przemysłowa baza danych,

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

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego

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

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności: Instrukcja obsługi Aplikacji Zarządzania Uprawnieniami (AZU) dla użytkowników zewnętrznych (UZ) w Zintegrowanym Systemie Zarządzania Tożsamością (ZSZT) Użytkownik zewnętrzny (UZ) może wykonywać następujące

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

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot

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

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych Marcin Deptuła Julian Szymański, Henryk Krawczyk Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Architektury

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

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3 DODAJEMY TREŚĆ DO STRONY 1. Dockbar, CMS + wyszukiwarka aplikacji... 2 2. Dodawanie portletów... 3 Widok zawartości stron... 3 Omówienie zawartości portletu (usunięcie ramki itd.)... 4 3. Ikonki wybierz

Bardziej szczegółowo

Otwarty System Antyplagiatowy Instrukcja dla promotorów

Otwarty System Antyplagiatowy Instrukcja dla promotorów Otwarty System Antyplagiatowy Instrukcja dla promotorów Opracował: Remigiusz Ciemiński, CI UAM Dokument zawiera informacje przydatne przy interpretowaniu raportu z badania pracy w systemie antyplagiatowym

Bardziej szczegółowo

ROC Rate of Charge. gdzie ROC wskaźnik szybkości zmiany w okresie n, x n - cena akcji na n-tej sesji,

ROC Rate of Charge. gdzie ROC wskaźnik szybkości zmiany w okresie n, x n - cena akcji na n-tej sesji, ROC Rate of Charge Analityk techniczny, który w swej analizie opierałby się wyłącznie na wykresach uzyskiwałby obraz możliwości inwestycyjnych obarczony sporym ryzykiem. Wnioskowanie z wykresów bazuje

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

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych Mateusz Kobos, 07.04.2010 Seminarium Metody Inteligencji Obliczeniowej Spis treści Opis algorytmu i zbioru

Bardziej szczegółowo

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18 Eksploracja Danych wykład 4 Sebastian Zając WMP.SNŚ UKSW 10 maja 2017 Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja 2017 1 / 18 Klasyfikacja danych Klasyfikacja Najczęściej stosowana (najstarsza)

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

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych Wstęp do przetwarzania języka naturalnego Wykład 11 Wojciech Czarnecki 8 stycznia 2014 Section 1 Przypomnienie Wektoryzacja tfidf Przypomnienie document x y z Antony and Cleopatra 5.25 1.21 1.51 Julius

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

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki

Bardziej szczegółowo

Cena Bid, Ask i spread

Cena Bid, Ask i spread Jesteś tu: Bossa.pl» Oferta» Forex» Podstawowe informacje Cena Bid, Ask i spread Po uruchuchomieniu platformy możemy zaobserwować, że instrumenty finansowe są kwotowane w dwóch cenach, po cenie Bid i cenie

Bardziej szczegółowo

UONET+ moduł Dziennik

UONET+ moduł Dziennik UONET+ moduł Dziennik Jak korzystać z tabel frekwencji dostępnych w widokach Lekcja oraz Dziennik oddziału? W systemie UONET+ frekwencję uczniów na lekcjach rejestruje się w module Dziennik w widoku Lekcja

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

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

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

Inteligentna analiza danych

Inteligentna analiza danych Numer indeksu 150946 Michał Moroz Imię i nazwisko Numer indeksu 150875 Grzegorz Graczyk Imię i nazwisko kierunek: Informatyka rok akademicki: 2010/2011 Inteligentna analiza danych Ćwiczenie I Wskaźniki

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

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr. Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr. Warszawa, 10 Marca 2016 Plan prezentacji. Definicja funkcji jądrowej. Plan prezentacji. Definicja funkcji jądrowej. Opis problemu

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

Instrukcja obsługi Konfigurator MLAN-1000

Instrukcja obsługi Konfigurator MLAN-1000 Instrukcja obsługi Konfigurator MLAN-1000 Strona 2 z 8 SPIS TREŚCI 1. Logowanie... 3 2. Diagnostyka... 4 3. Konfiguracja sterownika... 5 3.1 Konfiguracja sterownika aktualizacja oprogramowania... 5 4.

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

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

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

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

Ć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

Pulpit Inwestora. Zarządzanie zleceniami. 1. Składanie zleceń. Biuro Maklerskie

Pulpit Inwestora. Zarządzanie zleceniami. 1. Składanie zleceń. Biuro Maklerskie Pulpit Inwestora Zarządzanie zleceniami Biuro Maklerskie 1. Składanie zleceń Aplikacja umożliwia składanie zleceń na kilka sposobów: > poprzez komponent Zlecenia, > poprzez komponent Instrument, > z tabeli

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

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

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

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

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

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

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

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

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

PODRĘCZNIK UŻYTKOWNIKA

PODRĘCZNIK UŻYTKOWNIKA ELEKTRONICZNA PLATFORMA WALUTOWA FX PL@NET PODRĘCZNIK UŻYTKOWNIKA FX PL@NET 801 321 123 WWW.BGZBNPPARIBAS.PL 1. NOWA FUNKCJONALNOŚĆ W SYSTEMIE BIZNES PL@NET W systemie BiznesPl@net została udostępniona

Bardziej szczegółowo

Kurs obsługi systemu CMS. Prawie wszystkie treści wyświetlające się na stronie są zlokalizowane w dziale artykuły.

Kurs obsługi systemu CMS. Prawie wszystkie treści wyświetlające się na stronie są zlokalizowane w dziale artykuły. Kurs obsługi systemu CMS Zaczynając przygodę z systemem zarządzania treścią Joomla 2.5 należy przedstawić główny panel administratora. Całość zaprojektowana jest w kombinacji dwóch systemów nawigacyjnych.

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

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

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty

Bardziej szczegółowo

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi. Spis treści 1 Wstęp: generatywne algorytmy uczące 2 Gaussowska analiza dyskryminacyjna 2.1 Gaussowska analiza dyskryminacyjna a regresja logistyczna 3 Naiwny Klasyfikator Bayesa 3.1 Wygładzanie Laplace'a

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

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

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

8. Neuron z ciągłą funkcją aktywacji.

8. Neuron z ciągłą funkcją aktywacji. 8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i

Bardziej szczegółowo

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes) Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes) KROK NR 1: Uruchamiamy dowolną przeglądarkę internetową w celu pobrania najnowszej

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

Notowania Mobilne wersja Java dotykowa. Instrukcja obsługi programu

Notowania Mobilne wersja Java dotykowa. Instrukcja obsługi programu Notowania Mobilne wersja Java dotykowa 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

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

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

( 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

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

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

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

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

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

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Usługi Informatyczne SZANSA - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, 43-305 Bielsko-Biała NIP 937-22-97-52 tel. +48 33 488 89 39 zwcad@zwcad.pl www.zwcad.pl Aplikacja do rysowania wykresów i oznaczania

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