Linear Regression: Từ phương trình hồi quy đến thuật toán Machine Learning
Linear Regression (hồi quy tuyến tính) là một trong những thuật toán nền tảng của Machine Learning, được sử dụng để dự đoán các giá trị số như doanh thu, giá nhà, nhu cầu sản phẩm hoặc chi phí vận hành. Tuy nhiên, giá trị của thuật toán không chỉ nằm ở khả năng dự đoán mà còn ở cách nó giúp chúng ta hiểu mối quan hệ giữa các biến trong dữ liệu.
Để hiểu Linear Regression một cách bài bản, cần đi từ phương trình hồi quy trong thống kê đến cách mô hình học các hệ số từ dữ liệu. Bài viết này sẽ giải thích bản chất của mô hình, Ordinary Least Squares (OLS), Loss Function, Gradient Descent, các giả định quan trọng và cách xây dựng mô hình bằng Python.
1. Linear Regression là gì?
Linear Regression là phương pháp mô hình hóa mối quan hệ giữa một biến mục tiêu dạng số và một hoặc nhiều biến đầu vào bằng một hàm tuyến tính theo các tham số của mô hình.
Ví dụ, một doanh nghiệp muốn dự đoán doanh thu dựa trên ngân sách quảng cáo. Khi ngân sách thay đổi, doanh thu có thể thay đổi theo. Linear Regression tìm cách biểu diễn mối quan hệ này bằng một phương trình, từ đó ước lượng doanh thu cho những mức ngân sách chưa xuất hiện trong dữ liệu huấn luyện.
Trong bài toán Supervised Learning, dữ liệu thường bao gồm:
- Feature (X): Các biến đầu vào, chẳng hạn ngân sách quảng cáo hoặc diện tích nhà.
- Target (y): Giá trị thực tế cần dự đoán, chẳng hạn doanh thu hoặc giá nhà.
- Prediction (ŷ): Giá trị do mô hình dự đoán.
- Coefficient (hệ số): Các tham số mô tả mức độ đóng góp của từng Feature trong phương trình.
Linear Regression thuộc nhóm Regression trong Supervised Learning vì đầu ra của mô hình là một giá trị số. Nếu bạn cần ôn lại sự khác biệt giữa Regression và Classification, hãy tham khảo bài Supervised Learning là gì? Regression và Classification từ cơ bản đến thực tế.
2. Từ phương trình hồi quy đến mô hình Machine Learning
Điểm cốt lõi của Linear Regression là tìm ra các hệ số phù hợp để phương trình mô tả dữ liệu tốt nhất theo một tiêu chí sai số đã xác định.
2.1. Phương trình hồi quy tuyến tính đơn
Với một biến đầu vào, phương trình dự đoán có dạng:
ŷ = β₀ + β₁x
- ŷ: Giá trị dự đoán của biến mục tiêu.
- x: Giá trị của biến đầu vào.
- β₀: Intercept (hệ số chặn).
- β₁: Coefficient (hệ số hồi quy) của biến x.
Giả sử mô hình dự đoán doanh thu theo ngân sách quảng cáo có phương trình minh họa:
Doanh thu dự đoán = 20 + 3 × Ngân sách quảng cáo
Nếu ngân sách quảng cáo được đo bằng triệu đồng và doanh thu cũng được đo bằng triệu đồng, hệ số 3 có nghĩa là doanh thu dự đoán tăng 3 triệu đồng khi ngân sách tăng 1 triệu đồng, theo phương trình đã xây dựng.
Đây là cách diễn giải toán học của mô hình, không có nghĩa rằng tăng ngân sách chắc chắn gây ra mức tăng doanh thu đó. Muốn kết luận về quan hệ nhân quả, cần thiết kế nghiên cứu và kiểm soát các yếu tố gây nhiễu phù hợp.
2.2. Intercept và Coefficient có ý nghĩa gì?
Intercept (β₀) là giá trị dự đoán của biến mục tiêu khi tất cả các biến đầu vào bằng 0. Ý nghĩa thực tế của Intercept phụ thuộc vào việc trường hợp tất cả Feature bằng 0 có hợp lý trong bối cảnh dữ liệu hay không.
Coefficient (β₁) thể hiện mức thay đổi của giá trị dự đoán khi x tăng một đơn vị, trong khi các biến đầu vào khác được giữ cố định nếu mô hình có nhiều Feature.
Ví dụ, nếu mô hình dự đoán giá nhà có hệ số diện tích bằng 0,04 và giá được tính bằng tỷ đồng, diện tích tính bằng m², thì tăng thêm 1 m² tương ứng với mức tăng 0,04 tỷ đồng trong giá dự đoán khi giữ các Feature khác không đổi.
Hệ số này không tự động thể hiện tác động nhân quả. Ngoài ra, hệ số có thể khó diễn giải khi các Feature có tương quan mạnh hoặc khi biến đã được chuẩn hóa, biến đổi.
2.3. Phương trình hồi quy tuyến tính bội
Trong thực tế, một biến mục tiêu thường chịu ảnh hưởng của nhiều yếu tố. Khi sử dụng nhiều Feature, mô hình có dạng:
ŷ = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ
Ví dụ, giá nhà có thể được dự đoán từ diện tích, số phòng ngủ và khoảng cách đến trung tâm. Mỗi Feature có một hệ số riêng, còn Intercept là thành phần chặn của phương trình.
Về mặt hình học, hồi quy tuyến tính đơn tạo ra một đường thẳng trong không gian hai chiều. Hồi quy với hai Feature tạo ra một mặt phẳng trong không gian ba chiều. Với nhiều Feature hơn, mô hình vẫn là tuyến tính theo tham số nhưng không thể trực quan hóa đầy đủ bằng hình vẽ thông thường.
3. Linear Regression học từ dữ liệu như thế nào?
Phương trình chỉ xác định cấu trúc của mô hình. Để có thể dự đoán, mô hình cần tìm được các hệ số phù hợp từ dữ liệu huấn luyện. Quá trình đó được gọi là Model Training.
3.1. Giá trị thực tế, giá trị dự đoán và Residual
Với mỗi mẫu dữ liệu, mô hình tạo ra một giá trị dự đoán. Chênh lệch giữa giá trị thực tế và giá trị dự đoán được gọi là Residual (phần dư):
eᵢ = yᵢ - ŷᵢ
Trong đó, yᵢ là giá trị thực tế và ŷᵢ là giá trị dự đoán của mẫu thứ i.
Nếu giá nhà thực tế là 3 tỷ đồng nhưng mô hình dự đoán 2,8 tỷ đồng, Residual là 0,2 tỷ đồng. Nếu mô hình dự đoán 3,2 tỷ đồng, Residual là -0,2 tỷ đồng.
Residual dương có nghĩa mô hình dự đoán thấp hơn thực tế; Residual âm có nghĩa mô hình dự đoán cao hơn thực tế. Tuy nhiên, khi đánh giá tổng thể, không thể chỉ cộng các Residual có dấu vì sai số dương và âm có thể triệt tiêu nhau.
3.2. Loss Function là gì?
Loss Function là hàm đo mức độ sai lệch giữa dự đoán và giá trị thực tế. Mô hình được huấn luyện nhằm tìm ra các tham số giúp giảm giá trị của hàm mất mát đã chọn.
Một lựa chọn phổ biến trong Linear Regression là Mean Squared Error (MSE):
MSE = (1/n) × Σ (yᵢ - ŷᵢ)²
Trong đó, n là số mẫu dữ liệu. MSE bình phương từng Residual rồi lấy trung bình. Vì sai số bị bình phương, các dự đoán lệch nhiều sẽ bị phạt mạnh hơn những dự đoán chỉ lệch một lượng nhỏ.
Ví dụ, hai sai số có độ lớn lần lượt là 2 và 5 sẽ đóng góp bình phương sai số là 4 và 25. Vì vậy, MSE nhạy với các điểm có sai số lớn và có thể bị ảnh hưởng đáng kể bởi Outlier.
Một lựa chọn khác là Mean Absolute Error (MAE):
MAE = (1/n) × Σ |yᵢ - ŷᵢ|
MAE tính trung bình độ lớn sai số tuyệt đối, thường dễ diễn giải theo đơn vị của biến mục tiêu và ít nhạy với sai số lớn hơn MSE.
3.3. Ordinary Least Squares (OLS)
Ordinary Least Squares (OLS), hay phương pháp bình phương tối thiểu thông thường, là phương pháp ước lượng các hệ số của Linear Regression bằng cách tối thiểu hóa tổng bình phương Residual.
RSS = Σ (yᵢ - ŷᵢ)²
Tìm các hệ số β sao cho RSS nhỏ nhất.
RSS (Residual Sum of Squares) là tổng bình phương sai số. MSE và RSS có cùng mục tiêu tối ưu khi tập dữ liệu cố định, vì MSE bằng RSS chia cho số mẫu n. Do đó, hai tiêu chí này cho cùng nghiệm tối ưu trong trường hợp thông thường.
Bản chất của OLS là tìm đường thẳng, mặt phẳng hoặc siêu phẳng sao cho tổng bình phương khoảng cách theo phương của biến mục tiêu giữa các điểm dữ liệu và giá trị dự đoán là nhỏ nhất.
Trong điều kiện ma trận dữ liệu có đủ hạng và bài toán phù hợp, OLS có thể tìm được nghiệm tối ưu bằng phương pháp đại số tuyến tính mà không cần cập nhật tham số từng bước.
4. Hai cách tìm hệ số: nghiệm OLS và Gradient Descent
Linear Regression có thể được huấn luyện bằng nhiều cách. Hai cách quan trọng để hiểu bản chất là tìm nghiệm bình phương tối thiểu bằng phương pháp đại số và tối ưu lặp bằng Gradient Descent.
4.1. Nghiệm đại số của OLS
Với ký hiệu ma trận, mô hình được biểu diễn như sau:
ŷ = Xβ
Trong đó X là ma trận đặc trưng đã bao gồm cột Intercept nếu mô hình có hệ số chặn, β là vector hệ số và ŷ là vector giá trị dự đoán.
Nghiệm OLS thường được trình bày dưới dạng:
β̂ = (XᵀX)⁻¹Xᵀy
Công thức trên áp dụng khi XᵀX khả nghịch. Nếu các Feature phụ thuộc tuyến tính hoàn toàn hoặc ma trận không đủ hạng, công thức nghịch đảo trực tiếp không áp dụng được. Trong thực tế, các thư viện số thường sử dụng phương pháp ổn định hơn như QR decomposition hoặc Singular Value Decomposition (SVD).
Ưu điểm của cách giải này là không cần lựa chọn Learning Rate. Tuy nhiên, khi dữ liệu có nhiều Feature, có cấu trúc đặc biệt hoặc quy mô lớn, thuật toán giải số phù hợp có thể quan trọng hơn việc áp dụng công thức nghịch đảo theo cách trực tiếp.
4.2. Gradient Descent là gì?
Gradient Descent là thuật toán tối ưu lặp được dùng để tìm các tham số giúp giảm Loss Function. Thay vì giải trực tiếp nghiệm bằng đại số, thuật toán bắt đầu từ một bộ tham số ban đầu rồi cập nhật chúng theo hướng làm giảm hàm mất mát.
Quy trình tổng quát:
Khởi tạo các hệ số
|
v
Tính giá trị dự đoán
|
v
Tính Loss Function
|
v
Tính Gradient của Loss
|
v
Cập nhật các hệ số
|
v
Kiểm tra điều kiện dừng
|
+---- Chưa đạt ----> Lặp lại
|
v
Hoàn thành huấn luyện
Với một biến đầu vào và MSE được định nghĩa bằng trung bình bình phương sai số, các đạo hàm của Loss theo hệ số có thể được viết như sau:
∂MSE/∂β₀ = (-2/n) × Σ (yᵢ - ŷᵢ)
∂MSE/∂β₁ = (-2/n) × Σ xᵢ(yᵢ - ŷᵢ)
Gradient cho biết hướng mà Loss tăng nhanh nhất tại vị trí hiện tại. Gradient Descent cập nhật tham số theo hướng ngược lại:
βⱼ mới = βⱼ cũ - η × ∂Loss/∂βⱼ
Trong đó η là Learning Rate, quyết định kích thước bước cập nhật. Nếu Learning Rate quá nhỏ, quá trình tối ưu có thể chậm. Nếu quá lớn, thuật toán có thể dao động hoặc không hội tụ.
4.3. So sánh OLS và Gradient Descent
| Tiêu chí | Nghiệm OLS bằng phương pháp đại số | Gradient Descent |
|---|---|---|
| Cách hoạt động | Giải bài toán bình phương tối thiểu bằng thuật toán đại số tuyến tính | Cập nhật tham số lặp đi lặp lại dựa trên Gradient |
| Learning Rate | Không cần | Cần chọn hoặc điều chỉnh |
| Điều kiện dừng | Phụ thuộc thuật toán giải số và độ chính xác tính toán | Thường dựa trên số vòng lặp, độ thay đổi Loss hoặc tiêu chí hội tụ |
| Điểm cần lưu ý | Cần phương pháp giải số phù hợp, đặc biệt khi dữ liệu lớn hoặc ma trận kém điều kiện | Kết quả và tốc độ phụ thuộc Learning Rate, cách tính Gradient và điều kiện dừng |
Với bài toán Linear Regression chuẩn, hàm bình phương sai số là hàm lồi theo các hệ số. Vì vậy, nếu bài toán có nghiệm và Gradient Descent hội tụ đúng, thuật toán có thể tìm đến nghiệm tối ưu toàn cục. Trong thực tế, thư viện có thể chọn cách giải số khác nhau tùy quy mô và cấu trúc dữ liệu.
5. Giả định của Linear Regression
Linear Regression có thể tạo ra dự đoán ngay cả khi dữ liệu không đáp ứng đầy đủ các giả định thống kê. Tuy nhiên, các giả định này rất quan trọng khi muốn diễn giải hệ số, thực hiện suy luận thống kê hoặc đánh giá mức độ phù hợp của mô hình.
5.1. Quan hệ tuyến tính theo tham số
Mô hình giả định giá trị kỳ vọng của biến mục tiêu có thể được biểu diễn bằng một tổ hợp tuyến tính của các hệ số và Feature đã chọn.
Điều này không có nghĩa mọi mối quan hệ phải là đường thẳng theo biến gốc. Chẳng hạn, nếu tạo thêm Feature x², mô hình vẫn tuyến tính theo các hệ số dù quan hệ theo x có thể là đường cong:
ŷ = β₀ + β₁x + β₂x²
Việc bổ sung Feature phi tuyến cần được cân nhắc để tránh mô hình quá phức tạp hoặc Overfitting.
5.2. Độc lập của sai số
Trong các bài toán suy luận thống kê thông thường, sai số giữa các quan sát thường được giả định độc lập có điều kiện theo các biến giải thích. Nếu dữ liệu có cấu trúc thời gian, theo nhóm hoặc theo cá nhân, sai số có thể phụ thuộc lẫn nhau và cần được xử lý phù hợp.
5.3. Phương sai sai số không đổi
Homoscedasticity là giả định phương sai của sai số có điều kiện không đổi trên các mức của biến giải thích. Nếu độ phân tán của sai số tăng hoặc giảm rõ rệt theo giá trị dự đoán, dữ liệu có thể gặp Heteroscedasticity.
Vi phạm giả định này không nhất thiết khiến dự đoán OLS trở nên vô dụng, nhưng có thể ảnh hưởng đến sai số chuẩn và các kết luận thống kê thông thường.
5.4. Phân phối chuẩn của sai số
Giả định sai số có phân phối chuẩn chủ yếu hữu ích cho một số thủ tục suy luận thống kê chính xác trong mẫu nhỏ. Đây không phải điều kiện bắt buộc để OLS tính được hệ số hoặc tạo dự đoán.
5.5. Đa cộng tuyến giữa các Feature
Multicollinearity xảy ra khi các Feature có quan hệ tuyến tính mạnh với nhau. Khi đó, mô hình có thể khó phân tách riêng phần đóng góp của từng biến, khiến hệ số nhạy với thay đổi nhỏ của dữ liệu.
Nếu mục tiêu là dự đoán, đa cộng tuyến không phải lúc nào cũng làm giảm đáng kể độ chính xác dự đoán. Tuy nhiên, nếu cần diễn giải từng hệ số, cần kiểm tra tương quan giữa các Feature và cân nhắc các phương pháp như Ridge Regression.
6. Đánh giá Linear Regression
Sau khi huấn luyện, cần đánh giá mô hình trên dữ liệu chưa được sử dụng để ước lượng hệ số. Việc chỉ kiểm tra kết quả trên tập huấn luyện có thể tạo ra cái nhìn quá lạc quan về khả năng dự đoán.
6.1. Mean Absolute Error (MAE)
MAE = (1/n) × Σ |yᵢ - ŷᵢ|
MAE biểu thị độ lớn sai số tuyệt đối trung bình. Nếu biến mục tiêu được tính bằng triệu đồng, MAE cũng có đơn vị triệu đồng, thuận tiện cho việc trao đổi với bộ phận nghiệp vụ.
6.2. Mean Squared Error (MSE) và Root Mean Squared Error (RMSE)
MSE = (1/n) × Σ (yᵢ - ŷᵢ)²
RMSE = √MSE
MSE nhạy với các sai số lớn do bình phương Residual. RMSE đưa sai số về cùng đơn vị với biến mục tiêu, nhưng vẫn chịu ảnh hưởng đáng kể của những dự đoán lệch nhiều.
6.3. R-squared (R²)
R² là chỉ số thường được sử dụng để mô tả mức độ cải thiện của mô hình so với một mốc tham chiếu, thường là dự đoán bằng giá trị trung bình của biến mục tiêu trong tập đang đánh giá.
R² = 1 - RSS/TSS
Trong đó RSS là tổng bình phương Residual và TSS là tổng bình phương độ lệch của giá trị thực tế so với trung bình của chúng.
R² bằng 1 khi dự đoán khớp hoàn toàn với các giá trị thực tế trong tập đánh giá. R² bằng 0 tương ứng với mức RSS bằng TSS theo công thức thông thường. R² có thể âm trên dữ liệu kiểm tra nếu mô hình dự đoán kém hơn mốc trung bình của tập đánh giá.
Lưu ý: R² cao không đồng nghĩa mô hình chắc chắn dự đoán tốt trên dữ liệu mới, cũng không chứng minh quan hệ nhân quả. Cần xem xét thêm MAE, RMSE, biểu đồ Residual và hiệu quả trên tập Test.
7. Thực hành Linear Regression bằng Python
Trong phần này, chúng ta xây dựng mô hình dự đoán doanh thu từ ngân sách quảng cáo bằng thư viện scikit-learn. Dữ liệu được tạo giả lập nhằm minh họa quy trình, không phải số liệu doanh nghiệp thực tế.
7.1. Cài đặt thư viện
pip install numpy scikit-learn
7.2. Chuẩn bị dữ liệu và huấn luyện mô hình
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error, r2_score
# Dữ liệu giả lập:
# Ngân sách quảng cáo (triệu đồng)
X = np.array([
[1], [2], [3], [4], [5],
[6], [7], [8], [9], [10]
])
# Doanh thu (triệu đồng)
y = np.array([
12, 15, 19, 21, 25,
28, 31, 35, 38, 41
])
# Chia tập huấn luyện và kiểm tra
X_train, X_test, y_train, y_test = train_test_split(
X, y,
test_size=0.2,
random_state=42
)
# Khởi tạo và huấn luyện
model = LinearRegression()
model.fit(X_train, y_train)
# Hệ số và hệ số chặn
print("Coefficient:", model.coef_[0])
print("Intercept:", model.intercept_)
# Dự đoán trên tập Test
y_pred = model.predict(X_test)
# Đánh giá mô hình
print("MAE:", mean_absolute_error(y_test, y_pred))
print("RMSE:", np.sqrt(mean_squared_error(y_test, y_pred)))
print("R2:", r2_score(y_test, y_pred))
# Dự đoán doanh thu với ngân sách 11 triệu đồng
new_budget = np.array([[11]])
predicted_revenue = model.predict(new_budget)
print("Doanh thu dự đoán:", predicted_revenue[0])
7.3. Giải thích các bước trong code
- Chuẩn bị X và y: X chứa ngân sách quảng cáo, còn y chứa doanh thu tương ứng.
- Chia dữ liệu: Tập Train được dùng để học hệ số, còn tập Test được giữ lại để đánh giá.
- Khởi tạo mô hình: LinearRegression() tạo mô hình hồi quy tuyến tính của scikit-learn.
- Huấn luyện: fit() ước lượng hệ số từ dữ liệu Train bằng phương pháp bình phương tối thiểu.
- Dự đoán: predict() sử dụng hệ số đã học để tạo dự đoán cho các đầu vào mới.
- Đánh giá: MAE, RMSE và R² giúp xem xét sai số và mức độ phù hợp của dự đoán trên tập Test.
Thuộc tính coef_ lưu hệ số của Feature, còn intercept_ lưu hệ số chặn. Đây là các tham số mô hình đã ước lượng sau khi gọi fit().
Vì tập dữ liệu nhỏ và được tạo giả lập, kết quả đánh giá chỉ phục vụ mục đích học tập. Trong dự án thực tế, cần nhiều dữ liệu đại diện hơn, lựa chọn Feature hợp lý và kiểm tra khả năng khái quát hóa trước khi sử dụng dự đoán để ra quyết định.
8. Residual Analysis: Kiểm tra mô hình có phù hợp không
Các chỉ số tổng hợp như MAE, RMSE và R² giúp so sánh mô hình, nhưng không cho biết đầy đủ cấu trúc sai số. Residual Analysis giúp kiểm tra xem mô hình có bỏ sót quy luật quan trọng hay không.
Một số dấu hiệu cần chú ý:
- Residual tạo thành đường cong: Có thể quan hệ giữa Feature và Target không được mô hình tuyến tính mô tả đầy đủ.
- Độ phân tán tăng theo giá trị dự đoán: Có thể tồn tại Heteroscedasticity.
- Một vài điểm có Residual rất lớn: Cần kiểm tra Outlier, lỗi dữ liệu hoặc những trường hợp có đặc điểm khác biệt.
- Residual có tính chuỗi: Với dữ liệu thời gian, sai số liên tiếp có thể phụ thuộc lẫn nhau.
Không nên tự động xóa mọi điểm có sai số lớn. Một điểm bất thường có thể là lỗi nhập liệu, nhưng cũng có thể là quan sát hợp lệ mang thông tin quan trọng. Việc xử lý cần dựa trên hiểu biết về dữ liệu và mục tiêu phân tích.
9. Hạn chế của Linear Regression và cách cải thiện
9.1. Quan hệ thực tế không tuyến tính
Nếu quan hệ giữa Feature và Target có dạng phi tuyến, mô hình tuyến tính đơn giản có thể tạo ra sai số có hệ thống. Có thể cân nhắc biến đổi Feature, bổ sung Polynomial Features hoặc thử các thuật toán phi tuyến như Decision Tree và Random Forest.
9.2. Outlier ảnh hưởng đến hệ số
Do OLS tối thiểu hóa bình phương sai số, những điểm có Residual lớn có thể ảnh hưởng mạnh đến hệ số. Cần kiểm tra nguồn gốc của Outlier, đánh giá độ nhạy của mô hình và cân nhắc phương pháp hồi quy bền vững khi phù hợp.
9.3. Đa cộng tuyến làm hệ số kém ổn định
Khi nhiều Feature chứa thông tin gần giống nhau, hệ số OLS có thể thay đổi đáng kể khi dữ liệu thay đổi. Ridge Regression thêm hình phạt L2 vào hàm mục tiêu nhằm hạn chế độ lớn của hệ số và thường giúp mô hình ổn định hơn.
Với Ridge Regression, hàm mục tiêu có thể biểu diễn như sau:
Loss = RSS + α × Σ βⱼ²
Trong cách viết phổ biến, hệ số chặn không bị phạt. α là tham số điều chỉnh cường độ Regularization; α càng lớn thì mức co nhỏ hệ số càng mạnh. Cần lựa chọn α bằng Validation hoặc Cross-validation phù hợp.
9.4. Data Leakage làm kết quả đánh giá thiếu tin cậy
Data Leakage xảy ra khi thông tin không nên có tại thời điểm dự đoán lọt vào quá trình huấn luyện hoặc đánh giá. Ví dụ, nếu muốn dự đoán doanh thu tháng tới nhưng Feature lại chứa thông tin chỉ được biết sau khi tháng đó kết thúc, kết quả có thể rất tốt trên dữ liệu thử nghiệm nhưng không thể triển khai thực tế.
Để hạn chế Data Leakage, cần xác định thời điểm dự đoán, chia Train/Test đúng cách và chỉ thực hiện các bước tiền xử lý dựa trên tập Train. Khi làm việc với dữ liệu thời gian, nên bảo đảm dữ liệu kiểm tra nằm sau dữ liệu huấn luyện theo trật tự thời gian.
10. Quy trình xây dựng Linear Regression trong dự án thực tế
Để áp dụng Linear Regression một cách có hệ thống, có thể sử dụng quy trình sau:
- Xác định bài toán: Làm rõ biến mục tiêu, thời điểm cần dự đoán và tiêu chí thành công.
- Thu thập và hiểu dữ liệu: Kiểm tra đơn vị đo, phạm vi giá trị, dữ liệu thiếu và chất lượng nhãn.
- Tiền xử lý và Feature Engineering: Xử lý dữ liệu và xây dựng đặc trưng phù hợp với mục tiêu.
- Chia dữ liệu: Tách Train, Validation và Test theo cấu trúc dữ liệu và mục đích đánh giá.
- Huấn luyện mô hình: Bắt đầu với Linear Regression như một mô hình cơ sở (Baseline).
- Đánh giá và phân tích Residual: Dùng các chỉ số phù hợp và kiểm tra sai số có cấu trúc hay không.
- Cải thiện mô hình: Xem xét Feature, Regularization hoặc các thuật toán thay thế nếu cần.
- Triển khai và theo dõi: Theo dõi chất lượng dự đoán khi dữ liệu thực tế thay đổi theo thời gian.
Quy trình này cho thấy xây dựng Machine Learning không chỉ là gọi một hàm fit(). Mô hình đáng tin cậy cần bắt đầu từ một bài toán rõ ràng, dữ liệu phù hợp và phương pháp đánh giá đúng.
11. Kết luận
Linear Regression là cầu nối quan trọng giữa kiến thức thống kê và Machine Learning. Từ phương trình tuyến tính, mô hình sử dụng dữ liệu để ước lượng các hệ số, tối thiểu hóa sai số bằng OLS hoặc phương pháp tối ưu như Gradient Descent, sau đó tạo dự đoán cho dữ liệu mới.
Để sử dụng thuật toán hiệu quả, người học cần hiểu ý nghĩa của Coefficient và Intercept, lựa chọn Loss Function phù hợp, đánh giá bằng MAE, RMSE và R², đồng thời kiểm tra giả định và cấu trúc Residual. Cũng cần nhớ rằng hệ số hồi quy thể hiện mối quan hệ trong mô hình, không tự động chứng minh quan hệ nhân quả.
Sau khi nắm vững Linear Regression, bạn có thể tiếp tục tìm hiểu Logistic Regression, Ridge Regression, Lasso Regression và các mô hình cây quyết định để mở rộng nền tảng Machine Learning.
12. Tài liệu tham khảo
- Google for Developers – Linear Regression: Tổng quan về mô hình hồi quy tuyến tính, Feature, hệ số và quá trình huấn luyện.
- Google for Developers – Linear Regression: Loss: Giải thích Loss Function và các cách đo sai số.
- Google for Developers – Linear Regression: Gradient Descent: Trình bày quá trình cập nhật tham số và tối ưu hàm mất mát.
- scikit-learn – Linear Models: Tài liệu về Linear Regression, Ordinary Least Squares và các mô hình tuyến tính có Regularization.
- scikit-learn – LinearRegression API: Tài liệu về cách sử dụng LinearRegression trong Python.
13. Khám phá lộ trình học Data và AI tại MCNA Technology School
Nếu bạn muốn củng cố kiến thức Python, phân tích dữ liệu và ứng dụng AI vào công việc, có thể tham khảo các chương trình học tại MCNA Technology School:
Tác giả
Nguyễn Quốc Hải – Data Analyst tại MCNA Technology School
MCNA Technology School là đơn vị tiên phong đào tạo AI, Big Data, Business Intelligence tại Việt Nam. Chuyên sâu về Power BI, Python, SQL và Data Analytics — đối tác đào tạo của 300+ doanh nghiệp lớn như Viettel Global, Masan Group, Techcombank, VPBank, Daikin.
🌐 Website: mcna.vn
📘 Facebook: facebook.com/mcnatechnologyschool
▶️ YouTube: youtube.com/@mcna.technology.school
💼 LinkedIn: linkedin.com/company/mcna-vn
📞 Hotline: 0939.866.825 (Mr. Minh Khang)
📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B, TT2, Văn Quán, Hà Đông
📍 TP.HCM: The BIB Space, 50B Phan Tây Hồ, Cầu Kiệu

