itimpresa soluzioni informatiche
  • Il Gruppo
  • Chi Siamo
  • Servizi IT
  • Software
  • Cyber Security
  • Blog
  • Contatti

Che cosa si intende per overfitting e come evitarlo

  • Home
  • Blog
  • Tecnologie e concetti IT
  • Che cosa si intende per overfitting e come evitarlo
Che cosa si intende per overfitting e come evitarlo
Data di pubblicazione: 24 Marzo 2023Autore: Alessandro Achilli

Quando si gestiscono progetti di machine learning e intelligenza artificiale, il rischio di complicazioni e malfunzionamenti maggiore è lui: l’overfitting. Si tratta di un sovradattamento che si manifesta durante il processo di apprendimento induttivo. 

Tale sovradattamento avviene quando l’algoritmo si adatta eccessivamente ai dati di training, non risultando più efficace nel momento in cui viene applicato a dati generici. Questo fenomeno si riscontra sia in statistica che in informatica.

Esiste un modo per evitare l’overfitting? Quali sono le principali cause e come risolvere il problema? Scopriamo di più riguardo questa problematica strettamente connessa al machine learning. 

Indice dei contenuti

  • Cosa si intende per overfitting
  • Perché succede l’overfitting
    • Come capire se è presente l’overfitting
    • Esempio pratico
    • Cause più frequenti 
  • Si può evitare l’overfitting?
    • Come risolverlo
  • Overfitting in machine learning
  • Underfitting VS overfitting

Cosa si intende per overfitting

È bene chiarire, innanzitutto, cosa si intende per overfitting. Con questo termine si identifica un preciso comportamento di machine learning, del tutto indesiderato. Tale comportamento viene riscontrato nel momento in cui il modello di machine learning fornisce previsioni credibili per i dati di addestramento, ma non può garantire previsioni accurate per dati di nuova implementazione.

Ogni data scientist deve conoscere questo possibile scenario per poter proteggere i propri progetti dal rischio di overfitting. I data scientist utilizzano i modelli di machine learning per generare previsioni, addestrando il modello sulla base di un set di dati fornito. Queste informazioni vengono utilizzate per creare un modello in grado di produrre previsioni anche per i set di dati implementati successivamente. 

L’overfitting impedisce al modello di fornire una previsione accurata, riducendo il buon funzionamento del sistema e diminuendo la credibilità delle previsioni generate sulla base di nuovi dati. La macchina non potrà, quindi, operare seguendo un albero decisionale logico e adeguato al contesto: l’albero decisionale risulterà, infatti, compromesso o parziale.

Perché succede l’overfitting

L’overfitting si verifica nel momento in cui il modello di machine learning non può essere generalizzato: questo modello, abitualmente in grado di adattarsi a tutti i set di dati del dominio collegato, in caso di overfitting si adatta eccessivamente al set di dati con il quale è stato addestrato. 

Il rischio di overfitting è alto quando il numero degli attributi da considerare è troppo elevato. Se il numero degli attributi è elevato, aumenta parallelamente il rischio di riscontrare un attributo non rilevante che inquina i dati, mediante un pattern fasullo. 

Come capire se è presente l’overfitting

Rilevare l’overfitting è indispensabile per poter utilizzare adeguatamente il modello di machine learning. Una metodologia semplice e piuttosto affidabile per rilevare il fenomeno dell’overfitting è analizzare il comportamento del modello di machine learning. Mettendo alla prova il modello e proponendogli diversi dati (differenti nella natura, nei valori e negli input) è possibile verificare la reazione del modello stesso. 

In genere, i dati di addestramento (o una parte degli stessi) vengono utilizzati per analizzare il comportamento del modello e individuare i casi di overfitting. Quando vengono riscontrati alti tassi di errore, è probabile che si verificherà l’overfitting. 

Un metodo efficace per individuare l’overfitting è la convalida incrociata K-fold. I data scientist che utilizzano questa metodologia suddividono i set di addestramento in K sottoinsiemi, o in un numero di set campione dalle dimensioni identiche (denominati “fold”). La verifica presuppone un processo di addestramento suddiviso in una serie di iterazioni, tra cui:

  • conservare un sottoinsieme da utilizzare come dati di convalida, addestrando quindi il modello di machine learning attraverso l’applicazione di tutti i sottoinsiemi K-1;
  • analizzare il comportamento del modello sul campione di convalida;
  • valutare la qualità dei dati output per comprendere la qualità delle prestazioni. 

Il modello deve essere testato su tutti i set campione e, infine, in base ai risultati occorre calcolare le performance del modello in riferimento alle singole iterazioni. 

Esempio pratico

Per maggiore chiarezza, esaminiamo un esempio pratico di overfitting. Immaginiamo un modello di machine learning impegnato ad analizzare dati di training contenenti delle fotografie. 

Il compito del modello è identificare le foto che contengono delle rose. Se molte delle fotografie raffiguranti delle rose contengono anche uno scenario comune, ad esempio un prato o un vaso, il modello potrebbe non riconoscere più la rosa ma imparare a usare il prato o il vaso per classificare i dati. In questo caso, l’albero decisionale è stato inquinato e reso inutilizzabile da un errore nella classificazione del dato.

Cause più frequenti 

Generalmente, l’overfitting avviene a causa di:

  • una scarsa dimensione dei dati di addestramento. Qualora il set di addestramento non contenga sufficienti campioni utili a rappresentare tutte le variabili e i possibili input, potrebbe verificarsi l’overfitting;
  • una grande quantità di informazioni non rilevanti contenuta nei dati di addestramento. Trattasi dei cosiddetti “dati rumorosi”;
  • un addestramento temporalmente troppo duraturo, orientato solo su un set di dati campione. Il modello si focalizza eccessivamente su quel determinato set e non riesce quindi ad adattarsi a dati differenti;
  • un modello troppo complesso. In questi casi, il modello stesso interpreta i dati di addestramento individuando i “rumori” (anche qualora non ve ne fossero).

Si può evitare l’overfitting?

Per ridurre il rischio di overfitting, occorre trovare il giusto equilibrio diversificando e dimensionando il set di dati di training. In alternativa è possibile utilizzare tecniche di data science, tra cui:

  • eliminazione delle caratteristiche meno influenti per la previsione finale. I parametri non rilevanti devono essere selezionati e rimossi;
  • arresto anticipato della fase di addestramento, che deve avvenire prima che il modello di machine learning possa riconoscere il “rumore” dei dati di training. Bisogna prestare attenzione, però, alle tempistiche, evitando di arrestare il processo prima che il modello sia pronto a fornire risultati accurati;
  • ensembling, una tecnica che prevede la combinazione di diversi algoritmi di modelli di machine learning differenti. I learner (modelli) deboli risultano imprecisi. Con l’ensemble si combinano tutti i learner per ottimizzare le performance dell’analisi;
  • aumento dei dati, modificando leggermente i dati di training ogni qualvolta il modello intervenga per elaborarli. Il modello non potrà sovradattarsi ai dati di input, se modificati moderatamente mediante, ad esempio, una conversione, rotazione o capovolgimento;
  • regolarizzazione. Ovvero, si raccolgono le tecniche di addestramento per ridurre il fenomeno dell’overfitting, nel tentativo di eliminare i fattori non influenti e che potrebbero comportare previsioni imprecise. 

Come risolverlo

Quando si verifica l’overfitting, esiste un metodo generale per risolverlo. Eliminare qualche caratteristica dal set di dati di training risulta indispensabile. Ma questo sforzo deve essere accompagnato da una successiva elaborazione di un nuovo modello predittivo. 

Overfitting in machine learning

Una delle principali cause di insuccesso per un modello di machine learning è il fenomeno dell’overfitting. Come abbiamo detto, questo fenomeno si verifica nel momento in cui il modello di machine learning viene addestrato mediante dati di training troppo accurati. 

In questo caso, il modello risulta utile solo per l’analisi dei dati contenuti nel set di addestramento. Il modello di machine learning non saprà adattarsi a nuovi set di dati, non risultando più funzionale ed efficace. 

Underfitting VS overfitting

Quando il modello non riesce a mettere in relazione i dati di input con quelli di output, si verifica un altro tipo di errore: l’underfitting. Questo fenomeno è frequente nei casi in cui i modelli non vengono addestrati per un periodo di tempo adeguato. Il modello non può quindi apprendere e fare esperienza di un numero sufficiente di dati. 

L’algoritmo di apprendimento presenta errori di bias elevati in caso di underfitting, offrendo un risultato impreciso sia in caso di dati di training che per i set successivi di analisi. 

Dall’altra parte, il modello con overfitting può garantire un risultato accurato sui dati di training, ma non sui dati successivi di set. Addestrando adeguatamente il modello è possibile ridurre la percentuale di errori di bias, ma bisogna prestare attenzione a trovare il giusto compromesso tra underfitting e overfitting. 

Ultime News Tecnologie e concetti IT
  • Qual è il costo dello sviluppo di un software?
    Qual è il costo dello sviluppo di un software?
    17 Aprile 2025
  • Cos’è la Robotic Process Automation (RPA) e come sta trasformando il mondo del lavoro
    Cos’è la Robotic Process Automation (RPA) e come sta trasformando il mondo del lavoro
    16 Aprile 2025
  • Creazione di una macchina virtuale su Azure
    Creazione di una macchina virtuale su Azure
    1 Aprile 2025
  • Sviluppo software personalizzato: quali sono i vantaggi
    Sviluppo software personalizzato: quali sono i vantaggi
    7 Marzo 2025
  • Cos’è lo sviluppo di un progetto software e quali sono le fasi essenziali
    Cos’è lo sviluppo di un progetto software e quali sono le fasi essenziali
    26 Febbraio 2025
  • Come progettare un software: gli step da seguire
    Come progettare un software: gli step da seguire
    21 Febbraio 2025
  • Virtual Desktop Infrastructure (VDI): cos’è e come funziona la virtualizzazione desktop
    Virtual Desktop Infrastructure (VDI): cos’è e come funziona la virtualizzazione desktop
    19 Febbraio 2025
  • Cos’è un software per virtualizzazione e quali sono i migliori programmi
    Cos’è un software per virtualizzazione e quali sono i migliori programmi
    2 Febbraio 2025
  • Cos’è un backup dati e come si fa un ripristino efficace
    Cos’è un backup dati e come si fa un ripristino efficace
    31 Gennaio 2025
  • Continuità operativa in azienda: cos’è la business continuity e a cosa serve
    Continuità operativa in azienda: cos’è la business continuity e a cosa serve
    14 Gennaio 2025

Parla con un Nostro Esperto

Siamo disponibili per ogni chiarimento e problema, non esitare a contattarci
Contattaci

Hanno scelto IT Impresa

clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
clienti
itimpresa soluzioni informatiche
itimpresa soluzioni informatiche itimpresa soluzioni informatiche

IT Impresa progetta, realizza e gestisce soluzioni informatiche per aziende, offrendo consulenza IT, servizi IT, Cyber Security e consulenza software con eccellenza, innovazione e affidabilità.

Contatti
  • Cremona Via Gazzoletto 4C

    Monza Via Amati 76

    Torino Via Ventimiglia 16/1

    Fidenza Via San Michele 25/A

  • info@it-impresa.it

  • +39 0372 838068

  • Lavora con noi

  • Apri Ticket

  • Scarica TeamViewer
Links

Servizi IT

Infrastrutture Iperconvergenti

Gestione Database

Cyber Security

Gestione Cloud

Azienda Informatica Cremona

Azienda Informatica Monza

Azienda Informatica Parma

Azienda Informatica Torino

Restiamo in contatto

Iscriviti alla nostra newsletter e rimani informato.



    Risorse
    • Cloud Computing: tutto quello che c’è da sapere
      Cloud Computing: tutto quello che c’è da sapere
    • NIS2, cosa significa e come inserire la direttiva in azienda
      NIS2, cosa significa e come inserire la direttiva in azienda
    • Guida SQL Server, tutto quello che devi sapere
      Guida SQL Server, tutto quello che devi sapere
    • Cos’è l’Iperconvergenza, come funziona e differenze
      Cos’è l’Iperconvergenza, come funziona e differenze
    • Cos’è un Ransomware? Ecco come attacca e come puoi proteggerti
      Cos’è un Ransomware? Ecco come attacca e come puoi proteggerti
    • Cos’è un server, come funziona, tipologie
      Cos’è un server, come funziona, tipologie
    • Penetration Test: Cos’è, Tipologie e perchè è così importante
      Penetration Test: Cos’è, Tipologie e perchè è così importante
    • Firewall: Cos’è, come funziona e perché è indispensabile per l’azienda
      Firewall: Cos’è, come funziona e perché è indispensabile per l’azienda
    • SIEM: ecco cos’è il Security Information and Event Management
      SIEM: ecco cos’è il Security Information and Event Management
    • Intelligenza Artificiale (AI): Cos’è, Come funziona, Esempi e Futuro
      Intelligenza Artificiale (AI): Cos’è, Come funziona, Esempi e Futuro
    • Phishing: cos’è e come prevenirlo
      Phishing: cos’è e come prevenirlo
    • Security Operation Center (SOC): come gestire con efficacia la sicurezza IT
      Security Operation Center (SOC): come gestire con efficacia la sicurezza IT
    • Disaster Recovery: Cos’è, Come funziona, Tipologie, Vantaggi
      Disaster Recovery: Cos’è, Come funziona, Tipologie, Vantaggi
    • Il futuro della cybersecurity aziendale: la sicurezza Zero Trust
      Il futuro della cybersecurity aziendale: la sicurezza Zero Trust
    • Sviluppo software personalizzato: quali sono i vantaggi
      Sviluppo software personalizzato: quali sono i vantaggi
    • GDPR: cosa prevede e come adeguarsi alla normativa sulla privacy
      GDPR: cosa prevede e come adeguarsi alla normativa sulla privacy

    © Copyright 2025 IT Impresa | P.IVA 01515690194 | Capitale sociale € 190.000,00 i.v. | REA CR 178399 | pec: itimpresa@legalmail.it | note legali | privacy policy

    Utilizziamo i cookie per garantire la migliore esperienza sul nostro sito. Puoi accettare tutti i cookie oppure personalizzarli. Leggi tutto
    Personalizza CookieAccetta Tutti
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Sempre abilitato
    Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
    CookieDurataDescrizione
    _GRECAPTCHA5 months 27 daysThis cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
    _GRECAPTCHA5 months 27 daysThis cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
    cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
    cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
    cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
    cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
    cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
    cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
    cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
    cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
    cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
    cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
    cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
    cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
    CookieLawInfoConsent1 yearRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
    CookieLawInfoConsent1 yearRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
    viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
    viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
    Functional
    Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
    CookieDurataDescrizione
    bcookie2 yearsLinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
    bscookie2 yearsLinkedIn sets this cookie to store performed actions on the website.
    langsessionLinkedIn sets this cookie to remember a user's language setting.
    lidc1 dayLinkedIn sets the lidc cookie to facilitate data center selection.
    UserMatchHistory1 monthLinkedIn sets this cookie for LinkedIn Ads ID syncing.
    Performance
    Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
    CookieDurataDescrizione
    __kla_id2 yearsCookie set to track when someone clicks through a Klaviyo email to a website.
    SRM_B1 year 24 daysUsed by Microsoft Advertising as a unique ID for visitors.
    Analytics
    Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
    CookieDurataDescrizione
    _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
    _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
    _gat_UA-137720848-11 minuteA variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
    _gat_UA-35242002-11 minuteA variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
    _gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
    _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
    _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
    _hjAbsoluteSessionInProgress30 minutesHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
    _hjFirstSeen30 minutesHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
    _hjIncludedInPageviewSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
    _hjIncludedInSessionSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
    _hjTLDTestsessionTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
    ajs_anonymous_id1 yearThis cookie is set by Segment to count the number of people who visit a certain site by tracking if they have visited before.
    CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
    Advertisement
    Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
    CookieDurataDescrizione
    _fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
    _fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
    ANONCHK10 minutesThe ANONCHK cookie, set by Bing, is used to store a user's session ID and also verify the clicks from ads on the Bing search engine. The cookie helps in reporting and personalization as well.
    fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
    fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
    MUID1 year 24 daysBing sets this cookie to recognize unique web browsers visiting Microsoft sites. This cookie is used for advertising, site analytics, and other operations.
    test_cookie15 minutesThe test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
    VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
    YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
    yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
    yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
    yt.innertube::nextIdneverThis cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
    yt.innertube::requestsneverThis cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
    Others
    Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
    CookieDurataDescrizione
    __awc_tld_test__sessionNo description
    _clck1 yearNo description
    _clsk1 dayNo description
    _hjSession_195624030 minutesNo description
    _hjSessionUser_19562401 yearNo description
    AnalyticsSyncHistory1 monthNo description
    CLID1 yearNo description
    last_pys_landing_page7 daysNo description
    last_pysTrafficSource7 daysNo description
    li_gc2 yearsNo description
    pys_first_visit7 daysNo description
    pys_landing_page7 daysNo description
    pys_session_limit1 hourNo description
    pys_start_sessionsessionNo description
    pysTrafficSource7 daysNo description
    SMsessionNo description available.
    ACCETTA E SALVA
    Powered by CookieYes Logo