Từ nhận xét của Emre ở trên, Phần 4.4 của các phương pháp lý thuyết nhóm trong học máy của Risi Kondor có thông tin chi tiết và bằng chứng về việc tạo các phương thức kernel vốn có đối xứng. Tôi sẽ tóm tắt nó một cách trực quan hy vọng (tôi là một nhà vật lý không phải là nhà toán học!).
Hầu hết các thuật toán ML có phép nhân ma trận như,
với là đầu vào và là trọng số chúng tôi muốn đào tạo.si=∑jWij xj=∑jWij (e⃗ j⋅x⃗ )
x⃗ Wij
Phương pháp hạt nhân
Nhập địa hạt của các phương thức kernel và để thuật toán xử lý đầu vào thông qua,
trong đó bây giờ chúng ta khái quát hóa cho .si=∑jWij k(ej, x)
x,ej∈X
Hãy xem xét một nhóm có tác dụng trên qua cho . Một cách đơn giản để làm cho thuật toán của chúng ta bất biến trong nhóm này là tạo kernel,
với .GXx→Tg(x)g∈GkG(x,y)=1|G|∑g∈Gk(x,Tg(y))
k(x,y)=k(Tg(x),Tg(y))
Vì vậ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)
Với hoạt động cho tất cả các biểu diễn đơn nhất,k(x,y)=x⋅y
kG(x,Th(y))=[1|G|∑g∈GTg(x)]⋅y
Cung cấp một ma trận biến đổi có thể đối xứng hóa đầu vào thành thuật toán.
Ví dụ SO (2)
Trên thực tế, chỉ có nhóm ánh xạ tới các phép quay để đơn giản.π2
Chúng ta hãy chạy hồi quy tuyến tính trên dữ liệu trong đó chúng ta mong đợi sự đối xứng quay.(x⃗ i,yi)∈R2×R
Vấn đề tối ưu hóa của chúng tôi trở thành,
minWjy~i∑i12(yi−y~i)2=∑jWjkG(ej,xi)+bi
Hạt nhân thỏa mãn . Bạn cũng có thể sử dụng và nhiều loại nhân.k(x,y)=∥x−y∥2k(x,y)=k(Tg(x),Tg(y))k(x,y)=x⋅y
Do đó,
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
Lưu ý rằng chúng ta không cần tổng hợp vì nó giống nhau cho cả hai. Vì vậy, vấn đề của chúng tôi trở thành,
jminWy~i∑i12(yi−y~i)2=W[x⃗ 2i1+x⃗ 2i2+1]+bi
Mà mang lại sự đối xứng hình cầu dự kiến!
TIC Tac Toe
Mã ví dụ có thể được nhìn thấy ở đây . Nó cho thấy làm thế nào chúng ta có thể tạo ra một ma trận mã hóa đối xứng và sử dụng nó. Lưu ý rằng điều này thực sự tồi tệ khi tôi thực sự chạy nó! Làm việc với các hạt nhân khác tại thời điểm này.