Machine learning là gì?
Machine learning là một nhánh của trí tuệ nhân tạo, trong đó máy tính học từ dữ liệu để tìm ra quy luật và đưa ra dự đoán mà không cần lập trình cứng cho từng trường hợp. Nói đơn giản, thay vì viết sẵn mọi luật, bạn cho máy xem nhiều ví dụ để nó tự học cách xử lý bài toán.
Với người mới bắt đầu, cách hiểu dễ nhất là: machine learning nhận dữ liệu đầu vào, tìm mẫu lặp lại trong dữ liệu đó, sau đó dùng mẫu đã học để dự đoán cho dữ liệu mới. Đây là nền tảng của rất nhiều ứng dụng hiện đại như gợi ý video, lọc spam, nhận diện khuôn mặt hay dự đoán giá nhà.
Machine learning hoạt động như thế nào?
Khi tìm hiểu machine learning cơ bản, bạn chỉ cần nhớ quy trình 4 bước sau:
- Thu thập dữ liệu: ví dụ điểm số, diện tích nhà, lịch sử mua hàng hoặc ảnh mèo và chó.
- Làm sạch dữ liệu: bỏ dữ liệu lỗi, thiếu, trùng hoặc không nhất quán.
- Huấn luyện mô hình: đưa dữ liệu vào thuật toán để mô hình học quy luật.
- Đánh giá và dự đoán: kiểm tra mô hình có hoạt động tốt trên dữ liệu mới hay không.
Ví dụ đơn giản: nếu bạn muốn dự đoán giá nhà, bạn có thể đưa vào các thông tin như diện tích, số phòng ngủ và vị trí. Sau khi học từ hàng trăm hoặc hàng nghìn căn nhà đã có giá thật, mô hình sẽ dự đoán giá cho một căn nhà mới.
Điểm quan trọng là mô hình không "hiểu" như con người. Nó chỉ học các mẫu thống kê từ dữ liệu. Vì vậy, dữ liệu tốt thường quan trọng không kém thuật toán tốt.
Ví dụ về machine learning bằng Python
Một ví dụ rất cơ bản là dự đoán điểm thi cuối kỳ dựa trên số giờ học. Đây là một bài toán hồi quy đơn giản.
from sklearn.linear_model import LinearRegression
# so_gio_hoc, diem_thi
X = [[1], [2], [3], [4], [5]]
y = [4, 5, 6, 7, 8]
model = LinearRegression()
model.fit(X, y)
du_doan = model.predict([[6]])
print(du_doan)
Trong đoạn code trên:
Xlà dữ liệu đầu vào, ở đây là số giờ học.ylà kết quả mong muốn, ở đây là điểm thi tương ứng.model.fit(X, y)là bước cho mô hình học từ dữ liệu cũ.model.predict([[6]])là bước dự đoán điểm khi học 6 giờ.
Bạn chưa cần hiểu sâu toàn bộ cú pháp ở bài đầu tiên này. Điều quan trọng là nắm được ý tưởng: mô hình nhìn dữ liệu mẫu trước, sau đó mới đưa ra dự đoán cho dữ liệu mới.
Ví dụ về machine learning trong thực tế
Ứng dụng của machine learning xuất hiện rất nhiều quanh bạn mỗi ngày:
- Gmail lọc email spam và email quan trọng.
- YouTube, TikTok, Netflix gợi ý nội dung phù hợp với sở thích.
- Ứng dụng ngân hàng phát hiện giao dịch bất thường.
- Sàn thương mại điện tử gợi ý sản phẩm bạn có khả năng mua.
- Ứng dụng bản đồ dự đoán thời gian di chuyển dựa trên dữ liệu giao thông.
Một ví dụ khác bằng Python là phân loại email có phải spam hay không. Đây là bài toán phân loại.
from sklearn.tree import DecisionTreeClassifier
# so_lan_xuat_hien_tu_khuyen_mai, so_lan_xuat_hien_link
X = [[10, 5], [8, 4], [1, 0], [0, 1]]
y = [1, 1, 0, 0] # 1 = spam, 0 = khong spam
model = DecisionTreeClassifier()
model.fit(X, y)
email_moi = [[7, 3]]
ket_qua = model.predict(email_moi)
print(ket_qua)
Ví dụ này đã được đơn giản hóa rất nhiều để người mới dễ hình dung. Trong thực tế, dữ liệu sẽ lớn hơn và phức tạp hơn, nhưng nguyên lý vẫn giống nhau: có dữ liệu đầu vào, có nhãn kết quả, rồi mô hình học để dự đoán.
Phân biệt machine learning và AI
Nhiều người mới thường nhầm machine learning và AI là một. Thực ra, machine learning là một phần của AI.
- AI là khái niệm rộng hơn, nói về việc làm cho máy có khả năng thực hiện các nhiệm vụ cần "trí thông minh" như nhận biết, suy luận, lập kế hoạch hoặc ra quyết định.
- Machine learning là cách phổ biến để xây dựng AI bằng cách cho máy học từ dữ liệu.
Bạn có thể hình dung như sau:
- AI là chiếc ô lớn.
- Machine learning là một nhánh nằm trong chiếc ô đó.
- Deep learning là một nhánh nhỏ hơn nằm trong machine learning.
Vì vậy, khi ai đó hỏi "machine learning là gì", câu trả lời ngắn gọn là: đó là phương pháp giúp hệ thống AI học từ dữ liệu thay vì chỉ làm theo luật viết sẵn.
Cần học gì trước khi học machine learning?
Nếu bạn đang băn khoăn học machine learning bắt đầu từ đâu, đây là lộ trình cơ bản cho người mới:
- Python cơ bản: biến, hàm, vòng lặp, list, dictionary.
- Toán nền tảng: đại số tuyến tính, xác suất, thống kê ở mức nhập môn.
- Xử lý dữ liệu: hiểu bảng dữ liệu, cột, dòng, giá trị thiếu, chuẩn hóa dữ liệu.
- Tư duy giải quyết vấn đề: biết đặt câu hỏi đúng và hiểu mục tiêu dự đoán.
Bạn không cần giỏi toán ngay từ đầu mới được học machine learning. Nhưng nếu muốn đi xa hơn, toán sẽ giúp bạn hiểu vì sao mô hình hoạt động và khi nào nên dùng từng thuật toán.
Một lộ trình hợp lý là:
- Học Python cơ bản.
- Làm quen với thư viện
pandas,matplotlib,scikit-learn. - Học các khái niệm như train, test, feature, label, accuracy.
- Thực hành các bài toán nhỏ trước khi sang deep learning.
Những hiểu lầm thường gặp về machine learning
- Nghĩ rằng machine learning là "phép màu" và chỉ cần đưa dữ liệu vào là có kết quả tốt. Thực tế, chất lượng dữ liệu ảnh hưởng rất mạnh đến kết quả.
- Nghĩ rằng phải cực giỏi toán mới bắt đầu được. Thực ra bạn có thể học khái niệm và thực hành trước, rồi củng cố toán dần.
- Nghĩ rằng machine learning luôn thông minh như con người. Mô hình chỉ mạnh trong phạm vi dữ liệu và nhiệm vụ mà nó được huấn luyện.
- Nghĩ rằng AI và machine learning là hoàn toàn giống nhau. Đây là hai khái niệm liên quan nhưng không đồng nhất.
Bài tập thực hành
Hãy làm bài tập nhỏ sau để hiểu rõ hơn khái niệm machine learning:
- Chọn một ứng dụng bạn dùng mỗi ngày như YouTube, Shopee hoặc Gmail.
- Trả lời 3 câu hỏi: dữ liệu đầu vào là gì, mô hình có thể đang dự đoán điều gì, và kết quả dự đoán được dùng để làm gì.
- Viết câu trả lời ngắn gọn trong 3 đến 5 dòng.
Nếu muốn thực hành thêm bằng Python, bạn có thể chạy thử đoạn code sau và đổi dữ liệu đầu vào để xem dự đoán thay đổi thế nào:
from sklearn.linear_model import LinearRegression
X = [[2], [4], [6], [8]]
y = [3, 5, 7, 9]
model = LinearRegression()
model.fit(X, y)
print(model.predict([[10]]))
Gợi ý: sau khi chạy, hãy tự hỏi mô hình đã học quy luật gì từ dữ liệu trên.
Câu hỏi thường gặp về machine learning
Machine learning có khó không?
Machine learning không quá khó nếu bạn đi đúng thứ tự. Phần khó nhất với người mới thường không phải thuật toán mà là hiểu dữ liệu, hiểu bài toán và kiên trì thực hành.
Học machine learning bắt đầu từ đâu?
Bạn nên bắt đầu từ Python cơ bản, sau đó học cách xử lý dữ liệu và làm quen với vài mô hình đơn giản trong scikit-learn. Đừng nhảy ngay vào deep learning nếu bạn chưa nắm rõ khái niệm machine learning cơ bản.
Machine learning là gì cho người mới bắt đầu nên hiểu ngắn gọn thế nào?
Bạn có thể nhớ ngắn gọn rằng machine learning là cách để máy tính học từ dữ liệu và đưa ra dự đoán cho dữ liệu mới. Đây là câu trả lời đủ đúng và đủ dễ hiểu ở giai đoạn nhập môn.
Cần học gì trước khi học machine learning?
Bạn nên có nền tảng Python, tư duy logic và một ít thống kê cơ bản. Khi học đến từng mô hình cụ thể, bạn sẽ bổ sung kiến thức toán cần thiết sau.
Tóm tắt
Machine learning là gì? Đó là cách để máy tính học từ dữ liệu thay vì chỉ làm theo các luật được viết sẵn. Trong bài này, bạn đã hiểu khái niệm machine learning, cách nó hoạt động, ví dụ về machine learning trong thực tế, sự khác nhau giữa machine learning và AI, cùng lộ trình bắt đầu cho người mới. Ở bài tiếp theo, chúng ta sẽ phân biệt rõ AI, Machine Learning và Deep Learning để tránh nhầm lẫn khi mới học.
Bài viết liên quan

Next.js là gì? Tại sao nên dùng Next.js để làm web?
Giới thiệu Next.js — framework React phổ biến nhất. Tìm hiểu ưu điểm, tính năng nổi bật và khi nào nên dùng.

Con bug đầu tiên trong cuộc đời lập trình viên
Câu chuyện hài hước về lần đầu gặp bug và mất 3 tiếng để tìm ra nguyên nhân chỉ là... thiếu dấu chấm phẩy.

Hướng dẫn cài đặt Python chi tiết trên Windows, macOS, Linux
Hướng dẫn từng bước cài đặt Python trên mọi hệ điều hành. Kèm cách kiểm tra và chạy chương trình đầu tiên.