Изменения

Перейти к: навигация, поиск

Метод опорных векторов (SVM)

3242 байта добавлено, 17:40, 1 апреля 2019
Нет описания правки
Типизация объектов:
1. # $\lambda_i = 0; \eta_i = C; \xi_i = 0; M_i \geq 1$ — периферийные (неинформативные) объекты2. # $0 < \lambda_i < C; 0 < \eta_i < C; \xi_i = 0; M_i = 1$ — опорные граничные объекты3. # $\lambda_i = С; \eta_i = 0; \xi_i > 0; M_i < 1$ — опорные объекты-нарушители
{{Определение
$\begin{cases}K(\vec{x}_1, \vec{x}_2) = K(\vec{x}_2, \vec{x}_1) & \text{(симметричность)} \\[1ex] \forall g: X \to \mathbb{R} \quad \int\limits_X \int\limits_X K(\vec{x}_1, \vec{x}_2) g(\vec{x}_1) g(\vec{x}_2) d \vec{x}_1 d \vec{x}_2 \geq 0 & \text{(неотрицательная определенность)}\end{cases}$
}}
 
 
Конструктивные методы синтеза ядер:
 
# $K(\vec{x}_1, \vec{x}_2) = \langle \vec{x}_1, \vec{x}_2 \rangle \quad$ (скалярное произведение)
# $K(\vec{x}_1, \vec{x}_2) = \alpha \quad$ (константа $\alpha \in \mathbb{R}, \alpha > 0$)
# $K(\vec{x}_1, \vec{x}_2) = K_1(\vec{x}_1, \vec{x}_2) + K_2(\vec{x}_1, \vec{x}_2) \quad$ (сумма ядер)
# $K(\vec{x}_1, \vec{x}_2) = K_1(\vec{x}_1, \vec{x}_2) * K_2(\vec{x}_1, \vec{x}_2) \quad$ (произведение ядер)
# $K(\vec{x}_1, \vec{x}_2) = \psi(\vec{x}_1) * \psi(\vec{x}_2) \quad$ (произведение функций $\psi : X \to \mathbb{R}$)
# $K(\vec{x}_1, \vec{x}_2) = K_1(\phi(\vec{x}_1), \phi(\vec{x}_2)) \quad$ (ядро от функций $\phi : X \to X$)
# $K(\vec{x}_1, \vec{x}_2) = \int\limits_X s(\vec{x}_1, \vec{z}) s(\vec{x}_2, \vec{z}) d \vec{z} \quad$ ($s : X \times X \to \mathbb{R}$ — симметричная интегрируемая функция)
# $K(\vec{x}_1, \vec{x}_2) = f(K_1(\vec{x}_1, \vec{x}_2)) \quad$ ($f: \mathbb{R} \to \mathbb{R}$ представима в виде сходящегося степенного ряда с неотрицательными коэффициентами)
 
Примеры ядер:
 
* $K(\vec{x}_1, \vec{x}_2) = (\langle \vec{x}_1, \vec{x}_2 \rangle + c)^d, \quad c, d \in \marhbb{R}$ — полиномиальное ядро
* $K(\vec{x}_1, \vec{x}_2) = \sigma(\langle \vec{x}_1, \vec{x}_2 \rangle)$ — нейросеть с заданной функцией активации $\sigma(z)$ (не при всех $\sigma$ является ядром)
* $K(\vec{x}_1, \vec{x}_2) = \exp(-\beta \lVert \vec{x}_1 - \vec{x}_2 \rVert^2)$ — сеть радиальных базисных функций (англ. ''RBF'')
 
== Метод опорных векторов в задаче регрессии ==
// TODO
 
== Преимущества и недостатки SVM ==
 
Преимущества SVM перед методом стохастического градиента и нейронными сетями:
 
* Задача выпуклого квадратичного программирования имеет единственное решение
* Метод опорных векторов эквивалентен двухслойной нейронной сети, где число нейронов на скрытом слое определяется автоматически как число опорных векторов
 
Недостатки классического SVM:
 
* Неустойчивость к шуму
* Нет общих подходов к оптимизации ядра под задачу
* Нет отбора признаков
* Необходимо подбирать константу $C$
 
== Модификации ==
 
Существуют различные дополнения и модификации метода опорных векторов, направленные на устранение описанных недостатков:
 
* [[Метод релевантных векторов (Relevance Vector Machine, RVM)]]
* [[1-norm SVM (LASSO SVM)]]
* [[Doubly Regularized SVM (ElasticNet SVM)]]
* [[Support Features Machine (SFM)]]
* [[Relevance Features Machine (RFM)]]
== См. также ==
23
правки

Навигация