Vektörler, yapay zeka ve makine öğrenmesinde verinin sayısal temsilinin temelini oluşturur. Makalemizde, bu temel matematiksel yapıların tanımı, toplama, skaler çarpma, nokta çarpma gibi temel cebirsel operasyonları ve vektörlerde benzerlik konularını inceleyeceğiz.
Vektör Nedir?
Basit bir tanım ile başlayalım. Programcı gözüyle bakıldığında vektör, içerisinde birden fazla sayısal değer saklayabilen tek boyutlu bir dizidir. Fizik ve geometride vektör ise, hem büyüklüğü (magnitude) hem de yönü (direction) olan bir nesnedir. Onu, uzayda bir noktadan diğerine giden bir ok (\(\upsilon\)) olarak hayal edebiliriz. Bir geminin rotası (hız ve yön) veya bir nesneye uygulanan kuvvet mükemmel birer vektör örneğidir.
İki boyutlu bir düzlemde yer alan iki adet vektörü ele alalım. Bunların matematiksel olarak yazılışı ve iki boyutlu koordinat sisteminde gösterilişi aşağıdaki gibidir.
İki boyutlu düzlemde görüntülediğimiz anda anlaşılıyor ki, basit iki sayı içeren bir vektör aslında hem bir büyüklük, hem de yön bilgisini içeriyor.
Şimdi de üç boyutlu uzayda yer alan iki adet vektörü ele alalım. Bunların matematiksel olarak yazılışı ve üç boyutlu koordinat sisteminde gösterilişi aşağıdaki gibidir.
Peki 4, 5 veya 10 elemanı olan bir vektörü nasıl çizerdik? Ne yazık ki 3 boyuttan daha fazla çizimi kağıt üzerinde yapamıyoruz. Ama matematiğin güzelliği de burada. 3 boyutlu bir evrende sıkışmış bizlerin bile 300 boyutlu bir evren hakkında hesaplama yapmasına imkan tanıyor.
Vektörleri Toplama
Matematiksel olarak iki vektörü toplayabilmek için temel şart, iki vektörün aynı miktarda sayıdan oluşmasıdır. Birinci vektördeki her bir sayı, ikinci vektördeki aynı sıradaki sayı ile toplanarak bileşke vektör elde edilir.
Ortaya çıkan bileşke vektör her iki vektörün "özelliklerinin birleşmesidir". İlerleyen makalelerde göreceğimiz gibi, bu birleşme vektörize edilmiş metinlerde aşağıdaki gibi işlemlerin ve çıkarımların yapılmasına imkan sağlar.
vektör('kral') - vektör('adam') + vektör('kadın') = vektör('kraliçe')
Vektörlerde Skaler Çarpma
Bir vektörü tek bir sayıyla (skaler) çarpmak, vektörün yönünü değiştirmeden büyüklüğünü (uzunluğunu) ölçeklendirir ve bu işleme skaler çarpma adı verilir.
Bu basit işlem ile vektörün yönünü değiştirmeden büyüklüğünü değiştirerek daha rahat ölçülebilir hale getirebiliriz.
Vektörlerde Uzunluk Hesaplama
Bir vektörü uzunluğunu hesaplamak için bileşenlerinin karesini alıp topladıktan sonra çıkan ifadenin karekökünü alırız. Bu formül ikiden fazla elemanı olan vektörler için de geçerlidir.
Vektörlerde Nokta Çarpım (Dot Product)
Vektörlerde nokta çarpım (dot product) iki vektörün aynı sıradaki elemanlarının birbiriyle çarpılıp çıkan sonuçların toplanması ile tek bir sayının elde edildiği özel bir işlemdir. Vektörlerin çarpılabilmesi için aynı boyda olması gerekir
Vektörlerde nokta çarpım işlemi, bir sonraki başlıkta göreceğimiz gibi iki vektörün birbirine ne kadar benzediğinin hesaplanması için oldukça önemlidir.
Vektörlerde Benzerlik
İki vektörün birbirine ne kadar benzediği hesaplamak için \( benzerlik(\upsilon_1,\upsilon_2) = cos(\theta) = \frac {\upsilon_1.\upsilon_2}{\|\upsilon_1\|.\|\upsilon_2\|} \) formülünden faydalanılır. Bu formül bize -1 ile +1 arasında sonuçlar verir. Buna göre sonuç;
- 1'e yakınsa: Vektörler çok benzer yöndedir.
- 0'a yakınsa: Vektörler neredeyse diktir, yani alakasızdır.
- -1'e yakınsa: Vektörler zıt yönlerdedir.
Üç farklı vektör çifti için benzerlik hesaplaması yapalım.
Yukarıda gerçekleştirdiğimiz işlemler, ileride "araba" ve "otomobil" kelimelerinin vektörize edilmiş hallerinin benzerliğinin kıyaslanması için gerekli olacak. Şimdilik konunun matematiksel temellerini öğrenmiş ve yapay zeka servüvenimize başlamış olduk.
Yazar: Levent KARAGÖL