Dưới đây là 6 thuật ngữ bạn cần để thực sự hiểu nó.
Thuật ngữ 1: Đặc điểm (X) và Mục tiêu (y)
Câu hỏi bạn đang đặt ra
Mỗi mô hình đều bắt đầu bằng một câu hỏi.
Hãy tưởng tượng bạn đang cố gắng tìm hiểu xem một chiếc xe F1 có thể chạy nhanh đến mức nào. Bạn có thể sẽ xem xét các yếu tố như mã lực động cơ, áp suất lốp, và có thể cả trọng lượng của xe. Đó chính làcác Đặc trưng (Features).Những manh mối bạn cung cấp cho mô hình.
Mụctiêu chínhlà điều bạn thực sự muốn dự đoán.Trong trường hợp này? Tốc độ tối đa.
Vậy nên mỗi khi bạn xây dựng một mô hình, về cơ bản bạn đang tự hỏi:“Với các dữ liệu đầu vào (X) này, liệu bạn có thể tìm ra dữ liệu đầu ra (y) này không?”Đó là toàn bộ vấn đề.Đặc điểm đầu vào, mục tiêu đầu ra.
Một ví dụ thường ngày làkhi bạn cố gắng dự đoán xem ngày mai trời có mưa hay không, các yếu tố bạn cần xem xét có thể là độ ẩm, độ che phủ của mây và tốc độ gió. Mục tiêu của bạn chỉ đơn giản là dự đoán có mưa hay không?
Khi bạn đã xác định được X và y,bạn đã hoàn thành bước tư duy quan trọng nhất. Mọi thứ khác chỉ là mô hình thực hiện các phép tính thay cho bạn.
Thuật ngữ 2: Trọng số (Hệ số)
Điều gì thực sự quan trọng?
Và đây mới là phần thú vị.
Không phải tất cả các đặc điểm của ngôi nhà đều quan trọng như nhau.Nếu bạn đang dự đoán giá nhà, “số lượng phòng ngủ” có lẽ quan trọng hơn nhiều so với “màu sắc của cửa trước”, phải không?Một ngôi nhà 4 phòng ngủ có giá trị hơn một ngôi nhà 2 phòng ngủ, nhưng việc sơn cửa màu đỏ không làm thay đổi giá nhà nhiều.
Đó chính xác là những gì màtrọng sốthể hiện. Về cơ bản, chúng là cách mà mô hình nói rằng“điều này rất quan trọng, điều kia thì không quan trọng lắm.”
Nếu bạn đã từng thấy biểu thức nàyy = mx + b, thì đómchính là cân nặng của bạn. Mỗi khi x tăng lên 1, y tăng lên m. Đơn giản vậy thôi.
Vậy nếu trọng số cho mỗi mét vuông là 0,05, điều đó có nghĩa là mỗi mét vuông tăng thêm sẽ làm tăng thêm 0,05 lakh rupee vào giá dự kiến.
Mô hình tự động tính toán các trọng số này trong quá trình huấn luyện. Bạn không cần thiết lập chúng thủ công. Thuật toán sẽ học chúng từ dữ liệu của bạn. Thành thật mà nói, đó là một điều tuyệt vời.
Hãy coi trọng số như là quan điểm của mô hình về tầm quan trọng.Và giống như hầu hết các quan điểm khác, chúng sẽ trở nên chính xác hơn khi có nhiều kinh nghiệm (dữ liệu).
Thuật ngữ 3: Điểm giao nhau
Chúng ta nên bắt đầu từ đâu đây?
Được rồi, một câu hỏi nhanh. Nếu một chiếc xe có công suất bằng 0 mã lực, liệu nó có còn tồn tại không? Liệu nó có trọng lượng không? Có giá thành cơ bản không?
Dĩ nhiên rồi. Đó chính làInterceptcủa bạn .
Đó là điểm bắt đầu, tức làgiá trị của y khi tất cả các thuộc tính của bạn đều bằng 0.Trong trường hợp nàyy = mx + b, nó là điểm neob.Nó giúp cố định đường thẳng trên đồ thị để đường thẳng không bị trôi nổi mà không có điểm tham chiếu.
Đây là một ví dụ đơn giản.Giả sử bạn đang dự đoán thời gian giao hàng dựa trên khoảng cách.Ngay cả khi khoảng cách bằng không, vẫn cần một lượng thời gian cơ bản để đóng gói đơn hàng, giao cho người giao hàng, v.v.Khoảng thời gian cơ bản đó chính là hệ số chặn của bạn.
Tôi thích nghĩ về nó như thế này:“Trước khi bất cứ điều gì khác xảy ra, đây là điểm khởi đầu của chúng ta.”
Đó là một thuật ngữ nhỏ, dễ bị bỏ qua, nhưng nếu không có nó, đường biểu diễn của mô hình sẽ luôn bị ép đi qua gốc tọa độ (0,0), điều này hầu như không bao giờ phản ánh thực tế.
Thuật ngữ 4: Phần dư
Những khoảnh khắc “lỡ lời”
Tôi thích thuật ngữ này nhất vì nó là thuật ngữ trung thực nhất trong toàn bộ lĩnh vực Học máy.
Mô hình của bạn đôi khi sẽ sai.Không phải vì nó bị lỗi, mà vì thế giới thực rất phức tạp và không có đường thẳng nào mô tả chính xác mọi thứ.Mô hình dự đoán một ngôi nhà có giá 80 lakh rupee. Nhưng thực tế nó được bán với giá 91 lakh rupee. Khoảng chênh lệch 11 lakh rupee đó chính là giátrị còn lại (Residual).
Đó chính là sự khác biệt giữa dự đoán của mô hình và những gì thực sự xảy ra. Yếu tố “sai sót”.
Điều quan trọng cần biết về phần dư là chúng không phải là dấu hiệu của sự thất bại. Chúng là điều được dự đoán trước. Ngay cả những mô hình tốt nhất trên thế giới cũng có phần dư.Mục tiêu không phải là loại bỏ chúng hoàn toàn. Mục tiêu là làm cho chúng nhỏ nhất có thể tính trung bình.
Đây là một nhận định quan trọng đã thay đổi cách tôi suy nghĩ về học máy:Về cơ bản, học máy chỉ là quá trình làm cho những sai sót nhỏ ngày càng nhỏ hơn.Thuật toán điều chỉnh trọng số, kiểm tra xem phần dư có nhỏ hơn không, điều chỉnh lại, kiểm tra lại.Lặp lại cho đến khi không thể cải thiện thêm nữa.
Tất cả những thứ khác, tất cả các thuật ngữ hoa mỹ, tất cả các quy trình phức tạp đều chỉ là biến thể của điều này.
Thuật ngữ 5: Sai số bình phương trung bình (MSE)
Bảng điểm
Vậy là chúng ta gặp phải rất nhiều lỗi (phần dư). Nhưng làm sao để biết mô hình hoạt động tốt nhìn chung?
Chúng tôi chấm điểm cho nó. Đó làMSE.
Đây là cách thức hoạt động, từng bước một:
- Tính toán từng giá trị dư (dự đoán — thực tế)
- Bình phương từng số một (điều này giúp loại bỏ các số âm, tức là sai sót -11 lakh rupee cũng tệ như sai sót +11 lakh rupee, vì vậy chúng ta biến tất cả thành số dương).
- Lấy trung bình cộng của tất cả các giá trị bình phương đó.
Con số cuối cùng đó chính là MSE của bạn.
MSE cao = mô hình của bạn về cơ bản chỉ đang đoán mò.Nó đang bị nhầm lẫn.MSE thấp = mô hình thực sự đang học được điều gì đó hữu ích.Nó luôn luôn đúng.
Đó là con số mà bạn cứ nhìn chằm chằm trong khi huấn luyện mô hình, hy vọng nó sẽ giảm xuống. Và khi cuối cùng nó giảm xuống, khi bạn thấy MSE giảm dần qua các vòng huấn luyện,đó thực sự là một trong những điều thỏa mãn nhất trong học máy.
Một điều đáng biết làMSE trừng phạt những sai sót lớn nặng hơn những sai sót nhỏ (do phương pháp bình phương).Vì vậy, một mô hình liên tục sai lệch một chút sẽ được đánh giá tốt hơn nhiều so với mô hình thường hoạt động tốt nhưng thỉnh thoảng lại sai lệch rất lớn.Và đó chính xác là điều bạn muốn.
Thuật ngữ 6: Phương pháp giảm độ dốc (Gradient Descent)
Động cơ ẩn dưới mọi thứ
Đây là điều có thể khiến bạn kinh ngạc.
Hãy tưởng tượng bạn là một người leo núi, nhưng trời nhiều sương mù và bạn không thể nhìn thấy gì. Bạn đang cố gắng xuống điểm thấp nhất trong thung lũng. Bạn sẽ làm gì?Bạn cảm nhận mặt đất dưới chân và bước những bước nhỏ theo hướngxuống dốc.
Đó chính làthuật toán Gradient Descent.
Thung lũng chính là MSE của bạn. Điểm thấp nhất là tập hợp các trọng số tạo ra sai số nhỏ nhất có thể.Mô hình bắt đầu với các trọng số ngẫu nhiên (ở một vị trí ngẫu nhiên nào đó trên sườn đồi), kiểm tra hướng nào làm giảm MSE, thực hiện một bước nhỏ theo hướng đó (cập nhật trọng số một chút), và lặp lại hàng nghìn lần cho đến khi không thể cải thiện thêm nữa.
Kích thước của mỗi bước được gọi làTốc độ Học (Learning Rate), đây là một thuật ngữ bổ sung dành cho bạn. Nếu quá lớn, bạn sẽ vượt quá điểm đáy, khiến mô hình không ổn định. Nếu quá nhỏ, sẽ mất rất nhiều thời gian để đạt đến điểm đáy. Nắm vững điều này là một trong những kỹ năng cốt lõi của một kỹ sư học máy.
Điều thú vị là thuật toán này, tức là Gradient Descent, cũng được sử dụng trong GPT-4, Stable Diffusion, hệ thống đề xuất, phát hiện gian lận, xe tự lái. Tất cả đều vậy. Quy mô khác nhau, kiến trúc khác nhau, nhưng ý tưởng cốt lõi thì giống nhau.Tìm điểm thấp nhất. Đi từng bước nhỏ xuống dốc.
Mỗi khi bạn sử dụng ChatGPT hoặc nhận được đề xuất phim trên Netflix, thuật toán Gradient Descent đều hoạt động ngầm ở đâu đó. Đó là lý do tại sao nó lại quan trọng đến vậy.
Bảng tóm tắt

from sklearn.linear_model import LinearRegression
import numpy as np
X = np.array([[ 1000 ], [ 1500 ], [ 2000 ], [ 2500 ]]) # Đặc trưng: Diện tích (tính bằng feet vuông
) y = np.array([ 50 , 70 , 85 , 100 ]) # Mục tiêu: Giá (tính bằng lakhs
) model = LinearRegression()
model.fit(X, y) # Thuật toán Gradient Descent được thực hiện tại đây
print ( “Hệ số trọng số: “ , model.coef_) # Giá thay đổi bao nhiêu trên mỗi feet vuông
print ( “Hệ số chặn: “ , model.intercept_) # Giá cơ sở khi sqft = 0
print ( “Giá dự đoán: “ , model.predict([[ 1800 ]])) # Phần dư = giá này so với giá thực tế
Hãy chạy chương trình này. Thay đổi các con số. Quan sát điều gì xảy ra. Đó là cách tốt nhất để thực sựhiểuý nghĩa của các thuật ngữ này.
Vậy tại sao hồi quy tuyến tính vẫn còn quan trọng?
Có lẽ bạn đang thắc mắc, nếu chúng ta đã có GPT-4 và tất cả các mạng nơ-ron phức tạp này, tại sao chúng ta vẫn còn bàn về hồi quy tuyến tính?
Bởi vì đó là nền tảng. Mọi khái niệm chúng ta đã đề cập ở đây, từ Đặc trưng, Trọng số, Phần dư, MSE, Thuật toán Gradient Descent, những ý tưởng này đều xuất hiện trong mọi mô hình bạn sẽ xây dựng, bất kể phức tạp đến đâu.Kiến trúc có thể lớn hơn. Toán học có thể sâu sắc hơn. Nhưngtư duyvẫn giữ nguyên.
Học Hồi quy tuyến tính một cách bài bản có nghĩa là bạn sẽ không bao giờ cảm thấy hoàn toàn lạc lõng khi nhìn vào một mô hình phức tạp hơn. Bạn sẽ luôn có thể tự hỏi:“Được rồi, các đặc trưng ở đây là gì? Mục tiêu là gì? Làm thế nào nó giảm thiểu sai số?”
Điều cuối cùng
Bạn không cần phải là một nhà toán học để hiểu về Học máy. Bạn chỉ cần hiểu những kiến thức toán học cơ bản và mô hình tư duy đúng đắn.
Sáu thuật ngữ này tạo nên mô hình đó. Hãy lưu bài viết này, đánh dấu trang tóm tắt, và lần tới khi ai đó bắt đầu nói về Hồi quy tuyến tính, bạn sẽ biết chính xác điều gì đang diễn ra.

Bài viết liên quan: