Học máy cơ bản

Hồi quy

Xây dựng hồi quy tuyến tính từ hàm mất mát, bình phương tối thiểu, chính quy hóa và đánh giá thuật toán học.

Đang hoàn thiệnSlop

Nguồn và giấy phép. Đây là bản dịch tiếng Việt của tụi mình cho “2 Regression”, do đội ngũ khóa học MIT 6.390 (trước đây là 6.036) biên soạn; nguồn được truy cập ngày 10/08/2026 và phát hành theo giấy phép CC BY-NC-SA 4.0. Tụi mình diễn đạt lại câu văn bằng tiếng Việt, chuyển pseudocode sang cách trình bày phù hợp với trang và thêm văn bản thay thế cho hình, nhưng không lược bỏ nội dung chuyên môn của nguồn. Bản dịch và phần đóng góp của bami-hub cũng được phát hành theo CC BY-NC-SA 4.0. MIT và đội ngũ khóa học không bảo trợ hay chứng thực bami-hub.

Hồi quy (regression) là một bài toán học máy quan trọng và là điểm khởi đầu phù hợp để đi sâu vào lĩnh vực nàyTrong ngôn ngữ thông thường, regression có nghĩa là đi lùi. Nhưng ở đây, chúng ta đang tiến lên..

2.1. Phát biểu bài toán

Một giả thuyết (hypothesis) h là hàm đóng vai trò mô hình cho mối quan hệ giữa đầu vào và đầu ra. Cụ thể, h:d ánh xạ vector đầu vào x sang đầu ra dự đoán h(x); ta mong giá trị dự đoán này gần với đầu ra thực y nhất:

xhy,

trong đó xd là vector cột gồm d số thực và y là một số thực.

2.1.1. Bài toán hồi quy

Hồi quy là một bài toán học có giám sát (supervised learning). Ta được cung cấp tập dữ liệu huấn luyện:

𝒟train={(x(1),y(1)),,(x(n),y(n))},

gồm các đầu vào x(i) cùng đầu ra y(i) tương ứng. Vì y nhận giá trị thực, giả thuyết có dạng:

h:d.

Giả thuyết này phù hợp khi ta muốn dự đoán một đại lượng số — như chiều cao hoặc giá cổ phiếu — thay vì chia đầu vào thành các nhóm rời rạc. Chẳng hạn, x(i) có thể biểu diễn diện tích một căn nhà và y(i) là giá bán của căn nhà đóTrong thực tế, đầu vào hiếm khi sẵn ở dạng vector số thực. Đầu vào có thể là bài hát, hình ảnh hoặc con người. Khi đó, ta cần định nghĩa một hàm ϕ(x) nhận giá trị trong d, với ϕ(x) biểu diễn các đặc trưng của x — chẳng hạn chiều cao của một người hoặc lượng âm trầm trong một bài hát. Quá trình chuyển dữ liệu sang dạng số thường được gọi là tiền xử lý dữ liệu (data preprocessing). Khi ấy, h ánh xạ ϕ(x) sang . Trong phần lớn nội dung sau đây, ta sẽ không viết ϕ tường minh mà giả sử x(i)d. Tuy nhiên, cần nhớ rằng gần như chắc chắn đã có một quá trình chuyển đầu vào thực thành biểu diễn đặc trưng. Khóa học sẽ trở lại với đặc trưng ở phần sau..

Quan trọng

Một giả thuyết hữu ích phải hoạt động tốt trên dữ liệu mới: nó dự đoán tốt những mẫu chưa từng thấy. Ta không biết chính xác giả thuyết sẽ gặp dữ liệu nào trong thực tế, vì vậy phải giả định có mối liên hệ giữa dữ liệu huấn luyện và dữ liệu kiểm tra. Giả định thường dùng là chúng được lấy độc lập từ cùng một phân phối xác suất.

Để mô tả cụ thể chất lượng dự đoán, ta cần một hàm mất mát (loss function). Hàm này đo mức phạt khi giả thuyết dự đoán g=h(x) cho đầu vào x, trong khi đầu ra mong muốn là y.

Với tập huấn luyện 𝒟train và giả thuyết h có tập tham số Θ, lỗi huấn luyện (training error) của h là mất mát trung bình trên dữ liệu huấn luyện:

train(h;Θ)=1ni=1n(h(x(i);Θ),y(i)).(2.1)

Lỗi huấn luyện cho biết phần nào mức độ giả thuyết mô tả quan hệ giữa xy trong dữ liệu hiện có. Nhưng đại lượng ta quan tâm nhất là lỗi kiểm thử (test error):

test(h;Θ)=1ni=n+1n+n(h(x(i);Θ),y(i)),

được tính trên n mẫu mới không tham gia quá trình tìm giả thuyếtCó thể liên hệ với việc học của một sinh viên: ta đánh giá khả năng tổng quát hóa của một sinh viên bằng những câu hỏi thi không xuất hiện trong bài tập về nhà hoặc trên lớp — tức tập huấn luyện..

Ghi chú (Tham số khi kiểm tra)

Cả lỗi huấn luyện lẫn lỗi kiểm thử đều phụ thuộc vào Θ, nhưng có một khác biệt quan trọng: khi tính lỗi kiểm thử, quá trình huấn luyện đã chọn và cố định các tham số. Vì vậy, Θ không còn là biến cần tối ưu mà là một đại lượng cố định được xác định trong lúc huấn luyện.

Trước mắt, ta sẽ tìm một giả thuyết có lỗi huấn luyện nhỏ — sau này sẽ bổ sung thêm tiêu chí — và đưa ra các lựa chọn thiết kế để nó tổng quát hóa tốt sang dữ liệu mới, tức cũng có lỗi kiểm thử nhỏ.

2.2. Hồi quy dưới dạng bài toán tối ưu

Khi đã có dữ liệu, hàm mất mát và lớp giả thuyết, ta cần một phương pháp tìm giả thuyết tốt trong lớp đó. Một cách tiếp cận tổng quát là phát biểu bài toán học máy thành bài toán tối ưu (optimization problem). Lĩnh vực tối ưu đã cung cấp nhiều kết quả toán học, thuật toán hiệu quả và phần mềm chất lượng cao. Nếu chuyển được bài toán học máy về dạng này, ta có thể tận dụng những thành quả ấy.

Trước hết, ta viết một hàm mục tiêu (objective function) J(Θ). Ký hiệu J(Θ;𝒟) thường được dùng để thể hiện rõ hàm còn phụ thuộc vào dữ liệu 𝒟Dấu chấm phẩy cho biết ta chủ yếu xem đây là hàm theo các đối số đứng trước dấu ;, đồng thời vẫn ghi nhớ sự phụ thuộc vào phần đứng sau..

Hàm mục tiêu chấm điểm các giả thuyết được xác định bởi Θ. Thông thường, ta tìm giá trị tham số làm cực tiểu hàm mục tiêu:

Θ=argminΘJ(Θ).

Trong trường hợp tổng quát, không có gì bảo đảm tồn tại duy nhất một bộ tham số làm cực tiểu hàm mục tiêu. Tạm thời, ta sẽ bỏ qua vấn đề đó. Một dạng hàm mục tiêu rất phổ biến trong học máy là

J(Θ)=(1ni=1n(h(x(i);Θ),y(i))mất mát)+λhằng số không âmR(Θ).(2.2)

Phần mất mát đo mức phạt của dự đoán h(x(i);Θ) đối với cặp (x(i),y(i)); giảm nó sẽ cải thiện độ chính xác trên dữ liệu huấn luyện. Hàm chính quy (regularizer) R(Θ) là một số hạng bổ sung nhằm khuyến khích dự đoán tổng quát hóa tốt, còn hằng số λ điều chỉnh sự đánh đổi giữa khớp các mẫu huấn luyện và tổng quát hóa sang mẫu chưa thấy. Phần 2.7 sẽ bàn kỹ hơn về sự đánh đổi này.

2.3. Hồi quy tuyến tính

Để cụ thể hóa bài toán, ta cần chọn một lớp giả thuyết và một hàm mất mát.

Ta bắt đầu với lớp giả thuyết có thể mô tả quan hệ giữa xy. Lựa chọn đầu tiên là lớp giả thuyết tuyến tính đơn giản cho hồi quy tuyến tính (linear regression):

y=h(x;θ,θ0)=θTx+θ0,(2.3)

trong đó các tham số mô hình là Θ=(θ,θ0). Với một chiều (d=1), đây là dạng đường thẳng quen thuộc y=mx+b. Với hai chiều (d=2), nó biểu diễn một mặt phẳng; ở số chiều cao hơn, nó biểu diễn một siêu phẳng (hyperplane). Lớp giả thuyết này vừa dễ nghiên cứu vừa có sức biểu đạt lớn, đồng thời là nền tảng của nhiều kỹ thuật quan trọng khác—kể cả mạng neural.

Trước mắt, mục tiêu của hồi quy tuyến tính là tìm giả thuyết có dự đoán trung bình gần nhất với toàn bộ dữ liệu huấn luyện. Hàm mất mát cho biết cách đánh giá dự đoán so với giá trị mục tiêu y. Chọn hàm mất mát là một phần của quá trình mô hình hóa miền bài toán.

Khi không có thêm thông tin về bài toán hồi quy, ta thường dùng mất mát bình phương (squared loss):

(g,a)=(ga)2,

trong đó g=h(x) là dự đoán của giả thuyết và a là quan sát thực tế, được dùng cùng nghĩa với y trong phần này. Với mất mát bình phương, mất mát trung bình ở (2.1) trở thành sai số bình phương trung bình (mean squared error, MSE).

Áp dụng khuôn khổ tối ưu cho lớp giả thuyết tuyến tính (2.3), với mất mát bình phương và không có chính quy hóa (regularization), ta cần tìm Θ=(θ,θ0) làm cực tiểu MSE:

J(θ,θ0)=1ni=1n(θTx(i)+θ0y(i))2.(2.4)

Do đó,

θ,θ0=argminθ,θ0J(θ,θ0).(2.5)

Với dữ liệu một chiều (d=1), đây là bài toán khớp một đường thẳng vào dữ liệu. Với d>1, giả thuyết biểu diễn một siêu phẳng d chiều nằm trong không gian (d+1) chiều—gồm d chiều đầu vào và chiều y.

Mất mát bình phương phạt dự đoán quá cao và quá thấp như nhau. Nó có cơ sở toán học phù hợp khi dữ liệu được sinh từ một giả thuyết tuyến tính nền rồi cộng nhiễu phân phối Gaussian vào các giá trị y. Một số ứng dụng phù hợp hơn với hàm mất mát khác, dù khuôn khổ đang xét vẫn có thể áp dụng. Mất mát bình phương còn đặc biệt thuận tiện về tính toán. Khóa học không đi sâu vào phân phối Gaussian, nhưng đây là một phân phối rất quan trọng. Tính đối xứng của Gaussian là một lý do khiến mất mát bình phương—cũng đối xứng—phù hợp trong bối cảnh này.

Hình bên trái dưới đây biểu diễn các điểm dữ liệu có nhãn y và hai chiều đầu vào x1,x2. Hình bên phải là kết quả khớp một mặt phẳng hai chiều nằm trong không gian ba chiều. Mặt phẳng này biểu diễn hàm cung cấp giá trị y cho mọi đầu vào (x1,x2).

Bên trái là các điểm dữ liệu theo x₁, x₂ và y; bên phải là mặt phẳng hồi quy tuyến tính khớp với các điểm đó.

Như ta sẽ thấy ở phần sau, một phép biến đổi đặc trưng phi tuyến trước hồi quy có thể tạo ra lớp giả thuyết phong phú hơn, nhưng bài toán cuối cùng vẫn là hồi quy tuyến tính.

2.4. Một thuật toán hồi quy tuyến tính đơn giản đến bất ngờ

Với hàm mục tiêu (2.4), làm sao tìm được θθ0 tốt? Ta sẽ nghiên cứu nhiều thuật toán tổng quát, hiệu quả và thú vị. Nhưng trước hết, hãy thử cách đơn giản nhất: đoán k bộ giá trị khác nhau cho θθ0, tìm bộ có lỗi huấn luyện nhỏ nhất rồi trả về bộ đó.

Ví dụ (Random-Regression)
  1. Nhận dữ liệu 𝒟 và số nguyên k.

  2. Với mỗi i=1,,k, sinh ngẫu nhiên giả thuyết (θ(i),θ0(i)).

  3. Tìm

    j=argminjJ(θ(j),θ0(j);𝒟).
  4. Trả về (θ(j),θ0(j)).

Cách này có vẻ ngớ ngẩn, nhưng nó vẫn là một thuật toán học và không hoàn toàn vô dụng.

Bài tập

Nếu tập dữ liệu có n điểm và mỗi xd chiều, kích thước của một θ(i) là bao nhiêu?

Bài tập

Theo bạn, tăng số lần đoán k sẽ làm thay đổi lỗi huấn luyện của giả thuyết thu được như thế nào?

2.5. Nghiệm giải tích: bình phương tối thiểu thông thường

Một đặc điểm đáng chú ý của bài toán tìm giả thuyết tuyến tính làm cực tiểu MSE là ta có thể tìm được công thức dạng đóng cho nghiệm. Bài toán tổng quát này thường được gọi là bình phương tối thiểu thông thường (ordinary least squares, OLS).

Trước hết, hãy tạm bỏ qua hệ số chặn (intercept) θ0 và xét

y=θTx.(2.6)

Đây là một siêu phẳng đi qua gốc tọa độ. Hàm mục tiêu trở thành

J(θ)=1ni=1n(θTx(i)y(i))2.(2.7)

Ta xử lý bài toán như một bài cực tiểu hóa trong giải tích: lấy đạo hàm của J theo θ, cho đạo hàm bằng 0 rồi giải θ. Còn cần kiểm tra nghiệm thu được là điểm cực tiểu chứ không phải cực đại hay điểm uốn, nhưng phần này không trình bày bước đó. Một cách làm là:

  • Tìm J/θk với k=1,,d.
  • Lập d phương trình J/θk=0.
  • Giải hệ để tìm các giá trị θk.

Cách này hoàn toàn hợp lệ. Để luyện kỹ thuật có thể áp dụng cho các bài toán phức tạp hơn, ta sẽ dùng cách nhìn ma trận gọn hơn. Trước tiên, gom các đạo hàm vào một vector. Gradient của J theo θ là vector cột độ dài d:

θJ=[J/θ1J/θd].
Bài tập

Hãy tự thực hiện các bước tiếp theo rồi đối chiếu với lời giải bên dưới.

Ta biểu diễn dữ liệu huấn luyện bằng hai ma trận XY. Mỗi hàng của X là một mẫu; mỗi hàng—hay chính xác hơn là mỗi phần tử—của Y là giá trị mục tiêu tương ứng:

X=[x1(1)xd(1)x1(n)xd(n)],Y=[y(1)y(n)].
Bài tập

Kích thước của XY là bao nhiêu?

Khi đó,

J(θ)=1ni=1n(θTx(i)y(i))2=1n(XθY)T(XθY).

Dùng các quy tắc giải tích ma trận và vector, ta có

θJ(θ)=1nθ[(Xθ)TXθYTXθ(Xθ)TY+YTY]=2n(XTXθXTY).

Nếu cần hỗ trợ để tìm gradient này, hãy xem Phụ lục A của nguồn.

Cho gradient bằng 0 rồi giải θ, với giả định XTX khả nghịch, ta thu được nghiệm dạng đóng

θ=(XTX)1XTY.(2.8)
Trực giác (Hai cách nhìn về nghiệm OLS)
  1. (XTX)1XTX+nghịch đảo giả (pseudoinverse) của X. Vì vậy, θ “giải giả” phương trình Xθ=Y bằng cách nhân hai vế từ bên trái với X+.
  2. X(XTX)1XT=projcol(X)ma trận chiếu (projection matrix) lên không gian cột của X. Vì vậy, θ giải phương trình Xθ=projcol(X)Y.

Kích thước của các ma trận đều khớp. Như vậy, từ dữ liệu, ta có thể tính trực tiếp hồi quy tuyến tính làm cực tiểu MSEĐây là trường hợp đặc biệt có nghiệm dạng đóng. Trong trường hợp tổng quát, ta cần thuật toán tối ưu lặp để tìm tham số tốt nhất. Việc cho gradient bằng 0 rồi giải tham số có hiệu quả trong bài toán này, nhưng không phải lúc nào cũng áp dụng được; khóa học sẽ thảo luận các ngoại lệ ở phần sau..

Tiếp theo, ta xử lý hệ số chặn bằng cách nối thêm một đặc trưng “giả” có giá trị 1 vào vector đặc trưng ban đầu, đồng thời thêm tham số θ0 vào vector θ. Định nghĩa các vector cột xaug,θaugd+1:

xaug=[x1x2xd1],θaug=[θ1θ2θdθ0].

Chỉ số “aug” cho biết xθ đã được mở rộng (augmented). Giả thuyết tuyến tính lúc này có thể được viết như thể không có hệ số chặn:

y=h(xaug;θaug)=θaugTxaug.(2.9)

Hệ số chặn không biến mất; nó chỉ được ẩn trong phép mở rộng.

Nối đặc trưng 1 vào mọi điểm dữ liệu tạo ra ma trận dữ liệu mở rộng

Xaug=[x1(1)xd(1)1x1(n)xd(n)1]=[X𝟙],

trong đó 𝟙 là vector n×1 gồm toàn số 1. Sau đó, dùng công thức (2.8) để tìm θaug làm cực tiểu MSE.

Bài tập

Hãy chứng minh rằng việc thêm đặc trưng có giá trị 1 vào mỗi vector đầu vào rồi bỏ tham số θ0 tường minh như trong (2.9) tương đương với mô hình ban đầu (2.3).

2.6. Định tâm dữ liệu

Đặc trưng “giả” bằng 1 còn giúp giải thích một ý tưởng quan trọng: định tâm (centering) loại bỏ nhu cầu khớp hệ số chặn một cách tường minh, nhờ đó ta không phải xử lý trực tiếp θ0.

Định tâm nghĩa là lấy mọi điểm dữ liệu trừ đi trung bình của từng đặc trưng, đồng thời thực hiện phép trừ tương tự với các nhãn. Có thể xem ví dụ dữ liệu trước và sau khi định tâm từ nguồn.

Với tập dữ liệu đã định tâm, ngay cả khi tìm hệ số chặn θ0, nghiệm tự nhiên cũng bằng 0. Điều này phù hợp với trực giác: nếu dữ liệu nằm quanh gốc tọa độ, mặt phẳng khớp tốt nhất cũng nên đi qua gốc.

Ta kiểm tra điều đó bằng toán học. Với dữ liệu đã định tâm, hai kết quả sau đúng ngay lập tức; nhắc lại rằng 𝟙 là vector n×1 gồm toàn số 1:

  1. Tổng mỗi cột của X bằng 0, nên XT𝟙=0.
  2. Trung bình các nhãn bằng 0, nên YT𝟙=𝟙TY=0.

Mục tiêu là tìm siêu phẳng khớp tối ưu có tham số θθ0, tức tìm θaug bằng cách thay Xaug=[X𝟙] vào (2.8):

θaug=([XT𝟙T][X𝟙])1[XT𝟙T]Y=[XTXXT𝟙𝟙TX𝟙T𝟙]1[XT𝟙T]Y=[XTX00n]1[XT𝟙T]Y=[(XTX)1XTY1n𝟙TY]=[(XTX)1XTY0]=[θθ0].

Đúng như dự đoán, nghiệm tối ưu θ0 bằng 0.

2.7. Chính quy hóa

Hàm mục tiêu (2.2) cân bằng giữa việc ghi nhớ dữ liệu huấn luyện—do số hạng mất mát thúc đẩy—và khả năng tổng quát hóa—do số hạng chính quy thúc đẩy. Phần này giải thích vì sao hồi quy tuyến tính cần chính quy hóa và trình bày một kỹ thuật phổ biến: hồi quy ridge (ridge regression).

2.7.1. Chính quy hóa và hồi quy tuyến tính

Nếu chỉ cần giả thuyết có mất mát nhỏ trên dữ liệu huấn luyện, ta không cần chính quy hóa và có thể bỏ số hạng thứ hai khỏi hàm mục tiêu. Nhưng mục tiêu cuối cùng là hoạt động tốt trên những đầu vào chưa dùng để huấn luyện. Điều này tưởng như bất khả thi, nhưng con người và các phương pháp học máy vẫn thường xuyên làm được.

Khả năng tổng quát hóa sang đầu vào mới dựa trên niềm tin rằng có một quy luật nền chi phối cả dữ liệu huấn luyện lẫn dữ liệu kiểm tra. Ta có thể mô tả giả định về quy luật ấy bằng cách chọn một lớp giả thuyết bị giới hạn. Một cách mềm dẻo hơn là nêu ưu tiên giữa các giả thuyết trong cùng một lớp. Hàm chính quy thể hiện ưu tiên đó, còn λ xác định mức đánh đổi giữa mất mát trên dữ liệu huấn luyện và ưu tiên giữa các giả thuyết.

Chẳng hạn, xét d=2x2 tương quan mạnh với x1, khiến dữ liệu trông gần như một đường thẳng như hình bên trái. Khi đó, nhiều siêu phẳng có thể đạt MSE huấn luyện gần như nhau. Tương quan như vậy thường xuất hiện trong dữ liệu thực do các nguyên nhân chung; chẳng hạn, tuổi và lượng thức ăn tiêu thụ trong một quần thể có thể tương quan mạnh. Hiện tượng càng đáng kể khi hồi quy dùng nhiều chiều đặc trưng.

Về mặt toán học, XTX khi đó gần suy biến. Ma trận (XTX)1 có thể không xác định hoặc chứa các giá trị rất lớn, tạo ra mô hình không ổn định. Hình giữa minh họa một độ dốc cực lớn.

Ba biểu đồ lần lượt cho thấy dữ liệu tương quan mạnh, một mặt phẳng hồi quy không ổn định có độ dốc lớn, và mặt phẳng ổn định hơn sau khi chính quy hóa.

Khi biết trước Θ nên gần một giá trị Θprior, một dạng hàm chính quy thường dùng là

R(Θ)=ΘΘprior2.

Khoảng cách ở đây được đo bằng bình phương chuẩn l2 (l2 norm) của vector tham số. Với vector d chiều vd,

v=i=1d|vi|2.

Nếu không có tri thức như vậy, lựa chọn mặc định là chính quy về 0:

R(Θ)=Θ2.

Áp dụng cách này cho ví dụ trên tạo ra mô hình ổn định ở hình bên phải, với độ dốc hợp lý hơn nhiều.

Phần bổ sung của bami-hub. Hình nguồn vừa minh họa rằng hai đặc trưng tương quan mạnh có thể làm mô hình không ổn định. Hình tương tác dưới đây kiểm tra đúng cơ chế đó bằng một tập dữ liệu định tâm gồm năm điểm: giữ nguyên X, chỉ thay đổi vector nhãn Y khoảng 2,4%, rồi tăng λ từ 0 đến 0,2. Hãy quan sát khoảng cách giữa hai nghiệm trong không gian (θ1,θ2), chuẩn hệ số và MSE huấn luyện.

Ridge ổn định hệ số khi đặc trưng tương quan

Hai bộ nhãn chỉ khác nhau 2,4%, còn ma trận X giữ nguyên

Độ ổn định của hệ số hồi quy ridgeHai quỹ đạo trong không gian theta một và theta hai cho thấy nghiệm của hai bộ nhãn gần giống nhau tiến lại gần nhau khi tăng mức chính quy.001122θ₁θ₂nhãn gốcnhãn nhiễu
Khoảng cách hệ số2.828
Chuẩn hệ số (nhãn nhiễu)2.000
MSE (nhãn nhiễu)0.0000
Hình tròn biểu diễn nghiệm từ bộ nhãn gốc; hình thoi biểu diễn nghiệm sau một nhiễu nhỏ. Khi λ tăng, hai nghiệm tiến lại gần nhau và về gần gốc hơn, dù lỗi huấn luyện có thể tăng. Hình dạng và nét nối giúp phân biệt hai nghiệm mà không cần dựa riêng vào màu sắc.

Đây là ví dụ tổng hợp nhỏ nhằm cho thấy chính quy hóa làm nghiệm ít nhạy hơn với nhiễu khi các đặc trưng gần phụ thuộc tuyến tính. Nó minh họa độ ổn định của hệ số, không chứng minh rằng mọi giá trị λ>0 đều cải thiện tổng quát hóa.

2.7.2. Hồi quy ridge

Bài toán hồi quy có thể gặp nhiều vấn đề. Điều gì xảy ra nếu XTX không khả nghịch? Một vấn đề khác là quá khớp (overfitting): hàm mục tiêu chỉ cố khớp dữ liệu tốt nhất có thể, trong khi ta còn muốn ngăn giả thuyết bám quá chặt vào dữ liệu huấn luyện.

Hồi quy ridge (ridge regression) xử lý cả việc XTX không khả nghịch lẫn quá khớp. Ta thêm số hạng chính quy θ2 vào hàm mục tiêu OLS và dùng số vô hướng không âm λ để kiểm soát sự đánh đổi giữa lỗi huấn luyện với số hạng chính quy:

Jridge(θ,θ0)=1ni=1n(θTx(i)+θ0y(i))2+λθ2.(2.10)

λ càng lớn thì các giá trị θ càng bị ép về gần 0.

Khi dữ liệu chưa định tâm, ta không phạt θ0. Theo trực giác, θ0 nâng hoặc hạ mặt hồi quy đến đúng mức của dữ liệu. Vì vậy, không nên khiến việc khớp tập dữ liệu có y quanh một triệu khó hơn tập có y quanh một. Các tham số còn lại điều khiển hướng của mặt hồi quy, và ta muốn hướng này không quá cực đoan.

Ngay cả khi dữ liệu chưa định tâm, vẫn có biểu thức giải tích cho θ,θ0 làm cực tiểu Jridge. Tuy nhiên, phép suy diễn phức tạp hơn OLS, dù quy trình khái niệm vẫn giống nhau: lấy gradient, cho bằng 0 rồi giải tham số.

Với dữ liệu đã định tâm, hàm mục tiêu có dạng gọn hơn:

Jridge(θ)=1ni=1n(θTx(i)y(i))2+λθ2.(2.11)
Bài tập

So sánh (2.10) và (2.11). Hai biểu thức khác nhau ở đâu? Vì sao có thể bỏ hệ số chặn trong (2.11)?

Nghiệm là

θridge=(XTX+nλI)1XTY.(2.12)
Chứng minh (Nghiệm hồi quy ridge cho dữ liệu đã định tâm).

Gradient của hàm mục tiêu là

θJridge=2nXT(XθY)+2λθ.(2.13)

Cho gradient bằng 0 rồi giải:

2nXT(XθY)+2λθ=01nXTXθ1nXTY+λθ=01nXTXθ+λθ=1nXTYXTXθ+nλθ=XTY(XTX+nλI)θ=XTYθ=(XTX+nλI)1XTY.

Ma trận cần nghịch đảo trong (2.12) luôn khả nghịch khi λ>0. Để thấy điều này, lưu ý rằng XTXma trận nửa xác định dương (positive semidefinite matrix), nên các trị riêng (eigenvalues) {γi}i đều không âm. Ma trận XTX+nλI có các trị riêng {γi+nλ}i, tất cả đều dương vì λ>0. Định thức (determinant) bằng tích các trị riêng, nên

det(XTX+nλI)>0.

Do đó, XTX+nλI khả nghịch.

2.8. Đánh giá thuật toán học

Phần này trình bày cách đánh giá các thuật toán học có giám sát. Ta xét trường hợp cụ thể là hồi quy, nhưng các ý tưởng cơ bản về kiểm định (validation), chọn siêu tham số và kiểm định chéo (cross-validation) được áp dụng rộng hơn nhiều.

Hồi quy tuyến tính là một bài toán tối ưu được phát biểu đầy đủ và có nghiệm giải tích khi dùng chính quy hóa ridge. Nhưng ta chọn mức chính quy hóa λ tốt nhất bằng cách nào? Cần phân biệt hai việc: đánh giá hiệu năng của một giả thuyết và đánh giá riêng thuật toán tạo ra các giả thuyết.

2.8.1. Đánh giá giả thuyết

Ta có thể đánh giá một giả thuyết h bằng lỗi kiểm tra trên dữ liệu không dùng để huấn luyện. Với tập huấn luyện 𝒟train, giả thuyết hồi quy h và mất mát bình phương, lỗi huấn luyện là MSE giữa dự đoán với đầu ra mục tiêu:

train(h)=1ni=1n[h(x(i))y(i)]2.

Lỗi kiểm tra đo hiệu năng của h trên dữ liệu chưa thấy. Biểu thức gần như giống hệt, chỉ khác miền chỉ số i:

test(h)=1ni=n+1n+n[h(x(i))y(i)]2,

với n mẫu mới không được dùng để xây dựng h.

Trong học máy nói chung, không chỉ hồi quy, có hai nguồn khiến một giả thuyết h tạo ra lỗi kiểm tra:

  • Lỗi cấu trúc (structural error): Không tồn tại giả thuyết h nào hoạt động tốt trên dữ liệu. Chẳng hạn, dữ liệu thực sự được sinh bởi một sóng sin nhưng ta cố khớp bằng đường thẳng.
  • Lỗi ước lượng (estimation error): Dữ liệu không đủ hoặc không hữu ích để chọn được một h tốt; hoặc ta chưa giải bài toán tối ưu đủ tốt để tìm giả thuyết tốt nhất với dữ liệu hiện có.

Khi tăng λ, lỗi cấu trúc thường tăng còn lỗi ước lượng giảm; giảm λ thường tạo ra chiều đánh đổi ngược lại.

2.8.2. Đánh giá thuật toán học

Phần này áp dụng cho thuật toán học nói chung; nó xuất hiện ở đây vì giờ ta đã có một thuật toán để đánh giá.

Một thuật toán học (learning algorithm) nhận tập dữ liệu 𝒟train làm đầu vào và trả về một giả thuyết h thuộc lớp :

𝒟trainlearning alg ()h.

Giả thuyết h có các tham số. Bản thân thuật toán học cũng có thể có tham số riêng; chúng thường được gọi là siêu tham số (hyperparameter). Các nghiệm giải tích của hồi quy tuyến tính ở trên cũng có thể được xem là thuật toán học. Trong (2.12), λ là siêu tham số chi phối cách thuật toán hoạt động và có thể ảnh hưởng mạnh đến hiệu năng.

Đánh giá hiệu năng của thuật toán học không đơn giản vì lỗi kiểm tra của giả thuyết thu được có thể thay đổi theo:

  • Những mẫu cụ thể xuất hiện trong 𝒟train.
  • Những mẫu cụ thể xuất hiện trong 𝒟test.
  • Yếu tố ngẫu nhiên bên trong thuật toán học.

2.8.2.1. Kiểm định

Giả sử có nguồn dữ liệu không giới hạn. Để đánh giá thuật toán học, ta muốn lặp lại quy trình sau nhiều lần:

  • Huấn luyện trên một tập huấn luyện mới—một tập con của nguồn dữ liệu lớn.
  • Đánh giá h thu được trên một tập kiểm định (validation set) không giao với tập huấn luyện nhưng vẫn là tập con của cùng nguồn dữ liệu.

Chạy thuật toán nhiều lần giúp kiểm soát ảnh hưởng của việc chọn phải tập huấn luyện không phù hợp hoặc gặp ngẫu nhiên bất lợi trong thuật toán.

2.8.2.2. Kiểm định chéo

Quy trình trên có thể cần rất nhiều dữ liệu, trong khi dữ liệu ở nhiều ứng dụng rất đắt hoặc khó thu thập. Kiểm định chéo (cross-validation) cho phép tái sử dụng dữ liệu, dù khiến phân tích lý thuyết khó hơn.

Ví dụ (Cross-Validate)
  1. Nhận dữ liệu 𝒟 và số nguyên k.

  2. Chia 𝒟 thành k phần 𝒟1,,𝒟k có kích thước xấp xỉ nhau.

  3. Với mỗi i=1,,k:

    • Huấn luyện hi trên 𝒟𝒟i, giữ lại 𝒟i làm tập kiểm định.
    • Tính lỗi kiểm định i(hi) trên 𝒟i.
  4. Trả về lỗi kiểm định trung bình

    1ki=1ki(hi).

Điểm rất quan trọng: kiểm định hoặc kiểm định chéo không tạo ra hay đánh giá một giả thuyết h cụ thể. Nó đánh giá thuật toán học tạo ra các giả thuyết.

2.8.2.3. Điều chỉnh siêu tham số

Siêu tham số ảnh hưởng đến cách thuật toán học hoạt động nhưng không phải là một phần của giả thuyết thu được. Chẳng hạn, λ trong hồi quy ridge quyết định giả thuyết nào được trả về, nhưng không xuất hiện trong giả thuyết; giả thuyết được xác định bởi θθ0.

Có thể xem mỗi cấu hình siêu tham số là một thuật toán học khác nhau. Để chọn giá trị tốt, ta thường thử nhiều giá trị rồi dùng kiểm định hoặc kiểm định chéo để xem giá trị nào hoạt động tốt nhất.

Bài tập

Bạn có thể dùng kiểm định chéo như thế nào để chọn giữa hồi quy ridge giải tích và Random-Regression, đồng thời chọn k cho Random-Regression hoặc λ cho hồi quy ridge?

Tài liệu nguồn