Winnow (algoritmo): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 1:
{{Bozza|arg=|arg2=|ts=20250821092509|wikidata=Q8025857}}<!-- IMPORTANTE: NON CANCELLARE QUESTA RIGA, SCRIVERE SOTTO -->
L'algoritmo '''Winnow''' <ref name=":0">{{Cita pubblicazione|nome=Nick|cognome=Littlestone|data=1988-04-01|titolo=Learning Quickly When Irrelevant Attributes Abound: A New Linear-Threshold Algorithm|rivista=Machine Learning|volume=2|numero=4|pp=285–318|lingua=en|accesso=2025-08-20|doi=10.1023/A:1022869011914|url=https://doi.org/10.1023/A:1022869011914}}</ref> è un metodo di [[apprendimento automatico]] utile a definire un [[classificatore lineare]] a partire da esempi etichettati. Si tratta di un algoritmo molto simile al [[percettrone]], con la differenza che questo adotta uno schema di aggiornamento dei pesi additivo, mentre Winnow utilizza uno schema moltiplicativo che gli consente di funzionare molto meglio in presenza di molte dimensioni (''feature'') non rilevanti (da cui il nome, ="[[Crivello|setaccio]]"). L'algoritmo è semplice e si adatta bene a dati ad alta dimensionalità. Durante l'addestramento, a Winnow viene fornita una sequenza di esempi positivi e negativi. Da questa
== Algoritmo ==
L'algoritmo di base, ''Winnow1'', funziona come segue. Lo spazio delle istanze è <math>X=\{0,1\}^n</math>, ovvero ogni istanza viene descritta da un insieme di [[Caratteristica (apprendimento automatico)|caratteristiche]] a valori [[Booleano (informatica)|booleani]]. L'algoritmo gestisce un vettore di pesi non negativi <math>w_i</math> per <math>i\in \{1,\ldots,n\}</math>, uno per ogni caratteristica, inizialmente impostati a 1. Quando
* '''se''' <math>\sum_{i=1}^n w_i x_i > \Theta </math>, '''allora''' si predice 1
* '''altrimenti''' si predice 0
dove <math>\Theta</math> è un numero reale che fa da ''soglia''. Insieme ai pesi, la soglia definisce un iperpiano separatore nello spazio delle istanze. Si ottengono buone limitazioni all'errore se <math>\Theta=n/2</math> (cfr.
In fase di addestramento, per ogni esempio fornito, si applica la seguente ''regola di aggiornamento'':
|