Mạng lưới thần kinh: Một biến nóng áp đảo liên tục?


13

Tôi có dữ liệu thô có khoảng 20 cột (20 tính năng). Mười trong số đó là dữ liệu liên tục và 10 trong số đó là phân loại. Một số dữ liệu phân loại có thể có 50 giá trị khác nhau (Hoa Kỳ). Sau khi tôi xử lý trước dữ liệu, 10 cột liên tục trở thành 10 cột được chuẩn bị và 10 giá trị phân loại trở thành giống như 200 biến được mã hóa một lần nóng. Tôi lo ngại rằng nếu tôi đặt tất cả các tính năng 200 + 10 = 210 này vào mạng lưới thần kinh thì các tính năng 200 một nóng (10 cột phân loại) sẽ hoàn toàn thống trị các tính năng 10 liên tục.

Có lẽ một phương pháp sẽ là "nhóm" các cột lại với nhau hoặc một cái gì đó. Đây có phải là một mối quan tâm hợp lệ và có cách nào để xử lý vấn đề này không?

(Tôi đang sử dụng Keras, mặc dù tôi không nghĩ nó quan trọng lắm.)


Bạn đã xem xét sử dụng hai (hoặc nhiều) mô hình tuần tự và sau đó hợp nhất chúng? Mỗi mô hình có các đầu vào khớp với dữ liệu tốt hơn (trái ngược với việc nghiền nó như xúc xích.) Các mục tiêu là như nhau, nhưng bạn tạo hai bộ dữ liệu huấn luyện, mỗi bộ được cung cấp độc lập trong quá trình khớp. Ngay sau khi hợp nhất đến lớp đầu ra cuối cùng của bạn, để lớp cuối cùng đưa ra quyết định xem mô hình nào hoạt động tốt nhất cho các mẫu cụ thể. Từ keras.io: keras.io/getting-started/fterential-model-guide
photox

Chỉ cần những gì tôi đang tìm kiếm. Cảm ơn đã đóng góp.
dùng1367204

Tôi đã thử cái này và val_loss của bộ đồng phục (model_1, model_2) cao hơn val_loss của model_1 và cao hơn val_loss của model_2.
dùng1367204

Bạn đã thực sự thử điều này, và xác định rằng vấn đề này thực tế xảy ra? Những bài kiểm tra bạn đã làm để kiểm tra điểm này? kết quả là gì
Hugh Perkins

Câu trả lời:


5

Bạn có thể mã hóa các biến phân loại bằng một phương thức khác với một phương thức nóng. Bộ mã hóa nhị phân hoặc băm có thể thích hợp cho trường hợp này. Băm đặc biệt là tốt vì bạn mã hóa tất cả các loại thành một đại diện duy nhất cho mỗi vectơ tính năng, do đó không có cái nào thống trị cái kia. Bạn cũng có thể chỉ định kích thước của biểu diễn cuối cùng, do đó có thể băm tất cả các biến phân loại thành 10 tính năng và kết thúc với 20 tính năng số (nửa liên tục, nửa phân loại).

Cả hai đều được triển khai trong https://github.com/scikit-learn-contrib/c sortical-encoding hoặc khá đơn giản để tự thực hiện.


4

Bạn có thể sử dụng nhúng để chuyển đổi số lượng lớn các biến phân loại thành một vectơ duy nhất. Vectơ nén này sẽ là một đại diện phân phối của các tính năng phân loại. Các đầu vào phân loại sẽ được chuyển thành một vectơ tương đối nhỏ có độ dài N với N số thực, theo một cách nào đó đại diện cho N các tính năng tiềm ẩn mô tả tất cả các đầu vào.

Hãy xem xét số lượng lớn các từ trong từ điển tiếng Anh. Nếu số này là N, thì chúng ta có thể biểu thị mỗi từ dưới dạng một vectơ mã hóa nóng có độ dài N. Tuy nhiên, từ-to-vec có thể nắm bắt hầu như tất cả thông tin này trong một vectơ có độ dài từ 200-300.

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.