Makine Öğrenmesi için Graf Teorisi
Düğümler, kenarlar, bitişiklik matrisi, graf türleri, graf özellikleri, sosyal ağ gösterimleri.
Makine Öğrenmesi için Graf Teorisi, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Çizge Nedir
Bir çizge, varlıkları ve bunlar arasındaki ilişkileri modeller. Biçimsel olarak çizge, G = (V, E) şeklindedir; burada V, köşeler (düğümler) kümesini, E ise düğüm çiftlerini birbirine bağlayan kenarlar kümesini belirtir. Birçok gerçek sistem doğal olarak çizge yapısındadır.
Düğümler ve Kenarlar
Her düğüm bir varlığı temsil eder (bir kullanıcı, bir atom, bir web sayfası). Her kenar bir ilişkiyi temsil eder (bir arkadaşlık, bir kimyasal bağ, bir köprü). Çizge makine öğrenmesi, yalnızca yalıtılmış örneklerden değil, bu bağlantılı yapıdan da öğrenir.
Komşuluk Matrisi
Komşuluk matrisi A, hangi düğümlerin birbirine bağlı olduğunu kodlar. n düğüm için A, n çarpı n boyutundadır; bir kenar i ve j düğümlerini birbirine bağlıyorsa A[i][j] = 1, aksi durumda 0 olur.
import numpy as np
# Triangle: 0-1, 1-2, 0-2
A = np.array([
[0, 1, 1],
[1, 0, 1],
[1, 1, 0],
])Düğüm Özellikleri X
Yapının ötesinde, her düğüm genellikle bir özellik vektörü taşır. Bu vektörler üst üste getirildiğinde (num_nodes, num_features) şekline sahip özellik matrisi X'i oluşturur. Bir sosyal çizgede bir satır, kullanıcının yaşını, gönderi sayısını ve hesap yaşını içerebilir.
X = np.array([
[25, 120, 3.0], # node 0
[31, 45, 5.5], # node 1
[22, 300, 1.2], # node 2
])Derece Matrisi
Bir düğümün derecesi, sahip olduğu kenarların sayısıdır. Derece matrisi D köşegendir; her köşegen girdisi ilgili düğümün derecesine eşittir. Bu matris, çizge Laplasyeninin yapı taşıdır.
D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighborsÇizge Laplasyeni
Çizge Laplasyeni L = D - A olarak tanımlanır. Bağlantılı düğümlerdeki değerlerin nasıl farklılaştığını yakalar ve spektral çizge kuramının ve birçok GNN formülasyonunun temelini oluşturur.
L = D - A
print(L)Laplasyen Neden Önemlidir
Laplasyenin özdeğerleri ve özvektörleri bağlantılılık, kümeler ve düzgünlük gibi genel yapıları ortaya çıkarır. Çizge evrişimleri çoğunlukla Laplasyenden türetildiği için L = D - A ifadesini anlamak, GNN'leri anlamanın anahtarıdır.
Yönlü ve Yönsüz Çizgeler
Yönsüz bir çizgede kenarın yönü yoktur (arkadaşlık); bu nedenle A simetriktir. Yönlü bir çizgede kenarlar tek bir yönü gösterir (takip ilişkisi, atıf); bu nedenle A asimetrik olabilir: A[i][j], A[j][i]'den farklı olabilir.
# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 0, 0],
])Ağırlıklı Çizgeler
Kenarlar, gücü veya uzaklığı temsil eden ağırlıklar taşıyabilir. Bu durumda komşuluk matrisi girdileri yalnızca 0 veya 1 değil, gerçek sayılardır. Bir yol ağı kenarları seyahat süresine göre; bir benzerlik çizgesi ise kosinüs benzerliğine göre ağırlıklandırabilir.
Kenarları Verimli Biçimde Temsil Etme
Büyük ve seyrek çizgelerde komşuluk matrisi bellek israfına yol açar; çünkü girdilerin çoğu sıfırdır. Bunun yerine makine öğrenmesi çerçeveleri kenarları bir kenar listesi (COO biçimi) olarak saklar: her kenarın kaynak ve hedef düğümünü veren iki dizi. PyTorch Geometric bunu edge_index olarak adlandırır.
# Triangle edges as edge_index [2, num_edges]
edge_index = [
[0, 0, 1], # sources
[1, 2, 2], # targets
]Çizge Makine Öğrenmesi Uygulamaları
Çizgeler her yerde karşımıza çıkar:
- Sosyal: arkadaş önerisi, topluluk tespiti
- Moleküler: moleküllerin özelliklerini tahmin etme (atomlar = düğümler, bağlar = kenarlar)
- Bilgi çizgeleri: varlıklar ve ilişkiler üzerinde bağlantı tahmini
- Web/atıf: sıralama ve sınıflandırma
Kısa Sınama
Çizge kuramı bilginizi sınayın.
Özet
Makine öğrenmesi için çizge kuramının temellerini öğrendiniz:
- Bir çizge, düğümler ve kenarlardan oluşan
G = (V, E)yapısıdır - Komşuluk matrisi A bağlantılılığı kodlar; X düğüm özelliklerini tutar
- Çizge Laplasyeni
L = D - Aşeklindedir - Çizgeler yönlü veya yönsüz, ağırlıklı veya ağırlıksız olabilir
- Uygulamalar sosyal, moleküler ve bilgi çizgelerini kapsar
Sıkça Sorulan Sorular
“Makine Öğrenmesi için Graf Teorisi” dersi ücretsiz mi?
Evet — “Makine Öğrenmesi için Graf Teorisi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Makine Öğrenmesi için Graf Teorisi” dersinde ne öğreneceğim?
Düğümler, kenarlar, bitişiklik matrisi, graf türleri, graf özellikleri, sosyal ağ gösterimleri. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Makine Öğrenmesi için Graf Teorisi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Makine Öğrenmesi için Graf Teorisi
- Graf Evrişimli Ağlar (GCN)
- GNN ile Düğüm Sınıflandırma
- Bağlantı Tahmini ve Graf Sınıflandırması