จากความคิดเห็นของ Emre ข้างต้นส่วนที่ 4.4 ของวิธีการทางทฤษฎีของกลุ่มในการเรียนรู้ของเครื่องโดย Risi Kondor มีข้อมูลโดยละเอียดและบทพิสูจน์เกี่ยวกับการสร้างวิธีเคอร์เนลที่มีความสมมาตรโดยเนื้อแท้ ฉันจะสรุปมันด้วยวิธีที่ใช้งานง่ายหวังว่า (ฉันเป็นนักฟิสิกส์ไม่ใช่นักคณิตศาสตร์!)
ขั้นตอนวิธี ML ส่วนใหญ่มีการคูณเมทริกซ์เช่น
โดยที่ เป็นอินพุตและเป็นน้ำหนักที่เราต้องการฝึกsi=∑jWij xj=∑jWij (e⃗ j⋅x⃗ )
x⃗ Wij
วิธีเคอร์เนล
ป้อนขอบเขตของวิธีเคอร์เนลและให้อัลกอริทึมจัดการอินพุต,
ซึ่งตอนนี้เราพูดถึง{X}si=∑jWij k(ej, x)
x,ej∈X
พิจารณากลุ่มที่ทำหน้าที่ในผ่านสำหรับG วิธีง่ายๆในการทำให้อัลกอริทึมของเราไม่เปลี่ยนแปลงภายใต้กลุ่มนี้คือการสร้างเคอร์เนล
กับ(y))GXx→Tg(x)g∈GkG(x,y)=1|G|∑g∈Gk(x,Tg(y))
k(x,y)=k(Tg(x),Tg(y))
ดังนั้น
kG(x,Th(y))=1|G|∑g∈Gk(x,Tgh(y))=1|G|∑g∈Gk(x,Tg(y))=1|G|∑g∈Gk(Tg(x),y)
สำหรับซึ่งใช้ได้กับการรวมกันทั้งหมดk(x,y)=x⋅y
kG(x,Th(y))=[1|G|∑g∈GTg(x)]⋅y
ซึ่งมีเมทริกซ์การแปลงที่สามารถ symmeterize อินพุตในอัลกอริทึม
ตัวอย่าง (2)
จริงๆแล้วเป็นเพียงกลุ่มที่แมปกับการหมุนเพื่อความง่ายπ2
ให้เรารันการถดถอยเชิงเส้นกับข้อมูลที่เราคาดหวังว่าสมมาตรแบบหมุน(x⃗ i,yi)∈R2×R
ปัญหาการปรับให้เหมาะสมของเรากลายเป็น
minWjy~i∑i12(yi−y~i)2=∑jWjkG(ej,xi)+bi
เคอร์เนลตอบสนอง(y)) คุณสามารถใช้และความหลากหลายของเมล็ดk(x,y)=∥x−y∥2k(x,y)=k(Tg(x),Tg(y))k(x,y)=x⋅y
ดังนั้น
kG(ej,xi)=14∑n=14∥R(nπ/2) e⃗ j−x⃗ i∥2=14∑n=14(cos(nπ/2)−x⃗ i1)2+(sin(nπ/2)−x⃗ i2)2=14[2x⃗ 2i1+2x⃗ 2i2+(1−x⃗ i1)2+(1−x⃗ i2)2+(1+x⃗ i1)2+(1+x⃗ i2)2]=x⃗ 2i1+x⃗ 2i2+1
โปรดทราบว่าเราไม่จำเป็นต้องหาผลรวมของเพราะมันเหมือนกันสำหรับทั้งคู่ ดังนั้นปัญหาของเราจะกลายเป็น
jminWy~i∑i12(yi−y~i)2=W[x⃗ 2i1+x⃗ 2i2+1]+bi
ซึ่งให้ผลสมมาตรทรงกลมที่คาดหวัง!
โอเอกซ์
รหัสตัวอย่างสามารถมองเห็นได้ที่นี่ มันแสดงให้เห็นว่าเราสามารถสร้างเมทริกซ์ที่เข้ารหัสสมมาตรและใช้งานได้อย่างไร โปรดทราบว่านี่เป็นสิ่งที่ไม่ดีจริงๆเมื่อฉันเรียกใช้จริง! ทำงานร่วมกับเมล็ดอื่นในขณะนี้