Học máy (machine learning) là tìm một hàm f từ dữ liệu ví dụ (x, y) sao cho f(x) dự đoán tốt y với dữ liệu mới. Ba thành phần của mọi bài toán:
- Mô hình: dạng của hàm, có các tham số cần học (ví dụ ŷ = wx + b)
- Hàm mất mát (loss): đo dự đoán sai bao nhiêu
- Thuật toán tối ưu: điều chỉnh tham số để loss nhỏ nhất
Hồi quy tuyến tính dự đoán một số thực: ŷ = Xw + b. Hàm mất mát phổ biến nhất là MSE (sai số bình phương trung bình): MSE = (1/n) Σ (yᵢ − ŷᵢ)². Bình phương phạt nặng các dự đoán sai nhiều và cho đạo hàm đẹp.
import numpy as np
X = np.array([[50], [70], [90]]) # diện tích (m²)
y = np.array([1.5, 2.1, 2.7]) # giá (tỷ đồng)
# Nghiệm đóng: thêm cột 1 cho hệ số chặn rồi giải bình phương tối thiểu
Xb = np.c_[np.ones(len(X)), X]
theta = np.linalg.lstsq(Xb, y, rcond=None)[0]
print(theta) # [0.0, 0.03] → giá ≈ 0.03 × diện tích
print(Xb @ theta) # dự đoán?Mô hình dự đoán [2, 4], giá trị thật [1, 4]. MSE bằng bao nhiêu?
Luyện tập ngay
Viết code và chấm tự động — có trợ lý AI gợi ý khi bí.