# Perceptró del nucli

En l'aprenentatge automàtic, el perceptró del nucli és una variant del popular algorisme d'aprenentatge del perceptró que pot aprendre màquines del nucli, és a dir, classificadors no lineals que utilitzen una funció del nucli per calcular la similitud de mostres no vistes amb mostres d'entrenament. L'algorisme es va inventar el 1964, convertint-lo en el primer aprenent de classificació del nucli.

## Preliminars
### L'algorisme del perceptró

L'algorisme de perceptron és un algorisme d'aprenentatge en línia que funciona segons un principi anomenat "aprenentatge basat en errors". Millora iterativament un model executant-lo en mostres d'entrenament i, a continuació, actualitzant el model sempre que trobi que ha fet una classificació incorrecta respecte a un senyal supervisat. El model après per l'algorisme de perceptró estàndard és un classificador binari lineal: un vector de pesos w (i opcionalment un terme d'intercepció b, omès aquí per simplificar) que s'utilitza per classificar un vector mostra x com a classe "u" o classe "menys u", segons
${\hat {y}}=\operatorname {sgn}(\mathbf {w} ^{\top }\mathbf {x} )$
on un zero s'assigna arbitràriament a un o menys un. (El "barret" a ŷ denota un valor estimat).
En pseudocodi, l'algorisme de perceptron ve donat per:
    Inicialitzar w amb un vector zero de longitud p, el nombre de predictors (característiques).
    Per a un nombre fix d'iteracions, o fins que es compleixi algun criteri d'aturada:
    Per a cada exemple d'entrenament x$_i$ amb l'etiqueta de veritat bàsica y$_i$ ∈ {-1, 1 }:
       Sigui ŷ = sgn(w$^T$ x$_i$).
       Si ŷ ≠ y$_i$, actualitzeu w ← w + y$_i$ x$_i$.

### Mètodes del nucli

En contrast amb els models lineals apresos pel perceptró, un mètode del nucli és un classificador que emmagatzema un subconjunt dels seus exemples d'entrenament x$_i$, associa amb cadascun un pes α$_i$, i pren decisions per a noves mostres x' avaluant
$\operatorname {sgn} \sum _{i}\alpha _{i}y_{i}K(\mathbf {x} _{i},\mathbf {x'} )$
Aquí, K és una funció del nucli. Formalment, una funció del nucli és un nucli semidefinit no negatiu (vegeu la condició de Mercer), que representa un producte intern entre mostres en un espai d'alta dimensió, com si les mostres s'haguessin expandit per incloure característiques addicionals mitjançant una funció Φ: K(x, x') = Φ(x) · Φ(x') . Intuïtivament, es pot pensar com una funció de semblança entre mostres, de manera que la màquina del nucli estableix la classe d'una nova mostra mitjançant una comparació ponderada amb el conjunt d'entrenament. Cada funció x' ↦ K(x$_i$, x') serveix com a funció base en la classificació.

## Algorisme

Per derivar una versió kernelitzada de l'algorisme del perceptró, primer hem de formular-lo en forma dual, partint de l'observació que el vector pes w es pot expressar com una combinació lineal de les n mostres d'entrenament. L'equació del vector pes és
$\mathbf {w} =\sum _{i}^{n}\alpha _{i}y_{i}\mathbf {x} _{i}$
on α$_i$ és el nombre de vegades x$_i$ es va classificar incorrectament, forçant una actualització w ← w + y$_i$ x$_i$ . Utilitzant aquest resultat, podem formular l'algoritme de perceptró dual, que recorre les mostres com abans, fent prediccions, però en lloc d'emmagatzemar i actualitzar un vector de pes w, actualitza un vector "comptador d'errors" α.

## Referències

* ↑ Bordes, Antoine; Ertekin, Seyda; Weston, Jason; Bottou, Léon JMLR, 6, 2005, pàg. 1579–1619.
* ↑ «Notes on the Perceptron algorithm and kernel methods» (en anglès). https://www.cs.columbia.edu.+[Consulta: 16 agost 2023].
* ↑ «Kernel Perceptron» (en anglès). https://people.cs.vt.edu. Arxivat de l'original el 2023-08-16. [Consulta: 16 agost 2023].
* ↑ Nami, Yousef. «Implementing an efficient generalised Kernel Perceptron in PyTorch» (en anglès). https://towardsdatascience.com,+24-12-2021.+[Consulta: 16 agost 2023].