Searching...
Italiano
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Introduction to Machine Learning with Python

Introduction to Machine Learning with Python

A Guide for Data Scientists
di Andreas C. Müller 2015 398 pagine
4.34
500+ valutazioni
Ascolta
Try Full Access for 7 Days
Unlock listening & more!
Continue

Punti chiave

1. Il Machine Learning Automatizza il Processo Decisionale

Gli algoritmi di machine learning più efficaci sono quelli che automatizzano i processi decisionali generalizzando a partire da esempi noti.

Automatizzare l’intelligenza. Il machine learning eccelle nell’automatizzare le decisioni imparando dagli esempi. Invece di affidarsi a regole scritte a mano, gli algoritmi di machine learning generalizzano dai dati per fare previsioni su dati nuovi e mai visti prima. Questo approccio è particolarmente utile quando la logica necessaria per prendere una decisione è complessa o sconosciuta.

Supervisionato vs. Non supervisionato. Le attività di machine learning si dividono principalmente in due categorie: apprendimento supervisionato, dove l’algoritmo impara da dati etichettati, e apprendimento non supervisionato, dove l’algoritmo esplora dati non etichettati per scoprire schemi. L’apprendimento supervisionato è adatto a compiti come la classificazione e la regressione, mentre quello non supervisionato è utile per compiti come il clustering e la riduzione della dimensionalità.

Conoscenza guidata dai dati. Gli algoritmi di machine learning estraggono conoscenza dai dati, permettendo di identificare tendenze, fare previsioni e automatizzare processi decisionali. Questo approccio basato sui dati ha rivoluzionato diversi settori, dalla diagnosi medica alla previsione finanziaria.

2. Apprendimento Supervisionato: Imparare da Dati Etichettati

Se la tua applicazione può essere formulata come un problema di apprendimento supervisionato, e sei in grado di creare un dataset che includa il risultato desiderato, il machine learning probabilmente potrà risolvere il tuo problema.

Coppie Input/Output. Gli algoritmi di apprendimento supervisionato apprendono da coppie input/output, dove i dati di input sono associati a un output o etichetta nota. L’algoritmo utilizza questi dati etichettati per costruire un modello capace di prevedere l’output per nuovi input mai visti.

Classificazione e Regressione. I problemi di apprendimento supervisionato si dividono ulteriormente in classificazione e regressione. La classificazione prevede di assegnare un’etichetta da una lista predefinita, mentre la regressione consiste nel prevedere un valore numerico continuo.

La raccolta dati è fondamentale. Il successo dell’apprendimento supervisionato dipende dalla qualità e quantità dei dati etichettati. Creare un dataset di input e output è spesso un processo manuale laborioso, ma essenziale per costruire un modello accurato e affidabile.

3. Complessità del Modello: Equilibrare Overfitting e Underfitting

Costruire un modello troppo complesso rispetto alla quantità di informazioni a disposizione… si chiama overfitting.

L’obiettivo della generalizzazione. Nell’apprendimento supervisionato, l’obiettivo è costruire un modello che possa generalizzare dai dati di addestramento a dati nuovi e mai visti. Ciò significa trovare un modello capace di fare previsioni accurate su dati mai incontrati prima.

Overfitting vs. Underfitting. L’overfitting si verifica quando un modello è troppo complesso e impara anche il rumore presente nei dati di addestramento, portando a scarse prestazioni su dati nuovi. L’underfitting accade quando un modello è troppo semplice e non riesce a cogliere i pattern sottostanti, risultando inefficace sia sui dati di addestramento che su quelli di test.

Trovare il giusto equilibrio. La chiave per costruire un modello supervisionato di successo è trovare il giusto bilanciamento tra complessità del modello e capacità di generalizzazione. Questo spesso richiede di regolare i parametri del modello e valutarne le prestazioni su un set di validazione.

4. Modelli Lineari: Semplicità e Potenza

Per dataset con molte caratteristiche, i modelli lineari possono essere molto potenti.

Definizione di linearità. I modelli lineari fanno previsioni utilizzando una funzione lineare delle caratteristiche di input. Per la regressione, ciò significa che la previsione è una somma pesata delle caratteristiche, mentre per la classificazione il confine decisionale è una funzione lineare degli input.

Tipi di modelli lineari:

  • Regressione lineare: minimizza l’errore quadratico medio tra previsioni e valori reali.
  • Ridge Regression: aggiunge una regolarizzazione L2 per prevenire l’overfitting riducendo i coefficienti.
  • Lasso: aggiunge una regolarizzazione L1, che può portare a modelli sparsi con selezione delle caratteristiche.
  • Regressione logistica: algoritmo di classificazione che modella la probabilità di appartenenza a una classe.

Punti di forza e limiti. I modelli lineari sono veloci da addestrare e prevedere, scalano bene con dataset grandi e funzionano bene con dati sparsi. Tuttavia, possono risultare troppo semplici per relazioni complesse e sono sensibili alla scala delle caratteristiche.

5. Naive Bayes: Classificazione Veloce e Scalabile

Il motivo per cui i modelli naive Bayes sono così efficienti è che apprendono i parametri considerando ogni caratteristica singolarmente e raccolgono semplici statistiche per classe da ciascuna caratteristica.

Assunzione di indipendenza. I classificatori naive Bayes si basano sul teorema di Bayes, assumendo l’indipendenza tra le caratteristiche. Questa ipotesi semplifica il processo di apprendimento e li rende molto veloci da addestrare.

Tipi di classificatori naive Bayes:

  • GaussianNB: assume che i dati continui seguano una distribuzione gaussiana.
  • BernoulliNB: assume dati binari.
  • MultinomialNB: assume dati di conteggio.

Punti di forza e limiti. I modelli naive Bayes sono molto veloci da addestrare e prevedere, funzionano bene con dati ad alta dimensionalità e sparsi, e sono relativamente robusti ai parametri. Tuttavia, la forte assunzione di indipendenza può limitarne l’accuratezza rispetto a modelli più complessi.

6. Alberi di Decisione: Gerarchie Interpretabili

Imparare un albero decisionale significa apprendere la sequenza di domande if/else che ci porta alla risposta corretta nel modo più rapido.

Decisioni gerarchiche. Gli alberi di decisione apprendono una gerarchia di domande if/else per fare previsioni. Ogni domanda divide i dati in base a una caratteristica, e il processo si ripete fino a raggiungere una decisione.

Controllare la complessità. Per evitare l’overfitting, gli alberi di decisione vengono spesso potati anticipatamente limitando la profondità massima, il numero massimo di foglie, o richiedendo un numero minimo di punti in un nodo per continuare a dividerlo.

Punti di forza e limiti. Gli alberi di decisione sono facili da visualizzare e comprendere, non richiedono la normalizzazione dei dati e possono gestire caratteristiche sia binarie che continue. Tuttavia, tendono a overfittare e offrono scarse prestazioni di generalizzazione.

7. Metodi Ensemble: Combinare Molti Modelli

Gli ensemble sono metodi che combinano più modelli di machine learning per crearne di più potenti.

La forza del gruppo. I metodi ensemble combinano più modelli di machine learning per ottenere modelli più potenti. Aggregando le previsioni di più modelli, gli ensemble riducono la varianza e migliorano la capacità di generalizzazione.

Random Forest. Le random forest sono una raccolta di alberi decisionali, ciascuno addestrato su un sottoinsieme leggermente diverso di dati e caratteristiche. Le previsioni degli alberi vengono poi mediate per ottenere la previsione finale.

Gradient Boosted Decision Trees. Gli alberi potenziati con gradient boosting vengono costruiti in serie, dove ogni albero cerca di correggere gli errori del precedente. Il boosting spesso utilizza alberi molto bassi e una potatura anticipata forte.

8. SVM Kernelizzate: Espandere lo Spazio delle Caratteristiche

La lezione è che aggiungere caratteristiche non lineari alla rappresentazione dei dati può rendere i modelli lineari molto più potenti.

Il trucco del kernel. Le macchine a vettori di supporto (SVM) kernelizzate usano un trucco matematico chiamato kernel trick per apprendere un classificatore in uno spazio a dimensione superiore senza calcolare esplicitamente la nuova rappresentazione. Questo permette modelli più complessi, non definiti semplicemente da iperpiani nello spazio di input.

Tipi di kernel:

  • Kernel polinomiale: calcola tutti i polinomi possibili fino a un certo grado delle caratteristiche originali.
  • Kernel Radial Basis Function (RBF): considera tutti i polinomi di ogni grado, ma l’importanza delle caratteristiche diminuisce per gradi più alti.

Punti di forza e limiti. Le SVM kernelizzate sono modelli potenti che funzionano bene su vari dataset. Permettono confini decisionali complessi anche con poche caratteristiche. Tuttavia, non scalano bene con il numero di campioni e richiedono una cura particolare nella preparazione dei dati e nella scelta dei parametri.

9. Reti Neurali: Architetture di Deep Learning

Le reti neurali sono tornate a essere modelli all’avanguardia in molte applicazioni di machine learning.

Perceptron Multistrato (MLP). Le reti neurali, o perceptron multistrato, sono generalizzazioni dei modelli lineari che eseguono più fasi di elaborazione per arrivare a una decisione. Gli MLP sono composti da strati di nodi interconnessi, ciascuna connessione ha un peso associato.

Funzioni di attivazione. Dopo aver calcolato una somma pesata per ogni unità nascosta, si applica una funzione non lineare al risultato. Le funzioni non lineari comuni includono la ReLU (rettificatore) e la tangente iperbolica (tanh).

Punti di forza e limiti. Le reti neurali possono catturare informazioni contenute in grandi quantità di dati e costruire modelli incredibilmente complessi. Tuttavia, spesso richiedono molto tempo per l’addestramento, una preparazione accurata dei dati e sono sensibili alla scelta dei parametri.

10. Valutare l’Incertezza del Modello

Un’altra funzionalità utile dell’interfaccia di scikit-learn… è la capacità dei classificatori di fornire stime di incertezza delle previsioni.

Oltre le previsioni puntuali. I classificatori possono fornire stime di incertezza delle previsioni, indicando quanto il modello sia sicuro della sua classificazione. Questa informazione è preziosa in applicazioni dove le conseguenze di diversi tipi di errore variano.

Metodi per stimare l’incertezza:

  • decision_function: restituisce un punteggio per ogni campione, che indica la fiducia del modello nella previsione.
  • predict_proba: restituisce una probabilità per ogni classe, rappresentando la probabilità che il campione appartenga a quella classe.

Calibrazione. Un modello calibrato è un modello che fornisce una misura accurata della sua incertezza. In un modello calibrato, una previsione fatta con il 70% di certezza sarà corretta il 70% delle volte.

11. Feature Engineering: Rappresentare i Dati in Modo Efficace

La domanda su come rappresentare al meglio i dati per una particolare applicazione è nota come feature engineering, ed è uno dei compiti principali di data scientist e praticanti del machine learning che cercano di risolvere problemi reali.

L’arte della rappresentazione. Il feature engineering è il processo di selezione, trasformazione e creazione di caratteristiche che siano più informative per un compito specifico di machine learning. Il modo in cui i dati sono rappresentati può avere un impatto significativo sulle prestazioni dei modelli.

Tecniche di feature engineering:

  • One-Hot Encoding: convertire variabili categoriche in rappresentazioni numeriche.
  • Binning: discretizzare caratteristiche continue in intervalli.
  • Caratteristiche polinomiali: aggiungere termini polinomiali e interazioni per catturare relazioni non lineari.
  • Trasformazioni non lineari univariate: applicare funzioni matematiche come log, exp o sin per modificare scala e distribuzione delle caratteristiche.

Conoscenza esperta. Il feature engineering è spesso un ambito in cui utilizzare la conoscenza esperta per una specifica applicazione. Gli esperti del dominio possono aiutare a identificare caratteristiche utili, molto più informative della rappresentazione iniziale dei dati.

Ultimo aggiornamento:

Recensioni

4.34 su 5
Media di 500+ valutazioni da Goodreads e Amazon.

Introduzione al Machine Learning con Python è un testo caldamente consigliato a chi si avvicina per la prima volta al machine learning, proponendo un approccio pratico basato sull’uso di scikit-learn. I lettori apprezzano la chiarezza con cui vengono spiegati gli algoritmi, l’attenzione dedicata agli esempi di codice e le indicazioni utili per la regolazione dei parametri. Il libro viene lodato per la sua accessibilità, evitando complicate formule matematiche ma offrendo comunque una solida base di partenza. Tra le critiche, si segnala l’uso di una libreria personalizzata per gli esempi e una certa superficialità in alcuni argomenti. Nel complesso, rappresenta un ottimo punto di partenza per chi possiede una conoscenza elementare di Python e desidera esplorare i concetti fondamentali del machine learning.

Your rating:
4.67
9 valutazioni

Informazioni sull'autore

Andreas C. Müller è uno scienziato nel campo del machine learning e docente noto per il suo lavoro nella data science basata su Python. È uno degli sviluppatori principali della libreria scikit-learn e ha dato un contributo fondamentale alla sua documentazione e ai tutorial. L’esperienza di Müller consiste nel rendere accessibili concetti complessi di machine learning a chi si avvicina per la prima volta o ha una preparazione intermedia. Il suo percorso comprende ricerche nel campo della visione artificiale e delle applicazioni mediche del machine learning. Müller ha insegnato corsi di machine learning alla Columbia University ed è apprezzato per la sua capacità di colmare il divario tra teoria e pratica nell’implementazione con Python.

Listen to Summary
0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 16,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Loading...