Come scienziato dei dati, dovresti capire le tecniche appropriate per interpretare il meccanismo di funzionamento di un modello. L’interpretazione è un aspetto essenziale della scienza dei dati. Ogni volta che si crea un modello con risultati accurati e impressionanti, si dovrebbe sapere come funziona il meccanismo. Molte persone generano un modello attraverso la codifica, ma non hanno idea di come i codici creano il modello e lo fanno funzionare.

Per esempio, state costruendo un modello che vi aiuterà a prevedere i prezzi delle azioni. Notate che i prezzi delle azioni aumentano anormalmente durante la notte. Questo potrebbe accadere per molteplici ragioni. Pertanto, è possibile utilizzare la stima di massima verosimiglianza per trovare la probabilità del problema con la massima probabilità. Molti professionisti di diversi campi utilizzano questo strumento per l’imaging satellitare, la risonanza magnetica e molti altri.
In questa guida, imparerete la stima di massima verosimiglianza in profondità e come potete implementare questo strumento per il vostro modello. Quindi, cominciamo a muoverci.

Stima della massima verosimiglianza

La stima di massima verosimiglianza è un metodo per fornire soluzioni statistiche a problemi relativi al modello di apprendimento automatico. Vi dà la possibilità di impostare i parametri e massimizzare la stima di verosimiglianza. Con questa tecnica, è possibile assumere l’output del modello dai dati osservati. La definizione precedente della stima di massima verosimiglianza significa che per creare un modello, dovremmo:
1. 1. Preparare un modello che comprenda i vostri dati. Ci si può riferire al modello come a un processo che genera dati.
2. Avere la capacità di ottenere i dati dal modello e ricavare la funzione di verosimiglianza.
Dopo aver ottenuto la funzione di verosimiglianza, vi renderete conto che la massima verosimiglianza è un semplice problema di ottimizzazione.

Relazione con l’apprendimento automatico

L’apprendimento automatico applicato e i problemi di stima della densità sono direttamente interconnessi tra loro. È possibile inquadrare i problemi relativi al modello di apprendimento automatico come la stima della densità di probabilità. Mentre si sceglie il modello e i suoi parametri, si dovrebbe fare riferimento all’ipotesi di modellazione h e ai problemi per trovare h, che spiega i dati X in modo migliore.
– P(X; h)
Ora, per massimizzare la funzione di verosimiglianza, dobbiamo identificare l’ipotesi di modellazione.
– massimizzare L(X; h)
Oppure, possiamo espanderla come
– massimizzare la somma i a n log(P(xi ; h))
Di conseguenza, si stima la densità di probabilità del set di dati. Questa tecnica è usata soprattutto nei modelli di apprendimento automatico non supervisionato. È possibile utilizzare la stima di massima verosimiglianza per gli algoritmi di clustering.

Stima della massima verosimiglianza e algoritmi di clustering

È possibile utilizzare efficacemente la stima di massima verosimiglianza per i modelli di apprendimento automatico supervisionati. Possiamo applicare questo metodo per i dati che includono variabili di input e di output. Le variabili di output sarebbero valori numerici, e la classificazione e la modellazione di regressione predittiva includeranno l’etichetta di classe.
La stima di massima verosimiglianza è la probabilità condizionata stimata dall’output (y), mentre l’input è (X) e l’ipotesi di modellazione è (h).
– massimizzare L(y|X; h)
Oppure, possiamo espanderlo come
– massimizzare la somma i a n log(P(yi|xi ; h))
Quando il vostro obiettivo è prevedere la y, in funzione della x, potete usare lo stimatore di massima verosimiglianza e stimare la probabilità condizionata da:
P(y|x ; theta)
La maggior parte dei modelli supervisionati si basa su questa tecnica di stima, rendendola una situazione comune. Ciò significa che la stima di massima verosimiglianza aiuterà a stimare la densità e a trovare un modello supervisionato e i suoi parametri. Pertanto, questa tecnica funziona come fondamento della tecnica di modellazione lineare, come:
– Regressione logistica, che aiuta con la classificazione binaria
– Regressione lineare, che aiuta a prevedere un valore numerico.
Nella regressione logistica, il modello separerà le classi includendo set di coefficienti, definendoli come una linea. Non è possibile risolvere questo problema analiticamente, ma utilizzando un efficiente algoritmo di ottimizzazione. Gli esempi includono l’algoritmo BFGS o varianti.
Quando consideriamo la regressione lineare, il modello includerà insiemi di coefficienti che lo definiscono come una linea. È possibile risolvere questo problema utilizzando soluzioni analitiche come l’algebra lineare.
Uno dei principali vantaggi della stima di massima verosimiglianza nell’apprendimento automatico è che migliora la qualità del modello aumentando la dimensione del dataset e la qualità dello stimatore.

Come implementare la stima della massima verosimiglianza in Python

Potete semplificare il processo implementando la stima della massima verosimiglianza nel vostro progetto di apprendimento automatico. Per ottenere ciò, potete usare numerose tecniche e approcci matematici. Di seguito, troverete un approccio per programmare il vostro modello per la stima di massima verosimiglianza

Passo 1: Importare le librerie nel modello

Importate tutte le seguenti librerie nel modello:
importare NumPy come np

importare pandas come PD
importare matplotlib pyplot come plt
importare seaborn come sns
da scipy.optimize importare minimize
importare scipy.stats come stats

importare pymc3 come pm3
importare numdifftools come ndt
importare statsmodels.api come sm
Ora importate GenericLikelihoodModel da statsmodels.base.model

Passo 2: generare i dati

N = 1000
x = np.linspace(0,200,N)
e = np.random.normal(loc = 0,0, scale = 5,0, size = N)
y = 3*x + e

df = pd.DataFrame({‘y’:y, ‘x’:x})
df[‘constant’] = 1

Passo 3: Visualizzare il grafico

Usare il seguente codice di riferimento per tracciare il grafico:
sns.regplot(df.x, df.y)

Passo 4: Analizzare i dati

È possibile analizzare i dati seguendo il grafico dei dati con la linea OLS e gli intervalli di confidenza.

Passo 5: Modellare OLS utilizzando Statsmodels

Poiché la regressione creata è costituita da dati continui, è possibile calcolare la Log-likelihood e i coefficienti utilizzando sm.OLS.
Dividere le caratteristiche e l’obiettivo
X = df[[‘constant’, ‘x’]]
Adattare il modello e riassumere
sm.OLS(y,X).fit().summary()

Conclusione

La stima della massima verosimiglianza è una tecnica unica e utile per aiutarvi a stimare i parametri del set di dati o della distribuzione dal set di dati. È possibile utilizzare lo strumento per un campione limitato di popolazione o identificare i valori di media e varianza. Nella guida di cui sopra, abbiamo capito cos’è la stima di massima verosimiglianza e come si può implementare questa tecnica su un modello di apprendimento automatico.