Makine öğrenmesi, bir bilgisayar programının veri setlerini analiz etmesi ve bu verilerden öğrenme yapması işlemidir. Bu öğrenme, programın daha sonra yeni verileri yorumlamasına ve öngörülebilir sonuçlar üretmesine olanak tanır.
Makine öğrenmesi, yapay zeka alanının bir alt dalıdır. Bilgisayar programlarının öğrenme süreci, insanların doğal olarak yaptığı öğrenme sürecine benzer. Programlar, veri setleriyle beslenir ve bu verileri analiz eder. Bu analiz sonucunda programlar, veri setindeki belirli özellikleri tanımlayabilir ve bu özellikleri kullanarak sonuçları tahmin edebilir.
Makine öğrenmesinde temel kavramlar:
- Değişken Türleri(Variable Varieties)
- Öğrenme Türleri(Studying Varieties)
- Drawback Türleri(Drawback Varieties)
- Mannequin Başarı Değerlendirme Yöntemleri
- Mannequin Doğrulama Yöntemleri(Mannequin Validation)
- Yanlılık-Varyans Değiş Tokuş(Bias-Variance Tradeoff)
Makine öğrenmesinde en yaygın kullanılan değişken türleri şunlardır:
- Sayısal değişkenler
- Kategorik değişkenler
- Bağımlı ve Bağımsız Değişkenler
Sayısal Değişkenler
Sayısal değişkenler iki türe ayrılır:
1.Ratio (oran): Ratio değişkenleri, sayısal değişkenlerin bir alt kümesidir ve gerçek sayılarla ifade edilirler. Ancak, sıfırın mutlak bir anlamı vardır ve bu tür değişkenler orantılı ölçeklere sahiptirler. Örneğin, bir kişinin geliri veya bir ürünün fiyatı ratio değişkenlerdir. Bu değişkenlerin özellikleri şunlardır:
- Gerçek sayılarla ifade edilirler.
- Sıfırın mutlak bir anlamı vardır.
- Orantılı ölçeklere sahiptirler.
- Matematiksel işlemlerle işlenebilirler.
- Ölçeklendirme yöntemleri kullanılarak normalize edilebilir veya standartlaştırılabilirler.
2.Interval (aralık): Interval değişkenleri, sayısal değişkenlerin bir alt kümesidir ve gerçek sayılarla ifade edilirler. Ancak, sıfırın mutlak bir anlamı yoktur ve bu tür değişkenler orantısız ölçeklere sahiptirler. Örneğin, bir sıcaklık ölçeği veya bir saatin zamanı interval değişkenlerdir. Bu değişkenlerin özellikleri şunlardır:
- Gerçek sayılarla ifade edilirler.
- Sıfırın mutlak bir anlamı yoktur.
- Orantısız ölçeklere sahiptirler.
- Matematiksel işlemlerle işlenebilirler.
- Ölçeklendirme yöntemleri kullanılarak normalize edilemez veya standartlaştırılamazlar.
Kategorik Değişkenler
Kategorik değişkenler, niteliksel verileri temsil eden değişkenlerdir. Bu değişkenler, sayısal olarak ifade edilemez ve sınırlı sayıda seçenek içerirler. Örneğin, cinsiyet, medeni durum, eğitim düzeyi, meslek, renk, ülke gibi özellikler kategorik değişkenlerdir.
Kategorik değişkenlerin özellikleri şunlardır:
- Sınırlı sayıda seçenek içerirler.
- Sayısal olarak ifade edilemezler.
- Nominal veya ordinal ölçeklere sahiptirler.
- Sıralama veya aritmetik işlemler yapılamaz.
- Çoğunlukla metinsel verilerle ifade edilirler.
- Önemli bir veri analizi aşamasıdır.
Kategorik değişkenler, makine öğrenmesi modellerinde önemli bir rol oynar. Bu değişkenlerin doğru bir şekilde işlenmesi ve modele dahil edilmesi, modelin doğruluğunu ve performansını etkileyebilir. One-hot encoding, label encoding gibi teknikler kullanılarak kategorik değişkenler sayısal değişkenlere dönüştürülerek modelleme aşamasında kullanılabilirler.
Nominal Ölçek: Nominal ölçek, kategorik değişkenlerin bir alt kümesidir ve sınıflandırılmış verileri ifade eder. Bu ölçekte, sınıflar arasında herhangi bir sayısal ilişki yoktur ve sınıflar arasında yalnızca farklılıklar vardır. Örneğin, cinsiyet, etnik köken, ülke gibi özellikler nominal ölçektedir.
Nominal ölçeğin özellikleri şunlardır:
- Sınıflar arasında hiçbir sayısal ilişki yoktur.
- Sınıflar arasında yalnızca farklılıklar vardır.
- Sıralama veya aritmetik işlemler yapılamaz.
- Veriler metinsel olarak ifade edilir.
- Kategorik değişkenlerin en basit hali olarak kullanılır.
- Sınıflar eşit ölçekli değillerdir.
Ordinal Ölçek: Ordinal ölçek, kategorik değişkenlerin bir alt kümesidir ve sınıflandırılmış verileri ifade eder. Bu ölçekte, sınıflar arasında sayısal bir ilişki vardır ve sınıfların birbirleriyle olan ilişkisi sıralıdır. Örneğin, eğitim seviyesi, gelir düzeyi, sosyoekonomik statü gibi özellikler ordinal ölçektedir.
Ordinal ölçeğin özellikleri şunlardır:
- Sınıflar arasında sayısal bir ilişki vardır.
- Sınıfların birbirleriyle olan ilişkisi sıralıdır.
- Sıralama yapılabilir ancak aritmetik işlemler yapılamaz.
- Veriler metinsel veya sayısal olarak ifade edilebilir.
- Kategorik değişkenler arasında en yaygın olarak kullanılan ölçektir.
Bağımlı ve bağımsız değişkenler, istatistiksel analizlerde, araştırmalarda, deneylerde ve makine öğrenmesi modellerinde kullanılan terimlerdir.
Bağımlı değişken: Bağımlı değişken, bir araştırmanın, analizin ya da deneyin sonucunu etkileyen değişkendir. Bağımlı değişken, bir hipotezin doğruluğunu take a look at etmek veya bir sonuca ulaşmak için ölçülen, gözlemlenen veya incelenen değişkendir. Bağımlı değişkenin değeri, bağımsız değişkenlerin değerlerine bağlıdır ve bağımsız değişkenlerin değişmesiyle birlikte değişir. Örneğin, bir araştırmada öğrencilerin not ortalaması bağımlı değişken olabilir.
Bağımsız değişken: Bağımsız değişken, bir araştırmada, analizde veya deneyde bağımlı değişkeni etkileyen değişkendir. Bağımsız değişken, bağımlı değişkenin değişmesine neden olabilecek veya bağımlı değişkeni etkileyebilecek faktördür. Örneğin, bir araştırmada öğrencilerin not ortalaması bağımlı değişken iken, öğrencilerin cinsiyeti, yaşları, sınıf seviyeleri, ders çalışma saatleri gibi özellikler bağımsız değişkenler olabilir.
Yukarıda Titanic veri setinden bir .head() kodunun çıktısını görüyorsunuz. “Survived” değişkeni bağımlı değişken olup geri kalan değişkenler ise, bu bağımlı değişkenin çıktısını tahmin etmek için kullanılacak olan bağımsız değişlenlerdir.
Makine öğrenmesi alanında, üç farklı öğrenme türü bulunmaktadır:
- Gözetimli Öğrenme (Supervised Studying): Gözetimli öğrenme, etiketli veri setlerini kullanarak bir modelin eğitildiği öğrenme türüdür. Etiketli veri setleri, her veri noktasının bir hedef değişkeni veya sınıf etiketi ile eşleştirildiği verilerdir. Bu öğrenme türü, örneğin, bir resimdeki nesneleri tanımlama veya bir e-postayı spam veya spam olmayan olarak sınıflandırma gibi problemlerde kullanılır.
- Gözetimsiz Öğrenme (Unsupervised Studying): Gözetimsiz öğrenme, etiketsiz veriler üzerinde yapılan bir öğrenme türüdür. Etiketsiz verilerde, her veri noktası için bir hedef değişken veya sınıf etiketi yoktur. Gözetimsiz öğrenme, örneğin, bir veri kümesindeki kalıpları veya grupları ortaya çıkarmak için kullanılır.
- Pekiştirmeli Öğrenme (Reinforcement Studying): Pekiştirmeli öğrenme, bir modelin bir karar ağacı takip ederek bir problemi çözmesine izin veren bir öğrenme türüdür. Bu öğrenme türünde, mannequin bir aksiyon alır ve çevrenin verdiği bir ödül veya ceza ile sonuçlanır. Mannequin, belirli bir ödülü maksimize etmek için eylemler alarak öğrenir. Bu öğrenme türü, örneğin, bir oyunu oynama veya bir robota yürüme öğretme gibi problemlerde kullanılır.
Bu üç öğrenme türü, farklı problemler için farklı yaklaşımlar gerektirir ve farklı veri setleri ile çalışır. Doğru öğrenme türünün seçimi, başarılı bir makine öğrenmesi modeli oluşturmak için kritik bir öneme sahiptir.
Makine öğrenmesi modellerinin başarısını değerlendirmek için birçok yöntem vardır. Bu yöntemler, modelin performansını ölçmek ve geliştirmek için kullanılır
Sayısal Bağımlı Değişken için Yöntemler:
Ortalama Kare Hatası (Imply Squared Error (MSE)): MSE (Imply Squared Error), bir makine öğrenmesi modelinin tahminlerinin gerçek değerlerden ne kadar uzak olduğunu ölçmek için kullanılan bir hata metriğidir. MSE, gerçek ve tahmin edilen değerler arasındaki farkların kareleri toplamının, örnek sayısına bölünmesiyle elde edilir.
Burada,
- n: örnek sayısı
- yi: gerçek değer
- ŷi: tahmin edilen değer
MSE, birçok makine öğrenmesi modeli için kullanılan bir hata metriği olarak yaygın şekilde kullanılır. MSE değeri ne kadar düşük olursa, modelin tahminleri gerçek değerlere o kadar yakındır.
Ortalama Mutlak Hata (Imply Absolute Error (MAE)): MAE (Imply Absolute Error), bir makine öğrenmesi modelinin tahminlerinin gerçek değerlerden ne kadar uzak olduğunu ölçmek için kullanılan bir hata metriğidir. MAE, gerçek ve tahmin edilen değerler arasındaki mutlak farkların toplamının, örnek sayısına bölünmesiyle elde edilir.
Burada,
- n: örnek sayısı
- yj: gerçek değer
- ŷj: tahmin edilen değer
MAE, MSE gibi birçok makine öğrenmesi modeli için kullanılan bir hata metriği olarak yaygın şekilde kullanılır. MSE’ye göre daha az duyarlı olduğu bilinir ve özellikle aykırı değerlerin olduğu verilerde daha iyi sonuçlar verir. MAE değeri ne kadar düşük olursa, modelin tahminleri gerçek değerlere o kadar yakındır.
R-Kare Skor(R2 rating): R2 rating, bir makine öğrenmesi modelinin performansını ölçmek için kullanılan bir hata metriği veya skorlama yöntemidir. R2 rating, ayrıca “determinasyon katsayısı” olarak da bilinir.
R2 rating, gerçek ve tahmin edilen değerler arasındaki değişkenliği açıklama oranını ölçer. R2 rating değeri, 0 ile 1 arasında değişir ve 1’e ne kadar yakınsa, modelin tahminleri gerçek değerlere o kadar yakındır.
R2 rating, aşağıdaki formülle hesaplanır:
Burada,
- SS_res: hata kareler toplamı (sum of squared residuals)
- SS_tot: toplam kareler toplamı (sum of squared whole)
SS_res, gerçek değerlerle tahmin edilen değerler arasındaki farkların karelerinin toplamını ifade eder. SS_tot, gerçek değerlerin ortalamasından sapmaların karelerinin toplamını ifade eder.
R2 rating, birçok makine öğrenmesi modeli için kullanılan bir performans ölçütüdür. R2 rating değeri ne kadar yüksek olursa, modelin performansı o kadar iyi olarak değerlendirilir.
Kategorik Bağımlı Değişken için Yöntemler:
Confusion Matrix:
Bağımlı değişken kategorik olduğunda, modelin sınıfları doğru bir şekilde tahmin edip etmediğini anlamak için kullanılan bir yöntemdir. Confusion matrix, TP (true optimistic), TN (true detrimental), FP (false optimistic) ve FN (false detrimental) değerlerini hesaplayarak modelin performansını ölçer.
- TP(True-Optimistic): Sonuç 1 tahmin edilen değer 1
- FN(False-Adverse): Sonuç 1 tahmin edilen değer 0 (tip 2 hata)
- FP(False-Optimistic): Sonuç 0 tahmin edilen değer 1 (tip 1 hata)
- TN(True-Adverse): Sonuç 0 tahmin edilen değer 0
Burada hesaplanan önemli metrikler bulunmakta. Bu metrikler;
Accuracy: Accuracy, doğru sınıflandırılmış gözlemlerin toplam gözlem sayısına oranını ifade eder. Bu ölçüt, sınıfların dağılımı dengeli olduğunda kullanışlıdır.
Precision: Precision, gerçek pozitiflerin toplam pozitif tahminlere oranını ifade eder. Bu ölçüt, yanlış pozitif tahminlerin önemli olduğu durumlarda kullanışlıdır.
Recall: Recall, gerçek pozitiflerin toplam pozitif gözlemlere oranını ifade eder. Bu ölçüt, yanlış negatiflerin önemli olduğu durumlarda kullanışlıdır.
F1 Rating: F1 rating, precision ve recall değerlerinin harmonik ortalamasını ifade eder. Bu ölçüt, precision ve recall değerlerinin eşit derecede önemli olduğu durumlarda kullanışlıdır.
Mannequin doğrulama yöntemleri, bir makine öğrenmesi modelinin performansını ölçmek ve değerlendirmek için kullanılan farklı tekniklerdir. Bu yöntemler, modelin gerçek dünya verilerinde ne kadar doğru çalıştığını belirlemeye yardımcı olur. Bazı yaygın mannequin doğrulama yöntemleri şunlardır:
Holdout Validation: Holdout Validation, mannequin doğrulama yöntemleri arasında en basit ve en yaygın kullanılan yöntemlerden biridir. Bu yöntem, veri setinin bir bölümünü eğitim için kullanırken diğer bölümünü take a look at etmek için ayırmayı içerir.
Bu yöntemde, veri seti genellikle rastgele ikiye bölünür: bir eğitim seti ve bir take a look at seti. Eğitim seti, modelin öğrenmek için kullandığı verilerdir ve take a look at seti, modelin performansını değerlendirmek için kullanılan verilerdir.
Holdout Validation yöntemi, hızlı ve kolay bir doğrulama yöntemi olmasına rağmen, veri setinin boyutu küçük olduğunda ve veri setinin dengesiz olduğu durumlarda doğru sonuçlar vermeyebilir. Bu nedenle, bu yöntem yerine daha gelişmiş doğrulama yöntemleri kullanılabilir.
Okay-Fold Cross Validation: Okay-Fold Cross Validation, mannequin doğrulama yöntemleri arasında yaygın olarak kullanılan bir yöntemdir. Bu yöntem, veri setini k-belirtilen sayıda parçaya böler ve bunları dönüşümlü olarak eğitim ve take a look at verileri olarak kullanır.
Okay-Fold Cross Validation, veri setinin bütününün tek seferde take a look at edilmesine olanak sağlar. Bu yöntem, veri setindeki her bir örneği en az bir kere take a look at etmenin yanı sıra modelin genel performansını doğru bir şekilde ölçmek için kullanılır.
Okay-Fold Cross Validation, aşağıdaki adımları içerir:
- Veri setini k-belirtilen sayıda parçaya bölmek.
- Her bir parça sırayla take a look at verisi olarak kullanılır ve geri kalan parçalar eğitim verisi olarak kullanılır.
- Bu işlem, her bir parça kere take a look at verisi olarak kullanıldığında tamamlanmış olur.
- Elde edilen sonuçlar ortalamaları alınarak, modelin performansı değerlendirilir.
Okay-Fold Cross Validation, Holdout Validation yöntemine göre daha güvenilir bir sonuç verir ve overfitting (aşırı uyum) sorununu önler. Ancak, bu yöntem daha yavaş çalışır ve daha fazla hesaplama gücü gerektirir.
Yanlılık-varyans değiş tokuşu (Bias-variance tradeoff), makine öğrenmesinde bir modelin performansının artırılması için önemli bir kavramdır. Bu kavram, bir modelin yanlılık (bias) ve varyans (variance) arasındaki dengeyi nasıl kurduğunu açıklar.
Yanlılık(Bias): Yanlılık, bir modelin beklenen tahmin değerinin, gerçek değerden ne kadar uzak olduğunu ifade eder. Yanlı bir mannequin, verileri yeterince iyi modelleyemez ve hatalı tahminler yapar. Bu, modelin öğrenme sürecinde önemli bilgileri atladığı anlamına gelir.
Varyans: Varyans, bir modelin farklı eğitim veri setleri üzerinde farklı sonuçlar üretme olasılığıdır. Yüksek varyanslı bir mannequin, eğitim verilerine aşırı uyum sağlayabilir ve yeni veriler üzerinde kötü sonuçlar verebilir
Yanlılık-varyans değiş tokuşu, bir modelin yanlılık ve varyans arasındaki dengeyi nasıl kuracağını belirler. İdeal bir mannequin, hem düşük yanlılık hem de düşük varyansa sahip olmalıdır. Ancak, yanlılık azaldıkça varyans artar ve tam tersi de geçerlidir. Bu nedenle, bir modelin yanlılığı ve varyansı arasındaki dengeyi bulmak önemlidir.
Bir modelin yanlılık ve varyansını azaltmak için, veri setinin büyüklüğü artırılabilir, modelin karmaşıklığı azaltılabilir, veri önişleme teknikleri kullanılabilir veya farklı modelleme teknikleri denenebilir. Amacımız, yanlılık ve varyans arasında bir denge bulmak ve modelin genel performansını iyileştirmektir.