İstatistiksel Öğrenme – I

İstatistiksel öğrenme (Statistical Learning) veriyi anlamak için kullanılan birçok yönteme verilen genel bir addır.

Diyelim ki biz bir istatistik danışmanıyız ve bir müşteri tarafından belirli bir ürünün satışlarını artırmak için görevlendirildik. Elimizde Reklam (Advertising) adında bir veri olsun ve şunları içersin: bu ürünün 200 farklı marketteki satış verileriyle birlikte üç farklı medya (TV, radyo ve gazete) için reklam bütçeleri. Müşterimiz için ürünün satışlarını direkt olarak artırmak mümkün değil. Fakat bu üç farklı medya için ayrılan reklam bütçelerini kontrol edebilir. Bu yüzden, reklam ile satış arasında bir ilişki olduğunu belirleyebilirsek, müşterimizin reklam bütçesini bu üç medya için uygun bölüştürmesine ve bu sayede dolaylı olarak satışları artırmasına yardımcı olabiliriz.

Bu problemde reklam bütçeleri giriş değişkeni (input variable), satış ise çıkış değişkenidir (output variable). Giriş değişkenlerinin hepsi Xn ile gösterilir. Mesela X1 TV’yi, X2 radyoyu, X3 de gazeteyi göstersin. İngilizcede bu giriş değişkenleri birden fazla kelimeyle ifade edilebilir: predictors, independent variables, features, bazen de sadece variable. Çıkış değişkeni ise satış’tır ve genellikle cevap değişkeni (response variable) veya bağımlı değişken (dependent variable) olarak adlandırılır.

Aşağıdaki görsel her bir medyaya ayrılan bütçenin satış ile ilişkisini gösteriyor. Mavi çizgi ise simple least squares fit denilen yöntemle oluşturulan tahminlemeyi gösteriyor. Bu ve bunun gibi bir sürü yöntemi ayrıntılı olarak inceleyeceğiz.

1

Bu kavramı biraz genelleştirelim. Diyelim ki sayısal (quantitative) bir output değişkeni (Y)’ni gözlemledik ve elimizde p tane farklı input değişkeni var (X1, X2, X3, …, Xp).  Y ve X(X1, X2, X3, …, Xp) arasında bir ilişki olduğunu varsayıyoruz ve şu şekilde ifade ediyoruz:

2

Bu formülde f input değişkenlerinden oluşan bilinmeyen bir fonksiyonu ve sondaki E’ye benzeyen ifade ise input değişkenlerden bağımsız ve ortalaması sıfır olan rastgele hata terimini (random error term) temsil ediyor. Yani aslında f, X’lerin sağladığı sistematik bilgiyi temsil ediyor.

3

Yukarıdaki görselde sol taraftaki grafik 30 birey için Years of Education (yani eğitim derecesi) ve Income (gelir)‘ın nasıl ilişkili olduğunu gösteriyor. Years of Education arttıkça, yani eğitim seviyesi yükseldikçe, Income da artıyor. Ancak input değişkeni/değişkenlerini output değişkenine bağlayan gerçek f  fonksiyonu genellikle bilinmez. Bu durumda elimizdeki verilerden böyle bir f fonksiyonu hesaplamaya çalışırız. Öyle bir f fonksiyonu bulalım ki Years of Education verildiğinde Income’ı mümkün olduğunca doğru bir şekilde tahmin edebilsin. Bu örnekte Income tamamen bizim uydurduğumu bir veri olduğu için gerçek f fonksiyonunu aslında biliyoruz. Gerçek f fonksiyonu sağdaki grafikte mavi eğri ile gösterilmiş. Dikey çizgiler hata terimlerini (error terms) temsil ediyor. Hata terimlerinin bazıları çizginin altında ve bazıları çizginin üstünde kalıyor (yani f fonksiyonuna göre olması gereken output değerinden daha yüksek veya daha düşük oluyor), ve genel ortalamaları bu yüzden neredeyse sıfıra eşit oluyor. Bu örnekte gerçek f fonksiyonunu bilmemize rağmen tahminlemede hala hata terimlerinin olması en başta garip gelebilir, ama aslında hiç de garip değil. Bu konuya daha sonra geri döneceğiz.

Genellikle f fonksiyonu bir değil birden fazla input değişkeni içerir. Örneğin Income değişkeni Years of Education ve Seniority ile tahmin edilmeye çalışıldığında aşağıdaki gibi bir grafik ortaya çıkabilir:

4

Bu grafikte mavi yüzey tahminlemeye çalıştığımız f fonksiyonunu gösteriyor, kırmızı noktalar ise gerçek değerleri gösteriyor. Kırmızı noktalarla tahinlediğimiz f fonksiyonu arasındaki dikey çizgiler ise hata terimlerini temsil ediyor.

Sözün özü, istatistiksel öğrenme (statistical learning) aslında bu f fonksiyonunu tahminlemeyi sağlayan bir çok yöntemden oluşan bir disiplindir.

Neden f’i Hesaplamaya Çalışıyoruz ?

f’i hesaplamak istememizin iki ana sebebi var: tahminleme (prediction) ve çıkarsama (inference).

Tahminleme (Prediction)

Birçok durumda input değişkenleri (X) hazır olarak vardır, ancak output değişkeni (Y) kolaylıkla elde edilemeyebilir. Bu durumda, hata terimleri ortalama olarak sıfır olacağından, Y yi şu şekilde tahminleyebiliriz:

5

Bu formülte   6  gerçek f için tahminimizi, 7 ise gerçek Y için tahminimizi gösteriyor. Bu durumda 6 genellikle kara kutu (black box) gibi düşünülür çünkü tahminleme yaparken 6‘in tam olarak nasıl bir fonksiyon olduğuyla ilgilenmeyiz. Tahminlemede bizi ilgilendiren asıl şey hesapladığımız 6‘in ne kadar kesin ve doğru tahmin yaptığı.

Örneğin, X1,X2,X3…Xp bir hastanın kan örneğinin özelliklerini temsil eden değişkenler olsun ve Y de o hastanın belirli bir ilaca karşı ciddi derece olumsuz reaksiyon gösterme riskini belirten değişken olsun. Bu durumda X’leri kullanarak Y’yi doğru tahmin etmek ve yüksek Y’li (riskli) hastalara bu ilacı vermemek asıl amacımızdır.

7‘nin gerçek Y‘yi tahminlemedeki kesinliği (accuracy) iki miktara bağlıdır: azaltılabilir hata (reducible error) ve azaltılamaz hata (irreducible error). Genellikle bulduğumuz 6 gerçek f için mükemmel bir tahminleme olmaz ve bu kesin olmama durumu (inaccuracy) tahminlememizde hataya neden olur. Bu durumda oluşan hata azaltılabilir (reducible) hatadır çünkü 6‘in kesinliğini en uygun istatistiksel öğrenme tekniğini kullanarak iyileştirebiliriz. Fakat, gerçek f için mükkemmel bir tahminleme oluşturabilsek bile ( yani 7 = f(X) olsa ), tahminlememiz hala bir takım hatalar içerecektir. Çünkü Y aynı zamanda hatanın, 8, bir fonksiyonudur ve bu hata X’leri kullanarak tahminlenemez. Bu yüzden, 8‘nin değişkenliği tahminlememizi kesinliğini etkileyecektir. Bu azaltılamaz hata (irreducible error) olarak adlandırılır çünkü f’i ne kadar mükemmel tahminleyebilirsek tahminleyelim, 8‘den dolayı kaynaklanan hatayı azaltamayız.

Azaltılamayan hata neden hep sıfırdan büyüktür? 8 miktarı Y’yi tahminlemeye yarayan fakat bizim hesaba katmadığımız değişkenleri içeriyor olabilir. Bunları ölçümlemediğimizden f fonksiyonumuz tahminleme yaparken bu değişkenleri doğal olarak kullanamayacaktır. 8 miktarı aynı zamanda ölçülemeyen değişkenlikleri de içeriyor olabilir. Örneğin, bir ilaca karşı olan olumsuz reaksiyon riski aynı hasta için günden güne, ilacın üretim değişkenliğine göre veya hastanın o günkü genel durumuna göre değişkenlik gösterebilir. İki kişinin aynı yemeği yiyip birinin zehirlenip diğerinin zehirlenmemesi gibi, bu tarz değişkenlikler genellikle ölçülemez.

9

Yukarıdaki formülde;

  • Y, gerçek output’u
  • 7, tahminlenen output’u

temsil ediyor.

Y‘nin gerçek fonksiyon olan f(X) + 8 ‘ye, 7‘nin ise 6(X)‘e eşit olduğuna dikkat edin.

Çıkarsama (Inference)

Genellikle ilgilendiğimiz bir diğer şey de Y‘nin X değişkenlerindeki değişimden nasıl etkilendiğidir. Bu durumda f’i hesaplamak isteriz, ancak amacımız genellikle Y için tahminleme (prediction) yapmak değildir. Daha ziyade X ve Y arasındaki ilişkiyi tespit etmeyi amaçlarız. Bu durumda 6 kara kutu (black box) olarak düşünülemez çünkü çıkarsamada 6‘in tam olarak nasıl bir fonksiyon olduğu bizim için önemlidir. Bu durumda şu tarz soruları cevaplayabiliriz:

  • Hangi X değişkenleri Y ile ilişkili
  • Y ile herbir X değişleni arasındaki ilişki nasıl
  • Y ile herbir X değişkeni arasındaki ilişki doğrusal bir denklemle (linear equation) yeterli oranda özetlenebilir mi yoksa aralarındaki ilişki daha mı kompleks (doğrusal olmayan ilişki (non linear) )

Örneğin, direkt pazarlama (direct marketing) kampanyası yapmak isteyen bir şirket düşünün. Amaç demografik verilere dayanarak kampanyaya pozitif cevap verebilecek bireyleri tespit etmek. Bu durumda demografik veriler X (predictors) ve kampanyaya cevap(pozitif ya da negatif) Y ile temsil edilir. Şirket her bir input değişkeninin Y ile olan ilişkisiyle ilgilenmez; input değişkenleriyle kampanyaya cevabı ne kadar doğru tahmin edebildiğiyle ilgilenir. Bu tahminlemeye bir örnektir.

Diğer taraftan, daha önceden bahsettiğim advertising probleminde ise tahminlemeden ziyada çıkarsama bizim için önemlidir. Bu durumda her bir input değişkeni X için output olan satış değişkeninin (Y) nasıl etkilendiğiyle ilgileniriz. Hangi medya satışlara katkıda bulunuyor? Hangi medyadaki bütçe artışı satışları daha çok etkiliyor ?, Satıştaki ne kadar artış TV reklamlarındaki artışla ilişkili? gibi soruların cevabını bu şekilde verebiliriz. Başka bir örnek olarak bir müşterinin belirli marka bir ürünü alma ihtimalinin fiyat, mağaza lokasyonu, indirim oranı, rekabet fiyatı vb. gibi değişkenlerce nasıl etkilendiğini belirlemeye etmeye çalışalım. Bu durumda her bir input değişkeninin output değişkeni olan alma ihtimalini nasıl etkilediğiyle ilgileniriz. Örneğin fiyattaki bir değişim müşterinin alma ihtimalini nasıl ve ne derece etkiler ? Bunun cevabını bu şekilde verebiliriz.

Son olarak bazı modellemelerde amacımız hem tahminleme yapmak hem de çıkarsama yapmak olabilir. Örneğin gayrimenkul sektöründe bir evin fiyatını lokasyonu, o lokasyondaki suç oranı, sahile olan uzaklığı, hava kalitesi, okula yakınlığı, o civardaki gelir düzeyi, evin büyüklüğü, vb.  gibi değişkenlerce tahmin etmeye çalışabiliriz. Herbir input değişkeninin fiyatı nasıl etkilediğiyle ilgileniyor olabiliriz. Bu bir çıkarsama problemidir. Ama aynı zamanda bir evin özellikleri verildiğinde o evin fiyatını tahmin etmeye çalışıyor da olabiliriz. Bu da bir tahminleme problemidir.

Nihai amacımızın tahminleme mi, çıkarsama mı, yoksa her ikisi de mi olduğuna göre f’i tahminlemede farklı metotlar kullanırız. Örneğin lineer modeller (linear models) göreceli olarak daha basit ve yorumlanabilir çıkarsamalar sağlarken, diğer yöntemlere nazaran daha az kesinlikte tahminlemeler üretebilirler. Aksine doğrusal olmayan modeller (non-linear models) daha kesin tahminlemeler sağlarken, lineer modellere göre çok daha karmaşık olduklarından yorumlanmaları ve çıkarsama için kullanılmaları çok daha zordur.

Peki f’i Nasıl Hesaplayacağız?

Bu yazıda ve bundan sonraki yazılarda f’i hesaplamamızı sağlayan birçok doğrusal (linear) ve doğrusal olmayan (non-linear) yöntemlerden bahsedeceğiz. Fakat bütün bu yöntemlerin bazı ortak özellikleri var. Bunları inceleyelim.

Öncelikle elimizdeki veriyi her zaman training ve test olmak üzere iki parçaya bölüyoruz. Hangi yöntemi uygularsak uygulayalım yöntemimize f‘i nasıl hesaplayacağını öğretmek(train veya teach) için training veri setini kullanırız. Metodumuz bu veri setinden bilmediğimiz f‘i öğrenmeye çalışır ve bunun sonucunda tahmini bir f fonksiyonu üretir. Bu tahmini f fonksiyonu 6 ile ifade edilir. Yani öyle bir 6 bulmalıyız ki ürettiği tahmini 7 değerleri gerçek Y değerlerine mümkün olduğunca yakın olsun. 6‘i hesaplamada kullanılan bir çok istatistiksel öğrenme metodu parametrik (parametric) ya da parametrik olmayan (non-parametrik) olarak iki gruba ayrılabilir.

Parametrik Metodlar ( Parametric Methods)

Parametric metodlar model tabanlı iki adımdan oluşur:

1. İlk olarak, gerçek f‘in fonksiyonel formu ya da şekli ile ilgili bir varsayımda bulunuruz. Örneğin, f‘in doğrusal (linear) bir fonksiyon olduğunu varsayarsak tahminlemeye çalıştığımız fonksiyon şu şekli alır:

f(X) = β0 + β1×X1 + β2×X2 + . . . + βp×Xp

Bu bir doğrusal modeldir. f‘in doğrusal olduğunu varsaydıktan sonra, f‘i hesaplama problemini büyük ölçüde basitleştirmiş oluruz. Rastgele p boyutlu bir f(X) fonksiyonu hesaplamak zorunda kalmaktansa, sadece p+1 katsayıyı (coefficients, β0,β1,β2,…,βp) hesaplamaya çalışırız.

2. Modeli seçtikten sonra, training verisini kullanarak modeli eğiten (train) bir prosedüre ihtiyaç duyarız. Yukarıdaki doğrusal model örneğinde β0,β1,…βp parametrelerini modeli eğiterek(training veya fittin g olarak adlandırılır) hesaplamak isteriz. Bu parametreler için öyle değerler bulmalıyız ki tahminimiz gerçek Y değerine mümkün olduğunca eşit olsun:

Yβ0 + β1×X1 + β2×X2 + . . . + βp×Xp

Bu uydurma (fitting) işlemi için en yaygın yaklaşım ordinary least squares olarak adlandırılan bir yaklaşımdır. Fakat bunun dışında daha bir sürü yaklaşım vardır. Hepsini ileriki yazılarda ayrıntılı olarak işleyeceğiz.

Model tabanlı yaklaşımlar parametrik olarak adlandırılır: parametrik modeller f‘i hesaplama problemini sadece bazı parametreleri hesaplama problemine indirger. Bir miktar parametreyi hesaplamak, tamamen rastgele bir f fonksiyonu bulmaktan çok daha kolaydır. Fakat parametrik metotların en büyük potansiyel dezavantajı seçtiğimiz modelin genellikle bilmediğimiz gerçek f’le tam olarak eşleşmemesidir. Eğer seçtiğimiz model gerçek f’ten çok farklıysa o zaman tahminlememiz sağlıklı ve güvenilir olmayacaktır. Bu problemi çözmek için daha esnek (flexible) modelleri kullanabiliriz çünkü bu modeller f‘e bir çok farklı şekilde uydurulabilir (fitting). Fakat genel olarak, daha esnek bir modele fit etmek daha çok parametre hesaplamayı gerektirir ve bu modeller verideki hatayı (error) ve gürültüyü (noise) çok yakından takip etmesinden dolayı overfitting denilen duruma yol açabilir.

Örneğin elimizdeki income verisine parametrik bir metot uygulayalım ve aşağıdaki gibi doğrusal bir fonksiyona uyduralım (fitting):

income ≈ β0 + β1×education + β2×seniority.

İki input değişkeni ile output değişkeni arasında doğrusal bir ilişki olduğunu varsaydığımızdan, uydurma (fitting) problemi β0, β1 ve β2′yi hesaplama problemine indirgenmiş olur ve bunları da least squares linear regression metoduyla hesaplarız. Aşağıdaki grafik veriye uygulanan least squares fit‘i gösteriyor.

12

Yukarıdaki grafikten görülebileceği üzere modelimiz tam olarak istediğimiz gibi bir tahminleme yapmıyor çünkü gerçek f doğrusal olmayan, eğrisel bir forma sahip ve bu da doğrusal modellerle yakalanamaz. Gerçek f‘in doğrusal olmadığını aynı verinin yazının başlarında paylaşılan doğrusal olmayan model grafiğinden görebilirsiniz.

Parametrik Olmayan Metotlar ( Non-parametric Methods)

Parametrik olmayan metotlar gerçek f‘in fonksiyonel formuyla ilgili bir varsayımda bulunmazlar. Bunun yerine veriye mümkün olduğunca uyacak (fitting) bir f fonksiyonu hesaplamaya çalışırlar ve bunu yaparken mümkün olduğunca az keskin hatlı ve kıvrımlı fonksiyonlar üretmeye çalışırlar. Bu metotların parametrik metotlara kıyasla en büyük avantajı veriye daha düzgün ve net bir şekilde uyan (fitting) bir f fonksiyonu hesaplayabilmeleridir. Fakat bu metotlar iki büyük dezavantaja sahip: f’i hesaplama problemini parametrik metotlar gibi daha az sayıda parametre hesaplamaya indirgemedikleri için, net ve doğru bir şekilde f’i hesaplayabilmek için çok daha büyük boyutta veriye ihtiyaç duyarlar.

13

Yukarıdaki grafik parametrik olmayan bir metotla aynı veriye fit etmeyi gösteriyor.  Thin-plate spline olarak adlandırılan bu metot, f hakkında bir varsayımda bulunmuyor. Eldeki veriye en çok fit edecek şekilde bir f fonksiyonu hesaplamaya çalışıyor ve bu da yukarıdaki şekilde sarı ile gösteriliyor. Doğrusal fit ile karşılaştırıldığında bu metot gerçek f‘e çok daha yakın bir hesaplama sağlıyor. Doğrusal olmayan bir fit için smoothness düzeyini belirlememiz gerekiyor. Aşağıdaki grafik aynı metotun daha az smooth bir versiyonunu gösteriyor. Daha az smooth daha fazla fit‘e sebep oluyor ve hesaplanan f eldeki veriye daha net bir şekilde uyuyor. Bu istenmeyen bir durum aslında çünkü eldeki veriye mümkün olduğunca yakın bir hesaplama yaptığımız için yeni bir veri üzerinde hesaplamamız o kadar da net sonuçlar vermeyebilir! Genellikle f’i training veri setini kullanarak hesaplamaya çalıştığımızdan hesapladığımız 6 fonksiyonu training veri setindeki verilere en çok uyacak şekilde hesaplanacaktır ve bu da 6 fonksiyonunun test veri setinde (yani yeni veri setinde) hatalı tahminler yapmasına sebep olacaktır.

14

Tahminlemenin Kesinliği ile Modelin Yorumlanabilirliği Arasındaki Dengeyi Doğru Belirleme

f’i hesaplamak için kullanılan bazı metotlar, f‘i hesaplamada daha az farklı şekil oluşturduklarından, daha az esnek (less flexible) tirler. Örneğin linear regression göreceli olarak daha az esnek bir metottur çünkü sadece doğrusal fonksiyonlar üretebilir. Thin plate splines gibi metotlar ise daha fazla esnektir çünkü f‘i hesaplamada daha çok sayıda farklı şekil oluşturabilirler.

Peki esnek modeller f’i daha iyi hesaplayabiliyorsa neden esnek olmayan modelleri kullanıyoruz ? Bunun birkaç sebebi var. Eğer amacımız çıkarsama (inference) ise, daha az esnek (inflexible, restrictive) modeller daha kolay yorumlanabildiğinden tercih sebebimiz olabilir. Eğer ana amacımız tahminleme (prediction) yapmak ise, o zaman daha esnek bir modeli tercih edebiliriz. Ancak bazen esnek olmayan modeller daha kesin tahminlemeler yapabilir! Çünkü daha esnek modeller potansiyel olarak overfitting problemine sebep olabilirler.

Gözetimli (Supervised) vs. Gözetimsiz (Unsupervised) Öğrenme

Çoğu istatistiksel öğrenme problemi iki kategoriye ayrılır: gözetimli (supervised) ve gözetimsiz (unsupervised).

Gözetimli öğrenmede, output değişkenimiz(Y) belirlidir ve input değişkenleriyle bu Y output değişkeni arasında bir ilişki bulmaya çalışırız. Y output değişkeni öğrenme işleminde bize yol gösterir (supervising). Linear regression, logistic regression, generalized additive models, boosting ve support vector machines(SVM) gözetimli öğrenme kategorisinde yer alır.

Ancak gözetimsiz öğrenme daha zorlu bir süreçtir. Bu durumda Y output değişkeni yoktur. Dolayısıyla öğrenme sırasında modele yol gösterecek bir değişken yoktur. Clustering gözetimsiz öğrenme kategorinde yer alır. Aşağıdaki grafik bir clustering grafiğini gösteriyor. Eldeki verilere dayanarak bir entity’nin hangi kategoriye gireceğini tahmin etmeye çalışıyoruz. Aşağıdaki üçgen, artı ve daire farklı grupları gösteriyor.15

Bütün bu metotları ileriki yazılarda ayrıntılı olarak işleyeceğiz.

Regresyon (Regression) vs. Sınıflandırma (Classification) Problemleri

Değişkenler niceliksel (quantitative) ve niteliksel (qualitative) olmak üzere iki ana grupta toplanabilir. Output değişkenimiz niceliksel bir değişkense problemimiz regresyon problemi, niteliksel bir değişkense sınıflandırma problemi olarak adlandırılır.

Kaynaklar:

  • Data Mining and Analysis: Fundamental Concepts and Algorithms
  • An Introduction to Statistical Learning: with Applications in R

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s