Hàm chi phí trong hồi quy tuyến tính OLS


32

Tôi hơi bối rối với một bài giảng về hồi quy tuyến tính được đưa ra bởi Andrew Ng trên Coursera về học máy. Ở đó, ông đã đưa ra một hàm chi phí tối thiểu hóa tổng bình phương là:

12mi=1m(hθ(X(i))Y(i))2

Tôi hiểu đến từ đâu. Tôi nghĩ rằng anh ấy đã làm điều đó để khi anh ấy thực hiện đạo hàm trên số hạng vuông, số 2 trong số hạng vuông sẽ hủy với một nửa. Nhưng tôi không hiểu đến từ đâu.121m

Tại sao chúng ta cần làm ? Trong hồi quy tuyến tính tiêu chuẩn, chúng tôi không có nó, chúng tôi chỉ đơn giản là giảm thiểu phần dư. Tại sao chúng ta cần nó ở đây?1m


1 / 2m giúp tìm ra lỗi trung bình trên mỗi điểm dữ liệu và m đại diện cho tổng số quan sát hoặc số lượng quan sát.
phố của người Nam bộ

Câu trả lời:


33

Như bạn có thể nhận ra, chúng tôi chắc chắn không cần hệ số để có hồi quy tuyến tính. Các bộ giảm thiểu tất nhiên sẽ giống hệt nhau, có hoặc không có nó. Một lý do điển hình để bình thường hóa bởi m là để chúng ta có thể xem hàm chi phí là một xấp xỉ với "lỗi tổng quát hóa", đó là tổn thất bình phương dự kiến ​​trên một ví dụ mới được chọn ngẫu nhiên (không phải trong tập huấn luyện):1/mm

Giả sử được lấy mẫu iid từ một số phân phối. Sau đó, đối với m lớn, chúng tôi hy vọng rằng 1(X,Y),(X(1),Y(1)),,(X(m),Y(m))m

1mi=1m(hθ(X(i))Y(i))2E(hθ(X)Y)2.

Chính xác hơn, bởi Luật mạnh số lượng lớn, chúng tôi có với xác suất 1.

limm1mi=1m(hθ(X(i))Y(i))2=E(hθ(X)Y)2

Lưu ý: Mỗi câu trên đều dành cho bất kỳ cụ thể nào , được chọn mà không cần nhìn vào tập huấn luyện. Đối với học máy, chúng tôi muốn các báo cáo này để giữ cho một số θ chọn dựa trên hiệu suất tốt của nó đối với tập huấn luyện. Những tuyên bố vẫn có thể giữ trong trường hợp này, mặc dù chúng ta cần phải thực hiện một số giả định trên tập hợp các hàm { h θθθ^ , và chúng tôi sẽ cần một cái gì đó mạnh hơn so với Luật số lớn. {hθ|θΘ}


1
@StudentT Đây có lẽ là lý do tốt nhất để sử dụng lỗi trung bình trên tổng số. Lời giải thích của tôi thực sự chỉ là hậu quả cấp độ bề mặt của lý do sâu xa hơn của DavidR.
Matthew Drury

29

Bạn không cần phải làm vậy. Hàm mất có cùng mức tối thiểu cho dù bạn có bao gồm hoặc triệt tiêu nó. Nếu bạn bao gồm nó mặc dù, bạn sẽ có được sự diễn giải tốt đẹp về việc giảm thiểu (một nửa)lỗitrung bìnhcho mỗi datapoint. Nói cách khác, bạn đang giảm thiểutỷ lệlỗithay vì tổng lỗi.1m

Xem xét so sánh hiệu suất trên hai bộ dữ liệu có kích thước khác nhau. Tổng số lỗi bình phương không thể so sánh trực tiếp, vì các bộ dữ liệu lớn hơn có xu hướng có tổng lỗi nhiều hơn chỉ do kích thước của chúng. Mặt khác, lỗi trung bình trên mỗi datapoint .

Bạn có thể xây dựng một chút?

Chắc chắn rồi. Tập dữ liệu của bạn là tập hợp các điểm dữ liệu {xi,yi} . Khi bạn có một mô hình , lỗi bình phương nhỏ nhất của h trên một điểm dữ liệu làhh

(h(xi)yi)2

tất nhiên, điều này là khác nhau đối với mỗi datapoint. Bây giờ, nếu chúng ta chỉ cần tổng hợp các lỗi (và nhân với một nửa vì lý do bạn mô tả), chúng ta sẽ nhận được tổng số lỗi

12i(h(xi)yi)2

nhưng nếu chúng ta chia cho số lượng triệu hồi, chúng ta sẽ nhận được lỗi trung bình trên mỗi điểm dữ liệu

12mi(h(xi)yi)2

{xi,yi}{xi,yi}


1
Tôi có thể theo bạn, bạn có thể giải thích một chút không? Xin lỗi, tôi mới học máy!
SmallChess

@StudentT Tôi đã cố gắng làm rõ trong câu trả lời của mình.
Matthew Drury

1
Điều tương tự cũng áp dụng nếu bạn tình cờ thử nghiệm kích thước lô nhỏ khi thực hiện giảm độ dốc ngẫu nhiên, đây là loại giảm độ dốc tuyến tính phổ biến nhất khi làm việc với các bộ dữ liệu lớn: bạn có thể dễ dàng so sánh lỗi hơn.
jasonszhao
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.