เคล็ดลับเคอร์เนล: 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 underfitgamma และ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ทฤษฎี SVM: ขอบเขตและเวกเตอร์ค้ำจุน
- เคล็ดลับเคอร์เนล: RBF พหุนาม และซิกมอยด์
- การจำแนกประเภทด้วย SVM และ sklearn
- การถดถอยด้วย SVM (SVR)