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.
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)
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.
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)
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.
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.