Support vector machine and fraud detection
Full text
(2)
(3) UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo. Magistrsko delo. METODA PODPORNIH VEKTORJEV V DETEKCIJI GOLJUFIJ na študijskem programu 2. stopnje Matematika. Mentor. Kandidatka:. izr. prof. dr. Drago Bokal. Manja Krajnčič. Somentorica: izr. prof. dr. Anja Žnidaršič. Maribor, 2019.
(4) ZAHVALA. The dictionary is the only place where success comes before work. (Vidal Sassoon). Zahvaljujem se mentorju, izr. prof. dr. Dragu Bokalu in somentorici, izr. prof. dr. Anji Žnidaršič, za strokovno vodenje, nasvete ter odzivnost tekom nastanka magistrskega dela. Zahvaljujem se tudi podjetju Margento R&D za dano priložnost ter pomoč. Iskreno se zahvaljujem tudi staršema, bratu in fantu, ki so me v času študija podpirali, vzpodbujali in mi pomagali na poti do želenega cilja. Zahvaljujem se tudi vsem, ki so mi v času študija stali ob strani..
(5) Metoda podpornih vektorjev v detekciji goljufij program magistrskega dela. V magistrskem delu proučite načine iskanja anomalij v podatkih, s poudarkom na odkrivanju goljufij, kjer je cilj ločiti sumljive podatke od ostalih. Podrobneje predstavite način odkrivanja anomalij z uporabo metode podpornih vektorjev enega razreda (one–class SVM), katerega rezultat je razred posebnežev z izbranim deležem vseh podatkov, ki se najbolj ločijo od preostalih podatkov. Omenjena metoda torej išče hiperravnino, ki ločuje izstopajoče podatke od večinske skupine tako, da maksimizira pas okrog hiperravnine, ki ne vsebuje nobenega podatka. Delovanje predstavljenih metod preverite na testnem naboru podatkov o transakcijah ponudnikov subvencionirane študentske prehrane. Osnovni viri: 1. N. Cristianini, J. Shawe–Taylor, An introduction to support vector machines and other kernel-based learning methods, Cambridge university press, 2000. 2. K. Das, K. Bhaduri, P. Votava, Distributed anomaly detection using 1–class SVM for vertically partitioned data,Statistical Analysis and Data Mining: The ASA Data Science Journal (2011), 4(4), 393 − 406. 3. T. Fawcet, F. Provost, Adaptive fraud detection, Data mining and knowledge discovery (1997), 1(3), 291 − 316. 4. S. Rosset, U. Murad, E. Neumann, Y. Idan, G. Pinkas, Discovery of fraud rules for telecommunications—challenges and solutions, In Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining (1999), (pp. 409 − 413).. izr. prof. dr. Drago Bokal. izr. prof. dr. Anja Žnidaršič.
(6) KRAJNČIČ, M.: Metoda podpornih vektorjev v detekciji goljufij. Magistrsko delo, Univerza v Mariboru, Fakulteta za naravoslovje in matematiko, Oddelek za matematiko in računalništvo, 2019.. IZVLEČEK. Magistrsko delo obravnava problem odkrivanja goljufij za izbrani scenarij. Scenarij nam predstavlja eno obliko goljufanja, ki jo želimo razkriti z uporabo ustrezne metode. Kljub temu, da je za odkrivanje goljufij razvitih veliko metod, pa vse niso ustrezne. Metode, ki se v prvi vrsti delijo na nadzorovane in nenadzorovane, ne odkrijejo vseh vrst goljufij, zato je zelo pomembno, da ustvarimo več scenarijev in prilagodimo metode glede na naš nabor podatkov, s tem pa pokrijemo večjo množico možnih goljufov. Za scenarij si izberemo goljufanje gostincev, nad katerim razvijemo novo metodo za odkrivanje transakcijskih goljufij. Rezultate primerjamo tudi z rezultati, ki jih nad isto množico podatkov dobimo pri uporabi metode podpornih vektorjev enega razreda. Glavni rezultat magistrske naloge nam predstavlja kombinacijo uporabe dveh metod za rangiranje gostincev od najbolj do najmanj sumljivih.. Ključne besede: odkrivanje goljufij, subvencionirana študentske prehrana, metoda FSRO, metoda podpornih vektorjev enega razreda. Math. Subj. Class. (2010): 62-07 analiza podatkov, 65K05 metode matematičnega programiranja, 65K10 optimizacijske in variacijske tehnike..
(7) KRAJNČIČ, M.: Support vector machine and fraud detection. Master Thesis, University of Maribor, Faculty of Natural Sciences and Mathematics, Department of Mathematics and Computer Science, 2019.. ABSTRACT. The master thesis deals with fraud detection problem for a specific scenario. The scenario represents one type of fraud that we want to detect with a proper method. There are a lot of different methods for fraud detection, but not all of them are appropriate. Methods that are classified as supervised and unsupervised, do not detect all kinds of fraud, so it is very important to create multiple scenarios in our data set to cover diverse possibilities for fraud. For our scenario, we assume that only provider can commit fraud. We then develop a new method for a fraud detection in telecommunications and compare the results with results from method one-class support vector machine. The main result of master thesis represents a combination of using these two methods for ranking providers from most to least suspicious.. Keywords: fraud detection, subsidized student meals, FSRO method, one-class support vector machine. Math. Subj. Class. (2010): 62-07 data analysis, 65K05 mathematical programming methods, 65K10 optimization and variational techniques..
(8) Kazalo Uvod. 1. 1 Matematične osnove optimizacijskih problemov. 3. 1.1. Formulacija problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.2. Prednosti in slabosti uporabe optimizacijskega modela . . . . . . . . . . . .. 4. 1.3. Vrste optimizacijskih problemov . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 1.3.1. Linearni optimizacijski problem . . . . . . . . . . . . . . . . . . . . .. 5. 1.3.2. Nelinearni optimizacijski problem . . . . . . . . . . . . . . . . . . . .. 8. 1.3.3. Konveksni optimizacijski problem . . . . . . . . . . . . . . . . . . . .. 9. 2 Metoda podpornih vektorjev 2.1. 11. Linearno ločljivi podatki . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.1.1. Iskanje optimalne hiperravnine . . . . . . . . . . . . . . . . . . . . .. 13. 2.1.2. Lagrangeova teorija . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. 2.1.3. Karush–Kuhn–Tuckerjevi pogoji . . . . . . . . . . . . . . . . . . . .. 17. 2.2. Mehka meja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. 2.3. Nelinearno ločljivi podatki . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 2.3.1. Tipi jeder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. Metoda podpornih vektorjev za klasifikacijo v več razredov . . . . . . . . .. 24. 2.4.1. Eden proti vsem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.4.2. Eden proti enemu . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.4.3. DAGSVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.4. viii.
(9) 3 Metoda podpornih vektorjev enega razreda. 26. 3.1. Metoda hiperravnine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 26. 3.2. Metoda hipersfere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 28. 4 Detekcija goljufij. 30. 4.1. Metode odkrivanja goljufij . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 4.2. Tipi goljufij . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 4.2.1. Goljufije kreditnih kartic . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 4.2.2. Vdori v računalnike . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 4.2.3. Telekomunikacijske goljufije . . . . . . . . . . . . . . . . . . . . . . .. 32. 4.2.4. Spletne goljufije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 4.2.5. Druge vrste goljufij . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. Orodja za odkrivanje goljufij . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 4.3.1. Ustvarjanje profilov . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. 4.3.2. Generiranje pravil . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. 4.3.3. Bayesova klasifikacija . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 4.3.4. Nevronske mreže . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 37. Odkrivanje goljufij v telekomunikacijah . . . . . . . . . . . . . . . . . . . . .. 39. 4.3. 4.4. 5 Rezultati na primeru subvencionirane študentske prehrane. 41. 5.1. Subvencionirana študentska prehrana . . . . . . . . . . . . . . . . . . . . . .. 41. 5.2. Podatki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 5.3. Izbira scenarija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 5.4. Izdelava modela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 5.4.1. Konstrukcija podatkov . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 5.4.2. Vizualizacija podatkov . . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 5.4.3. Prilagoditev detektor konstruktor metode . . . . . . . . . . . . . . .. 51. 5.4.4. Metoda FSRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 52.
(10) 5.4.5. Uporaba metode FSRO nad podatki . . . . . . . . . . . . . . . . . .. 54. 5.4.6. Uporaba metode podpornih vektorjev enega razreda nad podatki . .. 58. 5.4.7. Nadgraditev modela . . . . . . . . . . . . . . . . . . . . . . . . . . .. 60. Zaključek. 66. Literatura. 67.
(11) Uvod Zaradi porasta goljufij v tehnološko razvitem svetu je njihovo odkrivanje vedno bolj priljubljeno področje raziskovanja. Poskušamo razviti različne metode, katerih rezultati nas bodo pripeljali do sumljivih posameznikov. Goljufije, še posebej telekomunikacijske, najlažje odkrivamo preko ustvarjanja scenarijev. Scenarij pomeni, da si zamislimo neko goljufijo in njen postopek izvedbe, nato pa razvijemo metode, s katerimi poskusimo to goljufijo tudi odkriti. Ponavadi vsak scenarij začnemo razvijati na preteklih podatkih, v katerih iščemo odstopanja od nekega normalnega obnašanja posameznikom. Neodkrite goljufije lahko podjetjem povzročijo veliko škodo, zato je njihovo odkrivanje še posebaj pomembno za preprečevanje večjih finančnih ali drugih izgub. Prav tako pa lahko podjetja posameznikom na taki način omogočijo varno uporabo njihovih storitev, s čimer si pridobijo zaupanje strank in si tako razširijo tudi trg poslovanja. Cilj magistrske naloge je zato razviti metodo za odkrivanje anomalij v podatkih, kjer ločimo sumljive podatke od ostalih. Podrobneje predstavimo tudi način odkrivanja goljufij s pomočjo metode podpornih vektorjev enega razreda, katerega rezultat je množica sumljivih posameznikov, ki se najbolj loči od preostalih glede na nek izbrani delež. Na koncu obe metodi združimo in rangiramo posameznike, kar nam omogoča nadzor nad številom sumljivih posameznikov, ki jih želimo najti v podatkih. Magistrsko delo je razdeljeno na pet poglavij. V prvem poglavju predstavimo osnove optimizacijskih problemov. V drugem poglavju opišemo delovanje metode podpornih vektorjev, v tretjem poglavju pa delovanje metode podpornih vektorjev enega razreda. V četrtem poglavju opišemo vrste goljufij in podrobneje predstavimo najbolj znane metode za njihovo odkrivanje. Nato se osredotočimo na odkrivanje goljufij v telekomunikacijah. V zadnjem poglavju predstavimo rezultate, dobljene na podatkih o subvencionirani študentski prehrani iz leta 2015. Najprej opišemo subvencionirano študentsko prehrano ter pridobljene podatke, nato pa izberemo scenarij goljufanja. Na naslednjem koraku naredimo kratko statistično analizo, nato pa razvijemo novo metodo, ki jo imenujemo FSRO, kar je kratica za štiri skupine, v katere razdelimo podatke z diskretizacijskim algoritmom DBScan: Običajni (ang. Frequent) predstavlja večinsko skupino, interval najpogosteje uporabljenih vrednosti, Pogo-. 1.
(12) 2 sti (ang. Seldom) skupino pogostih manjšinskih vrednosti, Redki (ang. Rare) množico redkih vrednosti in Osamelci (ang. Outlier ) množico posebnežev. Nad podatki preverimo delovanje metode FSRO in metode podpornih vektorjev enega razreda. Metodi tudi združimo in na zadnjem koraku nadgradimo naš model z vključitvijo metode FSRO v metodo podpornih vektorjev enega razreda. Za statistično analizo ter razvoj metode uporabimo odprtokodni programski jezik R in njegovo integrirano razvojno okolje RStudio, ter programski jezik C++..
(13) Poglavje 1 Matematične osnove optimizacijskih problemov V splošnem optimizacija pomeni narediti neko stvar tako, da bo le–ta najboljša glede na dane možnosti. Zajema probleme iz najrazličnejših področij, s katerimi se srečujemo, kar pripelje do različnih pristopov za reševanje problemov. V matematiki teorija optimizacije predstavlja vejo, ki se ukvarja z iskanjem rešitev ter razvojem algoritmov za maksimizacijo ali minimizacijo problemov [1]. Torej pod besedo optimizacija razumemo optimiranje vrednosti funkcije pri čemer minimiziramo nezaželene, ter maksimiziramo zaželene lastnosti. Cilj optimizacije je tako poiskati takšne parametre funkcije znotraj dovoljenega definicijskega območja, da končne vrednosti ni mogoče izboljšati.. 1.1. Formulacija problema. Definicija 1.1 Za podane funkcije f, gi , hj ⊆ Rn , definiramo primarni optimizacijski problem kot:. min. f (w),. pri pogojih gi (w) ≤ 0,. i = 1, . . . , k,. hj (w) = 0,. j = 1, . . . , m,. (1.1). w ∈ Rn , kjer funkciji f (w) pravimo namenska funkcija, funkciji gi (w) pogoj neenakosti, funkciji hj (w) pa pogoj enakosti. Vektorju w pravimo vektor odločitvenih spremenljivk.. 3.
(14) 1.2 Prednosti in slabosti uporabe optimizacijskega modela. 4. Ker lahko problem maksimiziranja prevedemo na problem minimiziranja s spremembo predznaka funkcije f (w), nam izbira minimuma v enačbi (1.1) ne predstavlja nobenih omejitev. Zaradi poenostavljenega zapisa vektor funkcij [gi (w)] zapisujemo kot g(w) in vektor funkcij [hj (w)] kot h(w). Pri tem moramo upoštevati, da imamo vedno končno število omejitev [1]. Vsak vektor w, ki izpolnjuje pogoje optimizacijskega problema, imenujemo dopustna rešitev. Domeni, ki zadošča vsem pogojem in na kateri je definirana namenska funkcija, rečemo dopustna domena ali množica dopustnih rešitev. Označili jo bomo z D = {w ∈ Rn |g(w) ≤ 0, h(w) = 0}.. (1.2). Če je D = ∅, potem pravimo, da optimizacijski problem ni dopusten [4]. Rešitev optimizacijskega problema je točka w∗ ∈ D, kjer ne obstaja nobena druga točka w ∈ D, za katero f (w) < f (w∗ ). Iskanje globalne optimalne rešitve je lahko zelo težko, zato se v takih primerih pogosto zadovoljimo s tem, da najdemo tako rešitev namenske funkcije f , da v okolici ni boljše rešitve. Taki rešitvi pravimo lokalni optimum. Funkcija f zavzame v točki w∗ lokalni minimum, če je vrednost funkcije v neki okolici w∗ najmanša, torej ∃ε > 0,. f (w∗ ) < f (w) za vsak w,. ||w − w∗ || < ε.. (1.3). Zavedati se moramo, da lahko različne predpostavke o namenski funkciji in omejitvah ustvarijo drugačnen optimizacijski problem [1]. V splošnem lahko optimizacijski problem razdelimo v dve kategoriji; probleme z zveznimi spremenljivkami ter probleme z diskretnimi, ki jih imenujemo tudi kombinatorične. V primeru zveznih spremenljivk ponavadi iščemo množico realnih števil ali funkcijo, v kombinatoričnem primeru pa iščemo objekt iz končne množie objektov, tipično je to število, množica, permutacija ali graf [2].. 1.2. Prednosti in slabosti uporabe optimizacijskega modela. Največja prednost uporabe optimizacijskega modela je njegova sposobnost hitrega ocenjevanja možnih rešitev, brez da bi jih konstruirali ali dejansko eksperimentirali z njimi. Modeliranje optimizacijskega problema povzroči vnaprejšno razmišljanje in organiziranje, pri čemer izbiramo spremenljivke, s pomočjo katerih izračunamo namensko funkcijo, kar nas na koncu pripelje do želene oblike rešitve. Model je tudi objektiven, saj so kriteriji ter predpostavke specificirane. Z optimizacijskimi modeli lahko lažje rešimo obširne ter kompleksne.
(15) 1.3 Vrste optimizacijskih problemov. 5. probleme, saj lahko vsak realni problem predstavimo kot matematični problem, na katerem uporabimo različne tehnike, ter s pomočjo računalnikov rešimo prebleme na način, ki drugače ni mogoč [3]. Kljub vsem naštetim prednostim, pa ima matematični model tudi slabosti. Dejanska formulacija oz. konstrukcija modela je najtežji korak v matematičnem modeliranju. Ker so problemi lahko kompleksni, obstaja možnost, da ustvarimo napačen model, s tem pa dobimo optimalno rešitev, ki ne bo rešila našega problema. Druga slabost je nerazumevanje vloge modeliranja v procesu odločanja. Optimalna rešitev modela ni nujno optimalna rešitev dejanskega problema. Matematični model je le orodje, ki nam pomaga priti do dobrih odločitev, pri tem pa se moramo zavedati, da to ni edini faktor, ki vpliva na končno rešitev. Pri nekaterih rešitvah moramo upoštevati tudi druge dejavnike, ki lahko vplivajo na končno odločitev [3].. 1.3. Vrste optimizacijskih problemov. Poznamo več vrst optimizacijskih problemov, ki se razlikujejo glede na obliko namenske funkcije in njenih pogojev. V splošnem se delijo na linearne in nelinearne.. 1.3.1. Linearni optimizacijski problem. Definicija 1.2 Optimizacijski problem, v katerem so namenska funkcija in vsi pogoji zapisani v obliki linearnih funkcij, imenujemo linearni program oz. linearni optimizacijski problem.. Linearno programiranje igra pomembno vlogo v teoriji optimizacije.. Glavni namen je. reševanje problemov minimiziranja (ali maksimiziranja) linearne funkcije, kjer upoštevamo končno število omejitev. Je tudi največkrat uporabljena metoda za reševanje optimizacijskih problemov. Vsak pogoj neenakosti iz enačbe (1.1) lahko pretvorimo v enakost s pomočjo dopolnilnih spremenljivk, ki jih bomo označevali s ξ. Velja [1] gi (w) ≤ 0 ⇐⇒ ∃ξi : gi (w) + ξi = 0,. ξi ≥ 0.. (1.4). Na ta način dodamo toliko novih pogojev, kolikor imamo omejitev neenakosti. Te pogoje lahko združimo s funkcijo h(w), za katero že vemo, da ima obliko h(w) = 0. Linearni.
(16) 1.3 Vrste optimizacijskih problemov. 6. program zapišemo v kanonični obliki [1]: min. f (w) = cT w =. n X. cj wj ,. j=1. pri pogojih. h(w) = Aw − b = 0,. (1.5). w ≥ 0, kjer so vrednosti A ∈ Rm×n , b ∈ Rm in c ∈ Rn podane. Vektor w ∈ Rn predstavlja iskani vektor odločitvenih spremenljivk, indeks m označuje število omejitev, indeks n pa število odločitvenih spremenljivk, pri čemer m, n ∈ N. Funkcijo h(w) lahko zapišemo v obliki Aw = b, kar nam predstavlja krajši zapis za sistem enačb: a11 w1 + a12 w2 + . . . + a1n wn = b1 a21 w1 + a22 w2 + . . . + a2n wn = b2 .. .. (1.6). am1 w1 + am2 w2 + . . . + amn wn = bm . Linearni program lahko zapišemo tudi v standardni obliki [2]: min pri pogojih. f (w) = cT w, Aw ≥ b,. (1.7). w ≥ 0. Obe obliki linearnih programov sta med seboj ekvivalentni, saj lahko s pomočjo pretvorbe (1.4) vsak kanonični program spremenimo v standardnega. Prav tako pa lahko vsak standardni linearni program spremenimo v kanoničnega na naslednji način: g(w) = 0 ⇐⇒. g(w) ≤ 0 ∧ g(w) ≥ 0 .. (1.8). Glavna naloga matematičnega programiranja je zmanjševanje števila možnih rešitev. To lahko storimo tako, da ugotovimo koordinate vseh ekstremov in nato določimo vrednosti namenske funkcije v teh točkah. Optimalna rešitev je tista, ki doseže najmanjšo vrednost namenske funcije. V praksi ta pristop ni učinkovit, saj je lahko število ekstremnih točk neomejeno, zato se poslužujemo drugih metod, kot je npr. grafična metoda (za reševanje problemov linearnega programiranja z eno, dvema ali tremi spremenljivkami), simpleksna metoda (za reševanje problemov matematičnega programiranja z več kot tremi spremenljivkami) in druge. Pogosto uporabljena metoda za reševanje linearnega programiranja je.
(17) 1.3 Vrste optimizacijskih problemov. 7. uporaba dualnega programa. Vsakemu primarnemu linearnemu programu oblike min. f (w) =. n X. cj wj ,. j=1. pri pogojih. n X. aij wj = bi ,. i = 1, . . . , m,. (1.9). j=1. wj ≥ 0,. j = 1, . . . , n. pripada njegov dualni program, ki je oblike [2] max. d(y) =. m X. bi yi ,. i=1. pri pogojih. m X. aij yi ≤ cj ,. j = 1, . . . , n,. (1.10). i=1. yi ∈ R,. i = 1, . . . , m.. Teorija dualnosti je zelo uporabna na področju linearnega progrmiranja, saj olajša njegovo reševanje. Uporabimo ga, ko ima linearni program veliko spremenljivk ter malo pogojev, saj s pomočjo zapisa dualne naloge dobimo več pogojev in manj spremenljivk, s tem pa zmanjšamo dimenzijo prostora, v katerem rešujemo problem [4]. Med linearnim programom in njegovim dualom obstajata dve povezavi, ki ju imenujemo šibka in krepka dualnost. Šibka dualnost: naj bo w poljubna rešitev primarnega linearnega programa in y poljubna rešitev pripadajočega dualnega linearnega programa. Tedaj velja: cT w ≤ bT y.. (1.11). Šibka dualnost nam torej pove, da je maksimum dualnega problema vedno manjši ali enak minimumu primarnega problema, iz česar sledi, da rešitev dualnega problema predstavlja zgornjo mejo za rešitev primarnega problema. Krepka dualnost: če ima primarni linearni program optimalno rešitev v w∗ , potem ima pripadajoči dualni linearni program optimalno rešitev v y ∗ , ter velja: cT w∗ = bT y ∗ .. (1.12). Krepka dualnost nam torej pove, da če ima primarni linearni program optimalno rešitev, potem jo ima tudi dualni, rešitvi pa sta enaki..
(18) 1.3 Vrste optimizacijskih problemov. 8. Vektor w ∈ Rn je optimalna rešitev primarnega linearnega programa natanko tedaj, ko: 1. w je dopustna rešitev primarnega linearnega programa, 2. obstaja y ∈ Rm , ki je dopustna rešitev pripadajočega dualnega linearnega programa, 3. cT w = bT y.. 1.3.2. Nelinearni optimizacijski problem. Nelinearno programiranje je zelo podobno linearnemu, glavna razlika je le v nastopu vsaj ene nelinearne funkcije. Splošni problem nelinearnega programiranja je oblike (1.1), kjer nelinearna funkcija nastopa v namenski funkciji ali v katerem izmed pogojev enakosti oz. neenakosti. V primerjavi z linearnim programom je pri nelinearnem veliko težje poiskati optimalno vrednost namenske funkcije [5]. Glavni razlogi so: - Težko je razlikovati med lokalnim ter globalnim optimumom. - Obstaja lahko več nepovezanih dopustnih območij. Četudi najdemo optimum na nekem dopustnem območju, ne moremo z gotovostjo trditi, da ne obstaja več nobeno dopustno območje, ki ga je potrebno raziskati. - Težko je najti dopustno začetno točko. - Različne začetne točke lahko vodijo do drugačnih končnih rešitev. Algoritmi ponavadi izberejo smer iskanja (lokalnih) optimumov ter nato najdejo najboljšo vrednost namenske funkcije v tej smeri. Proces ponavljajo tako dolgo, dokler ni več izboljšav v vrednosti namenske funkcije. V primeru iskanja minimuma se bo naša metoda spustila na dno doline, ki je bila najbližja začetni točki. Ker pa lahko obstaja več dolin, se lahko druga začetna točka zaustavi v drugačni dolini in vrne drugačno končno rešitev. Na ta način obtičimo v lokalnem minimumu. - Težko je zadostiti pogojem enakosti in te pogoje tudi obdržati. Če najdemo rešitev v neki točki, ki zadošča pogojem, lahko pogoje kršimo, ko se algoritem poskuša premakniti na drugo točko, ki ima boljšo vrednost namenske funkcije. - Različni algoritmi privedejo do različnih rešitev za isto formulacijo problema. Metode za reševanje nelinearnega programiranja v splošnem delimo na analitične, numerične ter grafične metode. Pri analitičnih metodah se uporabljajo klasične tehnike diferencialnega in variacijskega računa. Ekstreme funkcije iščemo tako, da njen odvod enačimo.
(19) 1.3 Vrste optimizacijskih problemov. 9. z nič. Analitične metode niso primerne za bolj kompleksne nelinearne probleme oz. za probleme, kjer nastopa veliko spremenljivk. Pri numeričnih metodah uporabljamo informacije iz predhodnih korakov, s pomočjo katerih nato v naslednji iteraciji dobimo boljšo rešitev. Numerične metode ponavadi uporabimo v primeru, ko analitične metode odpovejo. S pomočjo grafičnih metod ekstreme funkcije preberemo z grafa. Uporabna je le, če nastopa funkcija ene ali največ dveh spremenljivk [6]. Zaradi nastopa nelinearnih enačb ne obstaja neka univerzalna metoda za reševanje vseh problemov nelinearnega programiranja, zato se poslužujemo različnih metod, ki so specializirane za nek tip problema. Potrebna je pravilna izbira metode reševanja, ki pa jo moramo včasih razviti sami oz. jo prilagoditi problemu. Za probleme nelinearnega programiranja z eno spremenljivko poznamo več vrst metod, kot so metoda kvadratne aproksimacije, metoda bisekcije, sekantna metoda in druge. Pri reševanju problema nelinearnega programiranja z več spremenljivkami, metodo reševanja izberemo glede na obliko funkcij ter število spremenljivk, ki nastopajo v problemu. Prej naštete metode za reševanje problemov z eno spremenljivko lahko uporabimo kot podproblem problema, kjer nastopa več spremenljivk [7]. Reševanje si lahko poenostavimo tako, da probleme razvrstimo glede na obliko namenske funkcije in njenih omejitev, ter jih nato uvrstimo v različne kategorije, kot so na primer problemi nelinearnega programiranja z linearnimi omejitvemi, kvadratno programiranje itd. Kot primer predstavimo nelinearni problem, kjer v vseh pogojih nastopajo samo enačbe enakosti. Tovrstne probleme rešujemo s pomočjo Lagrangeovih multiplikatorjev [8].. 1.3.3. Konveksni optimizacijski problem. Problemi, ki jih obravnavamo v magistrski nalogi, sodijo med konveksne optimizacijske probleme. Za njihovo formalno opredelitev ponovimo nekaj matematičnih osnov: Definicija 1.3 [1] Funkcija f : D → R, kjer je D ⊆ Rn je konveksna, če za vsaka w, u ∈ D in vsak θ ∈ (0, 1) velja f (θw + (1 − θ)u) ≤ θf (w) + (1 − θ)f (u).. (1.13). Funkcija je strogo konveksna, če velja strogi neenačaj. Definicija 1.4 Optimizacijski problem, v katerem so namenska funkcija in vsi pogoji konveksni, imenujemo konveksni optimizacijski problem. Če je funkcija f konveksna, potem bo na konveksnem območju vsak lokalni minimum w∗ optimizacijskega problema z namensko funkcijo f tudi globalni minimum, saj za vsak u 6= w∗.
(20) 1.3 Vrste optimizacijskih problemov. 10. po definiciji lokalnega minimuma obstaja θ dovolj blizu 1, da velja: f (w∗ ) ≤ f (θw∗ + (1 − θ)u) ≤ θf (w∗ ) + (1 − θ)f (u).. (1.14). Zaradi konveksnosti območja je u dopustna rešitev in iz tega sledi, da je f (w∗ ) < f (u). Ta lastnost konveksnih funkcij omogoča sposobnost reševanja optimizacijskih problemov, v katerih nastopajo konveksne funkcije [1].. Definicija 1.5 Če je namenska funkcija kvadratna, pogoji pa so linearni, potem takšnemu optimizacijskemu problemu rečemo kvadratni program.. Za potrebe magistrske naloge se v nadaljevanju omejimo le na tiste probleme, kjer bodo pogoji linearni, namenska funkcija, definirana na Rn , pa konveksna in kvadratna. Takšni optimizacijski problem bomo imenovali konveksno kvadratno programiranje [1]..
(21) Poglavje 2 Metoda podpornih vektorjev Metoda podpornih vektorjev (ang. support vector machine – SVM) je postala zelo popularna metoda pri reševanju problemov klasifikacije, regresije in odkrivanju novosti (ang. novelty detection). Izdelava modela z metodo SVM ustreza konveksnemu optimizacijskemu problemu, za katerega že vemo, da vsaka lokalna rešitev predstavlja tudi globalni optimum. Ta lastnost nosi ključen pomen pri uborabi metode SVM [9]. Celotno poglavje je povzeto po knjigi [10], preostali viri pa so ustrezno označeni. Metoda podpornih vektorjev je v osnovi binarni, linearni klasifikator. Dva razreda linearno ločljivih podatkov med seboj ločuje hiperravnina, določena s funkcijo h(x), ki nek prostor razdeli na dva dela [11], hkrati pa tudi določi pripadost točke x enemu izmed razredov. Ker reševanje problemov lahko zahteva ločevanje podatkov v več razredov, je razvita tudi metoda podpornih vektorjev za klasifikacijo v več razredov. Podanih imamo m učnih točk oblike (xi , yi ), i = 1, . . . , m. Vsaka učna točka xi ∈ Rn pripada natanko enemu izmed dveh razredov yi ∈ {−1, 1}.. 2.1. Linearno ločljivi podatki. Definicija 2.1 Za linearno ločljive podatke je značilno, da lahko podatke, ki pripdajo različnih razredom, medsebojno ločimo s pomočjo ene same hiperravnine. Če to ni mogoče, potem so podatki nelinearno ločljivi.. Naš cilj je najti hiperravnino, ki razdeli linearno ločljive podatke v dva razreda. Recimo, da imamo podano linearno enačbo y = ax + b. Ta enačba ima dve spremenljivki y in x, ki ju lahko poimenujemo kakor želimo. Recimo, da za y izberemo x2 in za x izberemo x1 . Zgornja. 11.
(22) 2.1 Linearno ločljivi podatki. 12. enačba postane x2 = ax1 + b, kar je ekvivalentno ax1 − x2 + b = 0. V dvodimenzionalnem prostoru tako tvorimo vektorja x = (x1 , x2 ) ter w = (a, −1) in dobimo nov zapis zgornje premice, w · x + b = 0,. (2.1). kjer w · x predstavlja skalarni produkt med w in x. Množici točk, ki zadoščajo enačbi (2.1), pravimo hiperravnina. Čeprav smo jo definirali v dvodimenzionalnem prostoru, deluje za vektorje v vseh dimenzijah. Če imamo linearno ločljive podatke, lahko hiperravnino uporabimo za binarno klasifikacijo podatkov. Definirajmo odločitveno funkcijo h: 1; w · xi + b ≥ 0 h(xi ) = −1; w · x + b < 0, i. (2.2). kar je ekvivalentno zapisu h(xi ) = sgn(w · xi + b).. (2.3). Torej za določitev vrednosti y uporabimo lego x glede na hiperravnino. Vsaki točki na negativni strani hiperravnine pripišemo vrednost 1, vsaki točki na pozitivni strani pa vrednost −1.. Slika 2.1: Klasifikacija podatkov v dva razreda s pomočjo hiperravnine.. Na sliki 2.1 je prikazan dvodimenzionalni prostor, kjer je hiperravnina klasificirala podatke v dva razreda. Zvezdice pripadajo razredu z oznako 1, trikotniki pa razredu z oznako −1..
(23) 2.1 Linearno ločljivi podatki. 13. Zavedati se moramo, da le vrednost w vpliva na izbor hiperravnine. Torej, problem iskanja hiperravnine je ekvivelenten problemu iskanja vektorja w.. 2.1.1. Iskanje optimalne hiperravnine. Optimalno hiperravnino ne moremo poiskati glede na naš občutek, zato uporabimo metriko, ki nam omogoča primerjavo dveh hiperravnin, hkrati pa nam pove, katera je boljša od vseh drugih. Vemo že, da točka x leži na hiperravnini, če zadošča enačbi (2.1). Če točka ne leži na hiperravnini, potem ima leva stran enačbe vrednost različno od nič. Bolj je točka oddaljena od hiperravnine, večja je absolutna vrednost tega števila. Če enačba vrne pozitivno vrednost, potem to pomeni, da točka leži na negativni strani hiperravnine, sicer točka leži na pozitivni strani. Za podan učni podatek (xi , yi ) in hiperravnino, definirano z normalnim vektorjem w in parametrom b, izračunamo γ i = yi (. b w · xi + ). kwk kwk. (2.4). Parameter γ imenujemo geometrijski rob (ang. geometric margin) in predstavlja razdaljo med točko x in hiperravnino. Ta bo vedno pozitivna, če bodo točke pravilno klasificirane, ter vedno negativna, če bodo točke napačno klasificirane. S pomočjo skaliranja w in b dobimo vedno enak rezultat za γ, ne glede na to, kako velik je vektor w. Za podano množico učnih podatkov D = {(xi , yi )|xi ∈ Rn , yi ∈ {−1, 1}, i = 1, . . . , m}. (2.5). izračunamo γ za vsak učni podatek, kjer m predstavlja število teh podatkov. Določimo M = min γi ,. i = 1, . . . , m.. (2.6). Ob uporabi drugačnih parametrov za določitev hiperravnine dobimo drug γ, ki najbolje ustreza tej ravnini. Ustreznejša je tista hiperravnina, ki ima večji M . S pomočjo geometrijske meje maksimiziramo pas okrog hiperravnine, ki ne vsebuje nobenega podatka. Cilj je torej poiskati takšna w in b, da najdemo optimalno hiperravnino na množici vseh mogočih hiperravnin. Rešiti moramo optimizacijski problem max pri pogojih. M, γi ≥ M,. (2.7) i = 1, . . . , m..
(24) 2.1 Linearno ločljivi podatki. 14. Za poenostavitev zapisa lahko uvedemo spremenljivki fi in F : fi = yi (w · xi + b),. (2.8). F = min fi ,. (2.9). i = 1, . . . , m.. f imenujemo funkcijska meja (ang. functional margin). M lahko sedaj zapišemo kot M=. F kwk. (2.10). in celoten optimizacijski problem preoblikujemo v max pri pogojih. M, F fi ≥ , kwk kwk. (2.11) i = 1, . . . , m.. Pogoj lahko poenostavimo tako, da odstranimo normo na obeh straneh neenačbe. Ker skaliranje w in b ne vpliva ne geometrijsko mejo, ju lahko spremenimo tako, da bo F = 1, rezultat pa ne bo vplival na optimizacijski problem. Naš optimizacijski problem tako postane max pri pogojih. 1 , kwk fi ≥ 1,. (2.12) i = 1, . . . , m.. Ta problem maksimiziranja je ekvivalenten problemu minimiziranja: min pri pogojih. 1 kwk2 , 2 yi (w · xi + b) − 1 ≥ 0,. (2.13) i = 1, . . . , m.. Problem (2.13) je konveksen kvadraten optimizacijski problem, ki je v primerjavi s prvotnim problemom lažji za reševanje.. 2.1.2. Lagrangeova teorija. Namen Lagrangeove teorije je reševanje optimizacijskih problemov, kadar nimamo prisotnih omejitev neenakosti. Metodo je leta 1797 za mehanske potrebe razvil Lagrange. Glavni koncept te teorije sestoji iz Lagrangeovih multiplikatorjev in Lagrangeove funkcije. Leta 1951 sta Kuhn in Tucker razširila to metodo, ki sedaj omogoča tudi omejitve neenakosti. Tej.
(25) 2.1 Linearno ločljivi podatki. 15. teoriji pravimo Kuhn-Tuckerjeva teorija. Ti rezultati bodo zagotovili vse, kar potrebujemo za uspešno reševanje naloge optimizacije [1]. Lagrange je opazil, da ko poskušamo reševati optimizacijski problem oblike min pri pogojih. f (x), g(x) = 0,. (2.14). x ∈ Rn , najdemo minimum funkcije f natanko tedaj, ko je gradient te točke v enaki smeri, kot je gradient od g: ∇f (x) = α∇g(x).. (2.15). Konstanto α imenujemo Lagrangeov multiplikator. Če definiramo funkcijo L(x, α) = f (x) − αg(x),. (2.16). potem je njen gradient enak ∇L(x, α) = ∇f (x) − α∇g(x).. (2.17). Rešitev enačbe ∇L(x, α) = 0 nam kot rezultat vrne minimum funkcije. Vpeljemo Lagrangeovo funkcijo oblike L(w, b, α) = f (w) −. m X. αi gi (w, b).. (2.18). i=1. Če v Lagrangeovo funkcijo vstavimo namensko funkcijo ter njenih m pogojev iz enačbe (2.13), dobimo: m. X 1 L(w, b, α) = kwk2 − αi [yi (w · xi + b) − 1] 2 i=1. 1 = w·w− 2. m X. (2.19) αi [yi (w · xi + b) − 1].. i=1. Za vsako pogoj v optimizacijskem problemu smo definirali en Lagrangeov multiplikator αi . Problem L(w, b, α) = 0 lahko rešimo le, če je število testnih podatkov majhno, zato moramo znova preoblikovati ta problem. Da lahko dobimo rešitev primarnega problema, moramo.
(26) 2.1 Linearno ločljivi podatki. 16. najprej rešiti Lagrangeov problem oblike: min. max. L(w, b, α),. α. w,b. (2.20) αi ≥ 0,. pri pogojih. i = 1, . . . , m.. Problem minimiziranja rešujemo s pomočjo parcialnih odvodov funkcije L glede na w in b: m. X ∂L =w− αi yi xi = 0, ∂w. (2.21). i=1. m. X ∂L =− αi yi = 0. ∂b. (2.22). i=1. Iz enačbe (2.21) sledi w=. m X. αi yi xi .. (2.23). i=1. Če v Lagrangeovo funkcijo vstavimo w iz enačbe (2.23), dobimo: W (α, b) =. m m m m X X X 1 X αi yi xi · αj yj xj − αi yi ( αj yj xj ) · xi + b − 1 2. 1 = 2 =. =. 1 2. i=1 m m XX i=1 j=1 m X m X. j=1. αi αj yi yj xi · xj − αi αj yi yj xi · xj −. i=1 j=1 m X i=1. i=1. m X. α i yi i=1 m X m X. j=1. m X. (. m X αj yj xj ) · xi + b + αi. j=1. αi αj yi yj xi · xj − b. i=1 j=1 m. m. i=1 m X i=1. αi yi +. m X. αi. i=1. m. X 1 XX αi αj yi yj xi · xj − b αi yi . αi − 2 i=1 j=1. i=1. Iz enačbe smo uspešno odstranili w, vendar pa b še vedno ostaja. Če upoštevamo enačbo (2.22), bo naša funkcija W sedaj odvisna le od α: W (α) =. m X i=1. m. m. 1 XX αi αj yi yj xi · xj . αi − 2 i=1 j=1. (2.24).
(27) 2.1 Linearno ločljivi podatki. 17. Če vse ugotovitve vstavimo v naš optimizacijski problem, dobimo dualno nalogo max. m X. α. pri pogojih. m. αi −. i=1 j=1. i=1. αi ≥ 0, m X. m. 1 XX αi αj yi yj xi · xj , 2 i = 1, . . . , m. (2.25). αi yi = 0.. i=1. Glavna prednost tega optimizacijskega problema je, da je funkcija W sedaj odvisna le od Lagrangeovih multiplikatorjev. Ker nastopajo tudi pogoji neenakosti, mora rešitev zadoščati t. i. Karush–Kuhn–Tuckerjevim pogojem (KKT pogoji). Ti pogoji zagotavljajo, da je rešitev optimizacijskega problema optimalna. Ker rešujemo konveksen primarni problem, nam KKT pogoji hkrati tudi zagotavljajo, da je dualna vrzel (ang. duality gap) enaka nič, kar pomeni, da je rešitev primarnega optimizacijskega problema enaka dualni rešitvi [1].. 2.1.3. Karush–Kuhn–Tuckerjevi pogoji. - Stacionarni pogoj nam pove, da mora biti izbrana točka tudi stacionarna točka. To je točka, kjer je gradient namenske funkcije enak nič (sedlo). m. X ∂L =w− αi yi xi = 0, ∂w i=1. ∂L =− ∂b. m X. (2.26). αi yi = 0.. i=1. - Primarni dopustni pogoj je pogoj primarnega problema: yi (w · xi + b) − 1 ≥ 0. za vsak i = 1, . . . , m.. (2.27). - Dualni dopustni pogoj je pogoj dualnega problema: αi ≥ 0. za vsak i = 1, . . . , m.. (2.28). - Dopolnilni pogoj nam zagotavlja, da je ali αi = 0 ali yi (w · xi + b) − 1 = 0, αi yi (w · xi + b) − 1 = 0.. (2.29). Podporni vektorji so tisti vektorji, ki zadoščajo pogoju yi (w · xi + b) − 1 = 0. Iz dopolnilnega pogoja vidimo, da so podporni vektorji tisti, kateri imajo pozitivne Lagrangeove.
(28) 2.1 Linearno ločljivi podatki. 18. multiplikatorje. Za njih je značilno, da če iz učne množice podatkov zavržemo vse preostale vektorje, dobimo isto rešitev. Ime so dobili, ker so te točke najbližje hiperravnini in jo podpirajo iz obeh strani, da se ne bi kam premaknila [12]. Ko rešimo naš dualni optimizacijski problem, dobimo vektor α, ki vsebuje vse Lagrangeove multiplikatorje. Ko smo na začetku definirali primarni problem, je bil naš cilj najti w in b. w lahko preprosto izračunamo iz stacionarnega pogoja: w=. m X. αi yi xi .. (2.30). i=1. Ko imamo enkrat w, lahko izračunamo še b s pomočjo pogojev primarnega problema; yi (w · xi + b) − 1 ≥ 0.. (2.31). Ta pogoj lahko za podporne vektorje xi preoblikuejmo v yi (w · xi + b) = 1,. (2.32). saj smo originalni problem transformirali tako, da sta novi formulaciji enakovredni. Kar piše v zgornji enačbi je, da imajo najbližje točke hiperravnini funkcijsko mejo enako 1. Vrednost 1 je tista vrednost, ki smo jo izbrali, ko smo skalirali w. Od tod izračunamo b s preprostim izrazom, b = yi − w · xi .. (2.33). Namesto izbire naključnega podpornega vektorja xi , je bolje vzeti povprečje, saj nam daje bolj stabilno rešitev. Tako b izračunamo kot S 1X b= (yi − w · xi ), S. (2.34). i=1. kjer S predstavlja število podpornih vektorjev. Našo odločitveno funkcijo iz (2.3) lahko preoblikujemo v dualno obliko, kjer uporabimo le podporne vektorje:. h(xi ) = sgn. S X j=1. αj yj (xj · xi ) + b .. (2.35).
(29) 2.2 Mehka meja. 2.2. 19. Mehka meja (ang. soft margin). V prejšnem poglavju smo obravnavali linearno ločljive podatke, za katere smo lahko poiskali hiperravnino, ki jih ločuje. Podatki pa v realnem življenju pogosto vsebujejo šume, zaradi katerih ni mogoče najti hiperravnine, tako kot v primeru na sliki 2.2, kjer zaradi točke (7, 8) naš model obtiči.. Slika 2.2: Točka (7, 8) kvari linearno ločljivost podatkov.. Model lahko zato nekoliko omilimo. Cilj sedaj ne bo več ne narediti napake (pravilno klasificiramo vse podatke), ampak narediti kar se da malo napak. V ta namen vpeljemo dopolnilno spremenljivko ξ. Pogoj yi (w · xi + b) ≥ 1 sedaj postane yi (w · xi + b) ≥ 1 − ξi , ξi ≥ 0,. (2.36). i = 1, . . . , m.. Uvedemo novo spremelnjivko C, s katero določimo pomembnost dopolnilnih spremenljivk za naš model. Optimizacijski problem postane: m. min. w,b,ξ. pri pogojih. X 1 kwk2 + C ξi , 2 i=1. yi (w · xi + b) ≥ 1 − ξi , ξi ≥ 0,. (2.37). i = 1, . . . , m.. Kot rešitev dobimo hiperravnino z maksimalno mejo in hkrati kar se da majhno napako. Z uporabo istih tehnik, kot pri optimizacijskem problemu s strogo mejo, dobimo enak dualni.
(30) 2.3 Nelinearno ločljivi podatki. 20. problem, ki se pa rahlo razlikuje v pogojih: max α. pri pogojih. m X i=1. m. αi −. i=1 j=1. 0 ≤ αi ≤ C, m X. m. 1 XX αi αj yi yj xi · xj , 2 i = 1, . . . , m. (2.38). αi yi = 0.. i=1. Pogoj αi ≥ 0 je bil spremenjen v 0 ≤ αi ≤ C, kar predstavlja le dodatno omejitev za Lagrangeove spremenljivke. Odločitvena funkcija ima enako obliko kot funkcija pri strogi meji. S parametrom C, ki ga določimo sami, kontroliramo število napak našega modela. Cilj je torej poiskati takšno vrednost parametra C, da šumi v podatkih ne bodo preveč vplivali na končno rešitev. Z majhnim C dopuščamo širšo mejo, kar lahko vodi do napačne klasifikacije, z veliko vrednostjo za C pa pridemo do podobnih omejitev, kot smo jih imeli pri strogi meji, kjer nismo dopuščali napak pri klasifikaciji podatkov. Prevelika izbira za C lahko pripelje do prenasičenosti in naš model ne bo mogel najti ustrezne hiperravnine.. 2.3. Nelinearno ločljivi podatki. Recimo, da želimo uporabiti SVM nad množico podatkov, prikazanih na sliki 2.3. Podatki niso linearno ločljivi, zato metode SVM ne moremo uporabiti. Pomebno se je zavedati, da ti podatki niso ločljivi v dveh dimenzijah. Če npr. transformiramo vsak dvodimenzionalni vektor (x1 , x2 ) v tridimenzionalni vektor (y1 , y2 , y3 ), bodo podatki postali linearno ločljivi. √ To lahko storimo s polinomsko transformacijo φ : R2 → R3 , φ(x1 , x2 ) = (x21 , 2x1 x2 , x22 ).. Slika 2.3: Nelinearno ločljivi podatki.. Transformacija je prikazana na sliki 2.4, kjer vidimo, da so podatki, ki so bili linearno neločljivi v prostoru R2 , sedaj postali linearno ločljivi v prostoru R3 ..
(31) 2.3 Nelinearno ločljivi podatki. 21. Slika 2.4: Nelinearno ločljivi podatki, ločeni s pomočjo hiperravnine.. Definicija 2.2 Za podano preslikavo φ : X → V, rečemo funkciji 0. K : X → R,. 0. K(x, x ) = φ(x) · φ(x ),. kjer · označuje skalarni produkt v V, jedrna funkcija (ang. kernel function). Pri reševanju dualnega optimizacisjkega problema (2.25) moramo v namenski funkciji izračunati skalarni produkt med dvema učnima podatkoma. To lahko storimo s pomočjo jedra, hkrati pa podatka transformiramo v drugi prostor. Če definiramo jedro kot K(xi , xj ) = xi · xj , lahko dualni problem zapišemo kot m X. max α. m. αi −. i=1. i=1 j=1. αi ≥ 0,. pri pogojih. m X. m. 1 XX αi αj yi yj K(xi , xj ), 2 i = 1, . . . , m. (2.39). αi yi = 0.. i=1. To zamenjavo imenujemo trik s pomočjo jedra (ang. kernel trick ). Bistvo tega trika je, da nam v višjedimenzijski prostor ni potrebno preslikati vsake točke posebej, ampak je dovolj, da poznamo skalarni produkt teh točk [11]. Prav tako je tudi naša odločitvena funkcija. h(xi ) = sgn. X S. αj yj K(xj , xi ) + b. j=1. enaka maksimalni geometrijski meji hiperravnine v večdimenzijskem prostoru [1]. Da pa je preslikava K jedro, mora zadoščati pogojem Mercerjevega izreka:. (2.40).
(32) 2.3 Nelinearno ločljivi podatki. 22. Izrek 2.3 (Mercerjev izrek, [12]) Naj bo X kompaktna podmnožica v Rn . Če je: (i) f kvadratno integrabilna na X :. R X. f 2 (x)dx < ∞,. (ii) K simetrična in za vsaki kvadratno integrabilni f , g velja: Z Z f (x1 )K(x1 , x2 )g(x2 )dx1 dx2 ≥ 0, X ×X. potem je K jedro.. 2.3.1. Tipi jeder. Linearno jedro Linearno jedro je napreprostejše jedro. Preprosto ga definiramo kot: 0. 0. K(x, x ) = x · x , 0. kjer sta x in x dva vektorja. Najpogosteje ga uprabljajo pri klasifikaciji tekstovnih besedil.. Polinmsko jedro Polinmsko jedro je definirano kot: 0. 0. K(x, x ) = (x · x + c)d . Ima dva parametra; c predstavlja konstanto, d pa stopnjo jedra. Polinomsko jedro brez konstante in s stopnjo 1 predstavlja linearno jedro. Ko povečujemo stopnjo polinomskega jedra, bo meja za odločanje postala bolj zapletena, zato bodo nanjo vplivali posamezni primeri podatkov. Večanje stopnje lahko ponavadi pripelje do prenasičenosti, kar pomeni da je naš model preveč blizu podatkom in se jim preveč prilagaja, posledično pa ima šibko napovedovalno moč. Na sliki 2.5 je prikazana uporaba dveh polinomskih jeder z različnima stopnjama. Na levem grafu uporabimo linearno jedro, ter vidimo, da podatki niso pravilno klasificirani. Na desnem grafu jedru povečamo stopnjo na 6. Podatki so sicer pravilno klasificirani, vendar hiperravnina leži preveč blizu rdečim trikotnikom..
(33) 2.3 Nelinearno ločljivi podatki. 23. Slika 2.5: Polinomsko jedro s stopnjo 1 (linearno jedro, levo) in polinomsko jedro s stopnjo 6 (desno).. Gaussovo jedro Gaussovo jedro (rečemo mu tudi radialna bazna funkcija – RBF) je funkcija, katere vrednost je odvisno le od razdalje od neke točke. Definirano je kot: 0. 0. K(x, x ) = exp(−γkx − x k2 ). Značilnost RBF jedra je ta, da kot rezultat vrne skalarni produkt v R∞ . Tako kot določanje stopnje pri polinomskem jedru, tudi določanje vrednosti game v RBF jedru predstavlja problem. Če je gama premajhna, kot na levem grafu na sliki 2.6, potem se model obnaša kot linearni SVM. Če je gama prevelika, potem model podpira vsak podporni vektor, kot prikazuje desni graf na sliki 2.6.. Slika 2.6: RBF jedro z γ = 10−5 (levo) in RBF jedro z γ = 2 (desno).. Če ne vemo, katero jedro izbrati, potem vedno najprej poskusimo z RBF jedrom, saj predstavlja najmočnejšo obliko jedra, hkrati pa deluje na skoraj vseh vrstah podatkov. Uporaba pravilnega jedra s pravilno množico podatkov je ključni element pri uporabi metode SVM..
(34) 2.4 Metoda podpornih vektorjev za klasifikacijo v več razredov. 2.4. 24. Metoda podpornih vektorjev za klasifikacijo v več razredov. Do sedaj smo obravnavali metodo SVM, kjer smo podatke razvrščali le v dva razreda. To pogosto ne zadostuje, zato je potrebno metodo razširiti tako, da bo mogoče klasificirati podatke v več razredov. V nadaljevanju predstavimo nekaj najbolj pogosto uporabljenih metod.. 2.4.1. Eden proti vsem. Metoda eden proti vsem (ang. one against all ) temelji na k SVM modelih, kjer k predstavlja število razredov. i-ti SVM, i = 1, . . . , k, ločuje i-ti razred od vseh ostalih. Takšen princip nam tvori k odločitvenih funkcij. Točko x uvrstimo v tisti razred, v katerem je največja vrednost odločitvene funkcije [11].. 2.4.2. Eden proti enemu. Metoda eden proti enemu (ang. one against one) temelji na. k(k−1) 2. SVM modelih. Namesto,. da en razred razlikujemo od vseh ostalih, sedaj en razred razlikujemo le od enega drugega. Vsak model izračunamo na dveh izmed k razredov, ki ju poimenujemo i in j. To pomeni, da i–ti razred nastopa v kombinaciji z vsemi drugimi (k − 1) razredi. Pri klasifikaciji točke x v nek razred zbiramo glasove glede pripadnosti nekemu razredu. To pomeni, če odločitvena funkcija pravi, da točka x pripada razredu i, prištejemo glas temu razredu, sicer pa ga prištejemu razredu j. Po primerjavi pripadnosti vsem razredom, točko x uvrstimo v tistega, kateri je dobil največ glasov [11].. 2.4.3. DAGSVM. DAGSVM (ang. Directed Acyclic Graph SVM ) predstavlja izboljšavo metode eden proti enemu. Uporabimo enak pristop kot pri metodi eden proti enemu, le da jo pospešimo z uporabo usmerjenega acikličnega grafa, ki nam izbere pravilni klasifikator. S SVM–ji zgradimo graf na. k(k−1) 2. vozliščih in k listih. Kot primer si predstavljajmo, da imamo štiri. razrede: A, B, C in D. Za vsak par razredov (A, B), (A, C), (A, D), (B, C), (B, D) in (C, D) naredimo SVM model. Uporabimo prvi klasifikator, (A, D), ki nam napove, da točka x pripada razredu A, kar je ekvivalentno, da ne pripada razredu D. Tudi drugi klasifikator, (A, C), napove, da pripada razredu A (torej ne pripada razredu C). To pomeni, da.
(35) 2.4 Metoda podpornih vektorjev za klasifikacijo v več razredov. 25. lahko ignoriramo (B, D), (B, C) in (C, D), saj vemo, da točka x ne bo pripadala razredu C ali D. Zadnji uporabni klasifikator je (A, B). Če dobimo napoved za B, potem pripišemo točko x razredu B, sicer pa jo pripišemo razredu A. Torej, na štirih razredih smo uporabili le tri klasifikatorje, da smo napovedali kateremu razredu pripada točka x. V primeru eden proti enemu smo za isto napoved porabili šest klasifikatorjev, torej se je čas uvrščanja novega podatka občutno zmanjšal..
(36) Poglavje 3 Metoda podpornih vektorjev enega razreda Za razliko od navadne metode SVM, je metoda podpornih vektorjev enega razreda (ang. one-class support vector machine - OCSVM) razvita za probleme klasifikacije podatkov v dva razreda, kjer nastopa le en tip podatkov [13]. To pomeni, da v naši testni množici nimamo več podatka yi , i = 1, . . . , m, ki nam pove, v katero izmed skupin spada nek xi . Tako kot metoda SVM, tudi OCSVM poskuša najti hiperravnino, ki podatke loči v dva razreda. Metodo lahko obravnavamo kot navaden SVM, kjer vsi testni podatki ležijo v prvem razredu, koordinatno izhodišče pa v drugem. Glavna ideja OCSVM je preslikati vhodne podatke v večdimenzijski prostor z uporabo pravilnega jedra in konstruirati odločitveno funkcijo, ki med seboj najbolje ločuje podatke od koordinatnega izhodišča z maksimalno mejo, t. j. maksimiziran pas okrog hiperravnine, ki ne vsebuje nobenega podatka [14]. Obstaja pa še ena vrsta metode OCSVM, ki jo imenujemo metoda hipersfere. Tukaj poskušamo najti hipersfero minimalnega volumna, ki pokrije večino testnih podatkov. Če uporabimo Gaussovo jedro, potem sta metoda hiperravnine ter metoda hipersfere enaki [13], saj za spremenljivko 0. 0. v obliki x − x velja, da je K(x, x ) konstanta. Za vsa taka jedra torej velja, da sta tako optimizacijska problema, kot tudi odločitveni funkciji, ekvivalentni.. 3.1. Metoda hiperravnine. Za podano množico učnih podatkov, xi ∈ Rn , i = 1, . . . , m, kjer nimamo podanih informacij o pripadajočem razredu, funkcija φ preslika x v večdimenzijski prostor F s pomočjo jedrnih funkcij in tam loči podatke. V fazi učenja podatkov x model izdela odločitveno funkcijo. 26.
(37) 3.1 Metoda hiperravnine. 27. h(x), ki kot rezultat vrne klasifikacijo podatkov [13]. Ta vrne vrednost +1 za tisti razred, ki vsebuje večino učnih podatkov, in vrednost −1 za preostali razred. Optimizacijski problem, ki ga rešujemo, je oblike: m. min. ξ∈Rn ,ρ∈R. pri pogojih. 1 1 X kwk2 + ξi − ρ 2 νm i=1. φ(xi ) · w ≥ ρ − ξi ,. (3.1). i = 1, . . . , m. ξi ≥ 0, kjer ξi predstavlja dopolnilno spremenljivko, ki dovoli, da so nekateri testni podatki napačno klasificirani [13]. S parametrom ν uravnavamo kompromis med maksimalno razdaljo hiperravnine od koordinatnega izhodišča in številom podatkov med njima. Če je ν majhen, bo manj podatkov med hiperravnino in koordinatnim izhodiščem [14]. V splošnem parameter ν upravlja delež točk, ki jih metoda OCSVM obravnava kot osamelce. Če sta w in ρ rešitvi kvadratnega problema (3.1), potem je hiperravnina oz. linearna odločitvena funkcija v prostoru F oblike h(x) = sgn(φ(x) · w − ρ). (3.2). in ločuje kar se da veliko množico točk {φ(xi )|i = 1, . . . , m} od koordinatnega izhodišča. Večina točk bo s tako definirano funkcijo označenih kot pozitivne. Tako kot pri navadnem SVM, tudi tukaj z uvedbo Lagrangeovih multiplikatorjev αi > 0 in βi > 0 definiramo Lagrangeovo funkcijo [13]: m. m. m. i=1. i=1. i=1. X X 1 X 1 L(w, ξ, ρ, α, β) = kwk2 + ξi − ρ − ξi β i − αi (φ(xi ) · w − ρ + ξi ). (3.3) 2 νm Funkcijo (3.3) odvajamo po w, ξ in ρ. Ob upoštevanju KKT pogojev dobimo naslednje povezave [11]: w=. m X. αi φ(xi ),. (3.4). i=1. αi =. m X i=1. 1 1 − βi ≤ , νm νm. αi = 1.. (3.5). (3.6).
(38) 3.2 Metoda hipersfere. 28. Če vstavimo zgornje ugotovitve v Lagrangeovo funkcijo (3.3), ter upoštevamo, da vsak vhodni prostor s pomočjo jedrnih funkcij preslikamo v večdimenzijskega, potem dobimo dualni problem oblike m. m. 1 XX αi αj K(xi , xj ) 2. min. αi ∈Rm. i=1 j=1. 1 , 0 ≤ αi ≤ νm. pri pogojih. (3.7). i = 1, . . . , m.. Kot rešitev problema (3.7) dobimo αi , ki jih vstavimo v KKT pogoj (3.5), od koder dobimo rešitve za βi . Če sta αi in βi različni od nič za nek i, potem v skladu s KKT pogoji velja: ξi = 0 in w · φ(xi ) − ρ + ξi = 0. Od tod sledi: ρ = w · φ(xi ) =. m X. αi K(xi , xj ).. (3.8). j=1. Ker podporni vektorji ležijo na hiperravnini, smo ρ dobili iz podpornega vektorja xi in njemu pripadajočega αi [13]. Naša hiperravnina je zato oblike h(x) = sgn. m X. αi K(xi , x) − ρ .. (3.9). i=1. 3.2. Metoda hipersfere. Za množico testnih podatkov x poskušamo najti sfero z minimalnim volumnom, ki zavzema vse podatke. Sfero opišemo s pomočjo središča a in radija R [15]. Naš optimizacijski problem je oblike [11] m. min. ξ∈Rn ,R∈R. pri pogojih. 1 X ξi − ρ R + νm 2. i=1. kφ(xi ) − ck2 ≤ R2 + ξi , ξi ≥ 0,. (3.10). i = 1, . . . , m,. 0 < ν ≤ 1, kjer dopolnilna spremenljivka ξi omogoča, da nekateri podatki ležijo izven sfere. Podatki znotraj sfere bodo klasificirani v razred z oznako 1, podatki izven sfere pa v razred z oznako.
(39) 3.2 Metoda hipersfere. 29. −1. Problem lahko pretrvorimo v dualno obliko [11]: minn. α∈R. pri pogojih. m X m X. αi αj K(xi , xj ) −. i=1 j=1. m X. αi K(xi , xi ). i=1. 1 , 0 ≤ αi ≤ νm m X αi = 1, i = 1, . . . , m.. (3.11). i=1. Rešitev c lahko zapišemo kot c=. m X. αi φ(xi ),. (3.12). i=1. odločitvena funkcija pa ima obliko [11]: h(x) = sgn R2 −. m X m X i=1 j=1. αi αj K(xi , xj ) + 2. m X i=1. αi K(xi , x) − K(x, xj ) .. (3.13).
(40) Poglavje 4 Detekcija goljufij V slovarju slovenskega knjižnega jezika [16] je goljufija definirana kot “okoriščevanje z oškodovanjem koga ali z zavajanjem v zmoto”. Goljufije se pojavljajo že od nekdaj v vseh mogočih vrstah in oblikah. V zadnjih letih so med razvijanjem tehnologije, ki nam omogoča lažjo komunikacijo in dostop, tradicionalne oblike goljufanja, kot je pranje denarja, postale lažje za izvajanje, pridružile pa so se jim tudi nove goljufije, kot so goljufije v telekomunikacijah, vdori v računalnike in druge. V praksi ločimo med preprečevanjem goljufij in odkrivanjem goljufij. Med preprečevanje goljufij uvrščamo metode, s katerimi preprečimo, da do goljufije sploh pride. To lahko storimo s pomočjo gesel na računalnikih, telefonih ter bančnih karticah, s pomočjo vodnih žigov na bankovcih in drugih pomembnih dokumentih ali pa s kakšno tretjo metodo zaščite lastnine. Nobena od naštetih metod ni popolna in do goljufije lahko še zmeraj pride. Kot primer si oglejmo lastnika bančne kartice. Čeprav ima na bančni kartici geslo, mu lahko kljub temu ukradejo tako kartico kot tudi geslo, zato mora čim hitreje preprečiti nadaljno izvajanje goljufije. V nasprotju s preprečevanjem, odkrivanje goljufij pomeni identfikacijo oz. prepoznavanje goljufije, ko je ta že bila storjena. Na ta način razvijemo metode, s katerimi lahko preprečimo tovrstne anomalije. Torej, odkrivanje goljufij pride v poštev, ko metode za preprečevanje niso uspešne. Detekcija goljufij je razvijajoča se panoga, saj vedno, ko se razvije nova metoda za preprečevanje goljufij, goljufi že ustvarjajo novo strategijo, s katero bodo lahko zaobšli sistem.. 30.
(41) 4.1 Metode odkrivanja goljufij. 4.1. 31. Metode odkrivanja goljufij. R. M. Bolton in D. J. Hand [17] sta metode za odkrivanje goljufij razdelila v dve skupini. V prvi skupi nastopajo nadzorovane (ang. supervised ), v drugi pa nenadzorovane (ang. unsupervised ) metode. Nadzorovane metode so tiste, pri katerih ustvarimo model s pomočjo podatkov, ki vsebujejo tako normalno obnašanje, kot tudi goljufivo. S tem sistemu omogočimo, da nove podatke razvrsti v eno izmed obeh skupin. Pri tej metodi moramo imeti na voljo predstavnike za obe skupini, pri čemer pa je najpomembneje, da so ti pravilno razvrščeni. Na ta način lahko najdemo goljufiva obnašanja na podlagi preteklih podatkov. Nadzorovane metode uporabljamo le za ločevanje med legitimnimi transakcijami in že znanimi goljufijami. Za razliko od nadzorovanih metod, pa nenadzorovane iščejo nenavadne vzorce v podatkih, ki se najbolj razlikujejo od normalnih. Ponavadi med nenadzorovane metode uvrščamo tiste, pri katerih iščemo osamelce. S pomočjo nenadzorovanih metod lahko odkrijemo nove vrste goljufij, ki do takrat še niso bile odkrite [18]. N. Laleh in M. A. Azgomi [19] sta tej delitvi dodala še dve. Prva je delno nadzorovana metoda (ang. semi-supervised ), kjer morajo biti vhodni podatki sestavljeni iz majhnega deleža označenih podatkov, ter iz velikega deleža neoznačenih podatkov. Označeni podatki so podatki, za katere že vemo, ali predstavljajo normalno ali goljufivo obnašanje, medtem ko pri neoznačenih tega ne vemo. S pomočjo označenih podatkov lahko npr. naučimo model, kako klasificirati podatke, na naslednjem koraku pa poskušamo klasificirati tudi neoznačene podatke (govorimo o naivnem Bayesovem algoritmu). Druga metoda je združevanje algoritmov (ang. combining multiple algorithms). Pri tej metodi združujemo izhodne podatke večih modelov, kar nam omogoča ustvariti boljšo zanesljivost končnega modela.. 4.2. Tipi goljufij. Goljufije lahko delimo na individualne ali korporativne, lahko se izvajajo s strani ponudnika storitev ali pa s strani uporabnika, lahko se izvajajo z namenom zaslužka ali pa le kot koriščenje brezplačne storitve [17]. Opazimo, da zaradi te delitve obstaja veliko vrst goljufij, zato bodo v nadaljevanju naštete le najpogostejše.. 4.2.1. Goljufije kreditnih kartic. Ena izmed najpogostejših goljufij je goljufija kreditnih kartic. Najbolj znan primer goljufije je, ko nam odtujijo kartico in njeno geslo, ter nato poskušajo v najkrajšem možnem času.
(42) 4.2 Tipi goljufij. 32. izprazniti bančni račun. Pomembno je, da takšno goljufijo hitro odkrijemo in prekličemo delovanje kartice, saj na tak način onemogočimo goljufom nadaljnjo koriščenje bančnega računa. Kot goljufivo dejanje lahko štejemo tudi primer, ko se izda kartica neki fizični osebi, katera je uporabila lažne osebne podatke. V zadnjem času so pogoste tudi goljufije, ki nastanejo ob plačevanju preko spletnih mest. Uporabniki zaradi pomanjkanja znanja o varnosti osebnih podatkov slepo zaupajo prodajalcem ter jim omogočijo dostop do številke kreditne kartice, s katero se nato okoristi prodajalec.. 4.2.2. Vdori v računalnike. Druga znana oblika goljufij so vdori v računalnike. Te vrste goljufij so v zadnjem času zelo pogoste, saj se je število uporabnikov računalnikov v zadnjem času močno povečalo, s tem pa se je tudi povečala nevarnost vdorov. Uporabniki namreč nimajo ustreznega znanja o zaščiti računalniških sistemov, prav tako pa niso dovolj ozaveščeni o nevarnosti uporabe interneta ter prenašanju sumljivih aplikacij in odpiranju spletnih sporočil. S tem si lahko prenesejo računalniške viruse, ki lahko povzročijo zaklep računalnika, krajo podatkov itd. Metode, s katerimi preprečimo vdore v računalnike uporabljajo že znane in vnaprej določene vzorce napadov oz. šibke točke sistema. V to kategorijo spadajo na primer vsi antivirusni programi, kjer je že znano, katere so šibke točke sistema, ki jih lahko zaščitijo. V primeru, da šibke točke sistema niso znane, pa iz zgodovinskih podatkov oblikujemo vzorce obnašanja, ki so že pripeljali do vdora v računalnik. Ko najdemo vzorec, lahko posodobimo antivirusni program in s tem preprečimo nadaljne goljufije [20].. 4.2.3. Telekomunikacijske goljufije. Pogosta vrsta goljufij so tudi telekomunikacijske goljufije, ki nastanejo pri uporabnikih mobilnih telefonov. R. M. Bolton in D. J. Hand [17] sta te vrste goljufij razdelila na naročniške (ang. subscription), vsiljive (ang. superimposed ), fiktivne (ang. ghosting) ter notranje (ang. insider fraud ) goljufije. O naročniških goljufijah govorimo takrat, ko se uporabnik prijavi na neko storitev z lažnimi podatki o identiteti, ob tem pa je nima namena plačati. V tem primeru so vsi klici tega naročnika goljufivi. Med vsiljive goljufije uvrščamo tiste, pri katerih goljuf nezakonito pridobi dostop do nekega legitimnega računa [21]. Legitimni in goljufivi klici bodo med seboj pomešani, zato lahko goljufijo odkrijemo le, če ima legitimni uporabnik dokaj predvidljivo obnašanje. V tem primeru bodo goljufivi klici odstopali od predvidljivih. T. Fawcett in F. Provost v svojem članku [21] omenjata podvrsto vsiljivih goljufij, to je goljufija kloniranja..
(43) 4.3 Orodja za odkrivanje goljufij. 33. Vsak mobilni telefon ima svojo identifikacijsko ter serijsko številko, s pomočjo katerih je specificiran naročnikov račun. O goljufiji kloniranja govorimo, ko sta naročnikovi identifikacijska in serijska številka programirani v drugem telefonu, ki ne pripada naročniku. Ker se v omrežju ob uporabi drugega telefona prikaže naročnikova številka, se skupni izkupiček opravljenih telefonskih klicev pripiše naročniku. To vrsto goljufij odkrijemo predvsem zaradi pogostih klicev v druga omrežja in države oz. zaradi klicev izven nekega standardnega območja. Fiktivne goljufije nastanejo, ko se ob klicu uporablja posebna tehnologija, s katero pretentajo mobilno povezavo, na ta način pa pridobijo brezplačen klic. Zadnja izmed goljufij je notranja, ki nastane takrat, ko delavec v telekomunikacijskem podjetju izvaja goljufiva dejanja.. 4.2.4. Spletne goljufije. Spletne goljufije lahko razdelimo v dve skupini. V prvo skupino spada spletno oglaševanje, kjer lahko pride do goljufije ob lažnem povečanju števila klikov na oglaševalčevi spletni strani. Na ta način lahko prikažejo več prometa, hkrati pa zahtevajo tudi večji prihodek. Druga skupina spletnih goljufij pa so spletne prodaje. Do goljufije pride, če se opravi spletni nakup, oglaševani izdelek pa ne zadošča opisanim standardom [19].. 4.2.5. Druge vrste goljufij. Goljufije se pojavljajo tudi na področju medicine in znanosti, kjer lahko zdravniki napišejo recepte za zdravila, pacienti pa jih nato prodajo. Goljufiva dejanja nastajajo tudi, ko prilagajajo rezultate kakšnih medicinskih raziskav, z namenom prodaje želenega zdravila. Veliko goljufij se dogaja tudi na področju zavarovalništva, največkrat se pojavljajo avtomobilske in nepremičninske. Druga znana primera goljufij sta še pranje denarja in plagiatorstvo.. 4.3. Orodja za odkrivanje goljufij. Tema detekcije goljufij je zelo aktualna, saj se goljufije izvajajo praktično na vseh področij. Ne obstaja splošna tehnika, s katero bi lahko preprečili vse vrste goljufij, zato so tekom časa razvili več orodij, s katerimi poskušajo odkriti različne goljufije. Nekaj splošnih in največkrat uporabljenih orodij, katere lahko uporabljajo na večini področij (kot so bančništvo, zavarovalništvo, računalništvo), je predstavljenih v nadaljevanju..
(44) 4.3 Orodja za odkrivanje goljufij. 4.3.1. 34. Ustvarjanje profilov. Ustvarjanje profilov (včasih to metodo imenujemo tudi statistični pristop) spada med nadzorovane metode odkrivanja goljufij. Glavna ideja pri ustvarjanju profilov je ta, da opazujemo obnašanje posameznika v nekem časovnem obdobju. S pomočjo tega obnašanja generiramo posameznikov profil, v katerem je shranjeno njegovo pričakovano vedenje, ki ga imenujemo normalno obnašanje posameznika, za katerega pa že vemo, ali spada v skupino goljufov. To je faza, v kateri treniramo profile. Ob pridobitvi novih podatkov znova ustvarimo profile, s pomočjo katerih posodobimo že obstoječe. Predpostavimo, da vsako novo obnašanje, ki odstopa od normalnega obnašanja, predstavlja ali goljufivo vedenje opazovanega posameznika ali pa pojavitev nove osebe v taistem profilu, lahko pa je tudi zgolj sprememba kake osebne okoliščine, ki vpliva na obnašanje, zaznano s profilom. Glavna hipoteza pri ustvarjanju profilov je ta, da so profili istega uporabnika med seboj skladni, medtem ko pa se profili različnih uporabnikov med seboj razlikujejo. Ko so profili enkrat ustvarjeni, jih lahko primerjamo z novimi, kjer preverjamo njuno skladnost – ali gre za običajno vedenje posameznika, ali kakršno koli odstopanje, kar nakazuje na goljufivo dejavnost [22]. Razvita je tudi nenadzorovana metoda ustvarjanja profilov. Njen cilj je ustvariti splošen model obnašanja brez vnaprej določenih vzorcev, ki bi predstavljali normalno ali goljufivo obnašanje. Metoda ne išče specifičnih vzorcev goljufij, ampak le opozarja na odstopanje posameznikovega obnašanje od normalnega, kar lahko obravnavamo kot potencialno goljufijo. Primer takšne tehnike odkrivanja zlorab sta predstavila U. Murad in G. Pinkas [23], kjer uporabita profil obnašanja na treh nivojih (ang. Three Level Profiling): klicni profil (predstavlja posamezni klic), dnevni profil (predstavlja kratkotrajno obnašanje posameznika) in splošni profil (predstavlja normalno obnašanje posameznika). Da odkrijemo odstopanje od normalnega obnašanja, moramo zajeti različne vzorce obnašanja, odstopanje pa mora odražati dejansko razliko med temi profili. Prednosti [20]: - Metoda ne zahteva veliko prostora za shranjevanje. - Profile enostavno posodobimo, ko so na voljo novi podatki. - Uporabljamo lahko že znane statistične tehnike (točke, ki ležijo izven standardnega odklona izračunanega povprečja, lahko obravnavamo kot sumljive). - Kombiniramo jih lahko z večino drugih metod, tako z nadzorovanimi, kot tudi nenadzorovanimi..
(45) 4.3 Orodja za odkrivanje goljufij. 35. Slabosti: - Ne moremo biti popolnoma prepričani, ali je ob spremembi profila prišlo do goljufivega dejanja, ali pa je posameznik le spremenil svoje vedenje. - Uporabnikom ne moremo preprečiti spreminjanja svojih profilov, kar lahko pripelje do tega, da se njihova aktivnost, ki je bila prej obravnavana kot zloraba, sedaj spremeni v normalno. - Čeprav se profili posameznikov shranjujejo, so neobčutljivi na zaporedne medsebojne povezave med dogodki. Torej, če se zlorabe pojavljajo v nekem zaporedju, jih bomo ob posodabljanju profilov zgrešili. - V fazi treniranja profilov (ob uporabi nenadzorovanih metod) lahko zlorabe profiliramo kot normalno obnašanje in jih kasneje ne prepoznamo kot goljufijo. - Težko določimo mejo, nad katero lahko obnašanja obravnavamo kot goljufiva dejanja.. 4.3.2. Generiranje pravil. Generiranje pravil spada med nadzorovane metode odkrivanja goljufij. Na pravila lahko gledamo kot na pogojne stavke, torej sestavljeni so iz pogojev, ki se nahajajo na levi strani, in posledic, ki se nahajajo na desni strani stavka ali implikacije. Pravila, ki se ustvarijo v fazi učenja, uporabljamo za karakterizacijo normalnega obnašanja. Ustvarjajo se dinamično skozi proces učenja, na koncu pa ostanejo le “dobra” pravila (to so tista, pri katerih odstranimo razvejanost). Množica pravil, ki se je ustvarila med opazovanjem vedenja posameznika, definira njegov profil. Odstopanje je zaznano, če opazovano zaporedje dogodkov ustreza pogojem (torej ustreza levi strani pravila), vendar pa naslednji dogodki bistveno odstopajo od tistih, ki jih je napovedalo pravilo. V tem primeru se sproži alarm, ki namiguje na goljufivo dejanje [20]. Obstaja še en način generiranja pravil, ki se razlikuje od zgoraj opisanega. Pri tem pristopu se v fazi učenja generirajo pravila za normalno obnašanje vseh posameznikov in ne za vsakega posameznika posebej. Na tak način ustvarimo splošen profil ter določimo vrednosti za pragove. Ko ta model testiramo na vseh podatkih, nam vsako odstopanje v obnašanju, ki je nad določenim pragom, sproži alarm [24]. Prednosti [20]: - Sistem se dobro sooča z uporabniki, ki imajo veliko odstopanje v vedenju in močne zaporedne vzorce..
(46) 4.3 Orodja za odkrivanje goljufij. 36. - Ob sprožitvi alarma za neko goljufivo dejanje se lahko osredotočimo le na njegove varnostne ukrepe, ni potrebno ponovno vzpostavljati celotnega varnostnega sistema. - Sistem je občutljiv in hitreje zazna kršitve. Goljufe, ki poskušajo zlorabiti sistem v fazi njegovega učenja, lažje prepoznamo. Slabosti: - Nepoznani vzorci obnašanja niso prepoznani kot goljufija, saj se ne ujemajo z levo stranjo pravil. - Določanje pogojev na levi strani pravil je brez nekega zaporedja, saj je težko določiti naravno zaporedje dogodkov, ki predstavlja normalno obnašanje. - Pravila je težko vzdrževati, saj zahtevajo intenzivno analizo podatkov. Sčasoma postane celoten proces analiziranja zapleten [25].. 4.3.3. Bayesova klasifikacija. Naivna Bayesova klasifikacija Naivna Bayesova klasifikacija spada v skupino nadzorovanih metod in temelji na Bayesovemu pravilu P (B\A) =. P (A\B)P (B) . P (A). Čeprav to pravilo zahteva neodvisnost med podatki, so dokazali, da so rezultati optimalni, četudi je ta pogoj kršen [26]. Naivna Bayesova klasifikacija omogoča natančno določanje optimalnega števila razredov, pri čemer so uporabniki s podobnimi profili združeni skupaj. Na ta način dobimo naravno klasifikacijo skupin uporabnikov. Bayesova klasifikacija ne razdeli podatkov v razrede, ampak določi verjetnostno porazdelitev pripadnosti podatka za vsak razred posebej [20].. Bayesova mreža Naivna Bayesova klasifikacija je enostavna ter uspešna metoda nadzorovanega učenja, vendar pa deluje zelo slabo, če so podatki med seboj močno odvisni. Ena od možnih razširitev je uporaba Bayesove mreže [27]. Bayesova mreža spada v skupino nadzorovanih metod. Mrežo avtomatsko konstruiramo iz opazovanj podatkov, kjer na prvem koraku identificiramo topologijo mreže, nato pa se s pomočjo verjetnosti ter pogojne verjetnosti učimo.
(47) 4.3 Orodja za odkrivanje goljufij. 37. numeričnih parametrov. Mreža je usmerjeni aciklični graf, ki je sestavljen iz naključnih spremenljivk. Množica usmerjenih puščic povezuje pare vozlišč; puščica od vozlišča X do vozlišča Y pomeni, da ima X direkten vpliv na Y . Mreža nam predstavlja odvisnost med spremenljivkami in specificira skupne verjetnostne porazdelitve. Vsako vozlišče ima pogojno verjetnostno tabelo, ki vpliva na starša oz. predhodnika, v našem primeru je to X. Starši od nekega vozlišča so vsa vozlišča, katerih puščice kažejo na to vozlišče [28]. Z uporabo Bayesovih mrež nato opravimo sklepanje, kjer pri danih verjetnostnih porazdelitvah iščemo tisto, s katero dosežemo največjo vrednost podatka [27]. V zadnjem času je porast odkrivanja nenadzorovanih metod, kjer kombinirajo Bayesovo klasifikacijo z nekaterimi drugimi algoritmi, kot je EM algoritem [29], Autoclass [20] in drugi. Prednosti [30] [20]: - Bayesova klasifikacija je preprosta, hitra in učinkovita, ima visoko natančnost pri napovedovanju. - Učenje poteka v linearnem času. - Samodejno določi najverjetnejše število razredov. Slabosti: - Ne vemo, če se tehnika dobro prilagaja novim podatkom; ali lahko dalje enako dobro razvija svojo klasifikacijo, ko so na voljo novi podatki, ali pa zahteva vse vhodne podatke hkrati. - Ko atributi niso normalno porazdeljeni in so redundantni, potem je natančnost napovedovanja zmanjšana. - Naivna Bayesova klasifikacija odpove, ko so spremenljivke med seboj močno odvisne.. 4.3.4. Nevronske mreže. Navdih za vpeljavo metode nevronskih mrež so raziskovalci dobili iz delovanja človeških možganov. Njihovo neizmerno sposobnost obdelave informacij ter sprejemanja trenutnih odločitev v zelo zapletenih okoliščinah in negotovih okoljih so želeli prenesti v računalniško okolje. Možgani namreč uporabljajo ogromno mrežo, sestavljeno iz medsebojno povezanih nevronov, kar zagotavlja ljudem zelo zmogljivo sposobnost učenja. Podoben način obdelave informacij so zgradili na računalniških sistemih, ter ga poimenovali umetne nevronske mreže..
(48) 4.3 Orodja za odkrivanje goljufij. 38. Umetne nevronske mreže so običajno sestavljene iz vozlišč, ki jih imenujemo nevroni, ter uteženih povezava med njimi. S povezavami povemo, kako eno vozlišče vpliva na drugo, z utežmi pa določimo, kako močan je ta vpliv. Mreže svoje znanje zbirajo z odkrivanjem vzorcev in odnosov, ki jih najdejo v prejetih podatkih. Nevronske mreže delimo glede na topologijo, funkcije prenosa in učne algoritme [32]. Ločimo med nadzorovanimi in nenadzorovanimi metodami za nevronske mreže. Glavna značilnost nadzorovanih metod je, da jim v učni fazi podamo podatke za treniranje. To pomeni, da mreži pomagamo pri učenju s podatki, za katere že vemo, kakšen izhod želimo dobiti. V fazi učenja se izhodni podatki mreže nenehno primerjajo z izhodi podatkov za treniranje. Ustvarijo se primerna pravila za učenje, ki po določenem številu iteracij s pomočjo napake med dejanskim in podanim izhodom določijo uteži na povezavah. Primer takšnih mrež so usmerjene (ang. feedforward ) nevronske mreže [32]. Za razliko od nadzorovanega učenja, pa nenadzorovano ne vključuje podatkov, v katerih so izhodi že znani. V sistem damo množico učnih podatkov, kjer se nato uteži prilagajajo glede na vozlišča; med njimi poteka nekakšno tekmovanje. Uspešnejši kot je kandidat, večja bo njegova utež. V tem procesu se krepi povezava med vhodnim vzorcem in njegovim izhodnim vozliščem, ki sovpada z zmagovalnim kandidatom. Nenadzorovana shema se uporablja za prilagajanje uteži na povezavah, ki vodijo do sosednjih vozlišč [32]. Nenadzorovane nevronske mreže tako združujejo podatke, ki imajo skupne lastnosti, prav tako pa razločijo normalne ter nenormalne razrede. Primer takšnih mrež so samoorganizirani zemljevidi (ang. Self Organising Maps) [33]. Za reševanje problemov velikokrat uporabimo kombinacijo nevronskih mrež ter običajnih računalniških algoritmov. Naloge, ki so bolj primerne za reševanje s pomočjo algoritmov rešujemo z običajnimi algoritmi, vse ostale pa s pomočjo nevronskih mrež [31]. Nevronske mreže uporabljamo takrat, ko so rezultati bolj pomembni, kot pa samo razumevanje delovanja [30]. Prednosti [30], [31]: - Obdela lahko veliko število podatkov. - Ima visoko toleranco za šume v podatkih. - Sposobnost klasificiranja vzorcev, kateri še niso bili trenirani. - Operacije lahko izvaja paralelno, ker vsak nevron deluje neodvisno od ostalih, zato so se nevronske mreže sposobne prilagajati zapletenemu okolju..
Figure
Related documents
The main objective of the SPHERES Goggles is to provide a flight-traceable platform for the development, testing and maturation of computer vision- based navigation algorithms
Springing from my own experiences of ‘othering’ within South African spaces of learning, this study aims to explore an ‘othered’ identity within a South African political,
Thus, this study aimed to discover how the existing luxury fashion brands in Thailand are adapting digital marketing strategies that are appropriate for the Thai
Aluminum basket structure shall be secured to the steel understructure frame in a manner as to not create a tripping hazard on the aluminum decking material.. Unit shall have a
Since women often avoid discussion of power and politics due to gender constraints, this research bridges a gap in research between political leadership practices and current
The main purpose of this paper is to in- tegrate fuzzy logic technique and backstepping syn- thesis to sliding mode control to develop a Fuzzy Backstepping-Sliding Mode
> The treatment time is shortened because the bone is able to regenerate since tooth extraction and a guided bone regeneration at implant placement may be prevented.. >
All views, opinions or recommendations contained in the foregoing article regarding fitted mouthguards are those of the individual author, and do not necessarily reflect the