Задача
Проверьте, может ли матрица
G=[[1,0,5,0,2],[0,5,1]]
быть Gram-матрицей действительного ядра. Уже по записи видно, что строки имеют разную длину: это не квадратная матрица и потому не Gram-матрица фиксированного набора точек.
Корректный пример
Рассмотрим вместо этого
G=[[1,0,5],[0,5,1],[0,5,1]].
Она квадратная, но не симметричная: G₁₃=5, G₃₁=0. Действительное ядро должно удовлетворять K(x_i,x_j)=K(x_j,x_i), поэтому такая матрица также невозможна.
PSD после симметрии
Даже симметрии недостаточно. Для каждого c необходимо cᵀGc≥0. Эквивалентно, все собственные значения симметричной Gram-матрицы неотрицательны.
Проверка настоящего kernel Gram
Для линейного ядра G=XXᵀ и cᵀGc=||Xᵀc||²≥0 автоматически. Для предложенной новой функции K эту проверку нужно выполнить для любого конечного набора точек, а не одной удобной выборки.
Редакционная практика по теме kernel PSD из mlearn_pro · CC BY 4.0. Пример создан специально для проверки базовых необходимых условий.