Professional Documents
Culture Documents
HOWKTEAM - VN - Normal Equation Cho Linear Regression
HOWKTEAM - VN - Normal Equation Cho Linear Regression
Mọi vấn đề về lỗi website làm ảnh hưởng đến bạn hoặc thắc mắc, mong muốn khóa học mới, nhằm hỗ trợ cải thiện Website. Các bạn vui lòng phản hồi
đến Fanpage How Kteam nhé!
Dẫn nhập
Trong bài trước, chúng ta đã tìm hiểu về FEATURE NORMALIZE & GRADIENT DESCENT CHO MULTIVARIATE PROBLEM.
Ở bài này Kteam sẽ giới thiệu đến các bạn Normal Equation cho Linear Regression.
Nội dung
Để theo dõi bài này tốt nhất bạn cần có kiến thức về:
Với Normal Equation, chúng ta không cần dùng vòng lặp để tối ưu Theta từng bước (iteration) để tới được Theta tối ưu nhất, mà chỉ cần dùng duy
nhất 1 biểu thức để tìm trực tiếp Theta, không cần phải thực hiện Feature Normalize.
Trong đó:
Lưu ý:
Copyright © Howkteam.com
Normal Equation cho Linear Regression 2|4
Đừng nhầm lẫn ma trận chuyển vị (transpose matrix) và ma trận khả nghịch (invert matrix) đã được đề cập trong bài MA TRẬN & VECTOR VỚI
NUMPY.
Ma trận chuyển vị sẽ chỉ đổi index của hàng và cột (A[i,j] sẽ chuyển thành A[j,i]).
Ma trận khả nghịch sẽ dùng các công thức toán học để tạo ra một ma trận hoàn toàn mới (bằng kích thước gốc) để khi nhân với ma trận cũ
sẽ có kết quả là 1 (ma trận với 1 trên đường chéo).
Để thực hiện invert ma trận (tạo ma trận khả nghịch), ta dùng hàm np.linalg.pinv(X):
XI = np.linalg.pinv(X)
import numpy as np
def NormEqn(X,y):
return X.T @ X
import numpy as np
def NormEqn(X,y):
return np.linalg.pinv(X.T @ X)
import numpy as np
def NormEqn(X,y):
return np.linalg.pinv(X.T @ X) @ (X.T @ y)
Sử dụng
Bài 7 - Resources
Để sử dụng, ta chỉ cần load data, dùng hàm NormEqn rồi predict kết quả, chỉ cần 4 dòng code
Copyright © Howkteam.com
Normal Equation cho Linear Regression 3|4
import numpy as np
from functions import *
[X, y] = Loadtxt(‘data.txt’)
Theta = NormEqn(X,y)
inp = np.array([1, 1650, 3])
predict = predict(inp, Theta)
print(‘%.2f$’%(predict))
Vì thế với các training set nhỏ ta có thể dùng Normal Equation, nhưng với training set lớn, ta vẫn nên dùng Gradient Descent
m <= n: Lượng mẫu quá ít trong khi có quá nhiều feature (X): có thể khắc phục bằng cách giảm số feature hoặc dùng Regularization (đề cập
trong các bài sau)
Tồn tại các feature (X) tương tự nhau: ví dụ có 2 feature tương tự nhau là diện tích(đơn vị m2) và diện tích(đơn vị feet2): có thể khắc phục bằng
cách bỏ bớt 1 trong 2 feature.
Resources
Các bạn có thể download các file text được sử dụng trong bài viết tại:
Bài 7 - Resources
Kết luận
Qua bài này chúng ta đã cùng nhau tìm hiểu về Normal Equation cho Linear Regression.
Copyright © Howkteam.com
Normal Equation cho Linear Regression 4|4
Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách –
Không ngại khó”.
Copyright © Howkteam.com