Machine Learning - 2.2 - Normal Equation
Bài 2 phần 2 trong khóa học Machine Learning của giáo sư Andrew Ng. Trong bài này, ta sẽ tìm hiểu một cách thay thế cho thuật toán Gradient Descent
cùng ưu nhược điểm của nó.
Xem các bài viết khác tại Machine Learning Course Structure
1. Normal Equation
Thuần túy về mặt toán học, đối với 1 hàm hypothesis, ta có thể tìm ra giá trị nhỏ nhất của nó bằng cách lấy đạo hàm, và tìm x khi đạo hàm = 0.
1.1. Công thức
Áp dụng cách nhân matrix với vector đã được giới thiệu ở bài trước, ta có công thức như sau:
$latex \theta = (X^TX)^{-1}X^Ty$
1.2. So sánh
Gradient Descent
Normal Equation
Cần phải chọn alpha
Không cần chọn alpha
Cần nhiều vòng lặp
Tính bụp phát ra luôn
Độ phức tạp $latex O (kn^2)$
Độ phức tạp $latex O (n^3)$, cần phải tích nghịch đảo của $latex X^TX$
n lớn vẫn chạy tốt
Chậm nếu n quá lớn
Tóm lại, nếu số lượng các feature quá lớn thì bạn nên sử dụng thuật toán Gradient Descent
để nhanh ra kết quả.
1.3. Non-invertibility (không thể đảo ngược)
Trong một số trường hợp hiếm gặp, kết quả của $latex X^TX$ là noninvertible
.
Điều này xảy ra là do các nguyên do sau: + Có các feature bị dư. Ví dụ như 2 feature có liên quan rất chặt chẽ với nhau (feature này phụ thuộc vào feature kia một cách tuyến tính chả hạn) + Có quá nhiều features (m <= n).
Để giải quyết vấn đề này, ta có thể delete bớt các feature bị dư (kiểu như x1 là diện tích theo mét vuông, x2 là diện thích theo dặm), hoặc dùng các phương pháp regularization
sẽ được nói đến ở các phần sau.