ZASTOSOWANIE SIECI NEURONOWYCH DO PLANOWANIA I ANALIZY KAMPANII REKLAMOWEJ



Podobne dokumenty
Temat: Sieci neuronowe oraz technologia CUDA

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

Metody Sztucznej Inteligencji II

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Uczenie sieci typu MLP

PRZEWODNIK PO PRZEDMIOCIE

Zastosowania sieci neuronowych

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

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Sieci neuronowe w Statistica

Algorytmy sztucznej inteligencji

Podstawy Sztucznej Inteligencji (PSZT)

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Uczenie sieci neuronowych i bayesowskich

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sztuczne sieci neuronowe (SNN)

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Inteligentne systemy przeciw atakom sieciowym

Podstawy sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Priorytetyzacja przypadków testowych za pomocą macierzy

Lekcja : Tablice + pętle

Testowanie modeli predykcyjnych

Sztuczne siei neuronowe - wprowadzenie

Podstawy Sztucznej Inteligencji

Zastosowania sieci neuronowych

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Wstęp do sztucznych sieci neuronowych

Elementy inteligencji obliczeniowej

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Informatyki Computer basics

Liczby losowe i pętla while w języku Python

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

AdBranch BRANŻA TELEKOMUNIKACYJNA

Optymalizacja ciągła

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Sztuczne sieci neuronowe

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

ĆWICZENIE 5: Sztuczne sieci neuronowe

Instrukcja realizacji ćwiczenia

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

1. Logika, funkcje logiczne, preceptron.

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

PRZEWODNIK PO PRZEDMIOCIE

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

TECHNIKI PROMOCJI I REKLAMY Promotion and Advertising Techniques Kod przedmiotu: Inżynieria Materiałowa. IM.D5K.8 Materials Engineering

Inteligentne Multimedialne Systemy Uczące

Projekt Sieci neuronowe

ALGORYTM RANDOM FOREST

Widzenie komputerowe

KARTA MODUŁU KSZTAŁCENIA

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

MATLAB Neural Network Toolbox przegląd

Deep Learning na przykładzie Deep Belief Networks

Zrealizować sieć neuronową (learnbpm) uczącą się odwzorowania z = x 2 + y 2 dla x i y zmieniających się od -1 do 1.

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

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

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

SMYK buduje zasięg marki i zwiększa sprzedaż dzięki kampanii Display

Systemy uczące się Lab 4

Programowanie celowe #1

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Spis treści. Część I: Czym jest i jak działa reklama? / 13. Część H: Jak przygotować strategię reklamy? / 31. Wprowadzenie /li

2

Formy promocji Forms of promotion PRZEWODNIK PO PRZEDMIOCIE

Sieć przesyłająca żetony CP (counter propagation)

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Sprzedawaj jeszcze więcej dzięki usłudze Ads!

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Programowanie strukturalne i obiektowe. Funkcje

Anna Kozłowska, Reklama. Techniki perswazyjne, OW SGH, Warszawa 2011

Procesowa specyfikacja systemów IT

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

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

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Elementy kognitywistyki III: Modele i architektury poznawcze


Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

PRZEWODNIK PO PRZEDMIOCIE

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Transkrypt:

Studia i Materiały. Miscellanea Oeconomicae Rok 17, Nr 1/2013 Wydział Zarządzania i Administracji Uniwersytetu Jana Kochanowskiego w Kielcach L u d z i e, z a r z ą d z a n i e, g o s p o d a r k a Rafał Prońko 1 ZASTOSOWANIE SIECI NEURONOWYCH DO PLANOWANIA I ANALIZY KAMPANII REKLAMOWEJ W dzisiejszych czasach osoby prowadzące własną działalność gospodarczą muszą sobie zdawać sprawę z tego, że jednym z najistotniejszych aspektów takiej działalności jest marketing. Z powodu bardzo dużej konkurencyjności na rynku dóbr i usług bez porządnie przygotowanej strategii marketingowej żadna firma nie ma szans zaistnieć. Wiele firm posiada w swoich zasobach ludzkich managerów do spraw marketingu. W większości jednak przypadków drakońskie sumy wydane na reklamę wcale się nie zwracają. Można zadać sobie pytanie dlaczego? Przecież wszystko zostało przygotowane zgodnie ze standardami, czyżby naukowcy w swoich książkach się mylili? Nie do końca. Problem polega na tym, że nawet jeśli stworzymy porządny plan marketingowy, wydaje się, że wszystko jest jak najlepiej i już teraz klienci na pewno do nas trafią. Okazuje się, że nie jest to takie proste i czegoś brakuje. A brakuje tylko jednej rzeczy, mianowicie przeprowadzonych badań marketingowych. A jeśli już są przeprowadzone to są robione w sposób nie do końca właściwy. W poniższym artykule spróbuję przedstawić koncepcję planowania reklamy w zależności od doświadczeń jakie zostały nabyte podczas prowadzenia wcześniejszych kampanii. Dziś dotarcie do klienta jest zadaniem bardzo łatwym, jednak dotarcie do właściwego klienta jest już zadaniem trudnym, ale nie niemożliwym do zrealizowania. Przedsiębiorca ma przecież możliwość skorzystania z takich mediów reklamowych jak: telewizja, radio, gazeta, ulotki, banery, portale społecznościowe, kampanie typu adwords, kampanie mailingowe, sponsoring, reklamy na samocho- 1 Mgr Rafał Prońko, doktorant Wydziału Matematyki i Informatyki Uniwersytetu Łódzkiego. 297

dach, reklamy na różnego typu nośnikach, rozdawanie gadżetów reklamowych, wirtualne światy i wiele wiele innych. Ja skupiłem się tylko na paru najpopularniejszych metodach dotarcia do klienta. Tabela poniżej przedstawia kilka wybranych przy badaniu nośników reklamy oraz ich atrybutów. Tabela 1. Medium Koszt produkcji Koszt emisji Zasięg Grupa docelowa Telewizja Bardzo wyskoki Bardzo wyskoki Ogólnokrajowy/ Radio Wysoki Wysoki Ogólnokrajowy/ Gazeta Średni Średni Ogólnokrajowy/ Ulotki Niski Niski / zerowy Regionalny wybrana Kampanie adwords Kampania mailingowa Niski / zerowy Średni / wysoki Ogólnokrajowy/ Niski / zerowy Wysoki Ogólnokrajowy/ Portale społecznościowe Źródło: Opracowanie własne. Niski / zerowy Niski / zerowy Ogólnokrajowy/ Jak widać różne media mają różne atrybuty, nie umieściłem w tabeli jeszcze takich atrybutów jak ilość klientów, którzy po obejrzeniu reklamy przyszli do firmy, ilości wyświetleń/obejrzeń danej reklamy. Te dwa ostatnie atrybuty każde z przedsiębiorstw musi samo ustalić, poprzez prowadzenie obserwacji. W firmach w których pracowałem przeprowadziłem pewne obserwacje dotyczące niektórych z tych mediów. I tak na przykład na 1000 rozniesionych ulotek około 10 osób odpowiada pozytywnie czyli około 1%, jeśli chodzi o portale społecznościowe to odsetek jest nieco większy około 15%, gazeta to nieco powyżej 6% a kampanie adwords to nieco ponad 2% (przynajmniej w branżach w jakich przeprowadzone zostały obserwacje czyli w gastronomii i ubezpieczeniach). Patrząc na tak przedstawione dane trudno jednak od razu odpowiedzieć na pytanie które medium wybrać albo ile należy poświęcić środków pieniężnych na poszczególne media aby wynik kampanii był jak najlepszy (aby odsetek osób przychodzących do naszej firmy lub wybierających nasz produkt był jak największy). W tym właśnie miejscu pojawia się największy problem jak to zrobić. Można spróbować zatrudnić analityka, ale takie usługi są dość drogie. Można też spróbować stworzyć własny model matematyczny. Najlepiej do tego nadawałyby się metody programowania liniowego. Po ułożeniu takiego modelu rozwiązanie go za pomocą programów matematycznych nie jest skomplikowane. Ja jednak zademonstruję trochę inne podejście do rozwiązania tego problemu zwane sieciami neuronowymi. 298

Dlaczego sieci neuronowe? Dziś sieci neuronowych używa się praktycznie do wszystkiego: w samochodach jako różnego rodzaju czujniki, w telefonach komórkowych do rozpoznawania twarzy, głosu, do wyszukiwania informacji, przy przeprowadzaniu badań lekarskich, na rynkach finansowych, do gier komputerowych słowem cały nasz otaczający świat zbudowany jest na sztucznych sieciach neuronowych. Badania nad sztuczną inteligencją (do której zaliczają się sieci neuronowe) rozpoczęto już bardzo dawno temu. Pierwsza maszyna, która miała być taką sztuczną inteligencją powstała już w 1770 roku. Maszynę tę nazwano Turek służyła do gry w szachy. Jak się później okazało maszyna ta była oszustwem, wewnątrz niej siedział człowiek i to on kierował ruchami pionków na szachownicy. Prawdziwe podstawy teorii sztucznych sieci neuronowych dali w 1948 roku Maculloch i Pitt, którzy jako pierwsi zaprezentowali projekt neuronu. Neuron ten do dziś dnia jest podstawą wszelkich badań nad sieciami, jak i podstawową jednostką sztucznych sieci neuronowych. Rysunek przedstawiający schemat takiego sztucznego neuronu przedstawiono poniżej. Ilustracja 1. Schemat sztucznego neuronu. Od tego czasu dziedzina sztucznych sieci neuronowych przeżywa raz wzloty a raz upadki. Po początkowej fascynacji neuronem i stworzeniem pierwszej maszyny wykorzystującej zdolności do uczenia się neuronu, pojawiły się pierwsze problemy. Problem polegał na tym, że próbowano stworzyć maszynę złożoną z więcej niż jednego neuronu, skutecznie nauczyć ją wykonywania pewnych zadań. Po wielu, niestety nie udanych, próbach przyjęto w końcu, że sieci wielowarstwowej nie da się uczyć 2. Jednak nie tak łatwo było zapomnieć o tym problemie i już w roku 1984 Hopfield wymyślił w miarę skuteczną metodę uczenia sztucznych sieci neuronowych. Od tego czasu zaczęło się wciąż rosnące zainteresowanie tą tematyką. Jednak mimo tego, że jest ona stosowana praktycznie w każdej dziedzinie życia to nie jest ona zbyt popularna wśród zwykłych ludzi. A szkoda ponieważ być może już niedługo samochody będą same się prowadziły (pierwszy 2 1968 rok praca Minskyego i Paperta. 299

taki samochód do pracy w warunkach miejskich stworzyła firma Google i ma być testowany na przełomie tego i następnego roku). Sieć neuronowa jest to zbiór wzajemnie ze sobą powiązanych neuronów. Sztuczny neuron ma działanie podobne do naturalnego neuronu. Przyjmuje jakąś informację i na podstawie pewnej funkcji decyduje czy ma być on pobudzony czy też nie. W pierwszym neuronie funkcja aktywacji (funkcja decydująca o tym czy dany neuron ma zwrócić informację, że jest pobudzony, czy też nie) była zwykłą funkcją progową przyjmującą dwie wartości 0 i 1 (0 gdy neuron miał być nie pobudzony i 1 gdy neuron miał być pobudzony), była to tak zwana metoda wszystko albo nic. Taki neuron jednak ma pewne wady, przede wszystkim może rozwiązywać problemy tylko i wyłącznie separowalne liniowo. Dlatego też rozpoczęto prace nad nowymi funkcjami aktywacji. Dziś do działania sieci neuronowej używa się właściwie kilku podstawowych funkcji. Najpopularniejszą funkcją używaną jako funkcja aktywacji jest: 300 f net 1 1 e net gdzie: to współczynnik uczenia net - suma wag i sygnałów wejściowych danych wzorem n net i x j w ij j1 x j oznacza sygnał wejściowy z j-tego źródła natomiast w ij oznacza wagę na połączeniu pomiędzy wejściem j i neuronem i (patrz rysunek). Na podstawie tak zdefiniowanego neuronu można zbudować całą sieć neuronową służącą do rozwiązania naszego problemu. Jednym z najistotniejszych elementów mających wpływ na działanie sztucznej sieci neuronowej jest uczenie sieci. Uczenie sztucznych sieci neuronowych polega na modyfikowaniu wag wejściowych w sieci. Taką właśnie regułę uczenia sieci neuronowych prezentuje poniższy kod napisany w scilab (prezentuje on uczenie pojedynczego neuronu do rozwiązywania zadania logicznego OR): funcprot(0); function s = liniowa(net) if net == 0 then s =0 elseif net > 0 then s = 1 elseif net < 0 then s = -1 function for m=1:5 //wektor wag w = zeros(1:3); for i=1:3

w(i) = rand(); //macierz wektorów trenujących S = [1 0 1; 0 1 1; 1 1 1; 0 0 1]; // poprawne wyniki T = [1 1 1-1]; //współczynnik uczenia eta = rand(); BrakZmiany = 0; while BrakZmiany < 4 for i=1:4 net = S(i,1)*w(1) + S(i,2)*w(2) + S(i,3)*w(3); y = liniowa(net); r = T(i) - y; delta = [S(i,1) S(i,2) S(i,3)]; delta = eta*r*delta; if delta == [0 0 0] then BrakZmiany = BrakZmiany + 1 else BrakZmiany = 0 w = w + delta; // wykreślanie linie decyzji // punkty czerwone (znaczy 0) x = [0]; y = [0]; plot(x(1),y(1),'r:+'); //prawidłowe kółko x1 = [1 1 0]; y1=[1 0 1]; plot(x1(1),y1(1),'g*:'); plot(x1(2),y1(2),'g*:'); plot(x1(3),y1(3),'g*:'); mtlb_axis([-2 2-2 2]); // wykreślanie linii rozpoznawania k=0; for i=-2:0.01:2 k=k+1; xx(k) = i; YY(k) = - ((i*w(1))) /(w(2)) - (1*w(3)/(w(2))) ; plot(xx,yy); 301

Program ten po uruchomieniu i nauczeniu sieci generuje wykresy prostych, które prezentują w jaki sposób dzielona jest płaszczyzna, według decyzji czy funkcja OR jest 1 czy 0. Jak wiadomo aby możliwe było uczenie kogokolwiek lub w tym przypadku czego kolwiek potrzebny jest zbiór na którym będzie mogła sobie nasza sieć poćwiczyć. Taki zbiór nazywa się zbiorem trenującym. Aby przeprowadzić samo uczenie sieci neuronowej będzie potrzebny spory zbiór danych, ponieważ pierwszą część zbioru danych wykorzystujemy jako zbiór trenujący ćwiczymy sieć do czasu aż wyniki otrzymywane przez nią na tych danych będą dla nas zadowalające. Po przeprowadzeniu fazy uczenia przechodzimy do fazy sprawdzania. Bierzemy drugi zbiór (taki, którego nie wykorzystywaliśmy przy uczeniu sieci) i sprawdzamy jakie wyniki otrzymuje nasza sieć. Jeśli wyniki otrzymywane przez sieć są wynikami jakich się spodziewamy to znaczy, że sieć nabyła zdolność uogólniania. Jednak jeśli wyniki nie są zgodne z oczekiwanymi to należy powtórzyć proces uczenia się włączając do danych trenujących dane na jakich sieć była testowana. Proces ten powtarzamy do czasu aż wyniki otrzymywane przez sieć na danych testowych są zadowalające. Zdarza się niestety sytuacja kiedy trening sieci neuronowej nie jest skuteczny. Wtedy należy od nowa zbudować architekturę sieci (użyć mniej lub więcej neuronów albo warstw w sieci, lub tez zupełnie inaczej dobrać dane trenujące). Najbardziej popularną metodą nauki wielowarstwowych sieci neuronowych jest metoda wstecznej propagacji błędu. Polega ona na przepuszczeniu pojedynczej danej trenującej przez sieć, następnie należy policzyć jaki jest błąd na każdym neuronie naszej sieci i sprawdzić czy końcowy błąd jest błędem do zaakceptowania. Jeśli suma błędów (błąd końcowy) nie zadowala nas, należy poprawić wagi zaczynając od ostatniego neuronu i cofać się poprawiając wagi na każdym neuronie, ale biorąc pod uwagę poprawione wagi na neuronach poprzednich. W moich badaniach wykorzystałem właśnie tę metodę uczenia sieci neuronowej. Do budowy sieci wykorzystałem neuron przedstawiony na rysunku oraz opisaną wcześniej funkcję aktywacji. Dane do eksperymentu pochodziły z moich własnych obserwacji oraz udało mi się część danych wygenerować za pomocą metod probabilistycznych (tak zwanej metody bootstrap 3 ). Sieci nie trenowałem do wyeliminowania całkowicie błędu, pozwoliłem aby błąd był na poziomie nie przekraczającym 10%. Jako jeden z elementów trenujących używałem wektora danych: (budżet, zasięg, grupa docelowa) Oznaczenie jakie przyjąłem dla poszczególnych elementów wektora wejściowego: - budżet: - 0.1 1000 zł 3 L.W. Martinez, A.R. Martinez, Computiatonal Statistics Handbook with Matlab, 2002 USA. 302

- 0.2 2000 zł - 0.3 3000 zł - 0.4 4000 zł - itd. - zasięg: - 0.1 dzielnica / osiedle - 0.3 miasto - 0.5 województwo - 0.7 cały kraj - 1 globalne (świat) - grupa docelowa - 0.1 dzieci do 15 lat - 0.2 to młodzież do 18 ;at - 0.3 do 25 lat - 0.4 do 35 lat - 0.5 do 45 lat - 0.6 do 55 lat - 0.7 do 100 lat W moich badaniach interesował mnie zasięg tylko całego miasta a osoby do stu lat. Kilka przykładowych wektorów trenujących zamieściłem w tabeli poniżej: Tabela 2: Dane trenujące (0.1, 0.3, 0.7) (0.15, 0.3, 0.7) (0.2, 0.3, 0.7) (0.25, 0.3, 0.7) Źródło: Opracowanie własne. Jak łatwo zauważyć dana trenująca numer dwa odpowiada budżetowi 1500 zł, zasięgowi całe miasto i grupie docelowej do 100 lat. W odpowiedzi chciałem uzyskać wektor informujący mnie ile należy wydać pieniędzy na poszczególne medium aby zwrot z reklamy był jak największy. Wektor ten był w postaci: (gazeta,mailing,adwords,ulotki,banery) Kilka przykładowych danych w postaci wyników (odpowiadających danym trenującym w tabeli numer 2) przedstawia tabela poniżej: 303

Tabela 3: Wyniki (0.2,0,0,0.8,0) (0.2,0,0,0.8,0) (0.1,0,0,0.8,0.1) (0.1,0,0,0.8,0.1) Źródło: opracowanie własne. Drugi wektor wyjściowy można zinterpretować następująco: należy przeznaczyć 20% sumy zainwestowanej w reklamę w gazecie oraz 80% zainwestowanej sumy w ulotki. Jak łatwo zauważyć media typu adwords i mailing pozostają równe zero, ponieważ uznałem, ze obie te formy reklamy są przydatne dopiero od zasięgu województwa. W mojej ocenie oba te sposoby reklamy są za drogie dla reklam w obrębie tylko jednego miasta. Wektor sprawdzający czy otrzymana odpowiedź jest dobra był tej samej postaci co odpowiedź. Dane trenujące sieci neuronowej przygotowałem na podstawie posiadanej wiedzy z zakresu prawdopodobieństwa oraz eksploratacji danych. Wyniki jakie otrzymałem były wysoce zadowalające. Sieć neuronowa myliła się (oczywiście według mojej oceny) jedynie w 3% danych oznacza to, że w około 3% odpowiedzi przy zasięgu lokalnym (jedno miasto) otrzymałem dodatkowo informację, że należy dać reklamę w mailingu lub w adwords, innym powtarzającym się błędem było złe przydzielanie kwot (w porównaniu z zagadnieniem liniowym). Można oczywiście spróbować bardziej dopracować model sieci. Może przy innej funkcji aktywacji i innych parametrach uczenia sieć będzie jeszcze dokładniejsza. Tworzenie i trenowanie sieci neuronowej jest jednak zajęciem dość żmudnym (czas trenowania sieci neuronowej bywa bardzo długi, dobór danych trenujących nie jest wcale taki łatwy). Porównując nakład pracy jaki został włożony w stworzenie takiej sieci neuronowej oraz czas jaki został poświęcony na przygotowanie danych trenujących z czasem potrzebnym na każdorazową analizę danych (po każdej kampanii reklamowej należałoby od nowa stworzyć model do analizy i porównać wyniki) skłania mnie ku rozwiązaniu opartemu na sztucznych sieciach neuronowych (w sieciach neuronowych nie trzeba nic poprawiać o ile godzimy się na niewielki błąd, który jednak może być w łatwy sposób wychwycony). Odpowiedzi dawane przez sieci neuronowe wcale nie muszą być zrozumiałe przez pracowników firmy. Należałoby dołożyć jeszcze całą oprawę porozumiewania się z użytkownikiem, całą oprawę graficzną oraz mechanizm zmieniający dane z danych zrozumiałych przez użytkownika (danych wprowadzanych do systemu) na dane zrozumiałe dla sieci neuronowej (w moim przypadku sam dobierałem odpowiednie dane zmieniałem 1000 zł na odpowiednią zmienną), oraz mechanizm zamieniający dane zrozumiałe 304

dla maszyny na dane zrozumiałe dla człowieka (tak jak zaprezentowałem to w przykładzie), czyli po prosty stworzyć system ekspercki lub dokładnie hybrydowy system ekspercki. Z moich obserwacji i przeprowadzonych eksperymentów wynika, że czas i koszt poświęcony na zbudowanie takiego systemu może się w krótkim czasie zwrócić. Bibliografia: 1. Cichosz P., Systemy uczące się, WNT, Warszawa 2000. 2. Czarnecki A., Korsak R., Planowanie mediów w kampaniach reklamowych, PWE, Warszawa 2001. 3. Martinez L.W., Martinez A.R. Computiatonal Statistics Handbook with Matlab, 2002 USA 4. Michalik K.,Twardowski Z., Financial Analysis Using a Hybrid Expert Systems, Proceedingsof the ECAP 94 Workshop,,AI in Finance and Business, Amsterdam, August 1994. 5. Michalik K.,Twardowski Z., Intelligent Systems for Financial Analysis, Proceedings of SPICIS 94 International Conf. on Intelligent Systems, Singapoure, November 1994. 6. Michalski E., Marketing. Podręcznik akademicki, Wydawnictwo Naukowe PWN, Warszawa 2003. 7. Nowacka A., Nowacki R., Podstawy marketingu, Difin, Warszawa 2004. Abstrakt: Artykuł ten ma na celu zaprezentowanie nowatorskiego podejścia do zarządzania i planowania w kampaniach reklamowych. Została w nim zaprezentowana metoda sieci neuronowych, które ostatnio stają się bardzo modnym elementem wszelkich rozwiązań technicznych. Application of neural networks to plan and analyze advertising campaign This article aims to present a novel approach to the management and planning advertising campaigns. It was presented in the neural network method, have recently become a very try part of any technical solutions. MBA Rafał Prońko, post-graduate student, University of Lodz. 305