จะอธิบายได้อย่างไรว่าเคอร์เนลคืออะไร


96

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

แง่มุมหนึ่งที่ฉันนึกถึงก็คือความแตกต่างระหว่างเมล็ดเชิงเส้นและไม่ใช่เชิงเส้น ในแง่ง่ายฉันสามารถพูดถึง 'ฟังก์ชั่นการตัดสินใจเชิงเส้น' และ 'ฟังก์ชั่นการตัดสินใจที่ไม่ใช่เชิงเส้น' อย่างไรก็ตามฉันไม่แน่ใจว่าการเรียกเคอร์เนล 'ฟังก์ชั่นการตัดสินใจ' เป็นความคิดที่ดีหรือไม่

ข้อเสนอแนะ?

คำตอบ:


112

เคอร์เนลเป็นวิธีการคำนวณ dot product ของเวกเตอร์สองตัวและในบางส่วน (อาจเป็นมิติที่สูงมาก) ซึ่งเป็นสาเหตุที่ฟังก์ชั่นเคอร์เนลบางครั้งเรียกว่า "generalized dot product"yxy

สมมติว่าเรามีการทำแผนที่ที่นำเวกเตอร์ของเราในบางคุณลักษณะพื้นที่เมตร จากนั้นคูณจุดของและในพื้นที่นี้เป็นy) เคอร์เนลเป็นฟังก์ชันที่สอดคล้องกับผลิตภัณฑ์จุดนี้คือy)R n R m x y φ( x ) T φ( y )kk( x , y )=φ( x ) T φ( y )φ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

ทำไมถึงมีประโยชน์ เมล็ดให้วิธีการคำนวณผลคูณจุดในพื้นที่คุณลักษณะบางอย่างโดยไม่ได้รู้ว่าสิ่งที่พื้นที่นี้เป็นและสิ่งที่เป็น\φ

ตัวอย่างเช่นพิจารณาง่ายเคอร์เนลพหุนามกับ 2 ดูเหมือนจะไม่สอดคล้องกับฟังก์ชันการแมปใด ๆแต่เป็นเพียงฟังก์ชันที่คืนค่าจำนวนจริง สมมติว่าและลองขยายนิพจน์นี้:x , yR 2 φ x = ( x 1 , x 2 ) y = ( y 1 , y 2 )k(x,y)=(1+xTy)2x,yR2φx=(x1,x2)y=(y1,y2)

k(x,y)=(1+xTy)2=(1+x1y1+x2y2)2==1+x12y12+x22y22+2x1y1+2x2y2+2x1x2y1y2

โปรดทราบว่านี่ไม่มีอะไรอื่นนอกจากเป็นผลคูณแบบจุดระหว่างสองเวกเตอร์และ , และx_2) ดังนั้นเคอร์เนลคำนวณผลิตภัณฑ์จุดใน พื้นที่ 6 มิติโดยไม่มีการเข้าชมพื้นที่นี้อย่างชัดเจน(1,y 2 1 ,y 2 2 ,(1,x12,x22,2x1,2x2,2x1x2)φ(x)=φ(x1,x2)=(1,x 2 1 ,x 2 2 ,(1,y12,y22,2y1,2y2,2y1y2)k(x,y)=(1+ x Ty)2=φ(x)Tφ(y)φ(x)=φ(x1,x2)=(1,x12,x22,2x1,2x2,2x1x2)k(x,y)=(1+xTy)2=φ(x)Tφ(y)

อีกตัวอย่างหนึ่งคือเกาส์เคอร์เนลใหญ่) ถ้าเราเทย์เลอร์ขยายฟังก์ชั่นนี้เราจะเห็นว่ามันสอดคล้องกับโคโดเมนอนันต์มิติของ\k(x,y)=exp(γxy2)φ

ในที่สุดฉันขอแนะนำหลักสูตรออนไลน์"การเรียนรู้จากข้อมูล"โดยศาสตราจารย์ Yaser Abu-Mostafa เพื่อแนะนำวิธีการที่ใช้เคอร์เนล โดยเฉพาะการบรรยาย"Support Vector Machines" , "วิธีเคอร์เนล"และ"Radial Basis Function"เป็นเรื่องเกี่ยวกับเมล็ด


2
คำจำกัดความของแท็กปัจจุบัน: "ใช้งานง่าย: คำถามที่แสวงหาความเข้าใจเกี่ยวกับสถิติหรือแนวคิดที่ไม่ใช่คณิตศาสตร์" ไม่มีข้อบ่งชี้ที่ชัดเจนว่าแนวคิดถูกใช้เป็นคำพ้องความหมายที่ไม่ใช่ทางคณิตศาสตร์หรือไม่
rolando2

40

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

ตัวอย่างที่ง่ายที่สุดที่สามารถอธิบายได้คือเคอร์เนลเชิงเส้นหรือที่เรียกว่า dot-product กำหนดเวกเตอร์สองตัวความคล้ายคลึงกันคือความยาวของการฉายของเวกเตอร์หนึ่งกับอีกเวกเตอร์หนึ่ง

ตัวอย่างเคอร์เนลที่น่าสนใจอีกตัวอย่างหนึ่งคือเคอร์เนลเกาส์เซียน ได้รับสองเวกเตอร์คล้ายคลึงกันจะลดลงด้วยรัศมีของ\ระยะห่างระหว่างวัตถุสองชิ้นคือ "reweighted" โดยพารามิเตอร์รัศมีนี้σ

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

ฉันจะไม่เรียกใช้ฟังก์ชันการตัดสินใจของเคอร์เนลเนื่องจากเคอร์เนลถูกใช้ภายในฟังก์ชันการตัดสินใจ กำหนดจุดข้อมูลที่จะจัดฟังก์ชั่นการตัดสินใจที่ทำให้การใช้เคอร์เนลโดยเปรียบเทียบว่าจุดข้อมูลไปยังหมายเลขของเวกเตอร์สนับสนุนถ่วงน้ำหนักด้วยพารามิเตอร์เรียนรู้\เวกเตอร์สนับสนุนอยู่ในโดเมนของจุดข้อมูลนั้นและตามพารามิเตอร์ที่เรียนรู้ที่พบโดยอัลกอริทึมการเรียนรู้อัลฟ่าαα


ผลิตภัณฑ์ Dot และการฉายภาพนั้นไม่เหมือนกันเลยทีเดียว
ttnphns

ในกรณีของ SVM ฉันเชื่อว่าเมล็ดเป็นตัววัดระยะทางในพื้นที่ต่าง ๆ นี่คือความคิดที่ว่า SVM generalizes ตัวจําแนกเวกเตอร์สนับสนุน โดยทั่วไปเมล็ดอาจมีความซับซ้อนมากขึ้น
aginensky

29

ตัวอย่างที่มองเห็นได้เพื่อช่วยปรีชา

พิจารณาชุดข้อมูลต่อไปนี้ที่จุดสีเหลืองและสีฟ้าไม่ชัดเจนแยกเป็นเส้นตรงในสองมิติ

ป้อนคำอธิบายรูปภาพที่นี่

หากเราสามารถหาพื้นที่มิติที่สูงขึ้นซึ่งจุดเหล่านี้แยกได้เป็นเส้นตรงจากนั้นเราสามารถทำสิ่งต่อไปนี้:

  • แมปฟีเจอร์ดั้งเดิมไปยังพื้นที่หม้อแปลงที่สูงขึ้น (การทำแผนที่ฟีเจอร์)
  • ดำเนินการ SVM เชิงเส้นในพื้นที่ที่สูงกว่านี้
  • รับชุดตุ้มน้ำหนักที่สอดคล้องกับไฮเปอร์เพลนขอบเขตการตัดสินใจ
  • แมปไฮเปอร์เพลนนี้กลับไปยังพื้นที่ 2D ดั้งเดิมเพื่อรับขอบเขตการตัดสินใจที่ไม่ใช่เชิงเส้น

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

x1,x2:→z1,z2,z3
z1=2x1x2  z2=x12  z3=x22

นี่คือที่หลอกเคอร์เนลเข้ามาเล่น การอ้างคำตอบที่ดีข้างต้น

สมมติว่าเรามีการทำแผนที่ที่นำเวกเตอร์ของเราในบางคุณลักษณะพื้นที่เมตร จากนั้นคูณจุดของและในพื้นที่นี้เป็นy) เคอร์เนลเป็นฟังก์ชั่นที่สอดคล้องกับจุดนี้คือφ:RnRmRnRmxyφ(x)Tφ(y)kk(x,y)=φ(x)Tφ(y)

หากเราสามารถหาฟังก์ชั่นเคอร์เนลที่เทียบเท่ากับแผนที่คุณลักษณะด้านบนเราก็สามารถเสียบฟังก์ชั่นเคอร์เนลใน Linear SVM และทำการคำนวณได้อย่างมีประสิทธิภาพมาก

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

แต่กลับกลายเป็นว่าแผนที่ของคุณลักษณะดังกล่าวข้างต้นสอดคล้องกับที่รู้จักกันดีเคอร์เนลพหุนาม : d ให้และเราได้รับK(x,x)=(xTx)dd=2x=(x1,x2)T

k((x1x2),(x1x2))=(x1x2+x2x2)2=2x1x1x2x2+(x1x1)2+(x2x2)2=(2x1x2 x12 x22) (2x1x2x12x22)

k((x1x2),(x1x2))=ϕ(x)Tϕ(x)

ϕ((x1x2))=(2x1x2x12x22)

การแสดงแมปฟีเจอร์และเส้นขอบผลลัพธ์

  • พล็อตด้านซ้ายมือแสดงจุดที่พล็อตในพื้นที่ที่ถูกแปลงพร้อมกับระนาบไฮเปอร์ขอบเขตเขตเส้นตรง SVM
  • พล็อตด้านขวาแสดงผลลัพธ์ในพื้นที่ 2 มิติดั้งเดิม

ป้อนคำอธิบายรูปภาพที่นี่


แหล่ง


4

อย่างง่าย ๆ (แต่แม่นยำ) เคอร์เนลเป็นปัจจัยการชั่งน้ำหนักระหว่างสองลำดับของข้อมูล ปัจจัยการชั่งน้ำหนักนี้สามารถกำหนดน้ำหนักให้กับ " จุดข้อมูล " หนึ่งจุดที่ " จุดเวลา " หนึ่งจุดกว่า " จุดข้อมูล " อื่น ๆหรือกำหนดน้ำหนักเท่ากันหรือกำหนดน้ำหนักเพิ่มเติมให้กับ " จุดข้อมูล " อื่น ๆเป็นต้น

วิธีนี้ความสัมพันธ์ ( ผลิตภัณฑ์ดอท ) สามารถกำหนด "ความสำคัญ" ได้มากกว่าในบางจุดและจัดการกับความไม่เป็นเชิงเส้น (เช่นการเว้นวรรคแบบไม่แบน ) ข้อมูลเพิ่มเติมการปรับให้เรียบของข้อมูลและอื่น ๆ

ในอีกทางหนึ่งเคอร์เนลเป็นวิธีการเปลี่ยนขนาดสัมพัทธ์ (หรือหน่วยมิติ )ของลำดับข้อมูลสองลำดับเพื่อรับมือกับสิ่งต่าง ๆ ที่กล่าวถึงข้างต้น

ในทางที่สาม (ที่เกี่ยวข้องกับก่อนหน้านี้สอง) ซึ่งเป็นkernal เป็นวิธีการmapหรือโครงการลำดับข้อมูลหนึ่งไปยังคนอื่น ๆ ในลักษณะ 1 ต่อ 1 โดยคำนึงถึงข้อมูลบัญชีที่กำหนดหรือเกณฑ์ (เช่นพื้นที่โค้งหายไปข้อมูลข้อมูล สั่งซื้อซ้ำและอื่น ๆ ) ดังนั้นสำหรับตัวอย่างเคอร์เนลกำหนดอาจยืดหรือหดตัวหรือพืชหรือโค้งงอตามลำดับข้อมูลหนึ่งเพื่อให้พอดีหรือแผนที่ 1 ต่อ 1 บนอื่น ๆ

เคอร์เนลสามารถทำหน้าที่เหมือนProcrustesเพื่อ " พอดีที่สุด "


ฉันคิดว่าคุณอาจพูดถึงเมล็ดในแง่ของการประมาณความหนาแน่นของเคอร์เนลไม่ใช่เมล็ด Mercer เชิงบวกกึ่ง semidefinite ที่ใช้ใน SVM และวิธีการที่เกี่ยวข้อง
Dougal

@ ผิดปกติในแง่ของคำตอบนี้เคอร์เนลเป็นฟังก์ชั่นการชั่งน้ำหนักหรือการวัดที่ใช้ในการเชื่อมโยงข้อมูลในลักษณะที่เฉพาะเจาะจงหรือใช้ประโยชน์จากคุณสมบัติข้อมูลบางอย่างดังนั้นวิธีเคอร์เนล SVM จะครอบคลุมเช่นกัน
Nikos M.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.