Anomali Tespiti 4.Bölüm (Dengesiz Veri Setlerinde Anomali Tespiti)

Halil İbrahim Hatun
5 min readAug 17, 2022

--

Merhabalar, dengesiz veri setlerinde anomali tespiti içerisinde kullanacağımız algoritmalar çoklu anomali tespiti algoritmalarında dengesiz veri setleri için kullanılanlardır.

Elimizde bir dengesiz veri seti olduğunu düşünelim. Bu veri setindeki anomali tespitini nasıl gerçekleştirebiliriz. Birlikte bakalım.

One Class SVM

Başlangıçta ikili sınıflandırma için seçilmiş bir algoritmadır. Fakat tekli sınıflandırma için de kullanılabilir. One Class SVM’in çalışma mantığı ise algoritmanın yoğunluk taraflarını algılaması ve dışındaki yerlere anomali demesi üzerinedir. Ne kadar dışındakileri seçeceği ise bizim verdiğimiz ‘nu’ parametresine bağlıdır. Standart SVM den farkı gözetimsiz tarafında kullanılmasıdır. Bu kısımda standart SVM’deki ‘C’ parametresi yerine bahsettiğimiz gibi hassasiyet ayarlayan ‘nu’ parametresi vardır.

Şimdi de bir örnek yaparak One Class SVM’i inceleyelim.

Sentetik dengesiz bir veri seti oluşturalım ve bunun üzerinden işlemlerimize başlayalım.

Verimizi oluşturduk şimdi de hedef değişkenin dağılımına bakalım.

Dağılımdan da göreceğimiz üzere dengesiz bir verisetidir.

One Class SVM öğrenebilmesi için target değişkeninin değerlerini -1 ve 1 yapalım

Ayırma işlemini yapalım ve ardından One Class SVM uygulayalım ve sonrasında görselleştirelim.

Test verilerini ayrı bir dataframe’e alarak görselleştirme işlemlerini gerçekleştirelim.

Görselleştirmede boyut düşürmemiz gerekiyor. Bunun için PCA kullanarak görselleştirme yapalım.

3 Boyutta Görselleştirerek incelememizi gerçekleştirelim

Aynısını 2 boyut için de yapalım.

Görsellerden de görüldüğü üzere One Class SVM ile verimizde nasıl anomali tespitinin yapıldığını görmüş olduk.

Minimum Covariance Determinant (MCD)

Anomali diyince aklımıza temel olarak yoğunluğun az bölge gelmektedir. Eliptik olarak dağıtılmış (örneğin Gauss) veriler için, Mahalanobis’in her noktadan ortalamaya olan mesafesini hesaplayarak ve anomalileri, belirli bir eşiğin üzerinde mesafeye sahip noktalar olarak tanımlayarak yapılabilir. Mahalanobis mesafesi, noktanın bir boyuta uzaklığıdır.Bu yüzden bu mesafe ölçmek için dağılım parametrelerini (ortalama ve kovaryans matrisi) bilmemiz gerekir. Bunlar bilinmediğinden, verilerden tahmin edilmelidir.

Burada bir sorun ortaya çıkar, çünkü verilerdeki anormallikler, bu noktaların gerçekte olduğundan daha az anormal görünmesinin etkisiyle parametre tahminlerini bozabilir. Örneğin, uzak uç değerler, sıradan örnek ortalamasını kendilerine doğru çekecek ve sıradan örnek kovaryans matrisini yapay olarak şişirecektir. Hangi noktaların anormal olduğunu önceden bilseydik, parametreleri tahmin ederken bunları basitçe hariç tutabilirdik. Ancak bu bilgi çoğu zaman mevcut değildir.

MCD, anomalilerin etkisini en aza indirmeye çalışan bir şekilde ortalama ve kovaryans matrisini tahmin etmeye yönelik bir yöntemdir. Buradaki fikir, anormallikler içermeyecek şekilde seçilen bir veri alt kümesinden bu parametreleri tahmin etmektir.

Determinantı en aza indirmenin ardındaki fikir, kovaryans matrisinin determinantının dağılımın ne kadar geniş olduğunu ölçmesidir. Bu nedenle MCD, verilerin en sıkı şekilde dağıtılan alt kümesini seçer. Bu, verilerin geri kalanından daha uzakta olması muhtemel anormallikleri hariç tutmak içindir.

Şimdi ise MCD yöntemini uygulayarak görelim.

Aynı veri seti üzerinden işlem gerçekleştirelim.

MCD işlemini uygulayalım.

Yüzde doksanlık bir başarı durumumuz mevcut. Güzel bir skor bakalım görsellerde MCD nasıl anomali tespiti yapmış. PCA uygulayarak görselleştirelim.

PCA oranları güzel görünüyor.

2 boyutta da incelememizi gerçekleştirelim.

Yazım bu kadardı. Okuduğunuz için çok teşekkür ediyorum. Umarım faydalı olmuştur.

Kaynak kodlarına buradan ulaşabilirsiniz.

Referanslar

--

--