Ana içeriğe geç

Giriş6 dk

Vektör nedir, veri neden vektördür

Önkoşul:Neden matematik? (korkuyu kırma)

Kanca

Bir elmayı, bir bilgisayara nasıl “anlatırsın”? Renk mi, koku mu, tat mı? Bilgisayarlar kelime ANLAMAZ — SADECE sayı. Peki bir elmayı SAYILARLA nasıl temsil edersin?

Sezgi

Bir vektör, SIRALI bir sayı listesidir — ne daha fazlası, ne daha azı. Veriyi vektör olarak temsil etmek, “bu şeyin ÖLÇÜLEBİLİR özelliklerini bir SIRAYLA yaz” demektir.

Mekanizma

Üç meyveyi, İKİ sayıyla (ağırlık, tatlılık) temsil edelim:

Bir meyve, iki sayı

# Bir "vektör", SIRALI bir sayı listesidir -- ne DAHA FAZLASI, ne DAHA AZI.
# Örnek: bir meyveyi İKİ sayıyla TEMSİL edelim: [ağırlık (gram), tatlılık (1-10)].
elma = np.array([150, 6])
armut = np.array([170, 5])
karpuz = np.array([5000, 7])

print(f"elma  = {elma.tolist()}  (150 gram, tatlılık 6/10)")
print(f"armut = {armut.tolist()}  (170 gram, tatlılık 5/10)")
print(f"karpuz = {karpuz.tolist()}  (5000 gram, tatlılık 7/10)")
print("\nBu SIRALI sayı listeleri -- İŞTE bir vektör bu kadar BASİT bir şey.")
print("Sıra ÖNEMLİDİR: [150, 6] ile [6, 150] TAMAMEN FARKLI şeyleri ifade eder.")
elma  = [150, 6]  (150 gram, tatlılık 6/10)
armut = [170, 5]  (170 gram, tatlılık 5/10)
karpuz = [5000, 7]  (5000 gram, tatlılık 7/10)

Bu SIRALI sayı listeleri -- İŞTE bir vektör bu kadar BASİT bir şey.
Sıra ÖNEMLİDİR: [150, 6] ile [6, 150] TAMAMEN FARKLI şeyleri ifade eder.

Şimdi bu vektörler arasındaki UZAKLIĞI ölçelim:

Vektör uzayında yakınlık = gerçek benzerlik

# Vektörler arasındaki UZAKLIK, GERÇEK DÜNYADAKİ "benzerlik" fikrini SAYIYA döker.
uzaklik_elma_armut = np.linalg.norm(elma - armut)
uzaklik_elma_karpuz = np.linalg.norm(elma - karpuz)

print(f"\nElma ile armut arasındaki uzaklık: {uzaklik_elma_armut:.1f}")
print(f"Elma ile karpuz arasındaki uzaklık: {uzaklik_elma_karpuz:.1f}")
print("\nElma-armut uzaklığı ÇOK KÜÇÜK (ikisi de küçük, orta tatlılıkta meyveler) --")
print("elma-karpuz uzaklığı ÇOK BÜYÜK (biri küçük biri devasa). Bu 'uzaklık' hesabı")
print("(np.linalg.norm), 3. dersin KONUSU -- burada sadece SEZGİYİ kuruyoruz:")
print("VEKTÖR UZAYINDA yakın olmak = GERÇEK DÜNYADA benzer olmak.")

Elma ile armut arasındaki uzaklık: 20.0
Elma ile karpuz arasındaki uzaklık: 4850.0

Elma-armut uzaklığı ÇOK KÜÇÜK (ikisi de küçük, orta tatlılıkta meyveler) --
elma-karpuz uzaklığı ÇOK BÜYÜK (biri küçük biri devasa). Bu 'uzaklık' hesabı
(np.linalg.norm), 3. dersin KONUSU -- burada sadece SEZGİYİ kuruyoruz:
VEKTÖR UZAYINDA yakın olmak = GERÇEK DÜNYADA benzer olmak.
Elma, armut ve karpuzun ağırlık-tatlılık düzleminde konumlarını gösteren dağılım grafiği; elma ve armut birbirine yakın, karpuz çok uzak.
Elma ve armut, vektör uzayında birbirine YAKIN (uzaklık 20) -- gerçek dünyada da benzer meyveler. Karpuz ÇOK UZAK (uzaklık 4850) -- gerçek dünyada da çok farklı.

Matematik

Boyut (dimension)

Bir vektörün KAÇ sayıdan oluştuğuna “boyut” denir:

v=[v1,v2,,vn]v,  n boyutludur.v = [v_1, v_2, \dots, v_n] \quad \Rightarrow \quad v, \; n \text{ boyutludur.}

Bu derste n=2n=2 (ağırlık, tatlılık) kullandık. Ama nn, TEMSİL edilen şeye göre 5, 784, hatta 50’ye kadar (ve daha FAZLASINA) çıkabilir — SONRAKİ blokta GERÇEK örnekleri göreceksin.

Kod

Boyut sayısı, ihtiyaca göre değişir

# Bir vektörün KAÇ sayıdan oluştuğuna "boyut" (dimension) denir. Boyut sayısı,
# İHTİYACA göre 2'den MİLYONLARA çıkabilir:
print("\nBoyut sayısı, TEMSİL edilen şeye göre DEĞİŞİR:")
print(f"  Bir meyve (bu derste): 2 boyut -- {elma.tolist()}")
print("  Bir ev (3. kategori, Makine Öğrenmesi): örn. 5-10 boyut")
print("    -- [oda sayısı, m², kat, yaş, şehir merkezine uzaklık, ...]")
print("  Siyah-beyaz bir görüntü (4. kategori, DL Görüntü): 28x28 = 784 boyut")
print("    -- HER piksel, vektörün BİR sayısı olur.")
print("  Bir kelimenin anlamı (5. kategori, NLP, 5. ders): 50 boyut")
print("    -- 'kral', 'kraliçe' gibi kelimeler, 50 sayılık vektörlerle TEMSİL edilir.")
print("\nBoyut sayısı ne olursa olsun, MANTIK AYNI KALIR: SIRALI bir sayı listesi,")
print("ve YAKIN vektörler, BENZER şeyleri TEMSİL eder.")

Boyut sayısı, TEMSİL edilen şeye göre DEĞİŞİR:
  Bir meyve (bu derste): 2 boyut -- [150, 6]
  Bir ev (3. kategori, Makine Öğrenmesi): örn. 5-10 boyut
    -- [oda sayısı, m², kat, yaş, şehir merkezine uzaklık, ...]
  Siyah-beyaz bir görüntü (4. kategori, DL Görüntü): 28x28 = 784 boyut
    -- HER piksel, vektörün BİR sayısı olur.
  Bir kelimenin anlamı (5. kategori, NLP, 5. ders): 50 boyut
    -- 'kral', 'kraliçe' gibi kelimeler, 50 sayılık vektörlerle TEMSİL edilir.

Boyut sayısı ne olursa olsun, MANTIK AYNI KALIR: SIRALI bir sayı listesi,
ve YAKIN vektörler, BENZER şeyleri TEMSİL eder.

Nerede işe yarar

Bu basit fikir, TÜM kursun TEMELİDİR:

  • Veri Bilimi kategorisinde, bir pandas DataFrame’in HER SATIRI bir vektördür — sütunlar, o vektörün boyutlarıdır.
  • Makine Öğrenmesi kategorisinde, bir modelin “GÖRDÜĞÜ” her örnek, bir öznitelik VEKTÖRÜDÜR.
  • NLP kategorisinde (5. ders), “kral” gibi bir kelime, 50 sayılık bir vektörle temsil edilir — ve “kral” ile “kraliçe” vektörleri, VEKTÖR UZAYINDA YAKINDIR, çünkü ANLAMCA benzerdirler.

Bu 2 hatayı yaparsın:

  1. Vektörü “karmaşık bir matematik nesnesi” sanmak — HAYIR, SADECE sıralı bir sayı listesidir.
  2. Yüksek boyutlu bir vektörü (örn. 784 boyutlu bir görüntü) “görselleştirilemez” diye DÜŞÜNÜP kafa karıştırmak — MANTIK, 2 boyutta gördüğün ile TAMAMEN AYNIDIR, sadece GÖZÜMÜZLE göremediğimiz kadar çok sayı var.

Kendini test et

1. Notebook'ta elma-armut uzaklığı 20 iken, elma-karpuz uzaklığı 4850. Bu NEYİ gösteriyor?
  1. Bir hesaplama hatası olduğunu
  2. Vektör uzayındaki UZAKLIĞIN, gerçek dünyadaki BENZERLİĞİ yansıttığını -- elma ve armut (benzer boyut/tatlılıkta meyveler) YAKIN, karpuz (çok farklı) UZAK çıkıyor (doğru cevap)
  3. Karpuzun daha tatlı olduğunu
  4. Ağırlığın tatlılıktan daha önemli olduğunu

Neden: yakinlik-benzerlik bloğunda uzaklık hesabı, GERÇEK DÜNYADAKİ sezgiyle (elma-armut benzer, karpuz farklı) BİREBİR örtüşüyor.

2. Bir vektörün 'boyutu' (dimension) NE anlama gelir?
  1. Vektörün fiziksel büyüklüğünü
  2. Vektörün KAÇ sayıdan oluştuğunu -- örn. [150, 6] 2 boyutlu bir vektördür, bir görüntünün piksel vektörü ise 784 boyutlu olabilir (doğru cevap)
  3. Vektörün pozitif mi negatif mi olduğunu
  4. Vektörün hangi kategoriye ait olduğunu

Neden: MathBox'ta boyut, v=[v1,...,vn] vektöründeki n sayısı olarak TANIMLANIYOR; boyut-sayisi-artabilir bloğunda 2'den 784'e kadar GERÇEK örnekler gösteriliyor.

3. NLP kategorisindeki (5. ders) 'kral' ve 'kraliçe' kelimelerinin vektör uzayında YAKIN olması NE anlama gelir?
  1. İki kelimenin aynı harflerle başladığını
  2. İki kelimenin ANLAMCA benzer olduğunu -- bu dersteki elma-armut örneğiyle AYNI ilke: vektör uzayında yakınlık, gerçek dünyada (burada 'anlam dünyasında') benzerliği YANSITIR (doğru cevap)
  3. İki kelimenin aynı uzunlukta olduğunu
  4. Bir hesaplama tesadüfü olduğunu

Neden: boyut-sayisi-artabilir bloğunda ve kullanım bölümünde bu bağlantı AÇIKÇA kuruluyor: kelime embedding'leri de, meyve örneğiyle AYNI mantıkla, anlamsal yakınlığı vektör yakınlığına ÇEVİRİR.

Özet

Özet

  • Bir vektör, sıralı bir sayı listesidir -- veriyi "ölçülebilir özellikler dizisi" olarak temsil eder.
  • Vektör uzayında YAKIN olan noktalar, gerçek dünyada da BENZER şeyleri temsil eder (bu dersteki elma-armut örneği).
  • Bir vektörün 'boyutu', kaç sayıdan oluştuğudur -- 2'den (meyve örneği) 784'e (görüntü) ve daha fazlasına çıkabilir.
  • Boyut sayısı ne olursa olsun, MANTIK aynı kalır: sıralı liste, yakınlık = benzerlik.
  • Bu fikir, Veri Bilimi, Makine Öğrenmesi ve NLP kategorilerindeki "veri" kavramının TEMELİDİR.
Sonraki adım: Vektör işlemleri ve norm →