Có thể hỗ trợ máy vector được sử dụng trong dữ liệu lớn?


13

Với kiến ​​thức hạn chế mà tôi có về SVM, sẽ tốt cho ma trận dữ liệu ngắn và béo , (rất nhiều tính năng và không quá nhiều trường hợp), nhưng không phải cho dữ liệu lớn.X

Tôi hiểu một lý do là Ma trận hạt nhân là ma trận trong đó, là số lượng phiên bản trong dữ liệu. Nếu chúng ta có dữ liệu 100K, ma trận hạt nhân sẽ có phần tử và có thể mất ~ 80G bộ nhớ.Kn K 10 10n×nnK1010

Có bất kỳ sửa đổi nào của SVM có thể được sử dụng trong dữ liệu lớn không? (Nói theo thang điểm từ 100K đến 1M điểm dữ liệu?)


Nó sẽ giúp người trả lời tiềm năng nếu bạn thảo luận về mục tiêu của SVM ngoài việc chỉ là "dữ liệu lớn". Điều đó nói và không biết gì khác về truy vấn của bạn, có lý do nào để một SVM không thể được sử dụng thành một thuật toán phân chia và chinh phục không?
Mike Hunter

Bạn đang sử dụng SVM để làm gì? Bạn có thể sử dụng một phương pháp thay thế?
tom

Câu trả lời:


12

Như bạn đã đề cập, việc lưu trữ ma trận hạt nhân đòi hỏi bộ nhớ chia tỷ lệ bậc hai với số lượng điểm dữ liệu. Thời gian đào tạo cho các thuật toán SVM truyền thống cũng có tỷ lệ siêu đối xứng với số lượng điểm dữ liệu. Vì vậy, các thuật toán này không khả thi đối với các tập dữ liệu lớn.

Một mẹo có thể là định dạng lại một SVM được nhân hóa thành một SVM tuyến tính. Mỗi phần tử của ma trận hạt nhân đại diện cho sản phẩm chấm giữa các điểm dữ liệu và sau khi ánh xạ chúng (có thể là phi tuyến) vào một không gian đặc trưng: . Tính năng ánh xạ không gian x i x j K i j = Φ ( x i ) Φ ( x j ) ΦKijxixjKij=Φ(xi)Φ(xj)Φđược định nghĩa ngầm định bởi hàm kernel và các SVM đã nhân không tính toán rõ ràng các biểu diễn không gian tính năng. Đây là tính toán hiệu quả cho các bộ dữ liệu kích thước nhỏ đến trung bình, vì không gian tính năng có thể là chiều rất cao hoặc thậm chí là chiều vô hạn. Nhưng, như trên, điều này trở nên không khả thi đối với các bộ dữ liệu lớn. Thay vào đó, chúng ta có thể ánh xạ dữ liệu phi tuyến vào không gian đặc trưng một cách rõ ràng, sau đó huấn luyện hiệu quả một SVM tuyến tính trên các biểu diễn không gian đặc trưng. Ánh xạ không gian tính năng có thể được xây dựng để xấp xỉ một hàm nhân đã cho, nhưng sử dụng ít kích thước hơn so với ánh xạ không gian tính năng 'đầy đủ'. Đối với các bộ dữ liệu lớn, điều này vẫn có thể cung cấp cho chúng tôi các biểu diễn không gian tính năng phong phú, nhưng với nhiều kích thước hơn các điểm dữ liệu.

Một cách tiếp cận gần đúng hạt nhân sử dụng xấp xỉ Nyström (Williams và Seeger 2001). Đây là một cách để tính gần đúng các giá trị riêng / hàm riêng của một ma trận lớn bằng cách sử dụng một hàm con nhỏ hơn. Một cách tiếp cận khác sử dụng các tính năng ngẫu nhiên và đôi khi được gọi là 'bồn rửa nhà bếp ngẫu nhiên' (Rahimi và Recht 2007).

Một mẹo khác để đào tạo các SVM trên các bộ dữ liệu lớn là ước tính gần đúng vấn đề tối ưu hóa với một tập hợp các bài toán con nhỏ hơn. Ví dụ, sử dụng giảm dần độ dốc ngẫu nhiên cho bài toán nguyên thủy là một cách tiếp cận (trong số nhiều cách khác). Nhiều công việc đã được thực hiện trên mặt trận tối ưu hóa. Menon (2009) đưa ra một khảo sát tốt.

Người giới thiệu

Williams và Seeger (2001). Sử dụng phương pháp Nystroem để tăng tốc máy kernel.

Rahimi và Recht (2007). Các tính năng ngẫu nhiên cho các máy nhân quy mô lớn.

Menon (2009) . Máy vectơ hỗ trợ quy mô lớn: Thuật toán và lý thuyết.

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.