30

Bạn có một số lời khuyên hoặc đọc cách tạo các tính năng cho nhiệm vụ học máy không? Các tính năng nhập liệu tốt rất quan trọng ngay cả đối với mạng thần kinh. Các tính năng được chọn sẽ ảnh hưởng đến số lượng tế bào thần kinh ẩn cần thiết và số lượng ví dụ đào tạo cần thiết.Cách thiết kế các tính năng cho máy học

Sau đây là một vấn đề ví dụ, nhưng tôi quan tâm đến kỹ thuật tính năng nói chung.

Một ví dụ động cơ: Điều gì sẽ là một đầu vào tốt khi nhìn vào một câu đố (ví dụ, 15-puzzle hoặc Sokoban)? Liệu có thể nhận ra hai trạng thái nào gần hơn với mục tiêu?

Trả lời

46

Kỹ thuật tính năng tốt liên quan đến hai thành phần. Đầu tiên là hiểu được các thuộc tính của nhiệm vụ mà bạn đang cố gắng giải quyết và cách chúng có thể tương tác với các điểm mạnh và giới hạn của trình phân loại bạn đang sử dụng. Thứ hai là thử nghiệm công việc, nơi bạn sẽ được thử nghiệm mong đợi của bạn và tìm hiểu những gì thực sự hoạt động và những gì không.

Điều này có thể được thực hiện lặp đi lặp lại: bạn trên xuống hiểu biết về các vấn đề thúc đẩy các thí nghiệm, và sau đó là dưới lên thông tin bạn học đối với những thí nghiệm sẽ giúp bạn có được một sự hiểu biết tốt hơn về vấn đề này. Sự hiểu biết sâu sắc hơn về vấn đề này sau đó có thể thúc đẩy nhiều thử nghiệm hơn.

Tính năng Fitting để Classifier bạn

Hãy nói rằng bạn đang sử dụng một bộ phân loại tuyến tính đơn giản như logistic-regression hoặc một SVM với một kernel tuyến tính. Nếu bạn cho rằng có thể có tương tác thú vị giữa các thuộc tính khác nhau mà bạn có thể đo lường và cung cấp làm đầu vào cho trình phân loại, bạn sẽ cần phải xây dựng theo cách thủ công và cung cấp các tính năng nắm bắt các tương tác đó. Tuy nhiên, nếu bạn đang sử dụng một SVM với một đa thức hoặc hạt nhân Gaussian, tương tác giữa các biến đầu vào sẽ đã được nắm bắt bởi cấu trúc của mô hình. Tương tự, SVM có thể hoạt động kém nếu một số biến đầu vào có phạm vi giá trị lớn hơn nhiều (ví dụ: hầu hết các tính năng có giá trị bằng 0 hoặc 1, nhưng một đối tượng có giá trị từ -1000 đến 1000) . Vì vậy, khi bạn đang thực hiện kỹ thuật tính năng cho SVM, bạn có thể thử thử chuẩn hóa các giá trị của các tính năng trước khi cung cấp cho trình phân loại. Tuy nhiên, nếu bạn đang sử dụng decision trees hoặc random forests, việc bình thường như vậy là không cần thiết vì các trình phân loại này mạnh mẽ với sự khác biệt về độ lớn giữa các giá trị mà các tính năng khác nhau thực hiện.

Ghi chú Cụ thể trên Puzzle Giải quyết

Nếu bạn đang xem xét giải quyết một vấn đề với một không gian trạng thái phức tạp, bạn có thể muốn sử dụng một cách tiếp cận reinforcement learning như Q-learning. Điều này giúp cấu trúc nhiệm vụ học tập liên quan đến việc đạt được một số mục tiêu bằng một loạt các bước trung gian của hệ thống.

+0

Nhận dạng tương tác giữa các thuộc tính được đề cập trong sách? Làm thế nào để nhận ra rằng một cái gì đó là mất tích từ đầu vào? –

+0

Các tương tác cần được đề cập trong hầu hết các sách giáo khoa thống kê. Nhưng, có một cái nhìn tổng quan về Wikipedia: http://en.wikipedia.org/wiki/Interaction_%28statistics%29. – dmcer

+6

Đối với nội dung bị thiếu từ đầu vào, tôi giả sử bạn có nghĩa là 'làm cách nào để biết liệu tôi có đủ các tính năng phù hợp' hay không.Nếu bạn bật cách bình thường hóa xuống cho trình phân loại và hiệu suất của bạn vẫn còn xấu trên dữ liệu đào tạo, bạn nên cố gắng suy nghĩ thêm nhiều tính năng hơn. Tuy nhiên, khi hiệu suất tập luyện của bạn là tốt nhưng hiệu suất thiết lập thử nghiệm của bạn là xấu, sau đó bạn đang tập hợp quá trình đào tạo và bạn sẽ muốn xóa một số tính năng và/hoặc bật quá trình chuẩn hóa. – dmcer

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