Tính toán nhanh của thành phần khôn ngoan cho ngẫu nhiên


8

Tôi có câu hỏi sau đây:

Giả sử tôi có hai ma trận cả hai kích thước và một ma trận Gaussian iid ngẫu nhiên có kích thước , .X,Ym×pGm×kmp>k

Có cách nào nhanh chóng để tính không? Có lẽ bằng cách sử dụng thực tế là cả và đều nhỏ hơn ? Ở đây, có nghĩa là số mũ nhập cảnh (tức là của mục nhập của ma trận). Rõ ràng, không có số mũ, nó dễ dàng và có thể được thực hiện đơn giản bởi , nhưng vấn đề là số mũ theo nguyên tố không còn là thứ hạng thấp.exp(XYT)GXYXYTexp()eachX(YTG)

Động lực cho câu hỏi là nhân một mẫu có dạng

Dij=exp(dij) hoặcDij=exp(dij2)

với và x_i, y_i \ in \ mathbb {R} ^ p bằng một ma trận ngẫu nhiên một cách hiệu quả.x i , y iR pdij=xiyjxi,yiRp

Một giải pháp gần đúng cũng tốt.


5
Tôi thấy câu hỏi rõ ràng (bản thân tôi không có ý tưởng nào đáng tiếc), nhưng thực tế là số mũ là thành phần khôn ngoan Tôi nghĩ rằng sẽ đánh lừa rất nhiều người - là một ký hiệu rất chuẩn cho ma trận theo cấp số nhân , đặc biệt là trong lý thuyết về ODE và PDE. Bạn có thể viết lại tiêu đề một chút không? exp(A)
Kirill

Xác định nhanh? Bạn có nghĩa là theo cách véc tơ mà không lặp trên toàn bộ ma trận ? XYT
nluigi

Độ phức tạp tính toán thấp hơn . O(m2k)
Gil

1
Giấy NIPS'16 có thể là giấy tờ có liên quan.nips.cc/apers/6246-orthogonal-random-features
Ghi nhớ

1
Tôi nhìn vào tờ giấy, nó rất hữu ích. Cảm ơn! @Memming
Gil

Câu trả lời:


1

Nếu xấp xỉ đủ, có lẽ chúng ta có thể bắt đầu bằng cách phát triển toán tử như sau: Lưu ý rằng các thuật ngữ sức mạnh tuân theo ký hiệu phần tử khôn ngoan của bạn và đề cập đến quyền hạn Hadamard, hơi lạm dụng các quy ước tiêu chuẩn.nghiệm ( Z ) = k = 0 Z kexp

exp(Z)=k=0Zkk!=1+Z+Z22+Z36+Z424+...

Điều này mang lại khả năng viết lại biểu thức: trong đó là một ma trận danh tính có kích thước phù hợp. Nếu một người có thể sống với xấp xỉ đơn hàng đầu tiên, thì: dẫn đến hoạt động dễ dàng hơn. Đối với các xấp xỉ bậc cao hơn, bạn muốn tìm ra giải pháp cho sức mạnh Hadamard, có lẽ khó hơn một chút hoặc tôi chưa thấy giải pháp nào ngay lập tức.

exp(XYT)G=(IXYT+(XYT)22(XYT)36+(XYT)424...)G=GXYTG+(XYT)2G2(XYT)3G6+(XYT)4G24...
I
exp(XYT)G=GXYTG+O(max(|XYT|)2)GXYTG=GX(YTG)

Ý tưởng tốt. Chi tiết nhỏ: thay vào đó sẽ giống như . O ( ( X Y ) 2 )O(n2)O((XY)2)
Federico Poloni

@FedericoPoloni, tôi đồng ý. Nếu bạn có thể giới thiệu một ký hiệu phù hợp hơn là sử dụng các chỉ tiêu của ma trận, tôi sẽ vui lòng cập nhật.
Birdga Tolga

Chà, sử dụng định mức có vẻ phù hợp với tôi, nhưng nếu bạn thích, bạn có thể viết nó thành . O(max(|XYT|)2)
Federico Poloni

ok, cập nhật nó
Birdga Tolga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.