Hậu quả của việc mở rộng tính năng


11

Tôi hiện đang sử dụng SVM và nhân rộng các tính năng đào tạo của mình lên phạm vi [0,1]. Trước tiên tôi điều chỉnh / biến đổi tập huấn luyện của mình và sau đó áp dụng phép biến đổi tương tự cho tập kiểm thử của tôi. Ví dụ:

    ### Configure transformation and apply to training set
    min_max_scaler = MinMaxScaler(feature_range=(0, 1))
    X_train = min_max_scaler.fit_transform(X_train)

    ### Perform transformation on testing set
    X_test = min_max_scaler.transform(X_test)

Giả sử rằng một tính năng nhất định trong tập huấn luyện có phạm vi [0,100] và tính năng tương tự trong tập kiểm tra có phạm vi [-10,120]. Trong tập huấn luyện, tính năng đó sẽ được chia tỷ lệ một cách thích hợp thành [0,1], trong khi trong tập thử nghiệm, tính năng đó sẽ được thu nhỏ đến một phạm vi bên ngoài phạm vi được chỉ định đầu tiên, giống như [-0.1,1.2].

Tôi đã tự hỏi những hậu quả của các tính năng của bộ thử nghiệm nằm ngoài phạm vi của những người được sử dụng để đào tạo mô hình là gì? Đây co phải vân đê?

Câu trả lời:


6

Trong mỗi lớp, bạn sẽ có các bản phân phối giá trị cho các tính năng. Điều đó tự nó không phải là một lý do cho mối quan tâm.

Từ quan điểm hơi lý thuyết, bạn có thể tự hỏi tại sao bạn nên mở rộng các tính năng của mình và tại sao bạn nên mở rộng chúng theo cách chính xác đã chọn.
Một lý do có thể là thuật toán đào tạo cụ thể của bạn được biết là hội tụ nhanh hơn (tốt hơn) với các giá trị khoảng 0 - 1 so với các tính năng bao gồm các thứ tự cường độ khác. Trong trường hợp đó, bạn có thể ổn. Tôi đoán là SVM của bạn vẫn ổn: bạn muốn tránh số lượng quá lớn vì sản phẩm bên trong, nhưng tối đa 1,2 so với tối đa 1.0 sẽ không tạo ra nhiều sự khác biệt.
(OTOH, nếu bạn ví dụ biết thuật toán của mình không chấp nhận các giá trị âm, rõ ràng bạn sẽ gặp rắc rối.)

Câu hỏi thực tế là liệu mô hình của bạn có thực hiện tốt đối với các trường hợp hơi nằm ngoài phạm vi được đào tạo hay không. Điều này tôi tin rằng có thể tốt nhất và có thể chỉ được trả lời bằng cách thử nghiệm với các trường hợp như vậy / kiểm tra kết quả kiểm tra để giảm hiệu suất cho các trường hợp bên ngoài lĩnh vực đào tạo. Đó là một mối quan tâm hợp lệ và xem xét điều này sẽ là một phần của việc xác nhận mô hình của bạn.

Quan sát sự khác biệt của kích thước bạn mô tả là IMHO một lý do để có cái nhìn khá gần với sự ổn định của mô hình.


7

Điều này có nghĩa là một nhận xét nhưng nó quá dài.

Việc tập kiểm tra của bạn có phạm vi khác nhau có thể là dấu hiệu cho thấy tập huấn luyện không phải là đại diện tốt cho tập kiểm tra. Tuy nhiên, nếu sự khác biệt thực sự nhỏ như trong ví dụ của bạn, có khả năng nó sẽ không ảnh hưởng đến dự đoán của bạn. Thật không may, tôi không nghĩ rằng mình có lý do chính đáng để nghĩ rằng nó sẽ không ảnh hưởng đến một SVM trong mọi trường hợp.

Lưu ý rằng lý do để sử dụng MinMaxScalar là (theo tài liệu):

Động lực để sử dụng tỷ lệ này bao gồm độ mạnh đến độ lệch chuẩn rất nhỏ của các tính năng và duy trì các mục nhập không trong dữ liệu thưa thớt.

Do đó, điều quan trọng là bạn phải đảm bảo rằng dữ liệu của bạn phù hợp với trường hợp đó.

Nếu bạn thực sự lo lắng về việc có một phạm vi khác biệt, bạn nên sử dụng một tiêu chuẩn hóa thông thường (chẳng hạn như preprocessing.scale) thay thế.


Xin chào Robert, cảm ơn bạn đã trả lời! Điểm hay về cách biểu diễn tập huấn luyện / kiểm tra nhưng đây là dữ liệu chuỗi thời gian để dữ liệu mới xuất hiện Tôi không thể đảm bảo rằng các giá trị sẽ tương tự trong phạm vi so với trước đây. Tôi có cùng cảm giác với bạn rằng tôi không có lý do chính đáng để nghĩ rằng nó sẽ không ảnh hưởng đến một SVM trong bất kỳ trường hợp nào.
mike1886

Bạn đã so sánh các dự đoán bằng MinMaxScaler và tiêu chuẩn hóa chưa?
Robert Smith

Tôi có và kết quả tương tự nhau, nhưng điều đó không thực sự cho tôi biết nếu mọi thứ trở nên khó khăn với MinMaxScalar.
mike1886

Chắc chắn rồi. Trong mọi trường hợp, sẽ tốt hơn nếu sử dụng tiêu chuẩn hóa nếu bạn không nhận được thứ gì đó có giá trị từ đó MinMaxScaler.
Robert Smith
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.