Tôi hiện đang tìm hiểu về ước lượng bình phương nhỏ nhất (và khác) cho hồi quy và từ những gì tôi cũng đang đọc trong một số tài liệu thuật toán thích ứng, thường xuất hiện cụm từ "... và vì bề mặt lỗi bị lồi ..." xuất hiện và bất kỳ độ sâu nào về lý do tại sao nó lồi bắt đầu là không tìm thấy ở đâu.
... Vậy chính xác thì điều gì làm cho nó lồi ?
Tôi thấy thiếu sót lặp đi lặp lại này gây khó chịu nhẹ vì tôi muốn có thể thiết kế các thuật toán thích ứng của riêng mình, với các hàm chi phí của riêng tôi, nhưng nếu tôi không thể biết liệu hàm chi phí của mình có mang lại bề mặt lỗi lồi hay không, tôi sẽ không thể đi quá xa trong việc áp dụng một cái gì đó như giảm độ dốc vì sẽ không có mức tối thiểu toàn cầu. Có lẽ tôi muốn sáng tạo - có thể tôi không muốn sử dụng bình phương nhỏ nhất làm tiêu chí lỗi của mình chẳng hạn.
Khi đào sâu hơn, (và câu hỏi của tôi bắt đầu từ đây), tôi thấy rằng để có thể biết nếu bạn có bề mặt lỗi lồi, bạn phải chắc chắn rằng ma trận Hessian của bạn là bán xác định dương. Đối với các ma trận đối xứng, thử nghiệm này rất đơn giản - chỉ cần đảm bảo tất cả các giá trị riêng của ma trận Hessian là không âm. (Nếu ma trận của bạn không đối xứng, bạn có thể làm cho nó đối xứng bằng cách thêm nó vào chuyển vị của chính nó và thực hiện cùng một bài kiểm tra eigenvalue, nhờ vào Gramian , nhưng điều đó không quan trọng ở đây).
Ma trận Hessian là gì? Ma trận Hessian mã hóa tất cả sự kết hợp có thể có của các phần của hàm chi phí của bạn. Có bao nhiêu partials? Nhiều như số lượng các tính năng trong vector tính năng của bạn. Làm thế nào để tính toán các hạt? Lấy các công cụ phái sinh một phần 'bằng tay' từ hàm chi phí ban đầu.
Vì vậy, đó chính xác là những gì tôi đã làm: Tôi giả sử rằng chúng ta có ma trận dữ liệu x , được biểu thị bằng ma trận , trong đó, biểu thị số lượng ví dụ và biểu thị số lượng tính năng trên mỗi ví dụ. (cũng sẽ là số lượng hạt). Tôi cho rằng chúng ta có thể nói rằng chúng ta có mẫu thời gian và mẫu không gian từ các cảm biến, nhưng ứng dụng vật lý không quá quan trọng ở đây.
Hơn nữa, chúng ta cũng có một vectơ có kích thước x . (Đây là vectơ 'nhãn' của bạn hoặc 'câu trả lời' của bạn tương ứng với mỗi hàng ). Để đơn giản, tôi đã giả sử cho ví dụ cụ thể này. Vì vậy, 2 'ví dụ' và 2 'tính năng'.
Vì vậy, bây giờ giả sử rằng bạn muốn xác định 'dòng' hoặc đa thức phù hợp nhất ở đây. Nghĩa là, bạn chiếu các tính năng dữ liệu đầu vào của mình theo vectơ đồng hiệu suất đa thức sao cho hàm chi phí của bạn là:
Bây giờ, chúng ta hãy lấy wrt phái sinh một phần đầu tiên , (tính năng 0) Do đó:
Bây giờ, chúng ta hãy tính tất cả các phần thứ hai, vì vậy:
We know that the Hessian is nothing but:
Now, based on how I have constructed the data matrix , (my 'features' go by columns, and my examples go by rows), the Hessian appears to be:
...which is nothing but the sample covariance matrix!
So I am not quite sure how to interpret - or I should say, I am not quite sure how generalizing I should be here. But I think I can say that:
Always true:
- The Hessian matrix always controls whether or not your error/cost surface is convex.
- If you Hessian matrix is pos-semi-def, you are convex, (and can happily use algorithms like gradient descent to converge to the optimal solution).
True for LSE only:
- The Hessian matrix for the LSE cost criterion is nothing but the original covariance matrix. (!).
- To me this means that, if I use LSE criterion, the data itself determines whether or not I have a convex surface? ... Which would then mean that the eigenvectors of my covariance matrix somehow have the capability to 'shape' the cost surface? Is this always true? Or did it just work out for the LSE criteria? It just doesnt sit right with me that the convexity of an error surface should be dependent on the data.
So putting it back in the context of the original question, how does one determine whether or not an error surfance (based on some cost function you select) is convex or not? Is this determination based on the data, or the Hessian?
Thanks
TLDR: How, exactly, and practically do I go about determining whether my cost-function and/or data-set yield a convex or non-convex error surface?