Những thuật toán nào cần tính năng mở rộng, bên cạnh SVM?


17

Tôi đang làm việc với nhiều thuật toán: RandomForest, ReasonTrees, NaiveBayes, SVM (kernel = linear và rbf), KNN, LDA và XGBoost. Tất cả đều khá nhanh ngoại trừ SVM. Đó là khi tôi biết rằng nó cần tính năng mở rộng để hoạt động nhanh hơn. Sau đó, tôi bắt đầu tự hỏi liệu tôi có nên làm tương tự cho các thuật toán khác không.



Câu trả lời:


21

Nói chung, các thuật toán khai thác khoảng cách hoặc điểm tương đồng (ví dụ ở dạng sản phẩm vô hướng) giữa các mẫu dữ liệu, chẳng hạn như k-NN và SVM, rất nhạy cảm với các phép biến đổi tính năng.

Các trình phân loại dựa trên mô hình đồ họa, chẳng hạn như Fisher LDA hoặc Naive Bayes, cũng như các cây quyết định và các phương pháp tập hợp dựa trên cây (RF, XGB) là bất biến đối với tính năng chia tỷ lệ, nhưng vẫn có thể là một ý tưởng tốt để sắp xếp lại / làm nổi bật dữ liệu của bạn .


3
+1. Chỉ cần lưu ý rằng XGBoost thực sự cũng thực hiện một thuật toán thứ hai, dựa trên việc tăng tuyến tính. Thu nhỏ sẽ tạo ra sự khác biệt ở đó.
usεr11852 nói Phục hồi Monic

1
Bạn có thể nói rõ hơn về việc định cỡ lại / sắp xếp dữ liệu cho RF và XGB không? Tôi không thấy nó có thể ảnh hưởng đến chất lượng của mô hình như thế nào.
Tomek Tarczynski

17

Dưới đây là danh sách tôi tìm thấy trên http://www.dataschool.io/compared-supervised-learning-alerskyms/ cho biết trình phân loại nào cần tính năng mở rộng :

nhập mô tả hình ảnh ở đây

Bàn đầy đủ:

nhập mô tả hình ảnh ở đây

Trong phân cụm k-nghĩa là bạn cũng cần bình thường hóa đầu vào của mình .

Ngoài việc xem xét liệu trình phân loại khai thác khoảng cách hay điểm tương đồng như Yell Bond đã đề cập, Stochastic Gradient Descent cũng nhạy cảm với tính năng chia tỷ lệ (vì tốc độ học trong phương trình cập nhật của Stochastic Gradient Descent là giống nhau cho mọi tham số {1}):

nhập mô tả hình ảnh ở đây


Người giới thiệu:


Điều còn thiếu từ câu trả lời này là một số giải thích tại sao !! Xem câu trả lời của tôi cho điều đó.
kjetil b halvorsen

2
@kjetilbhalvorsen tôi đã giải thích cho k-mean và SGD, nhưng có nhiều thuật toán và mô hình khác. Có giới hạn 30k-char trên Stack Exchange :)
Franck Dernoncourt


@FranckDernoncourt Tôi có thể hỏi bạn một câu hỏi về vấn đề này không? Tôi có một bộ dữ liệu gồm cả dữ liệu phân loại và liên tục, trong đó tôi đang xây dựng một SVM. Dữ liệu liên tục bị lệch nhiều (đuôi dài). Đối với chuyển đổi trên liên tục tôi nên làm một log transformation / Box-Coxsau đó cũng normalise the resultant data to get limits between 0 and 1? Vì vậy, tôi sẽ bình thường hóa các giá trị nhật ký. Sau đó tính toán SVM trên dữ liệu liên tục và phân loại (0-1) với nhau? Chúc mừng cho bất kỳ sự giúp đỡ bạn có thể cung cấp.
Chuck

7

YTôi= =β0+β1xTôi+β2zTôi+εTôi
Tôi= =1,Giáo dục,n
xTôi*= =(xTôi-x¯)/sd(x)zTôi*= =(zTôi-z¯)/sd(z)
YTôi= =β0*+β1*xTôi*+β2*zTôi*+εTôi
Sau đó, các tham số được trang bị (betas) sẽ thay đổi, nhưng chúng thay đổi theo cách bạn có thể tính toán bằng đại số đơn giản từ chuyển đổi áp dụng. Vì vậy, nếu chúng ta gọi các betas ước tính từ mô hình bằng cách sử dụng các yếu tố dự đoán được chuyển đổi cho và biểu thị các betas từ mô hình chưa được dịch với , chúng ta có thể tính toán một tập hợp các betas từ người khác, biết các phương tiện và độ lệch chuẩn của các yếu tố dự đoán. Sự phân chia giữa các tham số được chuyển đổi và không được chuyển đổi giống như giữa các ước tính của chúng, khi dựa trên OLS. Một số đại số sẽ cho mối quan hệ như β1,2*β^1,2
β0= =β0*-β1*x¯sd (x)-β2*z¯sd (z),β1= =β1*sd (x),β2= =β2*sd (z)
Vì vậy, tiêu chuẩn hóa không phải là một phần cần thiết của mô hình hóa. (Nó vẫn có thể được thực hiện vì những lý do khác, mà chúng tôi không đề cập ở đây). Câu trả lời này cũng phụ thuộc vào chúng ta sử dụng bình phương tối thiểu thông thường. Đối với một số phương pháp phù hợp khác, chẳng hạn như sườn núi hoặc Lasso, tiêu chuẩn hóa là rất quan trọng, bởi vì chúng ta mất đi tính bất biến này mà chúng ta có với các ô vuông nhỏ nhất. Điều này rất dễ thấy: cả lasso và sườn đều thực hiện chính quy hóa dựa trên kích thước của betas, do đó, bất kỳ biến đổi nào làm thay đổi kích thước tương đối của betas sẽ thay đổi kết quả!

Và cuộc thảo luận này cho trường hợp hồi quy tuyến tính cho bạn biết những gì bạn nên chăm sóc trong các trường hợp khác: Có bất biến hay không? Nói chung, các phương pháp phụ thuộc vào các thước đo khoảng cách giữa các yếu tố dự đoán sẽ không hiển thị bất biến , vì vậy tiêu chuẩn hóa là rất quan trọng. Một ví dụ khác sẽ được phân cụm.


1
Bạn có thể chỉ ra một cách rõ ràng cách người ta tính toán một bộ betas từ bộ kia trong ví dụ cụ thể về tỷ lệ bạn đã áp dụng không?
Mathews24

@kjetil Tôi có thể hỏi bạn một câu hỏi về vấn đề này không? Tôi có một bộ dữ liệu gồm cả dữ liệu phân loại và liên tục, trong đó tôi đang xây dựng một SVM. Dữ liệu liên tục bị lệch nhiều (đuôi dài). Để chuyển đổi liên tục, tôi có nên thực hiện chuyển đổi nhật ký / Box-Cox và sau đó cũng bình thường hóa dữ liệu kết quả để có giới hạn trong khoảng từ 0 đến 1 không? Vì vậy, tôi sẽ bình thường hóa các giá trị nhật ký. Sau đó tính toán SVM trên dữ liệu liên tục và phân loại (0-1) với nhau? Chúc mừng cho bất kỳ trợ giúp nào bạn có thể cung cấp
Chuck

1
Bạn có thể vui lòng thêm điều này như một câu hỏi mới? với tài liệu tham khảo trở lại đây!
kjetil b halvorsen
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.