В даний час я дізнаюся про оцінки найменших квадратів (та інших) для регресії, і з того, що я також читаю в деяких літературах адаптивного алгоритму, часто буває словосполучення "... і оскільки поверхня помилок випукла ..." з'являється і будь-яка глибина того, чому вона опукла для початку, не може бути де її знайти.
... Отже, що саме робить його опуклим ?
Мені здається, що це повторне упущення дещо роздратовує, тому що я хочу вміти розробляти власні адаптивні алгоритми із власними функціями витрат, але якщо я не можу сказати, чи може моя функція витрат давати опуклу поверхню помилок чи ні, я не зможу Занадто далеко, застосувавши щось на зразок градієнтного спуску, оскільки не буде глобального мінімуму. Можливо, я хочу займатися творчістю - можливо, я не хочу використовувати найменші квадрати як свої критерії помилок.
Викопавши глибше (і мої запитання починаються тут), я виявив, що для того, щоб можна було сказати, чи є у вас опукла поверхня помилок, ви повинні переконатися, що ваша матриця Гессі є позитивною напіввизначеною. Для симетричних матриць цей тест простий - просто переконайтесь, що всі власні значення матриці Гессі є негативними. (Якщо ваша матриця не є симетричною, ви можете зробити її симетричною, додавши її до власної транспозиції та виконавши те саме тест власного значення, в силу Грамія , але це тут не важливо).
Що таке матриця Гессі? Матриця Гессі кодифікує всі можливі комбінації частин вашої функції витрат. Скільки партій є? Стільки ж функцій у вашому векторі функцій. Як обчислити партії? Візьміть часткові похідні "від руки" від функції початкової вартості.
Отже, саме це я і зробив: я припускаю, що у нас є матриця даних x , позначена матрицею , де позначає кількість прикладів, а позначає кількість ознак на приклад. (яка також буде кількістю партій). Я думаю, ми можемо сказати, що у нас є проби часу та просторових зразків від датчиків, але фізичне застосування тут не надто важливе.
Крім того, ми також маємо вектор розміром m x 1 . (Це ваш вектор "мітки" або ваш "відповідь", відповідний кожному рядку X ). Для простоти я припустив, що m = n = 2 для цього конкретного прикладу. Отже, 2 "приклади" та 2 "функції".
Отже, припустимо, що ви хочете встановити, що найкраще підходить тут "лінія" або поліном. Тобто ви проектуєте свої функції вхідних даних у співвідношенні з вашим багатоефективним вектором таким чином, що вашою функцією витрат є:
Тепер візьмемо першу часткову похідну wrt , (характеристика 0) Таким чином:
Тепер обчислимо всі другі частки, так:
Ми знаємо, що гессієць - це не що інше, як:
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: Як саме і практично я займаюся визначенням того, чи є моя функція витрат та / або набір даних давати опуклу або неопуклу поверхню помилок?