Kỹ thuật tính năng là quá trình quan trọng trong việc lựa chọn, chuyển đổi và tạo các tính năng từ dữ liệu thô để làm cho nó phù hợp hơn với các mô hình Học máy (ML) . Nó bao gồm việc sử dụng kiến thức chuyên ngành và các kỹ thuật phân tích dữ liệu để tạo ra các đầu vào thể hiện tốt hơn vấn đề cơ bản, cuối cùng là cải thiện hiệu suất, độ chính xác và khả năng diễn giải của mô hình. Hãy nghĩ về nó như việc chuẩn bị những nguyên liệu tốt nhất cho một công thức nấu ăn; ngay cả đầu bếp (hoặc mô hình) lành nghề nhất cũng phải vật lộn với những nguyên liệu kém chất lượng ( dữ liệu đào tạo ). Bước này thường được coi là một trong những phần quan trọng và tốn thời gian nhất của quy trình làm việc ML .
Tại sao kỹ thuật tính năng lại quan trọng?
Dữ liệu thô thu thập được từ thế giới thực hiếm khi sẵn sàng để sử dụng trực tiếp trong các thuật toán ML. Dữ liệu có thể chứa các giá trị bị thiếu, không nhất quán, thông tin không liên quan hoặc ở định dạng không phù hợp để sử dụng mô hình (như văn bản hoặc dữ liệu phân loại). Kỹ thuật tính năng giải quyết các vấn đề này bằng cách:
- Cải thiện hiệu suất mô hình: Các tính năng được thiết kế tốt sẽ làm nổi bật các mẫu có liên quan đến vấn đề, giúp mô hình dễ học và khái quát hóa hơn.
- Giảm độ phức tạp: Có thể đơn giản hóa các mô hình bằng cách cung cấp nhiều thông tin đầu vào hơn, đôi khi giảm nhu cầu về các thuật toán hoặc kiến trúc phát hiện đối tượng cực kỳ phức tạp.
- Xử lý nhiều loại dữ liệu: Cung cấp các phương pháp để chuyển đổi nhiều loại dữ liệu (văn bản, hình ảnh, danh mục) thành các biểu diễn số mà thuật toán có thể hiểu được. Để đọc thêm, hãy khám phá các kỹ thuật xử lý dữ liệu trước .
- Nâng cao khả năng giải thích: Các tính năng có ý nghĩa đôi khi có thể giúp hiểu dễ hơn lý do tại sao một mô hình đưa ra một số dự đoán nhất định, góp phần vào AI có thể giải thích được (XAI) .
Kỹ thuật kỹ thuật tính năng chung
Một số kỹ thuật nằm trong phạm vi kỹ thuật tính năng:
- Quy kết: Xử lý dữ liệu bị thiếu bằng cách điền vào các khoảng trống với các giá trị ước tính (ví dụ: giá trị trung bình, giá trị trung vị hoặc các phương pháp phức tạp hơn). Xử lý dữ liệu bị thiếu là bước đầu tiên phổ biến.
- Điều chỉnh tỷ lệ và chuẩn hóa: Điều chỉnh phạm vi hoặc phân phối các tính năng số (ví dụ: tỷ lệ Min-Max, chuẩn hóa điểm Z) để ngăn các tính năng có giá trị lớn hơn chi phối quá trình học.
- Mã hóa các biến phân loại: Chuyển đổi dữ liệu không phải dạng số (như các loại 'đỏ', 'xanh lá cây', 'xanh lam') thành các định dạng số (ví dụ: Mã hóa One-Hot, Mã hóa nhãn). Xem mã hóa dữ liệu phân loại .
- Tạo tính năng (Thế hệ): Trích xuất các tính năng mới từ các tính năng hiện có dựa trên kiến thức về miền hoặc phân tích tương tác (ví dụ: tạo 'tuổi' từ 'ngày_sinh', kết hợp 'chiều cao' và 'cân nặng' thành 'BMI' hoặc trích xuất các tính năng văn bản bằng TF -IDF ).
- Phân loại (Rời rạc): Nhóm dữ liệu số liên tục vào các ngăn hoặc khoảng rời rạc.
- Chuyển đổi logarit: Áp dụng phép biến đổi logarit để xử lý phân phối dữ liệu lệch. Khám phá phép biến đổi dữ liệu để biết thêm chi tiết.
- Lựa chọn tính năng: Xác định và chỉ giữ lại các tính năng có liên quan nhất, loại bỏ các tính năng dư thừa hoặc không liên quan để đơn giản hóa mô hình và có khả năng cải thiện hiệu suất. Điều này liên quan chặt chẽ đến việc giảm chiều .
Kỹ thuật tính năng so với Trích xuất tính năng
Mặc dù thường được sử dụng thay thế cho nhau, kỹ thuật xây dựng đặc điểm và trích xuất đặc điểm có những sắc thái riêng biệt.
- Kỹ thuật tính năng: Một quy trình rộng hơn bao gồm trích xuất tính năng nhưng cũng liên quan đến việc tạo thủ công các tính năng mới, chuyển đổi các tính năng hiện có dựa trên chuyên môn về lĩnh vực và lựa chọn các tính năng tốt nhất. Nó thường đòi hỏi sự sáng tạo và hiểu biết sâu sắc về dữ liệu và vấn đề.
- Trích xuất tính năng: Tập trung cụ thể vào việc tự động chuyển đổi dữ liệu thô, thường là dữ liệu có chiều cao (như hình ảnh hoặc dữ liệu cảm biến thô) thành một tập hợp các tính năng có chiều thấp hơn, dễ quản lý hơn. Các kỹ thuật như Phân tích thành phần chính (PCA) hoặc học tính năng tự động được thực hiện bởi các lớp trong Mạng nơ-ron tích chập (CNN) là ví dụ về trích xuất tính năng.
Về bản chất, trích xuất tính năng thường là một công cụ được sử dụng trong quy trình thiết kế tính năng rộng hơn.
Ứng dụng trong thế giới thực
- Bảo trì dự đoán: Trong sản xuất, dữ liệu cảm biến thô (rung, nhiệt độ, áp suất) từ máy móc có thể bị nhiễu và có nhiều chiều. Kỹ thuật tính năng có thể bao gồm tính toán trung bình lăn, độ lệch chuẩn theo thời gian, các tính năng miền tần số (như FFT) hoặc tạo các tính năng chỉ ra các đột biến hoặc thay đổi đột ngột. Các tính năng được thiết kế này giúp mô hình ML dễ dàng dự đoán các lỗi thiết bị tiềm ẩn trước khi chúng xảy ra, như đã thảo luận trong AI trong sản xuất .
- Dự đoán Churn của khách hàng: Để dự đoán khách hàng nào có thể ngừng sử dụng dịch vụ, dữ liệu thô bao gồm nhật ký sử dụng, thông tin nhân khẩu học, lịch sử phiếu hỗ trợ và hồ sơ mua hàng. Kỹ thuật tính năng có thể bao gồm việc tạo các tính năng như 'thời lượng phiên trung bình', 'thời gian kể từ lần mua hàng cuối cùng', 'số phiếu hỗ trợ trong tháng trước', 'tỷ lệ phản hồi tích cực so với tiêu cực' hoặc 'giá trị trọn đời của khách hàng'. Các tính năng phái sinh này cung cấp tín hiệu phong phú hơn để dự đoán churn so với chỉ nhật ký thô. Điều này có liên quan đến AI trong tài chính và bán lẻ.
Kỹ thuật tính năng và Ultralytics
Trong khi các mô hình tiên tiến như Ultralytics YOLO vượt trội trong các nhiệm vụ như phát hiện đối tượng và phân đoạn hình ảnh bằng cách tự động học các đặc điểm trực quan có liên quan thông qua kiến trúc mạng nơ-ron sâu của chúng ( xương sống , cổ, đầu ), các nguyên tắc kỹ thuật đặc điểm vẫn có liên quan. Ví dụ, xử lý trước hình ảnh đầu vào (ví dụ, cân bằng biểu đồ cho ánh sáng thay đổi, giảm nhiễu bằng các thư viện như OpenCV hoặc áp dụng các phép tăng cường dữ liệu cụ thể được điều chỉnh theo miền vấn đề) trước khi đưa chúng vào YOLO mô hình là một dạng kỹ thuật tính năng có thể cải thiện độ bền và hiệu suất mô hình . Hơn nữa, các đầu ra từ YOLO (như tọa độ hộp giới hạn, lớp đối tượng, số lượng) có thể được thiết kế thành các tính năng cho các tác vụ hạ lưu hoặc kết hợp với các nguồn dữ liệu khác để phân tích phức tạp hơn, có thể được quản lý trong các nền tảng như Ultralytics HUB giúp tổ chức các tập dữ liệu và mô hình. Khám phá tài liệu và hướng dẫn Ultralytics để biết thêm thông tin về cách sử dụng mô hình, đào tạo tùy chỉnh và xử lý trước dữ liệu có chú thích . Các công cụ như Featuretools cũng có thể hỗ trợ tự động hóa các phần của quy trình thiết kế tính năng, phù hợp với các khái niệm trong Học máy tự động (AutoML) . Thiết kế tính năng hiệu quả, ngay cả khi kết hợp với các mô hình học sâu mạnh mẽ, vẫn là một khía cạnh quan trọng của các hoạt động MLOps thành công.