Ví dụ đơn giản nhất được sử dụng để minh họa điều này, là vấn đề XOR (xem hình ảnh bên dưới). Hãy tưởng tượng rằng bạn được cung cấp dữ liệu chứa và y phối hợp và lớp nhị phân để dự đoán. Bạn có thể mong đợi thuật toán học máy của mình tự tìm ra ranh giới quyết định chính xác, nhưng nếu bạn tạo thêm tính năng z = x y , thì vấn đề sẽ trở nên tầm thường vì z > 0 cung cấp cho bạn tiêu chí quyết định gần như hoàn hảo để phân loại và bạn chỉ sử dụng đơn giản số học!xyz= x yz> 0
Vì vậy, trong nhiều trường hợp bạn có thể mong đợi từ thuật toán để tìm giải pháp, thay vào đó, bằng kỹ thuật tính năng, bạn có thể đơn giản hóa vấn đề. Các vấn đề đơn giản dễ dàng hơn và nhanh hơn để giải quyết, và cần các thuật toán ít phức tạp hơn. Các thuật toán đơn giản thường mạnh mẽ hơn, kết quả thường dễ hiểu hơn, chúng có khả năng mở rộng hơn (tài nguyên tính toán ít hơn, thời gian đào tạo, v.v.) và di động. Bạn có thể tìm thấy nhiều ví dụ và giải thích trong bài nói chuyện tuyệt vời của Vincent D. Warmerdam, được đưa ra từ hội nghị PyData ở London .
Hơn nữa, đừng tin tất cả mọi thứ mà các nhà tiếp thị học máy nói với bạn. Trong hầu hết các trường hợp, các thuật toán sẽ không "tự học". Bạn thường có giới hạn thời gian, tài nguyên, sức mạnh tính toán và dữ liệu thường có kích thước hạn chế và không gây ồn ào.
Đưa điều này đến mức cực đoan, bạn có thể cung cấp dữ liệu của mình dưới dạng hình ảnh ghi chú viết tay về kết quả thử nghiệm và chuyển chúng đến mạng lưới thần kinh phức tạp. Đầu tiên nó sẽ học cách nhận ra dữ liệu trên hình ảnh, sau đó học cách hiểu nó và đưa ra dự đoán. Để làm như vậy, bạn sẽ cần một máy tính mạnh mẽ và nhiều thời gian để đào tạo và điều chỉnh mô hình và cần một lượng dữ liệu khổng lồ vì sử dụng mạng thần kinh phức tạp. Cung cấp dữ liệu ở định dạng có thể đọc được trên máy tính (dưới dạng bảng số), đơn giản hóa vấn đề rất nhiều, vì bạn không cần tất cả nhận dạng ký tự. Bạn có thể nghĩ về kỹ thuật tính năng như một bước tiếp theo, nơi bạn chuyển đổi dữ liệu theo cách như vậy để tạo ra ý nghĩacác tính năng, do đó thuật toán của bạn thậm chí còn ít hơn để tự mình tìm ra. Để đưa ra một sự tương tự, nó giống như bạn muốn đọc một cuốn sách bằng tiếng nước ngoài, do đó bạn cần phải học ngôn ngữ trước, so với việc đọc nó được dịch bằng ngôn ngữ mà bạn hiểu.
Trong ví dụ về dữ liệu Titanic, thuật toán của bạn sẽ cần phải hiểu rằng việc tóm tắt các thành viên trong gia đình có ý nghĩa, để có được tính năng "quy mô gia đình" (vâng, tôi đang cá nhân hóa nó ở đây). Đây là một tính năng rõ ràng đối với con người, nhưng không rõ ràng nếu bạn xem dữ liệu chỉ là một số cột của các con số. Nếu bạn không biết cột nào có ý nghĩa khi được xem xét cùng với các cột khác, thuật toán có thể tìm ra nó bằng cách thử từng kết hợp có thể của các cột đó. Chắc chắn, chúng ta có những cách thông minh để làm điều này, nhưng vẫn, sẽ dễ dàng hơn nhiều nếu thông tin được cung cấp cho thuật toán ngay lập tức.