5

Có ai quản lý để chạy một bình phương nhỏ nhất hồi quy trong Vowpal Wabbit? Tôi đang cố gắng xác nhận rằng nó sẽ trả về cùng một câu trả lời như giải pháp chính xác, tức là khi chọn một để giảm thiểu ||y - X a||_2 + ||Ra||_2 (trong đó R là chuẩn hóa) tôi muốn nhận câu trả lời phân tích a = (X^T X + R^T R)^(-1) X^T y. Thực hiện kiểu hồi qui này mất khoảng 5 dòng trong python numpy.Bình thường ít nhất hình vuông hồi quy trong Vowpal Wabbit

Tài liệu của VW cho thấy rằng nó có thể làm điều này (có lẽ là chức năng mất bình phương "") nhưng cho đến nay tôi vẫn không thể làm cho nó đến gần ngay cả khi khớp với kết quả python. Bởi vì phương được hàm tổn thất mặc định, tôi chỉ đơn giản gọi:

$ vw-varinfo input.txt 

nơi INPUT.TXT có dòng như

1.4 | 0:3.4 1:-1.2 2:4.0 .... etc 

Tôi có cần một số thông số khác trong VW gọi? Tôi không thể mò mẫm tài liệu (khá nhỏ).

+0

Không rõ câu hỏi ở đây là gì. Bạn có thể cung cấp thêm thông tin giải thích những gì bạn mong đợi so với những gì bạn nhận được không? – Spaceghost

+1

Hãy nhớ rằng vw là một thuật toán trực tuyến cập nhật trọng số của mô hình (hệ số của OLS) chỉ một chút cho mỗi ví dụ và không bao giờ quay trở lại hoặc không theo thứ tự. Nếu bạn muốn nhận được hiệu suất tương tự như một thuật toán lô, đặc biệt khi số lượng ví dụ không lớn hơn nhiều so với số lượng đối tượng địa lý, bạn có thể cần chạy nhiều lần truyền trên đầu vào cho đến khi hội tụ (ví dụ: '-c --passes 100 '). – arielf

+0

"--loss_function cổ điển" sẽ cung cấp cho hình vuông nhỏ nhất vani. "--loss_function squared" thường hoạt động tốt hơn, bởi vì nó có 'Cập nhật Trọng lượng Trực tuyến Quan trọng về Phần mềm Aware' (xem: http://arxiv.org/abs/1011.1576) –

Trả lời

3

Tôi nghĩ rằng bạn nên sử dụng này cú pháp (vowpal Wabbit phiên bản 7.3.1):

vw -d input.txt -f linear_model -c --passes 50 --holdout_off --loss_function squared --invert_hash model_readable.txt 

Cú pháp này sẽ hướng dẫn VW để đọc file INPUT.TXT của bạn, viết trên đĩa một kỷ lục mô hình và một bộ nhớ cache (cần thiết cho hội tụ đa điểm) và phù hợp với hồi quy bằng chức năng mất bình phương. Hơn nữa, cuối cùng nó sẽ ghi các hệ số mô hình theo kiểu có thể đọc được vào một tệp có tên là model_readable.txt.

Tùy chọn --holdout_off là tùy chọn bổ sung gần đây để ngăn chặn tính toán mất tự động ngoài mẫu (nếu bạn đang sử dụng phiên bản cũ hơn, bạn phải xóa nó). Về cơ bản, một phân tích hồi quy dựa trên stochastic gradient descent sẽ cung cấp cho bạn một vectơ các hệ số tương tự với giải pháp chính xác chỉ khi không có quy tắc được áp dụng và khi số lượng vượt quá cao (tôi sẽ đề nghị 50 hoặc hơn nữa, cũng ngẫu nhiên xáo trộn các hàng tệp đầu vào sẽ giúp thuật toán hội tụ tốt hơn).

Các vấn đề liên quan