0Pricing
Learn AI with Python · บทเรียน

ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง

โหนด เส้นเชื่อม เมทริกซ์การติดกัน ประเภทของกราฟ คุณลักษณะกราฟ และการแทนเครือข่ายสังคม

ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

กราฟคืออะไร

กราฟใช้จำลองเอนทิตีและความสัมพันธ์ระหว่างเอนทิตีเหล่านั้น ตามนิยามอย่างเป็นทางการ กราฟคือ G = (V, E) โดย V คือเซตของจุดยอด (โหนด) และ E คือเซตของเส้นเชื่อมที่เชื่อมโหนดเป็นคู่ ระบบจริงจำนวนมากมีลักษณะเป็นกราฟโดยธรรมชาติ

โหนดและเส้นเชื่อม

แต่ละโหนดแทนเอนทิตีหนึ่งรายการ (ผู้ใช้ อะตอม หรือเว็บเพจ) แต่ละเส้นเชื่อมแทนความสัมพันธ์ (มิตรภาพ พันธะเคมี หรือลิงก์ไฮเปอร์ลิงก์) การเรียนรู้ของเครื่องบนกราฟเรียนรู้จากโครงสร้างการเชื่อมโยงนี้ ไม่ใช่จากตัวอย่างที่แยกขาดจากกันเท่านั้น

เมทริกซ์การเชื่อมต่อ

เมทริกซ์การเชื่อมต่อ A ใช้เข้ารหัสว่าโหนดใดเชื่อมต่อกัน สำหรับโหนดจำนวน n โหนด A จะมีขนาด n คูณ n โดย A[i][j] = 1 หากมีเส้นเชื่อมระหว่างโหนด i กับโหนด j มิฉะนั้นจะเป็น 0

import numpy as np

# Triangle: 0-1, 1-2, 0-2
A = np.array([
    [0, 1, 1],
    [1, 0, 1],
    [1, 1, 0],
])

คุณลักษณะของโหนด X

นอกจากโครงสร้างแล้ว โดยทั่วไปแต่ละโหนดยังมีเวกเตอร์คุณลักษณะของตนเอง เมื่อนำมาเรียงซ้อนกันจะได้เมทริกซ์คุณลักษณะ X ที่มีรูปร่าง (num_nodes, num_features) สำหรับกราฟสังคม แถวหนึ่งอาจเก็บอายุของผู้ใช้ จำนวนโพสต์ และอายุบัญชี

X = np.array([
    [25, 120, 3.0],   # node 0
    [31,  45, 5.5],   # node 1
    [22, 300, 1.2],   # node 2
])

เมทริกซ์ดีกรี

ดีกรีของโหนดคือจำนวนเส้นเชื่อมของโหนดนั้น ส่วนเมทริกซ์ดีกรี D เป็นเมทริกซ์แนวทแยง โดยสมาชิกแต่ละตัวบนแนวทแยงมีค่าเท่ากับดีกรีของโหนดนั้น เมทริกซ์นี้เป็นองค์ประกอบพื้นฐานสำหรับลาปลาเซียนของกราฟ

D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighbors

ลาปลาเซียนของกราฟ

ลาปลาเซียนของกราฟกำหนดโดย L = D - A ลาปลาเซียนใช้แสดงความแตกต่างของค่าระหว่างโหนดที่เชื่อมต่อกัน และเป็นแนวคิดพื้นฐานของทฤษฎีกราฟเชิงสเปกตรัมรวมถึงการสร้าง GNN หลายรูปแบบ

L = D - A
print(L)

เหตุใดลาปลาเซียนจึงสำคัญ

ค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะของลาปลาเซียนเผยให้เห็นโครงสร้างระดับโลก เช่น การเชื่อมต่อ กลุ่มย่อย และความเรียบ การทำคอนโวลูชันบนกราฟมักพัฒนามาจากลาปลาเซียน ดังนั้นการเข้าใจ L = D - A จึงเป็นกุญแจสำคัญในการเข้าใจ GNN

กราฟมีทิศทางและไม่มีทิศทาง

ในกราฟไม่มีทิศทาง เส้นเชื่อมจะไม่มีทิศทาง (เช่น มิตรภาพ) ดังนั้น A จึงสมมาตร ส่วนในกราฟมีทิศทาง เส้นเชื่อมจะชี้ไปทางเดียว (เช่น ผู้ติดตามหรือการอ้างอิง) ทำให้ A อาจไม่สมมาตรได้: A[i][j] อาจแตกต่างจาก A[j][i]

# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
    [0, 1, 0],
    [0, 0, 1],
    [0, 0, 0],
])

กราฟถ่วงน้ำหนัก

เส้นเชื่อมสามารถมีน้ำหนักเพื่อแทนความแรงหรือระยะทางได้ ดังนั้นสมาชิกของเมทริกซ์การเชื่อมต่อจึงเป็นจำนวนจริง ไม่ใช่เพียง 0 หรือ 1 เครือข่ายถนนอาจกำหนดน้ำหนักของเส้นเชื่อมเป็นเวลาเดินทาง ส่วนกราฟความคล้ายคลึงอาจใช้น้ำหนักเป็นค่าความคล้ายคลึงแบบโคไซน์

การแทนเส้นเชื่อมอย่างมีประสิทธิภาพ

สำหรับกราฟเบาบางขนาดใหญ่ เมทริกซ์การเชื่อมต่อจะสิ้นเปลืองหน่วยความจำ เนื่องจากสมาชิกส่วนใหญ่มีค่าเป็นศูนย์ เฟรมเวิร์กการเรียนรู้ของเครื่องจึงมักจัดเก็บเส้นเชื่อมเป็นรายการเส้นเชื่อม (รูปแบบ COO) ซึ่งเป็นอาร์เรย์สองชุดที่ระบุโหนดต้นทางและโหนดปลายทางของแต่ละเส้นเชื่อม PyTorch Geometric เรียกโครงสร้างนี้ว่า edge_index

# Triangle edges as edge_index [2, num_edges]
edge_index = [
    [0, 0, 1],   # sources
    [1, 2, 2],   # targets
]

การประยุกต์ใช้การเรียนรู้ของเครื่องบนกราฟ

กราฟปรากฏอยู่ในทุกที่:

  • สังคม: การแนะนำเพื่อน การตรวจหาชุมชน
  • โมเลกุล: การทำนายคุณสมบัติของโมเลกุล (อะตอม = โหนด พันธะ = เส้นเชื่อม)
  • กราฟความรู้: การทำนายเส้นเชื่อมระหว่างเอนทิตีและความสัมพันธ์
  • เว็บและการอ้างอิง: การจัดอันดับและการจำแนก

ตรวจสอบความเข้าใจอย่างรวดเร็ว

โปรดทดสอบความรู้ด้านทฤษฎีกราฟของคุณ

สรุปทบทวน

คุณได้เรียนรู้พื้นฐานทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่องดังนี้

  • กราฟคือ G = (V, E) ซึ่งประกอบด้วยโหนดและเส้นเชื่อม
  • เมทริกซ์การเชื่อมต่อ A ใช้เข้ารหัสการเชื่อมต่อ ส่วน X เก็บคุณลักษณะของโหนด
  • ลาปลาเซียนของกราฟคือ L = D - A
  • กราฟอาจมีหรือไม่มีทิศทาง และอาจถ่วงน้ำหนักหรือไม่ถ่วงน้ำหนัก
  • การประยุกต์ใช้ครอบคลุมกราฟสังคม กราฟโมเลกุล และกราฟความรู้

คำถามที่พบบ่อย

บทเรียน “ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง”

โหนด เส้นเชื่อม เมทริกซ์การติดกัน ประเภทของกราฟ คุณลักษณะกราฟ และการแทนเครือข่ายสังคม คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ทฤษฎีกราฟสำหรับการเรียนรู้ของเครื่อง
  2. โครงข่ายกราฟคอนโวลูชัน (GCN)
  3. การจำแนกโหนดด้วย GNN
  4. การพยากรณ์เส้นเชื่อมและการจำแนกกราฟ
← กลับไปที่ Learn AI with Python