У меня есть 12 положительных тренировочных наборов (раковые клетки, обработанные лекарствами с каждым из 12 различных механизмов действия). Для каждого из этих положительных обучающих наборов я хотел бы обучить машину опорных векторов, чтобы отличить ее от отрицательного набора равного размера, выбранного из эксперимента. Каждый набор имеет от 1000 до 6000 ячеек, и в каждой ячейке имеется 476 признаков (изображений), каждая из которых линейно масштабируется до [0, 1].
Я использую LIBSVM и ядро Gaussian RGB. Используя пятикратную перекрестную проверку, я выполнил поиск по сетке для log₂ C ∈ [-5, 15] и log₂ ɣ ∈ [-15, 3]. Результаты приведены ниже:
Я был разочарован тем, что нет единого набора параметров, которые дают высокую точность для всех 12 задач классификации. Я также был удивлен, что сетки обычно не показывают область высокой точности, окруженную более низкой точностью. Означает ли это, что мне нужно расширить пространство параметров поиска, или поиск по сетке указывает на то, что что-то не так?
Ответы:
Оптимальные значения гиперпараметров будут разными для разных тактов обучения, вам нужно настраивать их отдельно для каждой задачи.
Причина, по которой вы не получаете ни одного оптимального значения, заключается в том, что как параметр ядра, так и параметр регуляризации контролируют сложность модели. Если C маленький, вы получаете гладкую модель, также если ядро с широким, вы получите гладкую модель (поскольку базовые функции не очень локальны). Это означает, что различные комбинации C и ширины ядра приводят к одинаково сложным моделям с одинаковой производительностью (именно поэтому вы получаете диагональный элемент на многих ваших графиках).
Оптимум также зависит от конкретной выборки тренировочного набора. Можно переопределить ошибку перекрестной проверки, поэтому выбор гиперпараметров путем перекрестной проверки может фактически ухудшить производительность, если вам не повезет. Посмотрите Коули и Тэлбота для некоторого обсуждения этого.
Тот факт, что существует гипер плато значений для гиперпараметров, где вы получаете одинаково хорошие значения, на самом деле является хорошей особенностью машин опорных векторов, так как предполагает, что они не слишком уязвимы для чрезмерного соответствия при выборе модели. Если бы у вас был резкий пик при оптимальных значениях, это было бы плохо, так как этот пик было бы трудно найти с помощью конечного набора данных, который обеспечил бы ненадежное указание того, где этот пик фактически находится.
источник