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

เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์

เหตุผลที่เคอร์เนลทำงานได้ พารามิเตอร์แกมมาของเคอร์เนล RBF และการเลือกเคอร์เนลให้เหมาะกับรูปร่างข้อมูลที่แตกต่างกัน

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

เมื่อเส้นตรงไม่เพียงพอ

SVM เชิงเส้นวาดได้เฉพาะเส้นขอบเขตแบบเส้นตรง ชุดข้อมูลจำนวนมากไม่สามารถแยกเชิงเส้นได้ เช่น คลาสหนึ่งเป็นวงกลมที่ถูกล้อมรอบด้วยอีกคลาสหนึ่ง ซึ่งไม่สามารถแบ่งด้วยเส้นตรงได้ เทคนิคเคอร์เนล ช่วยแก้ปัญหานี้

การแมปไปยังมิติที่สูงขึ้น

หากข้อมูลไม่สามารถแยกได้ในปริภูมิดั้งเดิม การฉายข้อมูลไปยังปริภูมิที่มี มิติสูงขึ้น อาจทำให้ข้อมูลแยกออกจากกันได้ เส้นโค้งในสองมิติอาจกลายเป็นระนาบราบในสามมิติ

เทคนิคเคอร์เนล

เทคนิคเคอร์เนล คำนวณความคล้ายคลึง K(x, z) ระหว่างจุดต่าง ๆ เสมือนว่า จุดเหล่านั้นถูกแมปไปยังมิติที่สูงขึ้น โดยไม่ต้องดำเนินการแมปที่ใช้ทรัพยากรมากจริง ๆ ทำให้ SVM แบบไม่เชิงเส้นมีประสิทธิภาพ

ฟังก์ชันเคอร์เนลคืออะไร

เคอร์เนล K(x, z) คือฟังก์ชันที่คืนค่าผลคูณจุดของ x และ z ในปริภูมิคุณลักษณะที่มีมิติสูงรูปแบบหนึ่ง เคอร์เนลแต่ละชนิดสื่อถึงการแมปคุณลักษณะและรูปร่างเส้นขอบเขตที่แตกต่างกัน

เคอร์เนล RBF

เคอร์เนล RBF (เกาส์เซียน) เป็นค่าเริ่มต้นที่ได้รับความนิยมมากที่สุด: K(x, z) = exp(-gamma * ||x - z||^2) เคอร์เนลนี้วัดความคล้ายคลึงที่ลดลงตามระยะห่าง จึงสร้างเส้นขอบเขตโค้งที่ยืดหยุ่นได้

from sklearn.svm import SVC

model = SVC(kernel="rbf", gamma="scale", C=1.0)
model.fit(X, y)

พารามิเตอร์ gamma

gamma ควบคุมความกว้างของ RBF gamma ที่มีค่าสูง หมายความว่าแต่ละจุดมีอิทธิพลในบริเวณแคบ ทำให้ได้เส้นขอบเขตที่คดเคี้ยวและอาจเรียนรู้มากเกินไป gamma ที่มีค่าต่ำ หมายความว่าอิทธิพลครอบคลุมบริเวณกว้าง และได้เส้นขอบเขตที่เรียบกว่า

from sklearn.svm import SVC

wiggly = SVC(kernel="rbf", gamma=10)    # tight, can overfit
smooth = SVC(kernel="rbf", gamma=0.01)  # broad, may underfit

gamma และ C ร่วมกัน

SVM แบบ RBF ขึ้นอยู่กับทั้ง gamma (ความยืดหยุ่นของเส้นขอบเขต) และ C (การยอมรับข้อผิดพลาด) พารามิเตอร์ทั้งสองมีปฏิสัมพันธ์กัน ดังนั้นโดยทั่วไปจึงควรปรับค่าร่วมกันด้วยการค้นหาแบบตาราง

from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC

param = {"C": [0.1, 1, 10], "gamma": [0.01, 0.1, 1]}
gs = GridSearchCV(SVC(kernel="rbf"), param, cv=5)
gs.fit(X, y)

เคอร์เนลพหุนาม

เคอร์เนลพหุนาม K(x, z) = (gamma * x . z + r)^degree จำลองปฏิสัมพันธ์ได้ถึงระดับที่เลือกไว้ ควรใช้เมื่อคาดว่าปฏิสัมพันธ์ระหว่างคุณลักษณะจะมีลำดับที่ทราบแน่ชัด

from sklearn.svm import SVC

model = SVC(kernel="poly", degree=3, coef0=1, gamma="scale")
model.fit(X, y)

เคอร์เนลซิกมอยด์

เคอร์เนลซิกมอยด์ K(x, z) = tanh(gamma * x . z + r) มีพฤติกรรมคล้ายฟังก์ชันกระตุ้นของโครงข่ายประสาทเทียม พบได้น้อยกว่าและไม่ใช่เคอร์เนลที่ถูกต้องเสมอไป จึงมักไม่ใช่ตัวเลือกแรก

from sklearn.svm import SVC

model = SVC(kernel="sigmoid", gamma="scale", coef0=0)

การเลือกเคอร์เนล

แนวทาง:

  • เชิงเส้น สำหรับข้อมูลมิติสูงหรือข้อมูลข้อความ
  • RBF เป็นค่าเริ่มต้นทั่วไปที่มีประสิทธิภาพสำหรับข้อมูลไม่เชิงเส้น
  • พหุนาม เมื่อปฏิสัมพันธ์ที่มีระดับที่ทราบแน่ชัดเป็นสิ่งสำคัญ
  • ซิกมอยด์ ใช้ไม่บ่อย เฉพาะกรณีจำเพาะ

ปรับขนาดคุณลักษณะเสมอ

เคอร์เนลอย่าง RBF อาศัยระยะห่าง ดังนั้นขนาดของคุณลักษณะจึงมีความสำคัญอย่างมาก ควรทำให้คุณลักษณะเป็นมาตรฐานก่อนใช้ SVM แบบเคอร์เนลเสมอ มิฉะนั้นคุณลักษณะที่มีขนาดใหญ่จะครอบงำความคล้ายคลึง

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

pipe = make_pipeline(StandardScaler(), SVC(kernel="rbf"))
pipe.fit(X, y)

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

ทดสอบความรู้เกี่ยวกับเคอร์เนล

สรุปทบทวน

สรุป: เทคนิคเคอร์เนล คำนวณ K(x, z) ในฐานะผลคูณจุดในมิติที่สูงขึ้น โดยไม่เสียค่าใช้จ่ายในการแมป จึงทำให้สร้างเส้นขอบเขตแบบไม่เชิงเส้นได้ RBF ใช้ exp(-gamma * ||x-z||^2) โดย gamma ที่มีค่าสูงทำให้เรียนรู้มากเกินไป พหุนาม จับปฏิสัมพันธ์ตามระดับ d ได้ ควรปรับขนาดคุณลักษณะก่อนใช้ SVM แบบเคอร์เนลเสมอ

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

บทเรียน “เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์”

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

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

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

บทเรียน “เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ทฤษฎี SVM: ขอบเขตและเวกเตอร์ค้ำจุน
  2. เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์
  3. การจำแนกประเภทด้วย SVM และ sklearn
  4. การถดถอยด้วย SVM (SVR)
← กลับไปที่ Learn AI with Python