Da un punto di vista ingegneristico quali sono gli svantaggi di un modello troppo preciso?


24

Mi chiedevo, dal punto di vista ingegneristico, per quali ragioni una precisione eccessiva nella modellazione può essere dannosa?

Da un punto di vista scientifico sembra che sia quasi sempre un vantaggio, a parte quando è necessario impiegare meno tempo di calcolo.

Quindi da un punto di vista ingegneristico, oltre al tempo (o alla potenza di calcolo) perché dovresti evitarlo?


2
Si prega di definire "accuratezza" e "troppo" qui. Si potrebbe avere un modello che prevede l'intervallo di incertezza con una precisione estremamente elevata o un modello che riduce tale incertezza stessa a un valore molto piccolo. E così via.
Carl Witthoft,

1
"Tutto dovrebbe essere reso il più semplice possibile, ma non più semplice." Einstein.
Eric Duminil,

1
"oltre al tempo (o alla potenza di calcolo)" Sembra che tutte le risposte
abbiano

1
@agentp Al contrario, la domanda si risponde cercando di escluderlo. È una cosa stupida essere nella domanda in primo luogo.
jpmc26,

2
questa è seriamente la peggiore domanda "votata per l'alto" che abbia mai visto. È assolutamente confuso.
agentp

Risposte:


38

Fai attenzione al sovradimensionamento . Un modello più accurato dei dati raccolti da un sistema potrebbe non essere un fattore predittivo migliore del comportamento futuro di un sistema.

Esempio di overfitting

L'immagine sopra mostra due modelli di alcuni dati.

La linea lineare è in qualche modo accurata sui dati di allenamento (i punti sul grafico) e (ci si aspetterebbe) sarà in qualche modo accurata sui dati di prova (dove è probabile che i punti siano per x <5 e x> -5 ).

Al contrario, il polinomio è accurato al 100% per i dati di allenamento, ma (a meno che non abbiate motivo di credere che il polinomio di 9 ° grado sia ragionevole per qualche motivo fisico), assumereste che questo sarà un predittore estremamente scarso per x> 5 e x <-5.

Il modello lineare è "meno accurato", basato su qualsiasi confronto di errori con i dati che abbiamo raccolto. Ma è più generalizzabile.

Inoltre, gli ingegneri devono preoccuparsi di meno del proprio modello e di ciò che le persone faranno del modello.

Se ti dico che faremo una passeggiata in una giornata calda e che dovrebbe durare 426 minuti. È probabile che porti meno acqua rispetto a quando ti dico che la camminata durerà 7 ore e anche meno che se dico che la camminata durerà 4-8 ore. Questo perché stai rispondendo al mio livello implicito di fiducia nelle mie previsioni, piuttosto che al punto medio dei miei tempi indicati.

Se dai alle persone un modello preciso, le persone ridurranno il loro margine di errore. Ciò comporta maggiori rischi.

Facendo la passeggiata in un giorno caldo esempio, se so che la camminata richiederà 4-8 ore nel 95% dei casi, con qualche incertezza sulla navigazione e sulla velocità della camminata. Conoscere perfettamente la nostra velocità di camminata diminuirà l'incertezza della figura 4-8, ma non influenzerà in modo significativo la "possibilità che prendiamo così tanto tempo che l'acqua diventa un problema", perché questo è guidato quasi interamente dalla navigazione incerta, non l'incerta velocità di camminata.


1
Giusto, anche se noterei che un polinomio di grado è un esempio con un comportamento insolitamente cattivo; non si dovrebbe mai usare un modello del genere. I modelli sensibili, anche se sovralimentati, non dovrebbero esplodere in questo modo se non si lascia effettivamente il campo coperto dalle misurazioni. In effetti, anche un polinomio di grado 8 renderebbe già molto più agevole, dati questi dati. N
lasciato il

Citazione chiave dell'articolo di Wikipedia collegato: "il sovradimensionamento si verifica quando un modello inizia a" memorizzare "i dati di allenamento anziché" apprendere "a generalizzare da una tendenza".
Emilio M Bumachar,

4
Considereremmo davvero il sovradimensionamento come "troppa precisione nel modello"? Questo non è un aspetto negativo di avere "un modello troppo accurato". Questo è un aspetto negativo di avere troppi punti precisi e modellare male . Fare un modello sbagliato con dati precisi non è un modello accurato.
JMac,

@JMac: il sovra-adattamento può verificarsi naturalmente in contesti di machine learning, senza deliberatamente decidere di costruire un modello errato, semplicemente lanciando troppi dati sul set di addestramento. Non sono sicuro che "troppo accurato" sia il modo giusto per descrivere quel tipo di risultato, ma nemmeno "semplice errore di modellazione".
Kevin,

26

Il rovescio della medaglia più evidente è il costo, tutti i progetti di ingegneria hanno un budget limitato e spendere più soldi di quanto è necessario è chiaramente una cosa negativa per non parlare di perdere tempo.

Possono esserci anche problemi più sottili. Cose come l'analisi FE sono sempre approssimazioni e talvolta l'aggiunta di dettagli non necessari può introdurre artefatti e rendere più difficile la risoluzione dei problemi di un modello. Ad esempio è possibile ottenere discontinuità che provocano un aumento dello stress

Si ritiene inoltre che anche se si dispone della potenza di elaborazione necessaria per gestire comodamente una grande fetta di fornitori di dati e clienti, in molti casi il trasferimento di file di grandi dimensioni è ancora un po 'un collo di bottiglia.

Allo stesso modo, se si dispone di più parametri di quelli necessari, si sta potenzialmente creando ulteriore lavoro in più nella gestione e nel debug dei file.

Anche in questo caso, anche se hai tempo e risorse abbondanti, può darsi che qualcuno in fondo alla linea debba utilizzare quel modello senza lo stesso lusso, soprattutto se finisce per far parte di un prodotto che stai vendendo ai clienti.


7
Query: 2 ° paragrafo dovrebbe leggere "... aggiungendo i dettagli necessari ..." o "aggiungendo i dettagli non necessari"
Fred

sì, non dovrebbe essere necessario
Chris Johns,

Non sono sicuro che l'esempio FE funzioni bene qui. In tal caso, la FE è il modello. L'uso di dati più precisi potrebbe presentare problemi; ma se il tuo modello FE è preciso, ovviamente non devi preoccuparti dei manufatti; perché il tuo modello non li ha. L'abbiamo già definito accurato. Forse nel caso di utilizzare un modello diverso da inserire in un'analisi FE; ma poi questo è principalmente il punto di "qualcuno più in là" usando il modello.
JMac,

13

Ci sono alcuni motivi

Da una prospettiva puramente pragmatica, è dovuto a vincoli temporali. Il tempo necessario per risolvere un modello aumenta molto, molto più velocemente del livello di precisione, e qualunque sia il livello adottato è comunque soggettivo.

Ciò è influenzato anche dal fatto che una precisione eccessiva è per lo più inutile. Dopotutto, il tuo modello potrebbe essere preciso al 99,999% per i valori di input dati, ma il mondo reale è impreciso. Il modulo di elasticità dell'acciaio ha una tolleranza di - , per esempio. Quindi perché preoccuparsi di un modello estremamente preciso se uno dei tuoi input chiave può essere disattivato del 10%? (è ovvio che i margini di errore per altri materiali come cemento o suolo e per altre variabili come il carico sono significativamente più alti).15 %±515%

Per questo motivo, non ha senso essere troppo precisi. Ma in effetti, potrebbe essere utile non provare nemmeno ad essere troppo precisi. Le ragioni sono principalmente psicologiche. Principalmente, non vuoi che il tuo modello sia troppo preciso e non vuoi produrre i tuoi risultati con sette cifre decimali, perché non vuoi evocare un falso senso di fiducia.

Il cervello umano è programmato per pensare che 1.2393532697 sia un valore più preciso di 1.2. Ma in realtà non è così. A causa di tutte le incertezze del mondo reale che il vostro modello non può assolutamente prendere in considerazione (specialmente date le attuali limitazioni hardware), 1.2 è quasi sicuramente un risultato altrettanto valido di 1.2393532697. Quindi non illuderti o chiunque veda il tuo modello. Emette solo 1.2, che indica in modo trasparente che non sai davvero cosa sta succedendo dopo quella seconda cifra.


6

Un modello estremamente accurato può richiedere una quantità proibitiva di dati di input. Potrebbe essere possibile generare un modello eccellente di sistemi meteorologici, ad esempio, prendendo come input la posizione e la velocità di ogni molecola di gas nell'atmosfera. In pratica, un tale modello non sarebbe utile, poiché non esiste un modo realistico per generare l'input corretto. In questo caso sarebbe preferibile un modello meno accurato che richiede solo dati di input limitati.


1
Hai risposto a una domanda diversa, vale a dire: "quanti dati di input sono troppi"
Carl Witthoft,

Probabilmente aggiungerei qui una nota su come la domanda menziona "oltre a quando hai bisogno di meno tempo di calcolo", perché questa è anche una buona ragione per avere un modello meno preciso; se il tuo modello è troppo preciso, i casi del mondo reale potrebbero richiedere più tempo della morte termica dell'universo per calcolare.
Delioth,

5

"Troppo preciso" non è monotonico. Può effettivamente creare un'illusione di fedeltà che ti fa pensare che valga la pena pompare più soldi nella simulazione. Ciò diventa molto importante quando si presentano dati da modelli a fedeltà mista, in cui alcune parti sono molto dettagliate e altre parti sono molto grossolane.

Un esempio di vita reale che avevo coinvolto campionando altitudini sul terreno. Il team ha deciso di campionare il terreno in 1024 blocchi per massimizzare la fedeltà. Il nostro cliente voleva una risposta ReallyGood (tm).

Ora ero infastidito dai successi di runtime causati da questo particolare algoritmo e volevo capire quanta fedeltà stavo effettivamente pagando. Non avevo visto alcun dato sul terreno, quindi ho chiesto loro come lo caricassero. La risposta è stata "oh, non abbiamo terreno. È solo piatto".

Quindi sembrava che avessi un fantastico modello ad alta fedeltà che campionava 1024 punti. Quello che ho avuto in realtà è stato un modello a bassa fedeltà che non ha fatto meglio del campionamento di 1 punto 1024 volte, ma ha funzionato molto più lentamente e mascherato da modello ad alta fedeltà!

Nel mondo reale dell'ingegneria, i leader non hanno sempre l'opportunità di apprendere l'intera architettura di un modello. In effetti, direi che non hanno mai tempo. La nostra leadership stava prendendo decisioni partendo dal presupposto che avevamo un fantastico modello da 1024 punti. Nessuno è stato in colpa, è proprio quello che succede quando si sintonizza la fedeltà troppo in alto su una parte del modello e si ha una bassa fedeltà sull'altra. È la natura della bestia con fedeltà mista.


Una parabola su come ridurre a cifre significative non è sempre solo di tagliare gli zeri finali.
Eikre,

1

In realtà ci sono i dati che abbiamo e ci sono i dati che non abbiamo. Quasi sempre, la quantità di dati che non abbiamo è molto più di quanto potremmo mai sperare di raccogliere per motivi pratici o economici.

Cercando di adattare i dati in modo odioso ai pochi campioni che abbiamo quindi rischieremo di far fare al nostro modello stime davvero sbagliate in aree in cui onestamente non abbiamo idea (a causa della mancanza di dati). Quindi il nostro modello ci darà un falso senso di sicurezza.


1

Quindi da un punto di vista ingegneristico, oltre al tempo (o alla potenza di calcolo) perché dovresti evitarlo

Venendo dal punto di vista dell'ingegneria meccanica, la ragione principale è impegnarsi nello sforzo aggiuntivo solo se produce risultati significativamente diversi.

Se il livello di accuratezza nel tuo modello è ordini di grandezza superiori al livello di precisione che saresti in grado di fornire in esecuzione del tuo progetto, stai sprecando i tuoi sforzi. Se il livello di accuratezza descritto nel modello è superiore a quanto richiesto, ciò ha un impatto per il cliente. Stai sprecando soldi. Ad esempio, se si sta specificando una precisione superiore a quella effettivamente richiesta dal progetto (ad es. +/- 0,0000 mm di lunghezza di un tubo di sfiato) si sta sprecando i soldi dei propri clienti perché uno sfiato di 350 mm in atmosfera fa lo stesso lavoro di uno sfiato di 350.0005 mm all'atmosfera ma quest'ultima è significativamente più costosa da produrre.

All'università abbiamo imparato tutti a modellare il mondo fisico usando la fisica newtoniana anche se è risaputo che la fisica post-newtoniana presenta un modello più accurato di comportamento fisico. Nonostante ciò, non conosco nessun programma di ingegneria meccanica che, di default, evita che i modelli newtoniani siano troppo imprecisi. Se utilizziamo il modello più accurato e creiamo una risposta più vicina dello 0,1% alla verità teorica che non avrà alcun impatto sul nostro progetto finale nella stragrande maggioranza dei casi. Se la nostra tensione di snervamento è diversa dello 0,1%, ciò ci dà una differenza insignificante nella sezione trasversale richiesta che ci porta a scegliere la stessa identica dimensione del raggio I in base a entrambi i metodi. In questa circostanza, i costi di uno sforzo supplementare non offrono alcun vantaggio aggiuntivo.

Ora ci sono situazioni in cui è richiesta la precisione per produrre un progetto praticabile, ad esempio la modellazione di alcuni satelliti richiede fisica relativistica. In queste circostanze, dobbiamo trovare un modello che fornisca il livello di precisione richiesto e dobbiamo progettare il modello. Se dobbiamo calcolare le dimensioni su +/- 0,0001%, è uno sforzo totalmente sprecato se le nostre dimensioni delle parti sono +/- 0,1%. Nelle applicazioni del mondo reale le dimensioni delle parti di quest'ultimo grado di precisione sono molto più comuni delle prime.


0

Costo: il costo del tempo o il costo della potenza di calcolo e il costo dell'accuratezza - se altre variabili hanno una tolleranza del 5%, ad esempio perché calcolare i risultati all'1% ...


0

Nelle risposte precedenti sono stati menzionati input e costi. Se si desidera la precisione, ad es. nell'ottimizzazione dei parametri di produzione probabilmente hai bisogno di più misurazioni e prima devi analizzare quanto puoi ridurre i costi rispetto a quante ore di lavoro, quindi una maggiore spesa è per aumentare la frequenza delle misurazioni o il costo del sistema automatizzato che sostituirà la raccolta manuale dei dati. Secondo esempio, se si ottengono risultati molto precisi in cui si è investito tempo e altre risorse, si dispone di attrezzature adeguate per il controllo di qualità, misure industriali ecc. O persino tecnologia. Se i tuoi risultati sono vani del tempo impiegato, ottenerli è un errore.


0

Avresti bisogno di un'immagine satellitare a risoluzione centimetrica per identificare le foreste per colore? Sicuramente no. Sarei dannoso, poiché dovresti decidere su qualsiasi patch di 10 centimetri quadrati non verde. Lo stesso vale per la modellazione: la risoluzione dei dettagli dovrebbe adattarsi alla risoluzione delle funzionalità di destinazione. In caso contrario, perderai tempo nel ridimensionamento.


0

La maggior parte delle risposte reali sono escluse dal vincolo artificiale secondo cui la potenza di calcolo e i tempi di calcolo non devono essere considerati. Un modello che richiede ore o giorni per essere valutato non consente iterazioni di progettazione rapide e rallenterà le cose a misura d'uomo, aumentando i costi e probabilmente portando a risultati inferiori. La semplificazione intelligente dei modelli senza perdere troppa precisione può essere un approccio molto utile, quindi il modello a forza bruta può essere utilizzato per convalidare l'iterazione finale.

È possibile che modelli troppo complessi possano mascherare errori fondamentali nel modello o che il lavoro necessario per raccogliere informazioni per utilizzare il modello praticamente al massimo supererà qualsiasi potenziale beneficio. Ad esempio, se è necessario conoscere le caratteristiche di un materiale con un grado di precisione maggiore rispetto a quello che il fornitore può controllare, è possibile accettare le bande di errore o andare a testare ogni lotto di materiale per modificare il modello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.