=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)==
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).