Data Science Roadmap - Veri Bilimi için Lineer Cebir (Linear Algebra for Data Science)

watch_later 8/17/2019
comment 1 Comment

Veri bilimcisi olmak için ne kadar matematik öğrenmek gerekir?

Soru basit gibi görünse de, sorunun basit bir cevabı yoktur. Genellikle, başlamak için temel tanımlayıcı ve çıkarımsal istatistikleri bilmeniz gerektiğini söylenir.





Ancak, makine öğrenmedeki temel kavramlar ele aldığında, biraz daha matematik öğrenmek gerekecektir. Ayrıca makine öğrenmesindeki algoritmaların nasıl çalıştığını anlamaya ihtiyaç var.
Veri bilimi ve makine öğrenmesi öğreniliyorsa, lineer cebir öğrenmenin neden önemli olduğunu anlamak için 4 senaryo yeterlidir.

1. Senaryo


Çiçek Simülasyonu


Yukarıdaki resme baktığında ne görüyorsun? Büyük ihtimalle çiçek ve yapraklar görüyorsun. Ancak, senden bir bilgisayarın aynısını yapabilmesi için bu mantığı programlaman istenirse, bu çok zor bir işlem olacaktır. İnsan beyni milyonlarca yıllık evrimden sonra bu görüntüyü hızlıca tanımlayabiliyor. Resimdeki rengin kırmızı mı yoksa siyah mı olduğunu söyleyebilmek için arka planda beynimizde neler olduğunu bilmiyoruz. Bir şekilde beyinlerimizi bu görevi otomatik olarak gerçekleştirmek için eğitmiş durumdayız.

Ancak bir bilgisayarla aynı işi yapmak kolay değildir ve genel olarak makine öğrenimi ve bilgisayar bilimi alanında etkin bir araştırma alanıdır. Fakat bir görüntüdeki öznitelikleri belirlemeye çalışmadan önce, belirli bir soru üzerinde düşünmemiz gerekir. Bir makine bu görüntüyü nasıl saklar?

Muhtemelen, bugünün bilgisayarlarının sadece 0 ve 1'i işlemek için tasarlandığını biliniyordur. Peki, yukarıdaki gibi renk gibi çoklu özelliklere sahip bir çiçek bilgisayarda nasıl saklanabilir? Bu, piksel yoğunluğunu matris adlı bir yapıda depolayarak elde edilir. Sonra, bu matris renkleri vb. tanımlamak için işlenebilir. Bu nedenle, bu görüntü üzerinde gerçekleştirmek istediğiniz herhangi bir işlem muhtemelen arka ucunda lineer cebir ve matrisleri kullanır.

2. Senaryo

Veri bilimi alanıyla ilgileniyorsan, XGBOOST dünyasına yabancı değilsindir. Veri bilimi yarışmalarının kazananları tarafından da çok kullanılan bir algoritmadır. Tahmini vermek için sayısal verileri matris biçiminde saklar. XGBOOST verilerin daha hızlı işlemesini ve daha doğru sonuçlar vermesini sağlar. Ayrıca, yalnızca XGBOOST değil, diğer çeşitli algoritmalar da verileri depolamak ve işlemek için matrisleri kullanır.

3. Senaryo

Derin öğrenme, bu sorunlara son teknoloji bir çözüm sunmak için görüntü veya konuşma ya da metin gibi girdileri depolamak için matrisleri kullanır. Bir sinir ağı tarafından öğrenilen ağırlıklar da matrislerde depolanır. Aşağıda bir matriste depolanan ağırlıkların grafiksel bir gösterimi bulunmaktadır.

4. Senaryo

Makine öğrenimi alanındaki diğer bir araştırma alanı ise metinle ilgilenmektir ve kullanılan en yaygın teknikler kelimeler torbası, terim belgesi matrisidir. Bütün bu teknikler çok benzer bir şekilde belgelerde kelimelerin sayımlarını (veya benzerlerini) depolar ve saklar.

Lineer Cebirde Problemlerin Gösterimi
Basit bir problemle başlayalım. 1 futbol topu ve 2 basketbol topu ya da 2 futbol topu ve 1 basketbol topunun 100 birim olduğunu varsayalım. Bir futbol topu ve bir basketbol topu fiyatı bulmalıyız.
Bir basketbol topunun fiyatının x olduğunu ve bir futbol topu fiyatının y olduğunu varsayalım. x ve y değerleri duruma bağlı olarak herhangi bir şey olabilir, yani x ve y değişkendir.
Bu matematiksel olarak açıklanırsa:
      2x + y = 100  (1)
Benzer şekilde, ikinci şart için,
      x + 2y = 100 (2)
Basketbol topu ve futbol topu fiyatlarını bulmak için, her iki denklemi de karşılayacak şekilde x ve y değerlerine ihtiyaç var. Lineer cebirin temel problemi, bu x ve y değerlerini, yani bir lineer denklem kümesinin çözümünü bulmaktır.

Genel olarak konuşursak, doğrusal cebirdeki veriler doğrusal denklemler biçiminde temsil edilir. Bu lineer denklemler sırasıyla matrisler ve vektörler şeklinde gösterilir. Değişkenlerin sayısı ve denklemlerin sayısı duruma bağlı olarak değişebilir, ancak gösterimi matrisler ve vektörler şeklindedir.

Problemlerin Görselleştirmesi
Veri problemlerini görselleştirmek genellikle yararlıdır. Doğrusal denklemler düz nesneleri temsil eder. Bir denkleme karşılık gelen bir çizgi verilen denklemi sağlayan tüm noktaların kümesidir. Örneğin, (50,0), (0,100), (100/3,100/3) ve (30,40) noktaları denklemimizi(1) karşılamaktadır. Bu nedenle, bu noktalar, denklemimize(1) karşılık gelen çizgide olmalıdır. Benzer şekilde (0,50), (100,0), (100/3,100/3) denklemi (2) sağlayan noktalardan bazılarıdır.
Şimdi bu durumda, her iki çizginin kesişme noktasını aşağıdaki şekilde gösterildiği gibi bulmak gerekir.
Problemi toplama, çıkarma gibi temel cebirsel işlemlerle çözüldüğünde.
     2x + y = 100 (1)
     x + 2y = 100 (2)
denkleminden (1)
     y = (100 - x) / 2
y değerini denklemde koy (2)
     x + 2 * (100 - x) / 2 = 100 (3)
Şimdi, denklem (3), tek değişkenli x'teki bir denklem olduğundan, x ve ardından y için çözülebilir.
Aşağıda verilen üç değişkenli üç koşullu bir denklemin verildiğini ve tüm değişkenlerin değerlerini bulmanız istendiğini varsayalım.
     x + y + z = 1 (4)
    2x + y = 1 (5)
    5x + 3y + 2z = 4 (6)
Denklemden (4) elde ederiz,
    z = 1 - x - y (7)
Z'nin denklemdeki (6) değerini değiştirerek,
    5x + 3y + 2 (1 - x - y) = 4
    3x + y = 2 (8)

Şimdi, yukarıdaki (8) ve (5) denklemlerini, yukarıdaki basketbol topu ve futbol topu probleminde x ve y değerlerini bulmak için iki değişkenli bir durum olarak çözülebilir. x ve y öğelerini öğrendikten sonra, z değerini bulmak için (7)'yi kullanılabilir.
Görüldüğü gibi, fazladan bir değişken eklemek, sorunun çözümünü bulmayı büyük ölçüde artırdı. Şimdi 10 değişkene ve 10 denkleme sahip olunduğu varsayılırsa, 10 denklemi aynı anda çözmek, zaman alıcı olabilir. Gerçek bir veri setinde milyonlarca veri noktamız vardır. Yukarıda belirtilen yaklaşımı kullanarak çözümlere ulaşmak tam bir kabus olacaktır. Ve bunu tekrar tekrar yapmak zorunda olunduğunda problemi çözülmesi çok uzun zaman alacaktır.

Düzlemler
3 değişkenli bir doğrusal denklem, koordinatları denklemleri sağlayan tüm noktaların kümesini temsil eder. Böyle bir denklemle temsil edilen fiziksel nesneyi anlayabilir misiniz? Herhangi bir denklemde bir anda 2 değişken olduğunu ve sonra 3. değişkenin eklendiğini varsayalım.
Temel olarak, üç değişkenli bir lineer denklem bir düzlemi temsil eder. Daha teknik olarak, bir düzlem sonsuzluğa kadar uzanan düz geometrik bir nesnedir.
Bir çizgi durumunda, 3 değişkene çözüm bulmak, doğrusal denklem demektir. Bu düzlemlerin kesişimi bulmak istenildiğinde bunun için 4 olası durum vardır.


     Hiç kesişim yok.
     Düzlemler bir çizgide kesişir.
     Bir düzlemde kesişebilirler.
     Üç düzlem de bir noktada kesişiyor.

Her durumda çözüm sayısını hayal edebiliyor musunuz?

Normal insanlar ve süper matematikçilerin çoğu, sadece 3 boyutlu şeyleri görselleştirebilir ve 4 (veya 10000) boyutta görselleştirmek imkansızdır. Peki, matematikçiler daha yüksek boyutlu verilerle nasıl bu kadar verimli bir şekilde ilgilenir? Matrisler matematikçilerin daha yüksek boyutlu verilerle uğraşmak için kullandığı yollardan biridir.

Matris
Matris, gereksinimlerimize göre kolayca işlemek ve manipüle etmek için benzer şeyleri bir arada yazmanın bir yoludur. Veri biliminde, genellikle çeşitli algoritmalar eğitimi verirken yapay sinir ağındaki ağırlıklar gibi bilgileri tutmak için kullanılır.
Teknik olarak, bir matris 2 boyutlu bir sayı dizisidir. Örneğin, aşağıdaki A matrisine bakıldığında:

   1 2 3
   4 5 6
   7 8 9

Genellikle, satırlar i ile ve sütun j ile gösterilir. Öğeler satır ve sütun ile dizine eklenir. Matrisi, örneğin bir alfabeye göre belirtiriz. A ve elemanları A(i,j) ile
Yukarıdaki matriste
  A12 = 2

Matris Sırası: Bir matrisin 3 satır ve 4 sütunu varsa, matrisin sırası 3x4 yani (satır x sütun)’dur.
Kare Matris: Satır sayısının sütun sayısına eşit olduğu matristir.
Köşegen Matris:  0'a eşit olan tüm çapraz olmayan elemanların bulunduğu bir matris, çapraz matris olarak da adlandırılır.
Üst Üçgen Matris: Köşegen altındaki tüm unsurların 0'a eşit olduğu kare matristir.
Alt Üçgen Matris: Köşegen üzerindeki tüm unsurların 0'a eşit olduğu kare matristir.
Skaler Matris: Tüm köşegen elemanlarının k sabitine eşit olduğu kare matristir.
Birim Matris: 1'e eşit olan tüm çapraz elemanlar ve 0'a eşit olan tüm çapraz olmayan elemanlar içeren kare matristir.
Sütun Matrisi: Yalnızca 1 sütundan oluşan matristir. Bazen bir vektörü temsil etmek için kullanılır.
Satır Matrisi: Yalnızca satırdan oluşan bir matristir.
Matris İzi: Bir kare matrisin tüm çapraz elemanlarının toplamıdır.

Matris Üzerinde Temel İşlemler
Toplama: Matrislerin toplanması, temel aritmetik toplamaya neredeyse benzerdir. Dikkat edilecek önemli nokta tüm matrislerin sırası aynı olmalıdır.

Cij = Aij + Bij
Örneğin, iki matris alıp bunları çözelim.
A      =
1
0
2
3
B    =
4
-1
0
5

C        =
5
-1
2
8

Skaler Çarpma: Bir matrisin skaler sabite sahip çarpımı skaler çarpım olarak adlandırılır. Bir skaler çarpımında tek yapmamız gereken, matrisin her bir elemanını verilen sabit ile çarpmaktır.
c [Aij] = [c x Aij]
Transpoze: Satır ve sütun indeksini değiştirmek anlamına gelir.
AijT= Aji

Matris Çarpımı: Matris çarpımı, lineer cebirde de sık kullanılan işlemlerden biridir.
İ x j ve j x k olan iki matrisinin çarpımı, i x k matrisini oluşturur. Son matrisin indekslerini elde etmek için dış indeksleri tutmanız yeterlidir. İki matris, yalnızca birinci matrisin sütun sayısı ve ikincisinin satır sayısı aynı olduğunda çarpma için uyumlu olacaktır.
Üçüncü nokta, bu çarpma sırasının önemidir.

Sonuç matrisinin boyutunun 3x3 olması gerektiğini biliniyor. Öncelikler 3x3 düzeninde bir matris oluşturulur. (AB)ij’yi belirlemek için, A’nın i satırındaki her bir öğeyi B’nin j sütunu ile çarpın ve tüm terimleri toplayın.

AB matrisinin ilk elemanı olarak 2250'yi nasıl elde ettik? 2250 = 21 x 31 + 22 x 34 + 23 x 37. Benzer şekilde, diğer elemanlar için işlemler devam eder.

Matris Çarpımının Özellikleri
Matris çarpımı, verilen matrislerin çarpma ile uyumlu olması şartıyla ilişkiseldir.
ABC = (AB)C = A(BC)

2. Matris çarpımı değişme özelliği yoktur, yani AB ve BA eşit değildir. Matris çarpımı, lineer ve lojistik regresyonda, çıkış değişkeninin değerini parametreleştirilmiş vektör yöntemi ile hesaplarken kullanılır.
Denklemleri Matris Formunda Gösterimi
İfadenin üç denklem içerdiği çok kolay bir şekilde doğrulanabilir. Matrisler A, X ve Z olarak adlandırılır.
   AX = Z

Matris Denklem Çözme
Matris denklemlerini çözmek için iki farklı yöntem vardır.

1. Row Echelon Formu
İlk yöntem, asıl denklemlere çözüm bulmak için manipüle edilen işi sonuca ulaştırmak için daha düzenli ve daha sistematik bir yöntem sunar. Ancak bu geçerli manipülasyonlar nelerdir? Yerine getirmesi gereken yeterlilik kriterleri var mı? Geçerli olan herhangi bir manipülasyonla yerine getirilmesi gereken iki koşul vardır.

  •    Manipülasyonun uygulanmasında çözüm değiştirilmemelidir.
  •    Manipülasyon geri dönüşümlü olmalıdır.
Peki, bu manipülasyonlar nelerdir?

  •    Denklemlerin sırası değiştirilebilir.
  •    Denklemlerin her iki tarafını da sıfır olmayan herhangi bir sabit olan c ile çarpılabilir.
  •    Bir denklemi sıfır olmayan herhangi bir sabitle çarpabilir ve sonra diğer denklemlere eklenebilir.
Algoritma gözden geçirip uyguladığında bu noktalar daha netleşecektir. Temel fikir değişkenleri ardışık denklemlerde silmek ve üst üçgen matris oluşturmaktır.
A ve Z matrislerinden genişletilmiş bir matris oluşturun.
Satırı (1) 2 ile çarpın ve satırdan (2) çıkarın. Benzer şekilde, 1 denklemini 5 ile çarpın ve satırdan (3) çıkarın.
Bir üst üçgen matris yapmak için, sırayı (2) 2 ile çarpın ve ardından sıradan (3) çıkarın.
Uygun manipülasyonlarla pivot olarak da adlandırılan her bir öncü katsayıyı 1'e eşitlemek unutulmamalıdır; bu durumda 2. satırı -1 ile çarpma sonucunda, bir satır sadece 0'dan oluşuyorsa, sıfır olmayan bir giriş içeren her satırın altında olmalıdır. Elde edilen matris formuna Row Echelon Formu denir. Manipülasyonla oluşturulan yeni denklemlere karşılık gelen düzlemlerin eşdeğer olmadığına dikkat edin.
Şimdi sorun basitleştirildi, değiştirilmiş denklemler geri alındığında, en basit olandan, son kalan değişken sayısına sahip olandan başlanacaktır. Gösterilen kuralları takip edilirse, son denklemin en basit olanı olduğunu görülür.

Şimdi (2) denklem alınır ve y’yi bulmak için z değerini girilir. Denklem(1) için de aynısı uygulanır.
Her zaman benzersiz bir çözüm sunan üst üçgen matris yapılabilir mi? Farklı durumlar mümkün mü? Yukarıdaki örnekte gösterildiği gibi benzersiz bir çözüm bulmamız mümkündür. Üç düzleminde de bir noktada kesiştiklerini gösterir.
Son denklemde 0 = 0 olan her zaman doğrudur, fakat sadece iki denklem var gibi gözüküyor. Çoğu durumda, fazlalık denklem sayısının birden fazla olması da mümkündür. Bu durumda, çözümlerin sayısı sonsuzdur.
Echelon matrisinin aşağıda gösterildiği gibi göründüğü başka bir durumu daha vardır.
Son denklemi geri alalım.

Bu yöntemin 5 - 6 denklem kümesi için verimli olduğuna dikkat edin. Her ne kadar yöntem oldukça basit olsa da, eğer denklem kümesi daha da büyürse, denklemleri manipüle etmeniz gereken sayı çok fazla artar ve yöntem verimsiz hale gelir.

Matris Sırası: Bir matrisin sırası, bir matristeki maksimum lineer olarak bağımsız satır vektörlerinin sayısına eşittir.
Bir vektör kümesi, vektörlerden en az birini kümede kalan vektörlerin doğrusal bir kombinasyonu olarak ifade edebilirsek doğrusal olarak bağımlıdır.
Matrisin Determinantı: Determinant kavramı, yalnızca kare matrislere uygulanabilir. Öncelikle 2x2 matris olarak A’yı alalım.
Şimdilik sadece 2x2 matrisine odaklanalım. A matrisinin determinantının ifadesi şöyle olacaktır:

det(A)'nın determinant için standart bir gösterim olduğuna dikkat edin. Bu durumda işareti bulmak için tek yapmanız gereken, köşegen unsurları bir araya getirmek ve onlardan önce pozitif veya negatif bir işaret koymaktır. İşareti belirlemek için, belirli bir öğenin indeksleri toplanır. Toplam bir çift sayıysa, çarpmadan önce pozitif işaretle ve toplam tek ise, negatif işaretle işleme başlanır. Örneğin, a11 öğesinin indekslerinin toplamı 2'dir. Benzer şekilde d öğesinin indekslerinin toplamı 4'tür. Bu nedenle ifadedeki ilk terimden önce pozitif işaretle işleme başlanır. İkinci terim için de aynısını yapılır.
3x3 B matrisini alıp, determinatını bulalım.
Öncelikle ifade yazılır ve sonra prosedürü adım adım açıklanacaktır.
Her terim, temel olarak bir alt matris ve bir katsayı olarak iki bölümden oluşur. Her şeyden önce, bir sabit seçilir. Katsayıların yalnızca ilk satırdan seçildiğini gözlemleyin. Başlamak için ilk satırın ilk öğesi seçildi. Yani istenilen yerden başlanabilir. Katsayıyı seçtikten sonra, sadece satırdaki tüm öğeleri ve seçilen katsayıya karşılık gelen sütunu silinir. Sonra, kalan elemanların matrisi oluşturulur; her biri satır ve sütunu sildikten sonra orijinal konumunda ve bu alt matrisin determinantı bulunur. İlk satırdaki her eleman için aynı işlem tekrarlanır. Şimdi, terimlerin işaretini belirlemek için, sadece katsayı elemanının indeksleri eklenir. Eşitse, pozitif işaret, değilse negatif bir işaret ile başlanır. Son olarak, determinantı bulmak için tüm terimler eklenir.

Matris Minörü: Bir kare matris A olarak varsayalım. Bir örnek ele alalım.
A11 elemanına karşılık gelen küçük olanı bulmak için, alt matrisi bulmak için ilk satırı ve ilk sütunu silinir.
Şimdi bu matrisin determinantı açıklandığı şekilde bulunur. Eğer bu matrisin determinantını hesaplarsanız, 4 sonucunu bulmalısınız.
M11 = 4
Matrisin Kofaktörü: Matrisin minör terimlerinin işaretleri göz önüne alınırsa elde edilen sonuç bir matrisin kofaktörü olarak adlandırılır. İşareti atamak için, karşılık gelen elemanın indekslerini toplamak yeterlidir. Eşit olduğu anlaşılıyorsa pozitif, değilse negatif işaret eklenir. Örnek olarak yukarıdaki matrise bakalım. İndeksleri eklersek, yani 1 + 1 = 2 ise, pozitif bir işaret konmalıdır.
C11 = 4

Kofaktör Matrisi: Her elemana karşılık gelen kofaktör bulunur. Şimdi başlangıç matrisinde, ilk elemana karşılık gelen kofaktör ile değiştirilir. Bu şekilde bulunan matris, başlangıç matrise karşılık gelen kofaktör matrisi olarak adlandırılır.
Örneğin, her bir öğeye karşılık gelen kofaktörler bulunursa, yukarıda belirtilen kurala göre matrise yerleştirilir. Sonuç olarak kofaktör matrisi bulunmalıdır.
Matrisin Eki: Bir matrisin eki iki adımda bulunur:
    1. adımda, A'nın kofaktör matrisini bulunur.
    2. adımda, kofaktör matrisi üzerinde transpoze işlemi yapılır.
Sonuçta ortaya çıkan matris, orijinal matrisin ekidir. Örnek için, A matrisinin ekini bulalım. Zaten bir kofaktör matrisi C var. 

Kofaktör Matrisinin Transpozesi: Determinantı, yani 0'ı tersine çevirdiğimizde ne olur? Bir anlam ifade ediyor mu? Böyle bir matrisin tersini bulunamadığı açıkça gösteriyor. Bu nedenle, bu matris dönüştürülemez. Daha teknik olarak, bu matris türüne Tekil Matris denir.
Bir matrisin çarpımının sonucunun ve bunun tersinin bir birim matrisi olduğunu bilinmesi gerekir. Bu özellik denklem çözümünde yaygın olarak kullanılacaktır.
Lineer regresyonda minimum maliyet fonksiyonuna karşılık gelen parametre vektörünün bulunmasında tersi kullanılır.
Matrisin Kuvveti: Bir matrisi bir birim matrisi ile çarparsak, sonuç değişemez. Asıl sorunu matrislerin yardımıyla çözelim. Matriste temsil edilen asıl sorun aşağıda gösterildiği gibidir.
    AX = Z yani
Her iki tarafı da katsayı matrisinin tersi olan matrisle çarpıldığında,
   A - 1 A X = A - 1 Z
   (A - 1 A) X = A – 1 Z
Yani,
   IX = A - 1 Z
Eğer dikkatli bir şekilde gözlemlenirse, çözüme çoktan ulaşıldı. Birim matrisini X ile çarpmak onu değiştirmez. Böylece denklem aşağıdaki gibi olur.
   X = A - 1 Z

Veri Biliminde Tersinin Uygulanması
Ters denklemde, denklem parametre vektörünü doğrusal denklemde hesaplamak için kullanılır. Diyelim ki aşağıda gösterildiği gibi bir veri seti verildi.

Farklı beyzbol takımlarının farklı değişkenlerini, playoff yapıp yapamayacağını tahmin etmek için veri seti oluşturulmuştur. Fakat şu an için bunu bir regresyon problemi yapmak için, OOBP'yi değişkenlerin geri kalanından tahmin etmekle ilgilenildiğini varsayalım. Dolayısıyla, OOBP hedef değişkenimizdir. Bu problemi lineer regresyon kullanarak çözmek için, parametre vektörünü bulmak gereklidir. Normal denklem yöntemi biliniyorsa, bunun için matrislerden faydalanmak gerektiği fikrine sahip olunmalıdır. Devam edelim ve bağımsız değişkenlerimizi aşağıda X matrisi olarak gösterelim. Bu veriler analitik açısından alınan bir verinin bir parçasıdır.
İlk fonksiyonumuzu θ ve X ile parametrelediğini varsayarsak son parametre vektörünü (θ) bulmak için tek yapmanız gereken, aşağıda gösterilen kodu kullanarak çok kolay bir şekilde gerçekleştirilebilecek olan (XT X) 'in tersini bulmaktır.
Öncelikle, Linear Regresyon formülasyonunu anlamamızı kolaylaştıralım.
f θ (X) = θT X, burada θ hesaplamak istediğimiz parametredir ve X, özelliklerin veya bağımsız değişkenlerin sütun vektörüdür.

Doğrusal cebir kullanmadan bu denklem kümesini çözmek zorunda kalındığını düşünün. Bu veri setinin orijinal tarih setinin %1'inden bile az olduğunu da hatırlatalım. Şimdi lineer cebir kullanmadan parametre vektörünü bulmak zorunda olunduğunu düşünün. Çok zaman ve emek harcanmak gerekecek ve bazen çözmek bile imkansız olacaktır.
Özelliklerin sayısı fazla olduğunda normal denklem yönteminin en büyük dezavantajı, hesaplamalı olarak çok maliyetli olmasıdır. Bunun nedeni, n özellik varsa, matrisin (XT X) nxn sırası olması ve çözümün O(nxnxn) sırası zamanına gelmesidir. Genellikle, bir dizi özellik 1000 veya 10.000 düzeyinde olduğunda normal denklem yöntemi uygulanır. Çok sayıda özelliğe sahip veri kümeleri, Gradient Descent adlı başka bir yöntemle de ele alınır.

Özdeğerler ve Özvektörler
Özvektörler, bilgisayarla görme, fizik ve makine öğrenimi gibi farklı alanlarda birçok uygulama bulur. Makine öğrenimi dersini aldıysanız ve temel bileşen analiz algoritmasını biliyorsanız, büyük bir veri setini işlerken algoritmanın ne kadar önemli olduğunu bilinmesi gerekir. Bu algoritmanın arkasında ne olup bittiğini hiç merak ettiniz mi? Aslında, özvektörler kavramı bu algoritmanın bel kemiğidir. Bunu daha iyi anlamak için eigen vektörlerini ve eigen değerlerini inceleyelim.
2 boyutlu bir vektörü 2x2 matris ile çarpalım ve ne olduğunu görelim.
Bir vektör üzerindeki bu işleme doğrusal dönüşüm denir. Giriş ve çıkış vektörlerinin yönlerinin farklı olduğuna dikkat edin. Sütun matrisinin burada bir vektör gösterdiğine dikkat edin.

Yukarıdaki resimde, kırmızı ve sarı renkli iki tip vektör vardır ve resim doğrusal bir dönüşümden sonra vektörlerdeki değişimi göstermektedir. Sarı renkli vektöre doğrusal bir dönüşüm uygulandığında, yönünün değiştiğini, ancak kırmızı renkli vektörün yönünün, doğrusal dönüşüm uygulandıktan sonra bile değişmediği unutulmamalıdır. Kırmızı renkli vektör, özvektör örneğidir.
Tam olarak, belirli bir matris için; yönü matris ile doğrusal dönüşüm uygulandıktan sonra bile değişmeden kaldığı vektörlere bu özel matris için özvektörler denir. Eigen değerleri ve vektörleri kavramının sadece kare matrislere uygulanabileceğini unutulmamalıdır. Bilmem gereken bir başka şey de iki boyutlu bir vektör ele aldığım, ancak özvektörler kavramının herhangi bir sayıda boyuttaki bir alana uygulanabilir olmasıdır.

Matrisin Özvektörleri Nasıl Bulunur?
Diyelim ki bir matris A ve vektör matrisine karşılık gelen x olsun. Daha önce de açıklandığı gibi, matrisle çarptıktan sonra x’in yönü değişmez. Sadece büyüklükteki değişikliklere izin verilir. Bir denklem olarak yazalım.
   A x = c x
   (A - c) x = 0 …… (1)
İki bilinmeyenli(c ve x) tek bir denklemimiz var. Denklemde (1), x vektörünü sıfır vektör olarak koyarsak, hiçbir anlamı olmayacaktır. Dolayısıyla, tek seçenek şudur: (A - c) tekil bir matrisdir ve tekil matris, determinantının 0'a eşit bir özelliğine sahiptir. Bu özelliği c değerini bulmak için kullanılacaktır.
det (A - c) = 0
Matrisin determinantını (A - c) bulup 0'a eşitlediğinde verilen matris A'ya bağlı olarak sıranın c’sinde bir denklem elde edilir. c1, c2 gibi çözümler bulunduğunu varsayalım. c1’i (1) denklemine getirin ve c1’e karşılık gelen x1 vektörü bulunur. Bulduğunuz x1 vektörü, A'nın bir özvektörüdür. Şimdi, aynı işlemi c2, c3 ve benzerleri ile tekrarlanır.

Özvektörlerin Veri Biliminde Kullanımı
Özvektörler kavramı, bir makine öğrenme algoritmasında temel bileşen analizinde uygulanmaktadır. Çok sayıda özelliğe sahip bir veri setiniz olduğunu varsayalım. Bu verilerde gereksiz özellikler olması mümkündür. Bunun dışında, çok sayıda özellik azaltılmış verimlilik ve daha fazla disk alanı sağlayacaktır. PCA'nın yaptığı, daha az önemli özelliklerden bazılarını tüketmesidir. Ancak bu özellikler nasıl belirlenir? Burada, Eigen vektörleri işimizi kolaylaştıracaktır. PCA algoritmasını inceleyelim. Diyelim ki bir n boyutlu veri var ve onu k boyutuna indirgemek isteyelim. Bunu adım adım yapacağız.
    Adım 1: Veriler normalize edilmiş ve özellik ölçeklendirilmiş demektir.
    Adım 2: Veri setinin kovaryans matrisi bulunur.
Özelliklerin, yani boyutların sayısını azaltmak gerekir. Ancak özellikleri azaltmak veride bilgi kaybına neden olur. Bilgi kaybını en aza indirgemek, yani maksimum varyansı korumak gerekir. Dolayısıyla, varyansın maksimum olduğu yönleri bulmak gerekir
    Adım 3: Kovaryans matrisinin özvektörlerini bulunur. n boyutunda veriye sahip olunduğundan n tane özdeğerlere karşılık gelen n özvektörleri bulunur.
    Adım 4: En büyük özdeğerlere karşılık gelen k özvektörlerini seçeceğiz ve her özvektörün bir sütun oluşturacağı bir matris oluşturulur. Bu matrisi U olarak adlandırılır.
k boyutuna ayarlanan verilerde a veri noktasını azaltmak istenildiğini varsayalım. Bunu yapmak için, sadece U matrisini çevirmek ve a vektörüyle çarpmanız gerekir.
Sonrasında lineer cebirde popüler olarak SVD olarak adlandırılan Tekil Değer Ayrışımı(Singular Value Decomposition) adı verilen gelişmiş ve oldukça kullanışlı başka bir modeli anlamak gerekir.

Tekil Değer Ayrışımı(Singular Value Decomposition)
Bir özellik matrisi olarak A verildiğini varsayalım. İsminden de anlaşılacağı gibi, yaptığımız şey, A matrisini özel bir amaç için üç bileşen matrisinde ayrıştırmamızdır. Bazen, SVD’nin özdeğer ayrışmasının bir tür genelleştirmesi olduğu da söylenir.
SVD, veri kümesindeki fazla olan özellikleri kaldırmak için kullanılır. 1000 özellikten oluşan bir veri kümesi olduğunu varsayalım. Kuşkusuz, bu kadar çok sayıda özelliğe sahip herhangi bir gerçek veri, gereksiz özellikler içermek üzere bağlanır. Yedekli özelliklerin makine öğrenme algoritmalarını çalıştırmada birçok soruna neden olduğu gerçeğine aşina olmalısınız. Ayrıca, ana veri setinde bir algoritma çalıştırmak zaman kaybına uğrayacak ve çok fazla bellek gerektirecektir.

Bu kaplanı siyah-beyaza dönüştürebilir ve onu piksel yoğunluğunu ilgili konum olarak temsil eden bir matris olarak düşünülebilir. Basit kelimelerle, matris görüntünün piksel yoğunluğu hakkında satır ve sütun şeklinde bilgi içerir. Ancak, yoğunluk sütununda tüm sütunların bulunması gerekli midir? Kaplanı daha az miktarda bilgi ile temsil edebilecek miyiz? Bir sonraki resim amacımı netleştirecek. Bu resimde, farklı çözünürlüklerde farklı derecelere karşılık gelen farklı görüntüler gösterilmektedir. Şimdilik, sadece daha yüksek derecenin piksel yoğunluğu hakkında daha fazla bilgi anlamına geldiğini varsayalım.
100 ya da 200 sıra yerine 20 ya da 30 sıra ile oldukça iyi bir görüntüye ulaşabileceğimiz ve fazladan fazla veri olması durumunda ne yapmak istediğimiz açıktır. İletmek istediğim, makul bir hipotez elde etmek için orijinal veri setinde bulunan tüm bilgileri saklamamız gerekmez. Hatta, bazı özellikler en iyi algoritmaya göre bir çözüme ulaşmada bir soruna neden olur. Örneğin, fazlalık özelliklerin varlığı doğrusal regresyonda çoklu eş doğrusallığa neden olur. Ayrıca, bazı özellikler modelimiz için önemli değildir. Bu özelliklerin çıkarılması, zaman verimliliği ve daha az disk alanı ile birlikte daha iyi bir algoritma uyumu bulmanıza yardımcı olur. Tekil değer ayrıştırması, verilerimizde mevcut gereksiz özelliklerden kurtulmak için kullanılır.


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

avatar
MuratC

Başarılı içerik, teşekkürler

delete 25 Mayıs 2020 19:45



sentiment_satisfied Emoticon