Boyut İndirgeme (Dimensionality Reduction) – 1

Birçok makine öğrenimi probleminde, verisetindeki herbir gözlem için yüzler, binler ve belki milyonlarca öznitelik bulunabilir. Bu kadar çok öznitelik olması hem oluşturulan modelin eğitimini yavaşlatmakta hem de iyi bir model oluşturmayı zorlaştırmaktadır.

Neyse ki, çoğu zaman, öznitelik sayısını “başedebileceğimiz” bir sayıya indirgeyebiliriz. Örneğin, MNIST verisetinde, resimlerin çerçevelerindeki pikseller neredeyse hep beyazdır, dolayısıyla bu pikselleri çok fazla veri kaybetmeden verisetimizden çıkarabiliriz. Başka bir örnek, birbirine komşu iki piksel arasında çoğu zaman bir korelasyon mevcuttur, bu iki pikseli tek bir pikselde birleştirebiliriz (örneğin, iki pikselin ortalamasını alarak).

Boyut indirgeme, ayrıca, veri görselleştirme (Data visualization) için de oldukça yararlıdır. Boyutu ikiye (ya da üçe) indirgemek, çok boyutlu bir verisetini görselleştirmeyi mümkün kılar.

The Curse of Dimensionality

Üç-boyut içerisinde yaşadığımızdan (Sicim kuramı(string theory) ile ilgilenmiyoruz!), sezgilerimiz, daha yüksek boyutları hayal etmekte başarısız kalmaktadır. 4B hiperküp (4D hypercube) bile hayal edilmesi zor iken, 1000-boyutlu bir uzayda 200-boyutlu bir bükülmüş elipsoidi hayal etmeyi deneyin!

Boyut indirgeme için iki farklı yaklaşımdan bahsedeceğiz; Projection ve Manifold Learning.

Projection

Çoğu problemde, eğitim verileri tüm boyutlara eş olarak dağılmamıştır. Bazı öznitelikler neredeyse sabitken(constant), bazıları da birbiriyle korelasyona sahip olabilir. Bunun bir sonucu olarak, eğitim verileri yüksek boyutlu bir uzayın daha düşük boyutlu bir altuzayında yer almaktadır.

 

dim2

 

Örnek olarak, yukarıdaki grafikte, eğitim verileri düzlem etrafında uzanmaktadır. Eğer bu noktaların düzleme olan izdüşümlerini alırsak, 3-boyutlu bir verisetini 2-boyuta indirgemiş oluruz:

dim3.png

Ancak, projection, boyut indirgemede her zaman iyi bir yaklaşım değildir.

dim4

Yukarıdaki verisetini göz önüne aldığımızda, noktaları bir düzleme izdüşürmek, verisetindeki noktaların birbirine karışmasına neden olacaktır. Ancak biz sağdaki gibi bir veriseti elde etmek istiyoruz.

dim5

Manifold Learning

2D manifold, kabaca daha yüksek boyutlu bir uzayda eğilebilen ve bükülebilen bir 2D şekildir denilebilir. Yukarıdaki grafikteki şeklimiz(swiss roll) bir 2D manifold’dur. Genel olarak, d-boyutlu bir manifold, n-boyutlu bir uzayda (d < n) d-boyutlu bir hiperdüzlem(hyperplane) belirler.

Birçok boyut indirgeme algoritması, verilerin uzandığı bir manifold modellemeye çalışır; bu da Manifold Learning olarak adlandırılır.

dim6.png

Boyut indirgeme her zaman iyi bir yaklaşım değildir.  Örneğin yukarıdaki grafikte, üstteki verisetinde boyut indirgeme sonucunda karar sınırı basit bir doğru şeklinde elde edilirken, alttaki verisetinde ise, 3-boyutta karar sınırı bir düzlem iken, veriyi 2-boyuta indirgemek bizi daha karmaşık bir sonuca götürmektedir.

Bir sonraki yazımızda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

 

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s