Hiperspektral görüntülerde PCA ile boyut indirme
PCA ( Temel bileşen analizi ) çok boyutlu veriyi, her bir boyut arasındaki varyansı maksimum yapacak şekilde yeni bir uzaya dönüştürmeye yarar.
PCA adımları
- kovaryans_matris = cov ( numpy.transpose(data) )
bu adımda her bir özdeğere karşılık gelen özvektör hesaplanıyor
- Ozdeger, Ozvektor = numpy.linalg.eig(kovaryans_matris)
düşük özdeğere karşılık gelen özvektörler ihmal edilirse veri boyutu minimum bilgi kaybı ile küçültülür. ( Yani özvektörler matrisinden bazı sütunlar atılacak )
- donusturulmus_veri = numpy.dot( data, Ozvektor )
Bu adımda geri dönüşüm işlemi yapılıyor, eğer bazı özvektörler elenmiş ise orjinal veri seti eksiksiz olarak geri dönüştürülemez fakat yine de genel bilgi belirli oranda korunmuş olacaktır
- data_geri_elde_edilen = numpy.dot ( donusturulmus_veri, numpy.transpose(Ozvektor) )
Python Scikit ile PCA
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
Örneğin 33 bandlık bir görüntü üzerinde PCA uygularsak;
( http://www.vision.uji.es/BandSelectionTool_files/BandSelectionTool.htm )
(a) En büyük temel bileşen tüm verinin %98.4 'ünü
(b) 2. temel bileşen tüm verinin %1.2 'sini
(c) 3. temel bileşen ise tüm verinin sadece %0.16 sını temsil edecektir.
Hiç yorum yok:
Yorum Gönder