Hai khía cạnh của một vấn đề có thể khiến ta cần dùng chương trình có khả năng học và cải thiện dựa trên “kinh nghiệm”:
Tính phức tạp của vấn đề
Nhu cầu thích nghi linh hoạt (adaptivity)
Các tác vụ mà con người/động vật thực hiện: Có rất nhiều việc chúng ta làm thường ngày, nhưng lại không thể diễn tả rõ ràng cách mình làm. Vì vậy, không thể viết ra một chương trình rõ ràng để thực hiện những việc đó. Ví dụ như lái xe, nhận diện giọng nói, hiểu hình ảnh,... Trong những trường hợp như vậy, các chương trình học máy hiện đại – những chương trình có thể “học từ kinh nghiệm” – có thể đạt kết quả rất tốt nếu được huấn luyện với đủ dữ liệu.
Các tác vụ vượt quá khả năng con người: Một nhóm tác vụ khác mà học máy rất hữu ích là phân tích các tập dữ liệu cực lớn và phức tạp, ví dụ: dữ liệu thiên văn, chuyển đổi dữ liệu y học thành kiến thức y học, dự báo thời tiết, phân tích gene, công cụ tìm kiếm, thương mại điện tử,... Khi lượng dữ liệu số ngày càng nhiều, rõ ràng có rất nhiều thông tin quý giá bị chôn vùi trong đó mà con người không thể xử lý nổi. Học cách phát hiện các mẫu (pattern) có ý nghĩa trong đống dữ liệu khổng lồ này chính là một hướng đi đầy hứa hẹn. Sự kết hợp giữa các chương trình học và khả năng lưu trữ gần như không giới hạn, cộng thêm tốc độ xử lý ngày càng cao của máy tính, sẽ mở ra những chân trời mới.
Một điểm yếu của chương trình truyền thống là cứng nhắc – khi đã viết ra và cài đặt, nó không thay đổi được. Tuy nhiên, nhiều tác vụ thay đổi theo thời gian hoặc theo người dùng. Công cụ học máy – các chương trình thay đổi hành vi theo dữ liệu đầu vào – có thể giải quyết vấn đề này. Bản chất của chúng là thích nghi với môi trường.
Ví dụ điển hình cho ứng dụng học máy trong vấn đề này gồm:
Chương trình giải mã chữ viết tay: có thể thích nghi với kiểu viết của từng người.
Chương trình lọc thư rác: tự động thích nghi với các kiểu spam mới.
Chương trình nhận diện giọng nói: điều chỉnh theo giọng từng người.
Reference: "Understanding Machine Learning" by Shai Shalev-Shwartz & Shai Ben-David, 2014.