4 votos

¿Es una SVM ' probabilidad de s (máximo) definida únicamente como una función de hiperparámetros?

Creo que debe ser la lectura de este párrafo (abajo) de forma incorrecta.

Tenga en cuenta que ambos tipos de pruebas que hemos definido en general dependen de la inversa del nivel de ruido de $C$ y el kernel $K(x, x^\prime )$ por separado. Esto es en contraste a la convencional SVM solución: este último se encuentra mediante la maximización de la log-posterior (13), y la posición de esta máxima claramente que sólo depende del producto $CK(x, x^\prime )$. Este es un punto importante: implica que las propiedades de la convencional SVM solo-generalización de error límites, prueba o error de validación cruzada de error, por ejemplo-no pueden ser usados para asignar un inequívoco valor de a $C$. Desde $C$ determina la clase de probabilidades (10), esto también significa que una determinada clase de probabilidades para SVM predicciones no pueden ser obtenidos de esta manera. La intuición detrás de esta observación es simple: Si $C$ es variada mientras que $CK(x, x^\prime)$ se mantiene fijo (que significa el cambio de la amplitud del núcleo en proporción inversa a $C$), entonces la posición del máximo de la parte posterior de la $P(\theta | D)$, es decir, el convencional SVM solución, se mantiene invariable. La forma de la parte posterior, por otro lado, no varían en una manera no trivial, siendo más alcanzó su punto máximo alrededor de la máxima para mayor $C$; la evidencia es sensible a estos cambios en la forma y modo depende de $C$.

(Mientras que el Dr. Sollich la discusión es en el contexto de la Bayesiano SVM métodos, me gustaría dejar de lado la perspectiva Bayesiana para el momento y sólo se centran en lo que el autor está diciendo acerca de la convencional SVM métodos).

El papel es Sollich, Pedro. 2002. El Aprendizaje De Máquina. V 46, 1-3. "Bayesiano Métodos para Máquinas de Vectores Soporte: Evidencia y Predictivo de la Clase de Probabilidades" pp 21-52.

Mi interpretación del párrafo es que la convencional SVM rendimiento de la superficie de la hiper-parámetros para un determinado conjunto de datos es el mismo a lo largo de una hipérbola definida por $\text{constant}=CK(x,x^\prime),$, pero debido a que los datos son fijos, $K(x,x^\prime)$ sólo varía a través de $\gamma$, tenemos $$\text{constant}=C\gamma$$

En el ejemplo de una función de base radial kernel con el parámetro de ancho de $\gamma$, esto a su vez implica que no necesitamos buscar más de una cuadrícula de $C\times\gamma$, pero en su lugar puede fijar un parámetro de búsqueda y en el resto de parámetros. Es evidente que esto podría acelerar drásticamente cualquier red de búsqueda de más de hyperparameters. (Pero sí, soy consciente de que la rejilla de búsqueda es sub-óptima).

Ilustrado, bajo mi interpretación, cada uno de los hyperbolae inferior tiene la misma probabilidad de valor a lo largo de la línea (pero algunos hyperbolae pueden tener el mismo valor debido a que la hyperparameter superficie es nonconvex). La fijación de $\frac{1}{C}=\lambda$ a, digamos, 4, significa que todavía podemos encontrar una máxima probabilidad en uno de los muchos hyperbolae correspondiente a la alternativa de los valores de $\gamma$, y que esta probabilidad no serán peor que cualquiera de las otras posibilidades en el mismo hipérbola.

My interpretation

Es mi interpretación correcta?

3voto

Bauna Puntos 176

El párrafo en cuestión se refiere a que el documento de la ecuación (13): $$ \ln P(\theta \mediados de la D) = - \frac12 \sum_{x, x'} \theta(x) K^{-1}(x, x') \theta(x') - C \sum_i l(y_i \, \theta(x_i)) + \text{const} $$ donde $K^{-1}(x, x')$ es el elemento de la inversa de la matriz kernel correspondiente a los puntos de $x$$x'$, es decir, que en realidad depende del conjunto de datos.

Se puede dividir a través de por $C$ sin cambiar la ubicación de la máxima, lo que implica que la solución sólo depende de $\mathbf K^{-1} / C$ (donde $\mathbf K$ denota la formación completa del núcleo de la matriz), o, equivalentemente, en $C \mathbf K$.


También se puede ver directamente desde la doble función objetivo:

$$ \max_\alpha \sum_i \alpha_i - \frac12 \sum_{i, j} \alpha_i \alpha_j y_i y_j k(x_i, x_j) \\\text{s.t.}\; \forall yo. 0 \le \alpha_i \le C, \; \sum_i \alpha_i y_i = 0 $$

Consider replacing each $\alpha_i$ by $c \alpha_i$, $k(x_i, x_j)$ with $k(x_i, x_j) / c$, and changing the first constraint to $0 \le \alpha_i \le c C$. A continuación, el nuevo objetivo de la función es $$ \sum_i c \alpha_i - \frac12 \sum_{i, j} (c \alpha_i) (c \alpha_j) y_i y_j \frac{k(x_i, x_j)}{c} = c \left( \sum_i \alpha_i - \frac12 \sum_{i, j} \alpha_i \alpha_j y_i y_j k(x_i, x_j) \right) ,$$ el inalterada restricción es aún satisfecho, y así el óptimo $\alpha$ es escalada por $c$. Dado que las predicciones están basadas en $\alpha^T \mathbf k$ donde $\mathbf k$ es el vector de punto de prueba de kernels, reemplazándolo con $c \alpha^T \mathbf k/c$ no cambia las predicciones.


Si estamos utilizando una Gaussiana kernel RBF $K(x, x') = \exp\left(- \gamma \lVert x - x' \rVert^2 \right)$, sin embargo, no es cierto que esto significa que podemos explorar un solo $C \gamma = \text{const}$ curva: $K$'s la dependencia de $\gamma$ es no lineal. Doblando $\gamma$ y reducir a la mitad el $C$ va a resultar diferente $C \mathbf K$ matriz.

He aquí algunas evidencias empíricas (en Python) en algunos arbitraria datos sintéticos:

from sklearn import svm, datasets, cross_validation
X, y = datasets.make_classification(
          n_samples=1000, n_features=10, random_state=12)
Xtrain, Xtest, ytrain, ytest = cross_validation.train_test_split(X, y)
Cs = [.01, .1, 1, 10, 100]

print("RBF:")
for C in Cs:
    acc = svm.SVC(C=C, gamma=1/C, kernel='rbf') \
             .fit(Xtrain, ytrain).score(Xtest, ytest)
    print("{:5}: {:.3}".format(C, acc))

print("\nScaled linear:")
for C in Cs:
    acc = svm.SVC(C=C, gamma=1/C, kernel=lambda x, y: x.dot(y.T) / C)  \
             .fit(Xtrain, ytrain).score(Xtest, ytest)
    print("{:5}: {:.3}".format(C, acc))

que imprime

RBF:
 0.01: 0.84
  0.1: 0.504
    1: 0.832
   10: 0.86
  100: 0.868

Scaled linear:
 0.01: 0.88
  0.1: 0.88
    1: 0.88
   10: 0.88
  100: 0.88

El primer conjunto de números es para un kernel RBF con diferentes $C$$\gamma = 1/C$; debido a que tenemos diferentes precisión de clasificación, las predicciones son claramente diferentes.

El segundo es para una escala lineal kernel $K(x, x') = \gamma x^T x'$, en cuyo caso (debido a la dependencia de la $\gamma$ es lineal) su razonamiento es correcto y todas las predicciones son el mismo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X