Blog

Segmentacija korisnika upotrebom umjetnih neuronskih mreža

Piše: Dajana Ćorić, Mlađi konzultant u SAP odjelu, Poslovna inteligencija d.o.o.

Prilagođeno na temelju Ćorić, D., Ćurko, K., Varga, M.,  (2015): Customer Segmentation Using Neural Networks, Proceedings of the 9th WSEAS International Conference on Computer Engineering and Applications, Dubai, February 22.-24., 2015.

U današnjem poslovnom svijetu vlada velika konkurencija. Poduzeća moraju težiti direktnim odnosima s kupcima kako bi ih uspjeli zadržati i ostvariti profit u međusobnom poslovanju. Postavlja se zanimljivo pitanje na koji način poduzeća mogu prepoznati koji su to kupci profitabilni za njih, koji su manje profitablni, a koji čine gubitak u poslovanju? Potrebno je napraviti segmentaciju kupaca po osnovi profitabilnosti! Bitan čimbenik upravljanja kupcima čini njihovo segmentiranje i adekvatan odnos sukladno pripadnosti pojedinom segmentu. Aktivnosti poduzeća vezane uz najprofitabilnije kupce usmjerene su nastojanjima da ih se zadrži, a za one manje profitabilne nastojanjima da ih se pomakne u segment profitabilnijih.

Kako napraviti opisanu segmentaciju? Suvremene metode rudarenja podataka na jednostavan i efikasan način će napraviti segmentaciju kupaca. Problem koji je pred sebe postavio istraživački tim jeste kako predvidjeti segmentaciju kupaca na osnovu nepotpunih podataka, te tako proaktivno utjecati na bazu kupaca poduzeća adekvatnim marketinškim aktivnostima. Istraživanje koje se provelo u znanstvenom radu zasnivalo se na upotrebi jedne od popularnijih metoda strojnog učenja – umjetne neuronske mreže. Svrha ovog rada bila je prikazati kako su neuronske mreže sposobne predvidjeti pripadanje svakog kupca u poseban segment iz baze podataka kupaca poduzeća uslužnih i proizvodnih djelatnosti.

Pojam i elementi neuronskih mreža

Umjetna neuronska mreža je skup matematičkih modela koji simuliraju način funkcioniranja  ljudskog mozga. Mogu biti realizirane kao zaseban model namijenjen za rješavanje određenog problema, no najčešće su realizirane u obliku računalnog programa kojim se na računalu simulira njihov način rada. Područje računarstva koje se bavi tim aspektom obrade informacija zovemo neuroračunarstvo, a model obrade podataka umjetnom neuronskom mrežom. Sastoje se od tri glavne komponente, prikazane na slici 1, koje uključuju:

  • težinske faktore,
  • prag vrijednosti i
  • aktivacijsku funkciju.
Osnovni elementi umjetnog neurona

Slika 1.: Osnovni elementi umjetnog neurona

Umjetna neuronska mreža sastoji se od niza, međusobno povezanih umjetnih neurona koji međusobono komuniciraju slanjem signala preko velikog broja veza. Umjetni neuron, baš kao i prirodni, prima određene ulazne veličine x (engl. input) putem veza od kojih svaka ima svoju težinu (engl. weight), tj. težisnki faktor w . Svaki neuron ima svoj prag vrijednosti (engl. threshold). Kombinacija ulaznih veličina i težinskih faktora formira tzv. aktivacijski signal neurona. Aktivacijska funkcija proizvodi izlazni signal neurona (engl. output). Ovaj aktivacijski signal čini ulazni parametar aktivacijske funkcije neurona (engl. activation function).

Korištenje neuronske mreže svodi se na sljedeću funkcionalnost:

– zaprimanje ulaznih signala koji čine vrijednosti varijabli iz okruženja,

– generiranje izlaznih signala koji čine upravljačke ili kontrolne signale.
Sve neurone može se podijeliti na ulazne (engl. input), izlazne (engl. output) i skrivene (engl. hidden). Samo međusobno povezani mogu igrati ulogu koja im je namijenjena. Težinske funkcije mreže su njeni ključni elementi i predstavljaju indikatore važnosti i utjecaja pojedinačnog ulaznog parametra na rezultat mreže. Njima se multipliciraju vrijednosti ulaza i tako multiplicirani prosljeđuju funkciji sumiranja. Sumiranje je proces koji zbraja sve ulazne vrijednosti i kao rezultat daje jedinstven ulazni signal neurona. Zadnja faza kroz koju prolazi ulazni signal u neuronskom procesiranju je transformacija signala upotrebom funkcije transformacije. Da bi ulazni signal bio procesiran, on mora zadovoljiti uvjet da bude veći od praga vrijednosti neurona. Relacija ulaznog i izlaznog signala neurona određena je tipom funkcije transformacije. U upotrebi je veći broj tipova funkcija, ali je najpopularnija nelinearna sigmoidna funkcija čiji je opći oblik prikazan formulom:

funkcija

pri čemu je

  • e baza prirodnog logaritma,
  • ∝ zakrivljenost krivulje,
  • x ulazna vrijednost sigmoidne funkcije.

Vezu između ulaznih i izlaznih elemenata sustava neuronske mreže nije moguće jednoznačno definirati. Jedna od osnovnih značajki je da mreža sama uči o prirodi i značenju te veze na osnovu provedenog treninga. Moć mreže leži u njenoj sposobnosti da prepozna povezanost između ulaznih i izlaznih varijabli, a tu moć stječe treningom koji se provodi nad povijesnim podacima (učenje iz iskustva).

Preduvjeti upotrebe neuronskih mreža

Uobičajeno je da svaka neuronska mreža prolazi kroz tri procesa: trening,  kros-validaciju  i testiranje. Trening je proces u kome se provodi učenje mreže, a samo učenje može se podijeliti u dvije osnovne kategorije: nadzirano (engl. supervised) i nenadzirano (engl. unsupervised). Za potrebe nadziranog učenja koriste se pripremljeni skupovi povijesnih podataka, odnosno mreža uči na osnovi ponašanja sustava u prošlosti. Nadzirano učenje, prikazano na slici 2., koristi se kada je poznato ono što se traži ili što se želi predvidjeti. Provodi se po određenim algoritmima od kojih je najpoznatiji algoritam prostiranja unatrag (engl. backpropagation algorithm).

 Nadzirano učenje

Slika 2.: Nadzirano učenje

 Kod slučaja nenadziranog učenja, prikazanog na slici 3., mreža ne posjeduje podatke iz prošlosti, već postoje samo ulazni stimulansi mreže. Ona uči iz skupa ulaznih podataka na način da prepoznaje osobine ili pravilnosti u ulaznim podacima. Ovaj način učenja koristi se kod grupiranja podataka ili prepoznavanja sličnosti. Nenadzirano učenje podrazumjeva pronalaženje uzoraka koji vrijede za dane podatke, a na osnovu kojih se može doći do određenih spoznaja koje podaci opisuju.

Slika 3.: Nenadzirano učenje

Slika 3.: Nenadzirano učenje

Kada će mreža biti dovoljno „pametna“ ovisi od ulaznih podataka i postavljenog praga tolerancije. Koliko će vremena i resursa biti utrošeno u procesu učenja zavisi o dosta faktora. Inicijalna postavka mreže, uključujući broj slojeva, broj neurona i težinske faktore čini polazni moment koji uvelike određuje dužinu učenja.

 Skup podataka kojim se raspolaže dijeli se na:

  • skup za učenje i
  • skup za testiranje.

 Skup podataka za učenje dijeli se u skup za treniranje mreže, prethodno opisan, te skup za validaciju. Cilj je napraviti validaciju modela nad podacima koji su različiti od onih podataka na kojim se mreža trenirala te izabrati najbolji model za trenirajne.

Nakon provedenog treninga i validacije testira se na skupu podataka za testiranje. U ovoj fazi, neuronska mreža pokazuje koliko je (ne)uspješno naučila sortirati podatke kroz proces učenja provedenog u dvije prethodne faze.

 Algoritam prostiranja unazad (engl. Backpropagation algorithm)

Najpoznatiji i najjednostavniji primjer algoritma učenja neuronskih mreža je algoritam prostiranja unatrag (engl. backpropagation algorithm). Algoritam uči kroz iteracije. U svakoj iteraciji, mreža se puni ulaznim varijablama, a dobivene izlazne varijable se uspoređuju s aktualnim izlazima mreže. Eventualne greške koriste se za podešavanje težinskih faktora te se proces iterativno ponavlja. Učenje se zaustavlja nakon postizanja određenog broja iteracija, dostizanjem željene razine greške ili pak u momentu kad se prestane postizati smanjivanje razine greške. Odabir momenta zaustavljanja je individualan i ovisi o osobi koja rukovodi treningom mreže.

Backpropagation algoritam

Slika 4. : Backpropagation algoritam

 (izvor: http://eris.foi.hr/11neuronske/nn-predavanje5.html)

Postupak algoritma prostiranja unatrag formira vektor greške. Točke vektora pružaju se duž silazne linije od tekuće točke, tako da krećući se tom linijom malim koracima smanjuju pogrešku. Sekvenca takvih kretanja, koja bi trebala biti kraća i kraća kako se bližimo dnu silazne linije, trebala bi pronaći neki od lokalnih minimuma. Teži dio predstavlja određivanje dužine ovih sekvenci. Duži koraci mogu brže konvergirati lokalnom minimumu, ali mogu i „preskočiti“ minimum i uputiti na sasvim pogrešan trag. Nasuprot većim koracima, veoma mali koraci mogu ići u ispravnom pravcu, ali će zato zahtijevati veliki broj iteracija.

U praksi veličina koraka proporcionalna je nagibu krivulje i varijabli koja se naziva brzina učenja (engl. learning rate). Veličina ove varijable bira se ovisno od sustava koji se modelira. Varijabla brzine učenja relativno je fiksna, što znači da se s napretkom učenja korigira njena vrijednost.

Metodologija neuronskih mreža i rezultati istraživanja

Problem koji se istraživao u radu bavio se pitanjem kako predvidjeti pripadnost kupaca određenom segmentu na osnovi nepotpunih podataka. Svrha ovog rada bila je prikazati kako su neuronske mreže sposobne predvidjeti pripadanje svakog kupca u poseban segment iz baze podataka kupaca poduzeća. Algoritam koji se pokazao kao najprimjenjiviji za promatrani slučaj je, prethodno spomenuti, algoritam prostiranja unatrag.

Različite mreže koje su korištene tijekom ovog istraživanja su:

  • Linear Regression (LR-0-B-L)
  • Multilayer Perceptron (MLP-1-B-L)
  • Probabilistic Neural Network (PNN-0-N-N)
  • Radial Basis Function (RBF-1-B-L)
  • Generalized Feedforward (GFF-1-B-L)
  • MPL with PCA (MLPPCA-1-B-L)
  • Classification SVM (SVM-0-N-N)
  • Multilayer Perceptron (MLP-2-B-L)

Ulazne varijable su klasificirane u tri grupe prema njihovim sličnostima: troškovi, karakteristike kupca i cijene. Izlazna varijabla je „Pripadanje određenom segmentu“. Program korišten za segmentaciju neuronskom mrežom je NeuroSolutions. Ulazni skup podataka o kupcima odnosi se na razdoblje od četiri uzastopne godine (2009.-2012.). Aktivnost kupca u prvom tromjesečju koristila se za predviđanje segmenta u koji će kupac pripadati na kraju godine. Grafička distribucija segmenata u koje kupac može pripasti najbolje je prikazana Kanthalovom krivuljom. Izlazna varijabla ima tri vrijednosti koje su objašnjene Kathalovom krivuljom: 40% najprofitabilnijih kupaca, 50% kupaca sa profitom blizu nule i 10% neprofitabilnih kupaca. Na uzorku koji se istraživao u radu kao najbolja mreža pokazala se Multilayer Perceptron (MLP-1-B-L) čije su performanse prikazane na slici 5.

Performanse najbolje mreže

Slika 5.: Performanse najbolje mreže (Multilayer Perceptron)

U procesu treninga broj korištenih podataka bio je 951 (# of rows), od čega je točna kalkulacija napravljena za njih 77,6% (% Correct). Proces kros validacije je iznio 72,6% točnih kalkulacija, dok je proces testiranja, gdje mreža daje rezultate na osnovi prethodnog učenja, iznio 69,48% točnih kalkulacija. Ono što se može zaključiti je da je mreža dala dobre rezultate, što upućuje na dobar model. Nadogradnja ovog modela u budućnosti svakako treba težiti uključivanju većeg broja modela što se tiče neuronskih mreža, koji će možda pokazati drugačije rezultate, kao i uključivanje većeg broja podataka o kupcima kako će rasti obujam poslovnog procesa poduzeća koje je ustupilo podatke.

Zaključak

Klasične metode natjecanja i stjecanja kompetitivne prednosti na globalnom tržištu polako postaju stvar prošlosti. Moderna poduzeća posjeduju ogromnu količinu informacija o poslovanju i moraju koristiti te podatke na adekvatan način kako bi se stvorile kompetitivne prednosti i ostvarili optimalni poslovni rezultati. Kvalitetan odnos sa kupcima čini jedan jako važan dio mozaika uspjeha poduzeća i svakako treba biti jedan od primarnih ciljeva svakog poduzeća.

Izračun trenutne profitabilnosti kupca je složen i kompleksan proces. Za poduzeća je potrebno razviti generalni okvir koji će uključivati sve potrebne ulazne varijable i mjere koje će mjeriti profitabilnost njihovih kupaca. Umjetne neuronske mreže kroz različite algoritme mogu izvaditi i apsorbirati skriveno znanje u postojećim podacima i kao takve dobar su izbor alata za generiranje holističnog pogleda na problem trenutačne profitabilnosti kupca i predviđanja njegove profitabilnosti u budućnosti.