У меня есть некоторые данные, которые существуют на графе . Вершины принадлежат одному из двух классов y i ∈ { - 1 , 1 } , и я заинтересован в обучении SVM различать эти два класса. Одним подходящее ядро для этого является в диффузии ядро , К = ехру ( - β L ) , где L является лапласианом из G и β является параметром настройки.
Настройка SVM требует выбора гиперпараметров, поэтому я должен настроить Традиционно мы используем перекрестную проверку для этой задачи, но здесь это не представляется целесообразным, так как исключение вершины i из G изменяет весь граф, возможно даже увеличивая количество связанных компонентов! Если количество подключенных компонентов изменяется, некоторые вершины становятся недоступными для других, и мы сталкиваемся с набором данных, который отличается от того, с которого мы начали. То есть мы не только пропускаем удаленную вершину i , но мы также пропускаем информацию обо всех других вершинах j в графе, которые были смежными с этой вершиной.
Основное понятие перекрестной проверки состоит в том, что мы хотели бы приблизить, как будет работать модель, когда она представлена новыми данными. В стандартных задачах пропуск некоторых ваших данных для тестирования не меняет значения остальных данных обучения. Однако в случае данных графика неясно, что значит для модели видеть «новые» данные в настройке CV. Пропуск вершин или ребер может полностью изменить данные. Например, представьте граф который является k- звездным графом, в котором одна вершина имеет k ребер к kвершины, а все остальные вершины имеют 1 ребро. Пропуск центральной вершины для построения обучающих данных полностью разъединит граф, и матрица ядра будет диагональной! Но, конечно, будет возможно обучить модель на этих данных обучения, представленных в S ∗ . Что менее ясно, так это то, что это значит для тестирования производительности вне выборки полученной модели. Можно ли пересчитать матрицу ядра для S и предоставить это для предсказаний?
Или, в качестве альтернативы, нужно начинать с вычисления матрицы ядра во всей ее полноте и опускать строки и столбцы по мере необходимости для получения матрицы ядра, используемой для оценки SVM? Это создает свои собственные концептуальные проблемы, поскольку включение центрального узла в S означает, что каждая вершина достижима из любой другой вершины, а матрица ядра является плотной. Означает ли это включение, что есть утечка информации через сгибы, и смещает выход перекрестной проверки? С одной стороны, данные о пропущенных центральных узлах все еще присутствуют, поскольку пропущенный центральный узел связывает граф. С другой стороны, мы ничего не знаем о ярлыках у из пропущенных узлов, поэтому нам может быть удобно, что мы получаем разумно непредвзятые оценки вне выборки при выполнении CV таким способом.
Как выбрать гиперпараметры для задач этого типа? Является ли резюме несовершенным, но приемлемым, или нам нужны специализированные методы? Возможна ли вообще настройка гиперпараметра в моем контексте?