Lựa chọn tính năng trong học máy

Này Habr!

Chúng tôi tại Reksoft đã dịch bài viết sang tiếng Nga Lựa chọn tính năng trong Machine Learning. Chúng tôi hy vọng nó sẽ hữu ích cho tất cả những ai quan tâm đến chủ đề này.

Trong thế giới thực, dữ liệu không phải lúc nào cũng sạch sẽ như khách hàng doanh nghiệp đôi khi nghĩ. Đây là lý do tại sao việc khai thác dữ liệu và sắp xếp dữ liệu lại có nhu cầu. Nó giúp xác định các giá trị và mẫu còn thiếu trong dữ liệu có cấu trúc truy vấn mà con người không thể xác định được. Để tìm và sử dụng các mẫu này nhằm dự đoán kết quả bằng cách sử dụng các mối quan hệ được phát hiện trong dữ liệu, học máy sẽ rất hữu ích.

Để hiểu bất kỳ thuật toán nào, bạn cần xem xét tất cả các biến trong dữ liệu và tìm ra những biến đó đại diện cho điều gì. Điều này rất quan trọng vì lý do căn bản đằng sau kết quả dựa trên sự hiểu biết về dữ liệu. Nếu dữ liệu chứa 5 hoặc thậm chí 50 biến, bạn có thể kiểm tra tất cả. Nếu có 200 người trong số họ thì sao? Khi đó đơn giản là sẽ không có đủ thời gian để nghiên cứu từng biến số riêng lẻ. Hơn nữa, một số thuật toán không hoạt động đối với dữ liệu phân loại và khi đó bạn sẽ phải chuyển đổi tất cả các cột phân loại thành các biến định lượng (chúng có thể trông có vẻ định lượng, nhưng các số liệu sẽ cho thấy rằng chúng là phân loại) để thêm chúng vào mô hình. Do đó, số lượng biến tăng lên và có khoảng 500 biến. Bây giờ phải làm gì? Người ta có thể nghĩ rằng câu trả lời sẽ là giảm tính chiều. Các thuật toán giảm kích thước làm giảm số lượng tham số nhưng có tác động tiêu cực đến khả năng diễn giải. Điều gì sẽ xảy ra nếu có những kỹ thuật khác loại bỏ các đặc điểm trong khi làm cho những đặc điểm còn lại trở nên dễ hiểu và dễ diễn giải?

Tùy thuộc vào việc phân tích dựa trên hồi quy hay phân loại, các thuật toán lựa chọn tính năng có thể khác nhau, nhưng ý tưởng chính về việc triển khai chúng vẫn giống nhau.

Các biến có tương quan cao

Các biến có mối tương quan cao với nhau sẽ cung cấp thông tin giống nhau cho mô hình nên không cần thiết phải sử dụng tất cả các biến đó để phân tích. Ví dụ: nếu tập dữ liệu chứa các tính năng "Thời gian trực tuyến" và "Lưu lượng truy cập được sử dụng", chúng tôi có thể giả định rằng chúng sẽ có mối tương quan phần nào và chúng tôi sẽ thấy mối tương quan chặt chẽ ngay cả khi chúng tôi chọn mẫu dữ liệu không thiên vị. Trong trường hợp này, chỉ cần một trong các biến này trong mô hình. Nếu bạn sử dụng cả hai, mô hình sẽ bị trang bị quá mức và thiên về một tính năng cụ thể.

Giá trị P

Trong các thuật toán như hồi quy tuyến tính, một mô hình thống kê ban đầu luôn là một ý tưởng hay. Nó giúp thể hiện tầm quan trọng của các tính năng thông qua giá trị p của chúng mà mô hình này thu được. Sau khi đặt mức ý nghĩa, chúng tôi kiểm tra các giá trị p kết quả và nếu bất kỳ giá trị nào thấp hơn mức ý nghĩa đã chỉ định, thì đặc điểm này được khai báo là có ý nghĩa, nghĩa là sự thay đổi về giá trị của nó có thể sẽ dẫn đến thay đổi giá trị của mục tiêu.

Lựa chọn trực tiếp

Lựa chọn chuyển tiếp là một kỹ thuật liên quan đến việc áp dụng hồi quy từng bước. Việc xây dựng mô hình bắt đầu bằng một số XNUMX hoàn chỉnh, tức là một mô hình trống, sau đó mỗi lần lặp lại sẽ thêm một biến để cải thiện mô hình đang được xây dựng. Biến nào được thêm vào mô hình được xác định bởi tầm quan trọng của nó. Điều này có thể được tính toán bằng cách sử dụng các số liệu khác nhau. Cách phổ biến nhất là sử dụng giá trị p thu được trong mô hình thống kê ban đầu bằng cách sử dụng tất cả các biến. Đôi khi việc lựa chọn chuyển tiếp có thể dẫn đến việc khớp quá mức một mô hình vì có thể có các biến tương quan cao trong mô hình, ngay cả khi chúng cung cấp thông tin giống nhau cho mô hình (nhưng mô hình vẫn cho thấy sự cải thiện).

Lựa chọn ngược

Chọn lọc ngược cũng liên quan đến việc loại bỏ từng bước các tính trạng, nhưng theo hướng ngược lại so với chọn lọc thuận. Trong trường hợp này, mô hình ban đầu bao gồm tất cả các biến độc lập. Sau đó, các biến sẽ bị loại bỏ (một biến trong mỗi lần lặp) nếu chúng không đóng góp giá trị cho mô hình hồi quy mới trong mỗi lần lặp. Loại trừ tính năng dựa trên giá trị p của mô hình ban đầu. Phương pháp này cũng có độ không chắc chắn khi loại bỏ các biến có tương quan cao.

Loại bỏ tính năng đệ quy

RFE là một kỹ thuật/thuật toán được sử dụng rộng rãi để chọn số lượng chính xác các tính năng quan trọng. Đôi khi phương pháp này được sử dụng để giải thích một số đặc điểm “quan trọng nhất” ảnh hưởng đến kết quả; và đôi khi để giảm một số lượng rất lớn các biến (khoảng 200-400), và chỉ những biến có ít nhất một số đóng góp cho mô hình mới được giữ lại, còn tất cả những biến khác đều bị loại trừ. RFE sử dụng hệ thống xếp hạng. Các tính năng trong tập dữ liệu được xếp hạng. Các cấp bậc này sau đó được sử dụng để loại bỏ đệ quy các đặc điểm dựa trên sự cộng tác giữa chúng và tầm quan trọng của các đặc điểm đó trong mô hình. Ngoài việc xếp hạng các tính năng, RFE có thể cho biết các tính năng này có quan trọng hay không, thậm chí đối với một số tính năng nhất định (vì rất có thể số lượng tính năng được chọn có thể không tối ưu và số lượng tính năng tối ưu có thể nhiều hơn hoặc nhỏ hơn số đã chọn).

Sơ đồ tầm quan trọng của tính năng

Khi nói về khả năng diễn giải của các thuật toán học máy, chúng ta thường thảo luận về hồi quy tuyến tính (cho phép bạn phân tích tầm quan trọng của các tính năng bằng cách sử dụng giá trị p) và cây quyết định (theo nghĩa đen là thể hiện tầm quan trọng của các tính năng ở dạng cây và tại đồng thời hệ thống phân cấp của họ). Mặt khác, các thuật toán như Random Forest, LightGBM và XG Boost thường sử dụng sơ đồ tầm quan trọng của tính năng, tức là biểu đồ các biến và “con số quan trọng của chúng” được vẽ. Điều này đặc biệt hữu ích khi bạn cần cung cấp cơ sở lý luận có cấu trúc về tầm quan trọng của các thuộc tính xét về tác động của chúng đối với doanh nghiệp.

Chính quy

Chính quy hóa được thực hiện để kiểm soát sự cân bằng giữa sai lệch và phương sai. Độ lệch cho thấy mức độ phù hợp của mô hình trên tập dữ liệu huấn luyện. Độ lệch cho thấy các dự đoán khác nhau như thế nào giữa tập dữ liệu huấn luyện và tập dữ liệu kiểm tra. Lý tưởng nhất là cả độ lệch và phương sai đều phải nhỏ. Đây là nơi chính quy hóa có thể giải cứu! Có hai kỹ thuật chính:

Chính quy hóa L1 - Lasso: Lasso phạt các trọng số của mô hình để thay đổi tầm quan trọng của chúng đối với mô hình và thậm chí có thể đặt lại chúng về XNUMX (tức là loại bỏ các biến đó khỏi mô hình cuối cùng). Thông thường, Lasso được sử dụng khi tập dữ liệu chứa một số lượng lớn biến và bạn muốn loại trừ một số biến trong số đó để hiểu rõ hơn mức độ ảnh hưởng của các tính năng quan trọng đến mô hình (nghĩa là những tính năng đã được Lasso chọn và được gán tầm quan trọng).

L2 Regularization - Phương pháp Ridge: Công việc của Ridge là lưu trữ tất cả các biến và đồng thời gán tầm quan trọng cho chúng dựa trên sự đóng góp của chúng cho hiệu suất của mô hình. Ridge sẽ là một lựa chọn tốt nếu tập dữ liệu chứa một số lượng nhỏ các biến và tất cả chúng đều cần thiết để diễn giải các phát hiện và kết quả thu được.

Vì Ridge giữ tất cả các biến và Lasso thực hiện công việc tốt hơn trong việc thiết lập tầm quan trọng của chúng nên một thuật toán đã được phát triển để kết hợp các tính năng tốt nhất của cả hai chính quy, được gọi là Elastic-Net.

Có nhiều cách khác để chọn các tính năng cho máy học, nhưng ý tưởng chính luôn giống nhau: chứng minh tầm quan trọng của các biến và sau đó loại bỏ một số biến dựa trên tầm quan trọng thu được. Tầm quan trọng là một thuật ngữ rất chủ quan, vì nó không chỉ là một mà là toàn bộ các số liệu và biểu đồ có thể được sử dụng để tìm các thuộc tính chính.

Cảm ơn bạn đã đọc! Chúc bạn học tập vui vẻ!

Nguồn: www.habr.com

Thêm một lời nhận xét