Dal corso: Fondamenti di intelligenza artificiale: apprendimento automatico

k-nearest neighbor

- Nell'apprendimento automatico, uno dei modi migliori per saperne di più sui tuoi dati è classificarli con ciò che già conosci. È possibile raggruppare un gruppo di dati in base a caratteristiche simili. Poiché si conoscono già queste caratteristiche, è possibile classificare i dati utilizzando l'apprendimento automatico supervisionato. Un algoritmo di apprendimento automatico supervisionato molto comune per la classificazione multiclasse è k-Nearest Neighbor. Questo è un algoritmo di apprendimento automatico basato su istanze, o quello che viene anche chiamato apprendimento pigro. Con l'apprendimento pigro, la maggior parte del calcolo avviene proprio prima di voler classificare i dati. L'apprendimento non avviene continuamente. Invece, esegui tutto il tuo calcolo in un'unica grande istanza. In un certo senso, stai risparmiando tutta la tua energia per un grande splash. k-NN confronta qualcosa che non sai con quello che hai già. Quindi, in un certo senso, vieni immediatamente ricompensato per le dimensioni e la qualità dei tuoi dati di allenamento. Il rovescio della medaglia è che questo richiede molta potenza di calcolo, quindi a volte è difficile usare k-NN su set di dati molto grandi. Pensala in questo modo. Quando ero più giovane, lavoravo per un rifugio per animali nel centro di Chicago. Uno dei lavori più difficili era cercare di classificare la razza di ogni nuovo cane. Ci sono centinaia di diverse razze di cani conosciute. Non solo, i cani non sono così chiusi su chi allevano, quindi hai molte razze miste. Ogni volta che prendevamo un nuovo cane, lo tenevamo a molti dei cani esistenti che erano già classificati. Poi vedremmo alcune delle caratteristiche. Forse era la forma del loro viso o il colore dei loro capelli. In un certo senso, il rifugio stava cercando di classificare il cane sconosciuto cercando il suo vicino più vicino. Certo, non è proprio facile dire se un cane fosse un Boston Terrier o un Bulldog francese. Più la partita era vicina, più era probabile che fosse classificata. Un altro modo per guardarlo è che stai cercando di ridurre al minimo la distanza tra il cane sconosciuto e le razze conosciute. Se le caratteristiche erano strettamente abbinate, allora c'era una distanza molto breve tra il cane sconosciuto e il suo vicino più vicino. Ridurre al minimo la distanza è una parte fondamentale di k-Nearest Neighbor. Più sei vicino ai tuoi vicini più prossimi, più è probabile che tu sia accurato. Il modo più comune per farlo è attraverso qualcosa chiamato distanza euclidea. Questa è una formula matematica piuttosto sofisticata che può aiutare a vedere la distanza tra i diversi punti dati. Ora, immagina di avere milioni di cani e di volerli classificare in base alla loro razza. Per iniziare, potremmo voler creare due caratteristiche chiave. Questi ti aiuteranno a classificare i cani che condividono la stessa razza. Questi sono spesso chiamati predittori. Quindi usiamo il loro peso e la lunghezza dei loro capelli. Ora prendiamo queste due caratteristiche e mettiamole su un diagramma dell'asse X-Y. Mettiamo la lunghezza dei loro capelli lungo l'asse Y e il loro peso lungo l'asse X. Prendiamo 1.000 cani classificati nel nostro set di addestramento. Li metteremo sul grafico in base al loro peso e alla lunghezza dei capelli. Ora prendiamo il nostro cane sconosciuto e mettiamolo nello stesso grafico. Puoi vedere che non è abbinato a un altro cane, ma ha un gruppo di vicini vicini. Diciamo che usiamo una K di cinque. Ciò significa che vorremmo mettere un cerchio attorno al nostro cane non classificato e ai suoi cinque vicini più vicini. Puoi vedere che se la distanza degli altri cani è più breve, probabilmente otterrai una classificazione molto più accurata. Ora diamo un'occhiata ai cinque vicini più vicini. Vedrai che tre di loro sono pastori e due di loro sono husky. Puoi essere un po 'sicuro di classificare il tuo cane sconosciuto come un pastore. C'è anche una ragionevole possibilità che si tratti di un Husky. k-Nearest Neighbor è un algoritmo di apprendimento automatico molto comune e potente. Questo perché può fare molto di più che ordinare i cani. In effetti, è comunemente usato in finanza per cercare le migliori azioni e persino prevedere le prestazioni future.

Contenuti