=Paper= {{Paper |id=Vol-2291/paper1_2 |storemode=property |title=Bir Reklam Aracısı Yazılımının Makine Öğrenmesi Yetenekleriyle İyileştirilmesi için Planlama (Planning for the Enhancement of an Ad Mediation Software with Machine Learning Capabilities) |pdfUrl=https://ceur-ws.org/Vol-2291/paper1_2.pdf |volume=Vol-2291 |authors=Görkem Giray,Murat Osman Ünalir,Cem Çatıkkaş,Ebru Özdoğru Kandırmaz,Ufuk Tiryaki }} ==Bir Reklam Aracısı Yazılımının Makine Öğrenmesi Yetenekleriyle İyileştirilmesi için Planlama (Planning for the Enhancement of an Ad Mediation Software with Machine Learning Capabilities)== https://ceur-ws.org/Vol-2291/paper1_2.pdf
Bir Reklam Arac Yaz           n Makine Ö renmesi
    Yetenekleriyle yile tirilmesi için Planlama

           Görkem Giray1, Murat Osman Ünal r2, Cem Çat kka 1
                        1
                      Kokteyl A. ., stanbul, Türkiye
   gorkem.giray@kokteyl.com, cem.catikkas@kokteyl.com
        2
          Ege Üniversitesi, Bilgisayar Mühendisli i Bölümü, zmir
               murat.osman.unalir@ege.edu.tr



 Özet. Bir Reklam Arac Yaz          , hangi reklam a ndan hangi s rada reklam
 talep edece ine dair karar verirken uygulaman n reklam gelirini azami
 seviyeye ç karmay hedefler. Bu karar ne kadar iyi verebilece i, reklam gelirini
 ölçmek için kullan lan eBGBM (Etkin Bin Gösterim Ba na Maliyet) de erini
 ne kadar iyi tahmin edebilece ine ba         r. Mevcut durumda bu tahmin,
 önceden kodlanm bir karar mekanizmas ve konu alan uzmanlar taraf ndan
 belirlenen parametreler do rultusunda yap lmaktad r. Bu tahminin daha iyi
 yap labilmesi ve zaman içinde olu an veri do rultusunda güncellenebilmesi için
 makine ö renmesi algoritmalar n kullan lmas mümkündür. Bu bildiride,
 mevcut sisteme makine ö renmesi yetenekleri kazand rmak için yap lan
 planlama çal malar sunulmaktad r. Bu kapsamda bir makine ö renmesi süreci,
 bu süreci gerçekle tirmek için tasarlanan bir mimari ve geli tirme tak       n
 sahip olmas gereken yetkinlikler anlat lm r.

 Anahtar Kelimeler: Yaz m Mimarisi, Makine Ö renmesi Süreci, Mobil
 Reklamc k, Reklam Arac Yaz      .


Planning for the Enhancement of an Ad Mediation
  Software with Machine Learning Capabilities


 Abstract. An Ad Mediation Software aims to maximize the ad revenue of an
 application while deciding from which ad network to request an ad. How well it
 can make this decision depends on how well it can predict the value of eCPM
 (Effective Cost Per Mille) that is used to measure advertising revenue. Current-
 ly, this prediction is made according to a pre-coded decision mechanism and pa-
 rameters determined by domain experts. It is possible to use machine learning
 algorithms so that this estimation can be made better and updated in accordance
 with the data that has been generated over time. In this context, a machine
 learning process, an architecture designed to realize this process and the compe-
 tencies that should be possessed by the development team are described.
      Keywords: Software Architecture, Machine Learning Process, Mobile Adver-
      tising, Ad Mediation Software.


1     Giri

Son y llarda mobil cihazlar n kullan          oldukça yayg nla     r. Bu cihazlar n
kullan lar taraf ndan benimsenmesinin temel nedenlerinden biri bu cihazlar üzerinde
çal an uygulamalar n say           n artmas , çe itlenmesi ve kullan lar n birçok
gereksinimini kar lamalar na yard mc olmalar r. Mobil uygulamalar n önemli bir
bölümünün gelir modeli reklam gösterimine dayanmaktad r. Mobil cihaz ve uygulama
say ndaki art reklam sektörünün de mobil kanallara a rl k vermesine neden
olmu tur. Mobil uygulamalara reklam sa layan çok say da reklam a ortaya
  km r. Bu reklam a lar n temel amac reklam verenler ile reklam yay mlayanlar
(bu durumda mobil uygulamalar) aras nda bir köprü kurmakt r. Reklam a lar n
say      n artmas yla birlikte de çok say da reklam a ile reklam yay mlayanlar
aras nda köprü kurma görevini reklam arac yaz mlar üstlenmeye ba lam r.
    Bir reklam arac      yaz      , bir uygulamaya reklam sa larken, hangi reklam
   lar ndan hangi s rada reklam talep edece ine dair karar verirken uygulaman n
reklam gelirini (ayn zamanda da kendi reklam gelirini) azami seviyeye ç karmay
amaçlamaktad r. Bunun için de reklam gösteriminden en fazla gelir sa lanabilecek
reklam a ndan ba layarak reklam talebinde bulunur. Mobil reklam sektöründe
reklam gösterimi ba na geliri ifade etmek için eBGBM (Etkin Bin Gösterim Ba na
Maliyet; ngilizcesi: eCPM – Effective Cost per Mille) kavram kullan lmaktad r.
Mevcut durumda Kokteyl irketinin Reklam Arac              Yaz    nda gerçekle ecek
eBGBM de erleri alan uzmanlar taraf ndan sezgiye dayal olarak tahmin
edilmektedir ve sistemde güncellenmektedir. eBGBM de erini etkileyebilecek
de kenler tespit edilerek, bu de kenlerle eBGBM aras ndaki örüntülerin makine
   renmesi algoritmalar yla tespit edilmesi mümkün görünmektedir. Bu çal ma
kapsam nda Kokteyl irketinin mevcut Reklam Arac Yaz            na makine ö renmesi
yetenekleri kazand lmas için yürütülen projenin planlama a amas nda
gerçekle tirilen faaliyetler payla lmaktad r. Planlama a amas nda gerek reklam
sektöründeki gerekse ba ka sektörlerdeki benzer çal malar [1 - 4] ve makine
   renmesi yetenekleri bir sisteme kazand rken kullan labilecek yaz m
mühendisli i pratikleri [5, 6] incelenmi tir.
    Bildirinin geri kalan bölümleri u ekilde düzenlenmi tir: kinci bölüm mobil
reklam sektörü, irketin reklam arac yaz          ve makine ö renmesi hakk nda genel
bir bilgi vermektedir. Üçüncü bölümde makine ö renmesi yeteneklerine sahip bir
mimari tasar m anlat lmaktad r. Dördüncü bölümde ilgili çal malar özetlenmi tir.
Son bölümde bir özet ve gelecek çal malar sunulmu tur.
2       Arka Plan

2.1     Mobil Reklam Sektörü ve Reklam Arac                                Yaz
Mobil reklam sektöründeki ana payda lar ekil 1’de gösterilmektedir. Reklam
verenler, reklam a lar na ürünleri ve/veya hizmetleri hakk nda reklam vermektedir.
Yay nc lar, reklam a lar ndan reklam talep etmekte ve reklam a lar yay nc ya o
andaki en uygun reklam sa lamaktad r. Uygun reklam n seçimi konusundaki karar
birçok de kene (yay nc n hangi uygulama oldu u, son kullan                hakk ndaki
bilgiler, uygulaman n çal        cihaz gibi) ba    olarak de mektedir. Yay nc lar n
reklam a lar ndan do rudan reklam almas durumunda baz zorluklar ortaya
  kmaktad r. Uygulaman n geli tirilmesi aç ndan ortaya ç kan bir zorluk, yay nc
uygulaman n reklam talep edece i tüm reklam a lar yla ayr ayr entegre olma
gereksinimidir.     amaçlar aç ndan bak ld nda bir yay nc n birçok reklam
   ndan en uygun reklam (en fazla geliri getirecek reklam) alamamas durumunda
gelir kayb ya ayacakt r. Dolay yla yay nc n en uygun reklam seçecek karar
algoritmas     uygulaman n bir parças olarak geli tirmesi gerekmektedir. Reklam
arac lar birçok reklam a ile entegre olarak en uygun reklam sa lama konusunda
uzmanla maktad r. Uygulama geli tirme aç ndan yay nc uygulaman n sadece bir
reklam arac ile entegre olarak birçok reklam a ndan reklam alabilmektedir ve çok
say da reklam a ile entegre olman n getirdi i karma kl k reklam arac taraf ndan
yönetilmektedir. Bunun yan nda en uygun reklam seçme konusunda uzmanla an
reklam arac lar bu i i de yay nc uygulamalar n yerine yapmaktad r. Böylece
yay nc lar n reklam gelirlerini artt rmas na yard mc olmaktad r. Son kullan lar ise
yay nc uygulamalar kullanarak reklamlar görüntülemekte ve bu reklamlara kar
zaman zaman bir davran (reklama t klama, uygulama indirme ve kurma, ürün sat n
alma gibi) sergilemektedir. Bu tür davran lar yay nc lara gelir sa lamaktad r.


      Reklam    reklam                                                 reklam talep eder
                              Reklam A
       Veren    verir                                                  reklam sa lar
                              reklam talep eder

                                                  reklam sa lar




                                                                                                     Yay nc



                                                                  Reklam         reklam talep eder
                                                                  Arac           optimum reklam sa lar



          davran sergiler (reklama t klama, uygulama indirme ve kurma,                                 Son
                               ürün sat n alma, vs.)                                                 Kullan


                      ekil 1. Mobil reklam sektöründeki ana payda lar.
    ekil 2’de reklam arac yaz            n (yaz m mimarisi için bkz. [7]) yay nc larla
ve reklam a lar yla olan ili kisi gösterilmektedir. Reklam arac yaz          olu turan
iki bile en, ekilde ye il renk ile gösterilmi tir. Reklam Arac Yaz           n (RAY)
sunucu uygulamas , reklam a lar n yaz m geli tirme kitlerini (YGK) içermektedir.
Bu YGK’ler ( ekil 2’deki Reklam A 1’in ve 2’nin YGK’si) arac               yla sunucu
uygulamas reklam a lar ndan reklam talep etmektedir ve reklam almaktad r. Yay nc
uygulamalar ise RAY’nin YGK’sini uygulamalar n içine yerle tirerek RAY’den
reklam talep etmektedir ve almaktad r. Daha önce anlat ld gibi, teknik aç dan RAY
birçok reklam a ile entegre olman n getirdi i karma kl         yay nc uygulamalara
saydam hale getirmektedir.       amaçlar aç ndan ise RAY birçok reklam a ndan
sa lad     reklamlar aras ndan en uygun reklam yay nc uygulamaya göndererek
reklam gelirlerinin artt lmas sa lamaktad r.


            Yay nc lar                                                              Reklam Arac
     Yay nc Uygulama RAY                                          Reklam Arac Yaz
            1          YGK             reklam sa lar             (RAY) Sunucu Uygulamas
     Yay nc Uygulama RAY
            2        YGK                                                        elale Listesi Üretim
                                                                                      Motoru
     Yay nc Uygulama RAY           reklam talep eder
            3        YGK                                                        Reklam            Reklam
                                                                                   1'in             2'nin
                                                                                YGK’si            YGK’si
                                                            reklam talep eder




                                                                                                 reklam talep eder
                                                                                 reklam sa lar




                                                                                                                     reklam sa lar




                                                                      Reklam                               Reklam
                                                                           1                                    2

           ekil 2. Reklam arac   yaz       n yay nc lar ve reklam a lar ile ili kisi.

     ekil 2’de RAY’nin içerdi i bir bile en olarak elale Listesi Üretim Motoru
gösterilmektedir. elale listesi, yay nc n hangi reklam a lar ndan hangi s rada
reklam talebinde bulunmas gerekti ini belirleyen bir öncelik listesidir (Bkz. Tablo 1).
  elale listesi, her bir yay nc için belirli aral klarla (örne in günlük) çe itli de kenler
(reklam format , reklam alan , geçmi eBGBM de erleri gibi) göz önüne al narak
 elale listesi üretim motoru taraf ndan üretilir. Her yay nc uygulaman n RAY YGK’si
bu elale listesini belirli aral klarla sunucu uygulamas ndan indirerek reklam
taleplerini bu güncellenmi listeye göre yapar. elale listesindeki s ralama gelecekte
gerçekle ecek eBGBM de erlerini ne kadar iyi tahmin edebilirse reklam gelirleri o
kadar artacakt r. eBGBM reklam gösterimi ba na geliri ifade etmektedir ve “(Gelir /
Gösterim Say ) x 1000” formülü ile hesaplanmaktad r. Mevcut durumda elale
listesi olu turmak için kullan lan girdiler (eBGBM tahminleri gibi) alan uzmanlar
taraf ndan yap lan gözlemler sonucunda sezgisel olarak belirlenmektedir ve
güncellenmektedir. Mevcut bu çözüme alternatif olarak eBGBM de erini etkileyen
parametrelerin tespit edilmesi ve makine ö renmesi algoritmalar kullan larak
eBGBM tahmin edilmesi hedeflenmektedir.

                            Tablo 1. Örnek bir elale listesi.

         1. s radaki reklam a ndan reklam talep et
           er reklam al nd ysa
             Reklam göster
             Ç k
         2. s radaki reklam a ndan reklam talep et
           er reklam al nd ysa
             Reklam göster
             Ç k
         3. s radaki reklam a ndan reklam talep et
           er reklam al nd ysa
             Reklam göster
             Ç k
         …


2.2    Makine Ö renmesi
Makine ö renmesi, bilgisayar sistemlerini aç k bir ekilde programlamadan,
bilgisayar sistemlerine “ö renme” yetene ini (yani belirli bir görevi yerine getirirken
gösterdi i performans kademeli olarak geli tirme) kazand rmak için istatistiksel
teknikleri kullanan bilgisayar biliminin bir alan r. Ö renme süreci gözetimli ya da
gözetimsiz olabilmektedir. Gözetimsiz (unsupervised) ö renmede, aç k bir geri
bildirim sa lanmasa bile bilgisayar sistemi girdideki örüntüleri ö renir [8]. En yayg n
gözetimsiz ö renme görevi kümelemedir, yani girdi örneklerindeki alt kümeleri tespit
etmektir. Gözetimli (supervised) ö renmede ise, bilgisayar sistemi baz örnek girdi-
  kt çiftlerini gözlemler ve girdiden ç kt ya e lenen bir fonksiyonu ö renir [8].
   Veri analizi farkl amaçlar için, farkl sorulara cevap bulmak için yap labilir. Bu
konuda yayg n olarak kullan lan bir s fland rma veri analiti i türlerini dört ana
ba kta toplamaktad r [9]: (1) Tan mlay              (descriptive), (2) Te his koyucu
(diagnostic), (3) Tahminleyici (predictive), (4) Öngörücü (prescriptive). Tan mlay
analiz, “ne oldu?”; te his koyucu analiz, “neden bu oldu?”; tahminleyici analiz, “ne
olacak?” ve öngörücü analiz, “ne yapmal m?” sorusuna cevap arar.
   Bu proje kapsam nda tahminleyici analiz ile hangi parametrelerin eBGBM
de erinin olu umuna etkisi oldu u tespit edilmeye çal lacakt r. Sonras nda mevcut
veri kullan larak gözetimli ö renme yakla          yla gelecekte olu abilecek eBGBM
de erleri tahmin edilmeye çal lacakt r. Bu görevleri yerine getirebilmek için yap lan
mimari tasar m ve literatürde dayand temeller bir sonraki bölümde anlat lmaktad r.


3     Makine Ö renmesi Yeteneklerine Sahip Bir Mimari Tasar

[10], bir bilgi teknolojileri organizasyonunun sistemlerine makine ö renmesi
yetenekleri kazand rabilmesi için üç ana alanda planlama yapmas önermektedir: (1)
süreç, (2) mimari ve (3) yetkinlik. Buna göre Kokteyl irketi çat alt nda yap lan
çal malar üç ba k alt nda incelenecektir:
1. Bir makine ö renmesi sürecinin tasar
2. Bir makine ö renmesi mimarisinin tasar
3. Yukar daki iki maddedeki etkinliklerin gerçekle tirilebilmesi ve sürdürülebilir
      nmas için gerekli yetkinliklerin kazan lmas

3.1   Makine Ö renmesi Süreci
Bir sistemin makine ö renmesi yeteneklerini kazanabilmesi için veri ve makine
  renmesi (yakla mlar, teknikler, algoritmalar gibi) ile ba lant baz i lemlerin
yap lmas gerekmektedir. Bu i lemler için literatürde [10 – 13] önerilen ad mlar yedi
ba k alt nda toplanm r ve a      daki gibi özetlenmi tir (5 numaral ad m bu proje
kapsam nda elde edilen deneyim sonucunda eklenmi tir):
1. Problemin çözümlenmesi: Çözülmesi gereken problem kavranarak makine
     renmesi aç ndan de erlendirilir. Makine ö renmesi aç ndan yap lacak
   de erlendirme sonucunda eldeki problemin nas l bir çözümleme modeli
   gerektirdi ine (tan mlay , te his koyucu, tahminleyici, öngörücü gibi), gözetimli
   ya da gözetimsiz ö renme algoritma gruplar ndan hangisinin uygun oldu una karar
   verilir.
2. Verinin elde edilmesi, haz rlanmas ve geçerlenmesi: Problemin çözümü için
   kullan lacak verinin kaynaklar belirlenir, bu verinin neleri temsil etti i anla r
   (verinin anlam ), veri i lenebilecek ekilde temizlenir ve düzenlenir, elde edilen
   nihai verinin problemin çözümünde kullan labilece i geçerlenir.
3. Problemin modellenmesi: Makine ö renmesi için kullan lacak algoritma(lar)
   belirlenir ve bu modeller gerçeklenir. Bu gerçekle tirim için haz r kod
   kütüphaneleri aynen ya da de tirilerek kullan labilir.
4. Modelin de erlendirilmesi ve ayarlanmas : Modelin sonuçlar uygun ölçülere
   göre de erlendirilir; baz durumlarda birden fazla algoritma kullan larak deneyler
   yap r ve bu algoritmalar aras ndan en uygunu ya da bir kombinasyonu seçilir.
   Algoritmalar n çe itli parametrelerini (örne in karar a açlar nda a aç derinli inin
   ne kadar olaca gibi) ayarlamak için eldeki veri kullan larak çe itli deneyler
   yap lacakt r.
5. Mevcut sistemin modeli kullanabilmesi için gerekli de ikliklerin yap lmas :
   Makine ö renmesi yeteneklerinin mevcut bir sisteme kazand lmas planlan yorsa
   bu durumda mevcut sistemde gerekli de iklerin yap lmas ve test edilmesi
   gerekmektedir.
6. Modelin konu land lmas : Makine ö renmesi modelinin gerçeklenmi hali
   kullan lmak üzere bir altyap ya (bir sunucu, birçok sunucudan olu an veri merkezi,
   bulut gibi) konu land r. Bu model ba ka uygulamalarla ileti im kurarak görevini
   yerine getirebilir.
7. Modelin performans n izlenmesi: Makine ö renmesi modelinin görevini ne
   kadar iyi yerine getirdi i olu an yeni veriler izlenerek gözlemlenir. Düzenli ya da
   düzensiz aral klarla bu model güncellenerek modelin ba ar             n artt lmas
   sa lanabilir.
   Makine ö renmesi sürecinde a amalar aras nda genellikle s k geçi ler
olabilmektedir ve süreç s ral bir düzende ilerlememektedir. Bundan dolay ekil 3’te
gösterildi i gibi yinelemeli ve art ml bir süreç takip edilmektedir (benzer bir süreç
önerisi için [14] çal mas ndaki ekil 6’ya bak z).




            Problemin çözümlenmesi


                                  Verinin elde edilmesi,
                                     haz rlanmas ve
                                      geçerlenmesi




         Modelin performans   n
                                                           Problemin modellenmesi
               izlenmesi




                                                       Modelin de erlendirilmesi
          Modelin konu land lmas
                                                           ve ayarlanmas




                               Mevcut sistemin, modeli
                               kullanabilmesi için gerekli
                                de ikliklerin yap lmas

                  ekil 3. Yinelemeli ve art ml makine ö renmesi süreci.
   Yukar da belirtilen süreç kullan larak bu proje kapsam nda her ad mda yap lmas
planlananlar a    daki gibidir:
1. Bu çal ma kapsam nda çözülmesi hedeflenen problem eBGBM de erinin tahmin
   edilmesidir. Bu tahmin etme i i için geçmi te olu an eBGBM de erleri, bu
   de erlerin olu mas        etkiledi i dü ünülen özelliklerin (feature) de erleri
   kullan larak gözetimli ö renme yakla         kullan lacakt r.
2. Bunun için çe itli kaynaklarda saklanan veriler birle tirilecek, temizlenecek ve
   makine ö renmesi algoritmalar n kullan           için haz r hale getirilecektir.
3. Sonras nda bu problemin çözümü için uygun olabilecek algoritmalar
   gerçeklenecektir. Literatürdeki bulgulara göre bu problem için çoklu ba lan m
   (multiple regression) modelinin uygun olabilece i de erlendirilmektedir [15].
4. Gerçekle tirilen modeller geçmi veri kullan larak e itilecek ve test edilecektir.
5. Mevcut sistemde bulunan elale Listesi Üretim Motoru bile eni makine ö renmesi
   algoritmas yla olu turulmu tahminleri servis edecektir. Bunun için mevcut
   sistemde gerekli de iklikler yap lacakt r.
6. Seçilen model canl ortama konu land larak s rl say da kullan için kullan ma
   aç lacakt r.
7. Sonras nda modelin ba ar         izlenerek modelde iyile tirmeler yap larak a amal
   olarak tüm kullan lar için kullan ma aç lacakt r. Sonras nda modelin ba ar
   sürekli olarak izlenerek belirli aral klarla modelde iyile tirmeler yap lmaya devam
   edilecektir.

   Proje kapsam nda bu süreci desteklemek için tasarlanan mimari bir sonraki
bölümde anlat lmaktad r.

3.2   Makine Ö renmesi Yeteneklerine Sahip Bir Mimari
Makine ö renmesi yeteneklerinin geli tirildi i sistemlerde karma kl n büyük bir
  sm verinin elde edilmesi, haz rlanmas ve geçerlenmesi, sonras nda ise makine
   renmesi modellerinin olu turularak ayarlanmas a amalar nda ortaya ç kmaktad r
[13, 16]. Sculley ve arkada lar makine ö renmesi sistemlerinin çok küçük bir
bölümünün makine ö renmesi kodu oldu unu; bu kodu çevreleyen sistemin di er
bile enlerinin çok daha geni ve karma k oldu unu belirtmi tir [16]. Bu ba lamda
böyle bir sistemin mimarisini olu turmas beklenen bile enler iki ana grupta
    fland labilir: (1) Veriyi makine ö renmesi algoritmalar için haz rlayan
bile enler (veri toplama, veri geçerleme, özellik belirleme, konfigürasyon, analiz
araçlar ) ve (2) bu büyük ölçekli verinin i lenmesi için gerekli altyap n sa lanmas
(hizmet altyap , makine kaynak yönetimi, görev yönetim araçlar , izleme).
Literatürdeki bulgular ve bu projedeki gereksinimler do rultusunda makine
   renmesi algoritmalar n çal       lmas için geli tirilecek mimari ekil 4’teki gibi
tasarlanm r.
                 Modelleme ve
                                                         Görsel servisler
              de erlendirme bile eni


                              Tan mlay            Öngörüsel           yile tirici
           Veri i leme           analiz             analiz              analiz
            bile eni           servisleri         servisleri          servisleri
                                bile eni           bile eni            bile eni


                          Çoklu veri modelli veri eri im katman



               Üst veri                                  li kisel
                                                                         li kisel
               deposu                                   olmayan
                                  Veri ambar                               veri
                                                           veri
                                                                       kaynaklar
                                                       kaynaklar


  ekil 4. Makine ö renmesi yeteneklerini mevcut sisteme kazand rmak için gerekli bile enler.

   Makine ö renmesi algoritmalar na gözetimli ö renme için girdi olarak verilecek
veri ili kisel ve ili kisel olmayan kaynaklarda saklanmaktad r. Bu kaynaklardaki
veriye birle tirilmi bir ekilde ula abilmek için bir çoklu veri modelli veri eri im
katman [17] olu turulacakt r. Bu katman ayn zamanda birle tirilmi verinin
sakland       veri ambar na eri im için de kullan lacakt r. Bu aktar m i lemleri veri
  leme bile eninin sundu u hizmetler arac           yla yap lacakt r. Bu bile enin görevi
veri ambar geli tirme projelerinde görülen verinin ç kar lmas , dönü türülmesi ve
yüklenmesi (ETL: Extract Transform Load) görevlerini yerine getirmektir. Bu bile en
geli tirilirken tüm veri kaynaklar na bütüncül bir bak aç yla yakla mak ve verinin
aktar      için geli tirilen prosedürlerin iyi tasarlanmas gerekmektedir. Aksi takdirde
olu abilecek karma k aktar m prosedürlerinin (“pipeline jungles” [16]) test edilmesi,
hatalar n ay klanmas oldukça zor ve maliyetli olacakt r [18].
     ekil 5’te veri haz rlama görevlerinin ve makine ö renmesi modellerinin tasar m
aç ndan olas geli im a amalar gösterilmektedir [6]. Buna göre birbirinden
ba ms z veri haz rlama görevlerinden, verinin birle tirilmi              ekilde bir veri
ambar nda sakland           ve makine ö renmesi ile ilgili özelliklerin, modellerin,
metriklerin yine birle tirilmi bir ekilde depoland bir yap ya do ru bir geli menin
olmas , bu yap lar n bak            n daha kolay yap lmas , hatalar n daha kolay
yakalanmas ve düzeltilmesi için gereklidir. Bu proje kapsam nda da bütüncül bir
bak la bir veri ambar olu turulmas ve makine ö renmesi ile ilgili i ürünlerinin de
birle tirilmi bir ekilde saklanmas hedeflenmektedir. Bu hedef için önemli
bile enlerden biri de üst veri deposudur. Üst veri deposu, veri kaynaklar ndaki veriler
hakk nda bilgiler (verinin ne anlama geldi i, veri tipi, gibi) sunarak gerek
geli tiricilerin gerek bu verileri makine ö renmesi görevleri için kullanacak ki ilerin
veriyi anlamas na yard mc olacakt r.
                                                                 Birle tirilmi makine
                                                                      renmesi özellik,
                                                                      model ve metrik
                                                                               deposu
                                                  Birle tirilmi veri
                                                             deposu
                              Payla ml veri ön
                                 leme görevleri
      Birbirinden ba ms z
               tek görevler




        ekil 5. Veri haz rlama görevlerinin ve makine ö renmesi modellerinin evrimi.

   Tan mlay analiz servisleri bile eni, makine ö renmesi modeli olu turulmak için
gerekli olan mevcut veriyi anlamaya yönelik çözümlemeleri sunan hizmetleri
sa layacakt r. Bu çözümlemeler sonucunda eBGBM de erini etkileyen özellikler
belirlenecektir. Tahminleyici analiz servisleri bile eni eBGBM de erinin tahmin
edilmesine yönelik hizmetleri sa layacakt r. Bunun için gözetimli ö renme yakla
ve çoklu do rusal ba lan m modeli kullan lacakt r. yile tirici analiz servisleri
bile eni, konu land lan modelin performans            izlemek için gerekli hizmetleri
sunacakt r. Zamana ba         olarak de en eBGBM de erinin zaman serisi analizi
teknikleri kullan larak daha iyi tahmin edilmesine yönelik iyile tirme çal malar
yap lacakt r. Farkl ortam verilerine sahip makine ö renmesi modelleri aras nda
  yaslama yap labilecek ve ortam verisinin de imine göre makine ö renmesi
modelinin otomatik olarak evrilmesi sa lanacakt r.
   Görsel servisler, kullan lar n amaçlar na uygun biçimde veriyi görselle tirerek
sunacakt r. Modelleme ve de erlendirme bile eni ise tan mlay , tahminleyici ve
iyile tirici analiz servislerini kullanarak çe itli modeller olu turulmas ve bunlar n
de erlendirilmesi için veri analiz uzmanlar na bir arayüz sunacakt r. Bunun için
Jupyter Notebook (http://jupyter.org/) gibi araçlar kullan labilecektir.
   Tasarlanan mimarideki bile enleri geli tirmek ve sonras nda kullanmak için çe itli
yetkinlikler gerekmektedir. Bu yetkinlikler çe itli roller alt nda s fland larak bir
sonraki bölümde anlat lmaktad r.

3.3    Makine Ö renmesi Yeteneklerinin Geli tirilmesi çin Gerekli Yetkinlikler
Makine ö renmesi yeteneklerinin geli tirilmesi için gerekli yetkinlikler genellikle veri
analiti i uzman , makine ö renmesi uzman , veri bilimci gibi unvanlar alt nda
toplanmaktad r [13, 19, 20, 21]. Bu roller alt nda toplanan sorumluluklar n ve
dolay yla sahip olunmas gereken yetkinliklerin farkl la        görülmektedir [19, 20].
Bu proje kapsam nda, makine ö renmesi sürecindeki 3., 4. ve 7. ad mlardaki görevleri
yerine getirebilecek bir veri analiti i uzman görev alacakt r. Mevcut veriyi anlamak
için üst veri deposunu, makine ö renmesi modelleri için girdileri elde etmek için veri
ambar      kullanacakt r. Tan mlay , tahminleyici ve iyile tirici analiz servislerinin
makine ö renmesi ile ilgili bölümlerini geli tirecektir. Modelleri çal rmak ve
sonuçlar görmek için modelleme ve de erlendirme bile enini kullanacakt r. Bu
görevleri yerine getirirken görsel servisleri kullanarak elde edilen analiz sonuçlar
konu alan uzmanlar ile de erlendirecektir.
   Çoklu veri eri im katman ve veri i leme bile enleri yaz m mühendisleri
taraf ndan geli tirilecektir. Bu bile enler geli tirilirken konu alan uzmanlar
gereksinimleri belirleyecek ve geli tirilen bile enleri test edecektir.
   Tüm bu bile enlerin bar nd lmas için gerekli altyap            ise altyap mühendisi
olu turacak ve i letilmesini sa layacakt r.
   Veri analiti i uzman , temel istatistik ve matematik bilgisinin [22] yan nda,
makine ö renmesi kütüphaneleri ve model geli tirmek için kullan labilecek
programlama dilleri (Python, R gibi) hakk nda bilgi sahibi olmal r. Konu alan
uzmanlar , mobil reklamc k sektörü ve bu sektörde olu an verinin ve bilginin
yorumlanmas konusunda deneyimli olmal r. Yaz m mühendisleri, sunucu
taraf ndaki ve mobil cihazlar üzerinde çal acak bile enleri geli tirecek yetkinliklere
sahip olmal r. Bunun yan nda gerek yaz m mühendislerinin gerekse altyap
mühendisinin büyük hacimli verinin i lenebilece i altyap                tasarlay p hayata
geçirebilecek bilgi birikimine ve deneyimine sahip olmalar gerekmektedir.
   Özet olarak, bu proje kapsam nda farkl yetkinliklere sahip olmay gerektiren dört
ana rol bulunacakt r. Veri analiti i uzman , yaz m mühendisleri, konu alan
uzmanlar ve altyap mühendisi birlikte çal arak projenin ba ar                  bir ekilde
tamamlanmas sa layacakt r.


4       lgili Çal malar

NIST’ n yay mlad “büyük veri birlikte çal abilirlik çerçevesi”nde [23] önerilen
referans mimaride verinin kayna ndan al p kullan laca noktaya ula               ncaya
kadar gerekebilecek i levler be ba k alt nda toplanm r. Toplama (collection),
verinin elde edilmesine; haz rlama (preparation), verinin uygun formata
dönü türülmesine; analitik (analytics), veriden bilgi ve içgörü elde edilmesine;
görselle tirme (visualization), bilginin uygun ekillerde sunulmas na; eri im (access),
veriyi kullanacak payda larla ileti imin sa lanmas na dair görevleri kapsamaktad r.
NIST’in referans mimarisindeki bu ba klarda ele al nmas önerilen görevler ekil
4’teki mimaride kapsanmaktad r.
   Elde edilen makine ö renmesi modellerinin konu land lmas ve ba ka payda lar
taraf ndan kullan labilir duruma getirilmesi çe itli çözümler sunulmaktad r. Örne in,
Algorithmia gibi platformlar makine ö renmesi modellerinin konu land lmas için
gerekli altyap        sa lamaktad r [24]. Bu platform, modellerin kolayca
konu land lmas , API ile ba ka uygulamalar n kullan na sunulmas gibi hizmetleri
sa lamaktad r [24]. Bu çal ma kapsam nda makine ö renmesi modellerini servis
olarak sunan bir platformun da geli tirilmesi hedeflenmektedir.
   [5] çal mas nda makine ö renmesi modellerinin Uber irketi bünyesinde servis
olarak nas l sunuldu u anlat lmaktad r. Verinin, modellerin girdisi olacak ekilde
haz rlanma a amas ekil 3’teki süreçle örtü mektedir. Ayn zamanda makine
   renmesi modellerinin servis olarak sunulmas da bu çal ma kapsam nda verilen
tasar m kararlar ndan biridir.


5      Sonuçlar ve Gelecek Çal malar

Mobil cihazlar n ve uygulamalar n yayg nla mas ve bu uygulamalar n önemli bir
bölümünün gelirlerini reklam gösterimiyle elde etmeye ba lamas yla birlikte mobil
reklam sektörünün hacmi büyümü ve sektördeki payda lar n say artm r. Bir
uygulamada, bir kullan        için hangi reklamlar n gösterilmesinin nas l bir gelir
getirece ini tahmin etmek, mobil reklam sektörü için önemli bir problemdir. Bu proje
kapsam nda, geçmi te olu an veriden yola ç karak gözetimli ö renme yakla          yla,
elde edilebilecek gelirin tahmin edilmesi ve hangi reklam n gösterilece i karar n bu
tahmine göre verilmesi amaçlanmaktad r. Mevcut durumda konu alan uzmanlar
taraf ndan sezgisel olarak yerine getirilen bu tahmin görevinin, makine ö renmesi
modelleriyle daha iyi tahmin edilmesi ve bu modellerin sürekli iyile tirilerek tahmin
ba ar      n zaman içinde daha da artt lmas beklenmektedir. Bu görevleri yerine
getirebilmek için mevcut yaz m sisteminde makine ö renmesi ile ilgili bile enlerin
geli tirilmesi gerekmektedir. Bu çal mada bu amaca hizmet edecek bir mimari
tasar m sunulmu tur.
   Gelecek çal malar kapsam nda bu mimari tasar m do rultusunda geli tirmeler
yap lacakt r. Bu geli tirmeler yap rken Kokteyl firmas n yaz m geli tirme süreci
(mevcut süreç için bkz. [25]) makine ö renmesi yetenekleri geli tirilebilecek ekilde
düzenlenecektir.


Te ekkür

Bu çal ma TÜB TAK’ n deste iyle 3171053 numaral proje kapsam nda yap lm                r.


Kaynakça
 1. Llach, E.: System for automatically selling and purchasing highly targeted and dynamic
    advertising impressions using a mixture of price metrics. U.S. Patent Application No.
    10/767,050 (2004).
 2. O’Kelley, B.: Method and system for pricing electronic advertisements. U.S. Patent
    Application No. 11/006,121 (2006).
 3. Paunikar, A., Hochberg, M.: Dynamic pricing for content presentations. U.S. Patent No.
    8,706,547. 22 (2014).
 4. Chapelle, O., Manavoglu, E., Rosales, R.: Simple and scalable response prediction for
    display advertising. ACM Transactions on Intelligent Systems and Technology (TIST)
    5(4), Article 61 (2015).
 5. Li, L. E., Chen, E., Hermann, J., Zhang, P., Wang, L.: Scaling machine learning as a
    service. In: International Conference on Predictive Applications and APIs, pp. 14-29.
    (2017).
 6. Taifi, M.: Lessons Learned from Building Scalable Machine Learning Pipelines, In: PAPIs
    Europe 2018. https://techblog.appnexus.com/lessons-learned-from-building-scalable-
    machine-learning-pipelines-822acb3412ad, son eri im tarihi: 30 Eylül 2018.
 7.    rka açl lu, Ö., Giray, G., Ersin, A., Çat kka , C., Koçer, S., eremet, T., Ünal r, M.
    O.: Bir Reklam Arac Yaz              n Mimari Evrimi. In: 12. Ulusal Yaz m Mühendisli i
    Sempozyumu. stanbul (2018).
 8. Russell, S. J., Norvig, P.: Artificial intelligence: a modern approach. Pearson Education
    Limited, Malaysia (2016).
 9. Gartner Report: Forecast: Enterprise software markets. Worldwide, 2011-2016, 4Q12
    Update. (2012). http://www.gartner.com/resId=2054422, son eri im tarihi 30 Eylül 2018
10. Sapp, C. E.: Preparing and Architecting for Machine Learning. Gartner. ID: G00317328.
    (2017).
11. Azevedo, A., Filipe Santos, M.: KDD, semma and CRISP-DM: A parallel overview. In:
    IADIS European Conference on Data Mining 2008, pp. 182-185. Amsterdam, The
    Netherlands (2008).
12. Labrinidis, A., Jagadish, H. V.: Challenges and opportunities with big data. In: Proc.
    VLDB Endow, pp. 2032-2033. (2012). DOI=http://dx.doi.org/10.14778/2367502.2367572.
13. Pruss, L.: Infrastructure 3.0: Building blocks for the AI revolution. (2017).
    https://venturebeat.com/2017/11/28/infrastructure-3-0-building-blocks-for-the-ai-
    revolution/, son eri im tarihi: 24 Eylül 2018.
14. Schleier-Smith, J.: An architecture for Agile machine learning in real-time applications. In:
    Proceedings of the 21th ACM SIGKDD International Conference on Knowledge
    Discovery and Data Mining, pp. 2059-2068. ACM (2015).
15. Provost, F., Fawcett, T.: Data Science for Business. O’Reilly Media, Inc. (2013). ISBN:
    9781449374273
16. Sculley, D., Holt, G., Golovin, D., Davydov, E., Phillips, T., Ebner, D., Chaudhary, V.,
    Young, M., Crespo J., Dennison, D.: Hidden technical debt in machine learning systems.
    In: Advances in neural information processing systems, pp. 2503-2511. (2015).
17. Diker, N., Giray, G., Ünal r, M. O.: Servis Tabanl Bir Melez Veri Eri im Mimarisi
    Önerisi. In: 10. Ulusal Yaz m Mühendisli i Sempozyumu. Çanakkale, (2016).
18. Ananthanarayanan, R., Basker, V., Das, S., Gupta, A., Jiang, H., Qiu, T., Reznichenko, A.,
    Ryabkov, D., Singh, M., Venkataraman, S.: Photon: Fault-tolerant and scalable joining of
    continuous data streams. In: SIGMOD’13: Proceedings of the 2013 international
    conference on Management of data, pp. 577–588. New York, NY, USA (2013).
19. Kim, M., Zimmermann, T., DeLine, R., Begel, A.: The emerging role of data scientists on
    software development teams. In: Proceedings of the 38th International Conference on
    Software Engineering, pp. 96-107. ACM (2016).
20. Kim, M., Zimmermann, T., DeLine, R., Begel, A.: Data Scientists in Software Teams:
    State of the Art and Challenges. IEEE Transactions on Software Engineering. (2017). doi:
    10.1109/TSE.2017.2754374
21. Simard, P. Y., Amershi, S., Chickering, D. M., Pelton, A. E., Ghorashi, S., Meek, C.,
    Ramos, G., Suh, J., Verwey, J., Wang, M., Wernsing, J.: Machine teaching: A new
    paradigm for building machine learning systems. (2017). arXiv preprint arXiv:1707.06742.
22. Waller, M. A., Fawcett, S. E.: Data science, predictive analytics, and big data: a revolution
    that will transform supply chain design and management. Journal of Business Logistics
    34(2), pp. 77-84. (2013).
23. NIST Big Data Public Working Group, Reference Architecture Subgroup: NIST Big Data
    Interoperability Framework: Volume 6, Reference Architecture. NIST Special Publication
    1500-6r1, Version 2, (2018). https://doi.org/10.6028/NIST.SP.1500-6r1
24. Algorithmia: Deploying Machine Learning at Scale with Serverless Microservices.
    Whitepaper, (2018).
25. Giray, G., Yilmaz, M., O’Connor, R. V., Clarke, P. M.: The Impact of Situational Context
    on Software Process: A Case Study of a Very Small-Sized Company in the Online
    Advertising Domain. In: European Conference on Software Process Improvement, pp. 28-
    39. Springer, Cham, (2018).