ML
Machine Learning
Last updated
Machine Learning
Last updated
Verileri insan müdahalesi olmaksızın analiz edebilen, tükettikleri verilere göre öğrenen ve en iyi tahminleri yapmayı amaçlayan ya da performansı iyileştiren sistemler oluşturmaya odaklanan bir algoritma kategorisidir. Machine learning yapay zeka degildir, yapay zekanın (AI) alt kümesidir.
bilgisayarların verilerden bir şeyler anlamasını ve yapay zeka uygulamaları sunmasını sağlayan tekniklerden oluşur.
Istatistiksel yöntemler kullanarak eldeki verilerden öğrenebilen sistem oluşturmak demektir.
Bu problem için kullanılan en basit metodlardan olan Basit Doğrusal Regresyonu uyguladığımızda size y = ax + b gibi bir fonksiyon verir. Bu fonsiyona göre bir eğri çizilir, bu eğrinin üstünde kalan değerleri örneğin 'Erkek' altında kalan değerleri 'Kadın' olarak tahmin eder.
Her Machine Learning algoritmasının farklı bir metodolojisi vardır ve en iyi sonuça ulaşmaya çalışır.
Verileriniz arasındaki iliskileri buluyor ve kullandığınız algoritmanın metodolojisine göre sınıflandırma veya sayı tahmini yapıyor.
Regresyon, bir bağımlı değişken ile diğer bağımsız değişkenler arasındaki ilişkinin bulmaya çalışan bir analiz metodudur.
Bundan kastımız y = bx+a veya y = ax1 + bx2+c gibi matematiksel model ile ilişkinin ifade edilmesidir. Eşitliğin solundaki 'y' bağımlı değişken ve eşitliğin sağındaki X, X1 ve X2 gibi değişkenlerde bağımsız değişken olarak tanımlanır.
Regresyon analizini ne için kullanırız?. İlişkileri ifade eden bu matematiksel model sayesinde o konu ile ilgili tahminler yapmak için kullanırız. Yani sebeb (X, bağımsız değişken) sonuç ( Y, bağımsız değişken) ilişkisi bulunur. Dolayısıyla değişkenler arasında sebeb sonuç ilişkisi olması gerekiyor.
Örneğin reklam harcamaları ve satışlar , öğrencilerin çalışma miktarları ve sınav sonuçları, bir malın fiyatı ve talep miktarları arasındaki ilişkileri öğrenmek istediğinizde regresyon modellerini kullanabilirsiniz.
Gelir seviyenizdeki herhangi bir artış doğal olarak harcama miktarınızda bir artışa sebep olacaktır. Dolayısıyla gelir seviyesi ve harcama miktarı arasında bir regresyon analizinden bahsedebiliriz.
Tarihsel bilgi : Regresyon yönteminin ilk şekli en küçük kareler prensibidir (yıl 1805)
Regresyon terimi 19. yüzyılda aile içinde baba ve annenin boyu ile çocukların boyu arasındaki ilişkiyi araştıran bir bilimsel çalışmada ortaya çıkmıştır.
Regresyon problemlerinin farklı türde regresyon modelleri ile çözebiliriz. Bu derste bahsedeceğimiz modeller aşağıda görüldüğü gibidir.
Dogrusal Regresyon Modelleri
Modelin tanimi, formulizasyonu, algoritma altyapisi
Avantajlari ve dezavantajlari
Linear Regession
Multiple Linear Regression
Ridge and Lasso Regression
Elastic Net Regression Regression
Linear (Doğrusal) regresyon istatistiksel veri analizinde sıkça kullanılan bir yöntemdir. Lineer regresyonda doğrusal ve sürekli değişkenler olması gerekir. Son yıllarda popüler olan makine öğrenmesi açısından ise birçok kaynakta giriş konusudur. Dolayısıyla bu konunun iyi kavranması makine öğrenmesi konusunda kendisini geliştirmek isteyenler için elzemdir.
Bir veri setinden Basit Dogrusal Regresyon modelini uygulayarak verim alabilmek icin. Verilerin grafik dağılımının aşağıdaki örneğe benzer olması gerekmektedir. Lineer Regresyon Yani Tahmin etmeye çalıştığımız Y değişkeni ile tahminleyici değişkenlerimiz X1,X2,…,Xn arasında doğrusal bir ilişki olduğunu var sayar.
Doğrusal regresyon, verilerimiz arasındaki ilişkiyi temsil edebilecek en uygun düz çizgiyi bulmaya çalışır. Yukarıdaki grafikte kırmızı çizgi en uygun düz çizgi olarak adlandırılır.
Peki basit doğrusal regresyon bunu nasıl yapar. Eğer hata teriminin normal dağıldığı yönünde bir varsayımınız varsa En Büyük Olabilirlik (maximum likelihood) tekniğide kullanılabilir. Bu konuda bir varsayım söz konusu değilse En Küçük Kareler Tekniği kullanılır. Ağırlıklı olarak bu tür problemlerde EKKT kullanılır. Bizde bu teknikten bahsedeceğiz.
y = bx + a dir.
Bu formülde y bağımlı değişken (yani x e bağlı olarak değişiyor) , x ise bağımsız değişkendir. b eğim (başka bir değişle ağırlık), a ise y nin x=0 olduğundaki değeridir.
Bunun dışında
b – regresyon katsayısı (regression coefficients/parameters)
a – regresyon sabiti olarakta tanımlanır.
Grafikteki değerlere göre tanımlayacak olursak fonksiyon y = 2/4 x + 15 olarak yazilir.
Bu terimlerden bahsettikten sonra EKK tekniğinin formülüzasyonuna bakalım
elimizde bir bağımlı ve bir bağımsız değişkene ait 3 adet veri olduğunu varsayalım
Amacımız elimizdeki bu üç veriden yola çıkarak bir tahmin modeli oluşturup herhangi bir x değeri için y değerini tahmin etmek. Bunun için grafiktede görüldüğü gibi koordinatlarımızı minimum hata ile temsil eden optimum regresyon doğrusunu çiziyoruz. Bulmamız gereken regresyon doğrusundaki y = bx + a formülündeki a ve b katsayılarıdır.
Tahmin doğrumuzdaki tahmin edilen y değerleri ile gerçek y değerleri arasıdaki farka hata veya artık (residual) diyoruz.
Bu hataları gösterecek olursak.
Ɛ1 = y1-yt1 Ɛ2 = y2-yt2
Ɛ3= y3-yt3
regresyon dogrusunu yt= bxi+a olarak yazabiliriz o zaman hata değerini aşağıdaki yazarız.
Ɛ1 = y1- (bx1+a)
Ɛ2 = y2- (bx2+a)
Ɛ3= y3- (bx3+a)
En küçük kareler yöntemi diyorki; regresyon doğrusunu öyle bir şekilde çizelim ki, tahmin edilen değerler ile gerçek y değerleri arasındaki farkların toplamı minimum olsun, yani hataların toplamını minimum yapacak regresyon (tahmin) fonksiyonunu bulmayı amaçlıyor.
Bu doğrultuda denklemimizi yazalım.
15 aylık bir bebeğin ağırlığını tahmin etmemiz istenmişti. Buna göre formülde yerine koyarsak
y = 0,61017 . 15 + 2,4067775 = 11,56 kg olarak bulunmuş olur.
Linear Regresyon ile ilgili kod bolumune alttaki "Basic Linear Regression" adli kaggle linkinden ulasabilirsiniz. Konu anlatımına ornek kodlarla devam edelim.
Bu modelde Basit doğrusal regresyonda olduğu gibi bağımlı ve bağımsız değişkenler arasındaki ilişkiyi ifade eden matematiksel fonksiyonu aynı şekilde bulmaktadır. İsminden de anlaşıldığı gibi burada bağımsız değişken birden fazladır. Örnek olarak ,bir önceki konuda incelediğimiz insan ağırlığının yaş ile ilişkisine birde boy bağımsız değişkenini eklediğimizde problemimiz çoklu doğrusal regresyon modeline dönüşür. Aynı şekilde hata karaler toplamını minimum yapacak şekilde matematiksel denklem kurulur.
Bu tip regresyon problemlerini çözerken sağlıklı bir sonuca ulaşmak için verilerimizi bazı varsayımlara göre incelememiz gerekmektedir. Bu varsayımların en küçük kareler yöntemi kullandığımızdan dolayı sağlanması gerekir.
Nedir bu varsayımlar ?
Normallik: Burda bakılması geren hataların normal dağılıma uymasıdır.
Bağımlı ve Bağımsız değişkenler arasındaki ilişki ; değişkenler arasındaki ilişkiye öncelikle korelasyon tablosundan bakılabilir.
Çoklu Doğrusallık ; Eğer bağımsız değişkenler arasında 0,7 veya 0,8 den fazla ilişki oranı varsa Çoklu doğrusallık vardır denilir ve teyit etmek için '''variance inflation factor'' yani bunun ilişkinin şiddetini gösteren VIF değerine bakılır ve bu değerin 1 e yakın olması istenir aksi durumda (5 veya 10 un üzerinde ise) değişken mühendisliği yaparak, mean-centering veya pls gibi modeller kullanılarak problem çözülmeye çalışılır.
Uç değerler ; Uç değerler yani outliers ların kontrol edilmesi gerekli. Bunuda en basit anlamda mean ve median değerleri karşılaştırılarak , daha detaylı ise Mahalanobis, Cook's , leverage values teknikleri kullanılılarak yapılabilir.
Sabit varyans (eş varyanslılık, homoskedastisity) : değerlerimiz sabit varyanslı olmalı, bundan kasıt bağımsız değişkenlerin değerleri arttıkça varyansda o oranda artmamalı.
Otokorelasyon olmaması : Ardışık hata değerlerinin arasında bir ilişki olması durumudur. Burdan kasıt farklı bağımsız değişkenler arasındaki ilişki değildir. Modele dahil edilmesi gereken bazı değişkenlerin dahil edilmemesi, Modelin matematiksel biçiminin yanlış seçilmesi, bağımlı değişkende ölçüm hatası olması, verilerin yanlış işlenmesi durumlarından kaynaklanabilir. Otokorelasyon olması durumundan R2 değeri olduğundan yüksek elde edilebilir ama değişkenlerin katsayısı anlamsızdır, buna sahte regresyonda denilir. Durbin-Watson testi, Wallis testi, Breusch-Godfrey testi gibi testler ile test edilebilir.
Xi ’ler bağımsız değişkenleri ve Y de bağımlı değişkeni göstermek üzere en genel çoklu regresyon denklemi;
Y = a0 +a1 X1 +a2 X2 +…+ak Xk +ei
Y = a0 +Σar Xr +ei
Çoklu regresyon modelleri de EKK kullanılarak çözülebilir. Tekli regresyonda olduğu gibi tahmini denklem kurularak diğer hesaplamalar yapılır.
Modelimizi kurmaya başlayalım.
Bunun için seçtiğimiz veri seti : Yaygın olarak satılan bazı balık türlerinin bilgilerini barindiran "Fish Market" veri setidir. Dataya alttaki ''Fish Market" adli kaggle linkinden ulaşılabilir.
Multiple Regresyon ile ilgili kod bolumune alttaki "Multiple Linear Regression" adli kaggle linkinden ulasabilirsiniz. Konu anlatımına ornek kodlarla devam edelim.
Çoklu regresyon analizinde doğrusal bağıntı problemi En Küçük Kareler(EKK) tekniğiyle regresyon parametrelerinin tahmininde güvenilir olmayan sonuçlar verir. Diğer taraftan veri kümesinin aykırı değerler içermesi EKK tahmin edicisinin en iyi, yansız, tutarlı olma özelliğini yitirmesine neden olur. Bu iki problemin aynı veri kümesinde yer alması durumunda sağlam tahmin ediciler üzerinde temellenen yanlı teknikler kullanılması önerilir.
Bu problemlerin dışında aşırı öğrenme (over-fitting) problemini nasıl çözebiliriz?
Değişkenleri Azalt
Daha fazla veri eklemek
Erken Durdurma
Düzenlileştirme(Regularization)
Ridge Regresyonu ve Lasso Regresyonu düzenlileştirme(Regularization) ile kayıp fonksiyonunu cezalandırarak aşırı öğrenme problemine bir çözüm sunar. Ridge Regresyonu ve Lasso Regresyonu düzenlileştirme çözümlerinin aralarındaki fark cezalandırma derecesidir. Ridge Regresyonu önemsiz değişkenin kat sayısını azaltır ama yinede tüm değişkenleri kullanır, Lasso ise değişken kat sayısını tamamen sıfır yaptığı için sadece belli değişkenleri seçmiş olur.
Ridge Regresyonu (Önemsiz değişkenlerin kat sayılarını küçült.)
Lasso Regresyonu (Önemsiz değişkenlerin kat sayılarını 0 yap.)
Elastic Net (Değişken seçimi ve kat sayı küçültmesi arasında denge)
Ridge regresyonunda amaç hata kareler toplamını minimize eden katsayıları, bu katsayılara bir ceza uygulayarak bulmaktır. Over-fittinge karşı dirençlidir. Çok boyutluluğa çözüm sunar. Tüm değişkenler ile model kurar, ilgisiz değişkenleri çıkarmaz sadece katsayılarını sıfıra yaklaştırır. Modeli kurarken alpha (ceza) için iyi bir değer bulmak gerekir.
Ridge Regression Formulu
β̂ridge=(X′X+λI)−1(X′Y)
Objective = RSS + α * (sum of square of coefficients)
Ridge Regresyonunun Özellikleri
Ridge Regresyonunda verilen tüm değişkenler ayarlanır. Ancak düşük ilişkiye sahip değişkenleri modelden çıkarmaz, bu değişkenlerin katsayılarını sıfıra yaklaştırır.
Aşırı öğrenmeye karşı dirençlidir.
Önyargılıdır ancak düşük bir varyansa sahiptir.
Çok fazla parametre olduğunda En Küçük Kareler yönteminden daha iyidir.
Çok boyutluluğa karşı bir çözüm sunar. Buradaki problem, değişken sayısının gözlem sayısından fazla olmasıdır. Buna karşı bir çözüm sunuyor.
Çoklu lineer bağlantı probleminde etkilidir. Buradaki sorun, bağımsız değişkenler arasında yüksek bir korelasyon olmasıdır.
λ için optimum bir değer bulmak önemlidir. Bunun için Çapraz Doğrulama kullanılır.
Ridge Regresyon ile ilgili kod bolümüne alttaki "Ridge Regression" adli kaggle linkinden ulaşabilirsiniz. Konu anlatımına ornek kodlarla devam edelim.
Ridge regresyonu ile hemen hemen aynı şekilde çalışır, aralarındaki fark Lasso regresyonunun uyguladığı ceza işlemi ile değişken katsayılarını '0' (sıfır) yapabilmesidir. Bu ceza, bazı katsayı değerlerinin sıfır değerine gitmesine izin vererek, bir tür otomatik özellik seçimi sağlayarak girdi değişkenlerinin modelden etkin bir şekilde çıkarılmasına izin verir.
Formul :
Formülümüz hata karaler toplamını minimize eden formüle ceza bölümü eklenerek oluşturulur, Ridge regresyonundan farkı burda ceza bölümünün karesi yerine mutlak değerinin alınmasıdır.
Bir ayar parametresi olan λ, L1 cezasının (L1 regulization) gücünü kontrol eder:
λ = 0 olduğunda, hiçbir parametre elimine edilmez. Tahmin, lineer regresyon ile bulunana eşittir.
λ arttıkça, daha fazla katsayı sıfıra ayarlanır ve elimine edilir (teorik olarak, λ = ∞ olduğunda, tüm katsayılar elimine edilir).
λ arttıkça yanlılık artar.
λ azaldıkça varyans artar.
Lasso Regresyon ile ilgili kod bolümüne alttaki "Lasso Regression" adli kaggle linkinden ulaşabilirsiniz. Konu anlatımına ornek kodlarla devam edelim.
Bu regresyon modeli de Rigde regresyonu ve Lasso regresyonunun bir karışımıdır. LASSO ve Ridge yöntemlerinin sırasıyla L1 ve L2 cezalarını doğrusal olarak birleştiren düzenli bir regresyon yöntemidir. Standart bir en küçük kareler modeli, bazı varyanslara sahip olma eğilimindedir, yani model, eğitim verilerinden farklı bir veri seti için iyi bir genelleme yapmayacaktır. regülizasyon, sapmasında önemli bir artış olmaksızın modelin varyansını önemli ölçüde azaltır. Bu şekilde overfitting e karşı daha dirençli bir model olur. ElastikNet regresyonunda Ridge ve Lasso ceza yöntemlerinin ağırlıklarını manuel olarak ayarlama imkanınız bulunmaktadır.
Formul :
ElasticNet Regresyon ile ilgili kod bolümüne alttaki "ElasticNet Regression" adli kaggle linkinden ulaşabilirsiniz. Konu anlatımına ornek kodlarla devam edelim.
Şimdiye kadar gördüğümüz regresyon modellerinde bağımlı değişken ile bağımsız değişkenler arasındaki ilişki doğrusaldı. Ancak gerçek hayatta bazı durumlarda değişkenler arası ilişki doğrusal olmayabilir. Böyle durumlarda ilişkiyi modellemek için doğrusal olmayan modeller kullanılabilir. Aşağıdaki bazı modellerin grafiklerinden bunu daha iyi anlayabiliriz.
Resim gelecek-1
Resim gelecek-2
Yukarıda da görüldüğü gibi doğrusal olmayan regresyon modellerinde parametre değerleri çok önemlidir. Bu parametre değerlerine göre regresyon eğrisinde ciddi değişiklik meydana gelir, bu da modelin başarısına ciddi katkıda bulunabilir. O zaman optimum parametre değerlerini bulma işlemide ayrı bir soru olarak karşımıza çıkmaktadır.
Bazı durumlarda veri setimizi bir doğru çizen fonksiyon yerine eğri çizen fonksiyon daha iyi temsil eder. Böyle durumlarda fonksiyonumuzun eğrisini kuadratik, kübik veya karekök fonksiyon (veya başka herhangi bir form) yaparak değiştirebiliriz. Böyle bir ilişkiyi açıklamaya çalışmanın bir yolu, bir polinom regresyon modelidir. Tek bir tahmini X için böyle bir model:
Burada h polinom derecesi olarak adlandırılır. Daha düşük dereceler için, ilişki belirli bir ada sahiptir (yani, h = 2’ye kuadratik, h = 3’e kübik, h = 4’e kuartik denir vb.)
Formül :
Yukarıdaki örnekteki gibi veri setinin ikinci dereceden bir polinoma uyduğunu varsayarsak formülümüz.
yi = b0 + b1x1 + b2 x22 + e olur.
yi = f(xi) + e olarakda yazılabilir.
e = yi – f(xi) olarak hata değeri hesaplanır.
En küçük kareler yöntemini uygularsak formülümüz aşağıdaki gibi olur.
Basit ve Çoklu doğrusal regresyonda olduğu gibi En Küçük Kareler Yöntemini ( least squares method) kullanarak optimum fonksiyonun katsayılarını hesaplarız. Bu hesabı detaylı olarak basit doğrusal regresyon bölümünde göstermiştik. Yinede detaylı teorik formülizasyon anlatımını için aşağıdaki linkteki videodan bilgi alabilirsiniz.