Ciao mi chiamo Jacopo! Sono un UX/UI Designer e Front End Developer. Sul mio sito troverai articoli sullo sviluppo Front End

Uno dei primi algoritmi descritti agli albori del Machine Learning, utilizzato per compiti di classificazione, fu il Perceptron.

Warren McCullock e Walter Pitts pubblicarono nel 1943 un primo schema di cellula del cervello, il neurone di McCullock-Pitts.

I neuroni sono le nostre cellule nervose le quali, attraverso segnali chimici ed elettrici, permettono il passaggio e l'elaborazione di "dati" all'interno del nostro cervello.

Il neurone di McCullock-Pitts presenta un gate logico con output binario; ai dendriti arrivano i segnali, entrano nel nucleo della cellula e se il segnale supera una certa soglia di attivazione, allora la cellula produce un segnale di output passato tramite l'assone che viene propagato come segnale di output dai terminali dell'assone.

Pochi anni dopo Frank Rosenblatt pubblicΓ² il primo concetto di apprendimento basato su Perceptron. Rosenblatt propose un algoritmo che avrebbe appreso i coefficienti di peso ottimali da moltiplicare con i segnali di input, in maniera tale da decretare se il neurone si dovesse attivare oppure no.

Nel contesto del Machine Learning un algoritmo di questo tipo potrebbe assegnare l'appartenenza di un campione ad una determinata classe.

Questo problema puΓ² essere classificato in maniera binaria, dove due classi, una positiva 1, ed una negativa -1, possono essere decretate attraverso una funzione di attivazione 𝝓(z). Tale funzione puΓ² prendere una combinazione lineare di valori di input x e un corrispondente vettore di pesi w, dove z rappresenta l'input della rete.

$$(z = w_{1} x_{1} + ... + w_{m} x_{m})$$

$ w = \left[
\begin{matrix}
w_{1} \\
\vdots \\
w_{m}
\end{matrix}
\right] $

$ x = \left[
\begin{matrix}
x_{1} \\
\vdots \\
x_{m}
\end{matrix}
\right] $

Se un campione $x^{i}$ Γ¨ maggiore della soglia di attivazione determinata con 𝝓, allora il campione rientrerΓ  nella classe 1, altrimenti nel caso fosse minore alla soglia verrebbe classificato in Β -1.

Nell'algoritmo di Perceptron, la funzione di attivazione Γ¨ una semplice funzione di passo unitario, chiamata a volte funzione di passo Heaviside.

$$ 𝝓(z) =
\begin{cases}
1 Β & \text{if $z$ is β‰₯ ΞΈ} \\
-1 & \text{altrimenti}
\end{cases} $$

L'input della rete $z = w^{T} x$ passando per la funzione di attivazione del Perceptron, viene classificato come output binario in -1 o 1. Questo algoritmo permette di discriminare tra due classi separabili linearmente.

La convergenza del Perceptron avviene solo nei casi in cui le due classi risultino separabili linearmente e se il tasso di apprendimento Γ¨ ridotto. Si puΓ² definire eventualmente un numero di passi sul dataset di apprendimento (epoch) e una soglia di classificazioni errate. In caso contrario il Perceptron continuerebbe sempre a correggere i pesi.

Durante la fase di apprendimento l'output serve per calcolare l'errore nella previsione e per aggiornare di conseguenza i pesi.

Background vector created by freepik - www.freepik.com
Ti sei iscritto con successo al blog di Jacopo Kahl - UX/UI Designer e Front End Developer
Bentornato! Hai effettuo l'accesso al blog.
Ottimo! Ti sei appena registrato.
Perfetto! Il tuo account Γ¨ attivo, ed hai l'accesso a tutti i contenuti.