THẮC MẮC VỀ GIẢ NGHỊCH ĐẢO TRONG BÀI TOÁN LINEAR REGRESSION

linear-algebra
linear-regression
machine-learning

#1

Khi em đọc trang 102, phần giải bài toán Linear regression bằng đạo hàm rồi tìm điểm cực tiểu trong cuốn machine learning cơ bản của anh Tiệp, anh giới thiệu phương pháp giả nghịch đảo để minimize l_2 norm hàm Loss Function ( hàm này không có chia cho số điểm dữ liệu). Em nhận thấy rằng có một chút mâu thuẩn:

  • Khi em sử dùng phương pháp đạo hàm rồi tìm điểm cực tiểu, khi bị dính tới trường hợp X^T *X không nghịch đảo được thì phải dùng giả nghịch đảo. Tuy nhiên, em so sánh kết quả với việc sử dụng thư viện linear_model.LinearRegression() thì kết quả sử dụng thư viện này lại đưa ra nghiệm w khác xa với cách dùng đạo hàm, tìm điểm cực tiểu.
  • Như trường hợp trên nhưng X^T* X nghịch đảo được thì kết quả 2 phương pháp đó khớp với nhau. Chứng tỏ 2 phương pháp này đều hướng tới một điều là cực tiểu L2 norm của loss function (không có chia số điểm dữ liệu).

Giả sử thư viện linear_model.LinearRegression() cực tiểu hóa một hàm khác không phải L2 Norm thì tại sao khi em in ra kết quả của L2 Norm của 2 cách thì thấy cách dùng thư viện linear_model.LinearRegression() tối ưu hơn. Trong khi đó cách giả nghịch đảo người ta đã chứng minh bằng toán học là L2 Norm sẽ được minimize. code của em:

Plus: Khi em chạy code này trên Kaggle thì có một lỗi là “SVD did not converge”, còn khi em chạy trên colab hay ở local thì không báo lỗi. Vậy ai đã làm qua phần này có thể giải thích cho em được không ạ? Em xin cảm ơn!