Vraag:
Wat zijn vanuit technisch oogpunt de nadelen van een te nauwkeurig model?
TheGuest
2017-11-29 22:31:23 UTC
view on stackexchange narkive permalink

Ik vroeg me af, vanuit technisch oogpunt, om welke redenen kan te veel nauwkeurigheid bij het modelleren schadelijk zijn?

Vanuit wetenschappelijk oogpunt lijkt het alsof het bijna altijd een voordeel is, afgezien van wanneer u minder rekentijd nodig heeft.

Dus vanuit technisch oogpunt, waarom zou je dat naast tijd (of rekenkracht) vermijden?

Definieer hier "nauwkeurigheid" en "te veel". Je zou een model kunnen hebben dat het onzekerheidsbereik voorspelt tot een extreem hoge nauwkeurigheid, of een model dat die onzekerheid zelf terugbrengt tot een zeer kleine waarde. Enzovoorts.
"Alles moet zo eenvoudig mogelijk worden gemaakt, maar niet eenvoudiger." Einstein.
"behalve tijd (of rekenkracht)" Het lijkt erop dat alle antwoorden dit punt hebben gemist ..
@agentp Integendeel, de vraag beantwoordt zichzelf door te proberen dat uit te sluiten. Het is in de eerste plaats een dwaze zaak om in de vraag te staan.
Nauwkeurigheid! = Precisie. Het is het eerste dat ik heb geleerd tijdens de les natuurkunde. 3 is een nauwkeuriger weergave van Pi dan 3.5794 Gezien deze differentiatie denk ik niet dat je gelijk hebt als je aanneemt dat een te nauwkeurig model ooit schadelijk is. Nauwkeurig betekent dicht bij de grondwaarheid.
@user247243 * Ik denk niet dat u gelijk hebt als u aanneemt dat een te nauwkeurig model ooit schadelijk is. * Als een statistisch model ons vertelt dat we een koffiezetapparaat van 11,5 kopjes nodig hebben en een ander tien keer langer nodig heeft om ons te vertellen dat we een koffie van 11,46124 kopjes nodig hebben maker omdat onze bekers iets kleiner zijn dan de norm, hebben we een hoop tijd verspild om tot dezelfde conclusie te komen (dat we een machine voor 12 bekers zullen kopen).
@Myles Het probleem is dat het nadelige geval dat u hebt genoemd, puur een kwestie van tijd / rekenkracht is. Er is geen ander nadeel aan het gebruik van een dergelijk model. OP heeft ook specifiek gezegd dat tijd en berekening hier niet worden overwogen.
@JMac Daarom is het een opmerking in plaats van een antwoord.
dit is serieus de ergste "hoogst gestemde" vraag die ik ooit heb gezien. Het is ronduit verwarrend.
Elf antwoorden:
Scott
2017-11-30 10:19:30 UTC
view on stackexchange narkive permalink

Pas op voor overfitting. Een nauwkeuriger model van verzamelde gegevens van een systeem is misschien geen betere voorspeller van toekomstig gedrag van een systeem.

Overfitting Example

De bovenstaande afbeelding toont twee modellen van sommige gegevens.

De lineaire lijn is enigszins nauwkeurig op de trainingsgegevens (de punten op de grafiek), en (je zou verwachten) het zal enigszins nauwkeurig zijn op de testgegevens (waar de punten zijn waarschijnlijk voor x < 5 en x> -5).

Daarentegen is de polynoom 100% nauwkeurig voor de trainingsgegevens, maar (tenzij je enige reden hebt om aan te nemen dat de 9e graads polynoom redelijk is om een ​​fysieke reden), zou je aannemen dat dit een extreem slechte voorspeller is voor x> 5 en x < -5.

Het lineaire model is 'minder nauwkeurig', gebaseerd op elke vergelijking van fouten met de gegevens die we hebben verzameld. Maar het is meer generaliseerbaar.

Bovendien hoeven ingenieurs zich minder zorgen te maken over hun model, en meer over wat mensen met het model zullen doen.

Als ik je vertel dat we een wandeling maken op een warme dag en het duurt naar verwachting 426 minuten. U zult waarschijnlijk minder water meenemen dan wanneer ik u vertel dat de wandeling 7 uur zal duren, en zelfs minder dan wanneer ik zeg dat de wandeling 4-8 uur zal duren. Dit komt doordat u reageert op mijn impliciete vertrouwen in mijn voorspelling, en niet op het midden van mijn vermelde tijden.

Als u mensen een nauwkeurig model geeft, verkleinen mensen hun foutmarge. Dit leidt tot grotere risico's.

De wandeling bijvoorbeeld op een warme dag maken, als ik weet dat de wandeling in 95% van de gevallen 4-8 uur zal duren, met enige onzekerheid over navigatie en loopsnelheid. Het perfect kennen van onze loopsnelheid zal de onzekerheid van het cijfer 4-8 verkleinen, maar het heeft geen significant effect op de 'kans dat we er zo lang over doen dat water een probleem wordt', omdat dat bijna volledig wordt aangedreven door de onzekere navigatie, niet de onzekere loopsnelheid.

Juist, hoewel ik zou opmerken dat een polynoom van graad $ N $ een voorbeeld is van ongewoon slecht gedrag; men zou zeker nooit zo'n model moeten gebruiken. Verstandige modellen, zelfs wanneer ze overmatig zijn gemonteerd, mogen niet zo exploderen, tenzij u het _bereik_ dat door de metingen wordt gedekt, verlaat. In feite zou zelfs een polynoom van graad 8, gezien die gegevens, al een veel vlottere passing opleveren.
Sleutelcitaat uit het gelinkte Wikipedia-artikel: 'overfitting treedt op wanneer een model trainingsgegevens begint te "onthouden" in plaats van te "leren" om te generaliseren vanuit een trend. "
Zouden we overfitting echt beschouwen als "te veel nauwkeurigheid in het model"? Dat is geen nadeel van een "te nauwkeurig model". Dat is een nadeel van het hebben van te veel nauwkeurige punten en _ slecht modelleren_. Een slecht model maken op basis van nauwkeurige gegevens ** is geen ** nauwkeurig model.
@JMac: Overfitting kan van nature voorkomen in contexten van machine learning, zonder opzettelijk een slecht model te willen bouwen, gewoon door te veel gegevens naar de trainingsset te gooien. Ik weet niet zeker of 'te nauwkeurig' de juiste manier is om dat soort uitkomsten te beschrijven, maar 'simpele modelleringsfout' evenmin.
Chris Johns
2017-11-29 23:13:13 UTC
view on stackexchange narkive permalink

Het meest voor de hand liggende nadeel zijn de kosten, alle technische projecten hebben een beperkt budget en meer geld uitgeven dan nodig is, is duidelijk een slechte zaak, om nog maar te zwijgen van tijdverspilling.

Er kunnen ook meer subtiele problemen zijn. Dingen zoals FE-analyse zijn altijd benaderingen en soms kan het toevoegen van onnodige details artefacten introduceren en het moeilijker maken om problemen met een model op te lossen. U kunt bijvoorbeeld discontinuïteiten krijgen die leiden tot stressverhogende factoren.

Er is ook de overweging dat zelfs als u over de rekenkracht beschikt om comfortabel met een groot deel van dataleveranciers en klanten om te gaan, niet en in veel gevallen bestanden is nog steeds een beetje een bottleneck.

Evenzo, als u meer parameters heeft dan u nodig heeft, creëert u mogelijk extra werk bij het beheren en debuggen van bestanden.

Nogmaals, zelfs als u nu over voldoende tijd en middelen beschikt, kan het heel goed zijn dat iemand verderop in de rij dat model zonder dezelfde luxe moet gebruiken, vooral als het uiteindelijk deel uitmaakt van een product dat u bent verkopen aan klanten.

Zoekopdracht: 2e alinea als er staat "... noodzakelijke details toevoegen ..." of "toevoegen * un * noodzakelijke details"
ja zou niet nodig moeten zijn
Ik weet niet zeker of het FE-voorbeeld hier goed werkt. In dat geval is de FE _is_ het model. Het gebruik van nauwkeurigere _data_ kan problemen opleveren; maar als uw FE _model_ juist is, hoeft u zich natuurlijk geen zorgen te maken over de artefacten; omdat uw model ze niet heeft. We hebben het al _gedefinieerd_ als nauwkeurig. Misschien in het geval van het gebruik van een ander model om in een FE-analyse te pluggen; maar dat is meestal gewoon het punt van "iemand verderop" die het model gebruikt.
Wasabi
2017-11-29 23:42:42 UTC
view on stackexchange narkive permalink

Er zijn een paar redenen.

Vanuit een puur pragmatisch perspectief is dit te wijten aan tijdgebrek. De benodigde tijd om een ​​model op te lossen neemt veel, veel sneller toe dan het precisieniveau, en welk niveau dan ook is subjectief.

Dit wordt ook beïnvloed door het feit dat buitensporige nauwkeurigheid is meestal nutteloos. Uw model is tenslotte 99,999% nauwkeurig voor de opgegeven invoerwaarden, maar de echte wereld is onnauwkeurig. De elasticiteitsmodulus van staal heeft bijvoorbeeld een tolerantie van $ \ pm5 $ - $ 15 \% $. Dus waarom zou u moeite doen met een supernauwkeurig model als een van uw belangrijkste ingangen 10% kan afwijken? (het behoeft geen betoog dat de foutmarges voor andere materialen zoals beton of grond en voor andere variabelen zoals belasting significant hoger zijn).

Hierdoor heeft het geen zin om te nauwkeurig te zijn. Maar het kan inderdaad nuttig zijn om niet eens te proberen te precies te zijn. De redenen hiervoor zijn echter meestal psychologisch. U wilt vooral niet dat uw model te nauwkeurig is, en u wilt uw resultaten niet met zeven cijfers achter de komma uitvoeren, omdat u geen vals gevoel van vertrouwen wilt oproepen.

Het menselijk brein is bedraad om te denken dat 1,2393532697 een nauwkeurigere waarde is dan 1,2. Maar dat is eigenlijk niet het geval. Vanwege alle reële onzekerheden die uw model onmogelijk in aanmerking kan nemen (vooral gezien de huidige hardwarebeperkingen), is 1.2 vrijwel zeker een even geldig resultaat als 1.2393532697. Dus maak jezelf niet wijs of degene die je model ziet. Voer gewoon 1.2 uit, wat transparant aangeeft dat je niet echt weet wat er na dat tweede cijfer gebeurt.

Nuclear Wang
2017-11-29 23:07:43 UTC
view on stackexchange narkive permalink

Een extreem nauwkeurig model kan een onbetaalbare hoeveelheid invoergegevens vereisen. Het zou mogelijk zijn om een ​​uitstekend model van weersystemen te genereren, bijvoorbeeld door de positie en snelheid van elk gasmolecuul in de atmosfeer als input te nemen. In de praktijk zou zo'n model niet bruikbaar zijn, aangezien er geen realistische manier is om de juiste input te genereren. Een minder nauwkeurig model dat slechts beperkte invoergegevens vereist, zou in dit geval de voorkeur hebben.

U heeft een andere vraag beantwoord, namelijk: "hoeveel invoergegevens zijn te veel"
Ik zou hier waarschijnlijk een opmerking toevoegen over hoe de vraag vermeldt "behalve wanneer je minder rekentijd nodig hebt", want dat is ook een goede reden om een ​​minder nauwkeurig model te hebben; als uw model te nauwkeurig is, kan het berekenen van gevallen uit de praktijk langer duren dan de warmtedood van het universum.
Cort Ammon
2017-11-30 06:59:49 UTC
view on stackexchange narkive permalink

"Te nauwkeurig" is niet monotoon. Het kan in feite een illusie van trouw creëren waardoor je denkt dat het de moeite waard is om meer geld in de simulatie te pompen. Dit wordt erg belangrijk wanneer je gegevens presenteert van mixed-fidelity-modellen, waarbij sommige delen erg gedetailleerd zijn en andere erg grof.

Een echt voorbeeld dat ik had betrof het bemonsteren van hoogtes boven het terrein. Het team had besloten om het terrein in 1024 brokken te bemonsteren om de getrouwheid te maximaliseren. Onze klant wilde een ReallyGood (tm) -antwoord.

Nu had ik last van de runtime-hits die dit specifieke algoritme veroorzaakte, en ik wilde weten voor hoeveel betrouwbaarheid ik eigenlijk betaalde. Ik had geen terreingegevens gezien, dus ik vroeg hen hoe ze die hadden geladen. Het antwoord was "oh, we hebben geen terrein. Het is gewoon vlak."

Dus het klonk alsof ik een geweldig high-fidelity-model had met 1024 punten. Wat ik eigenlijk had was een low-fidelity-model dat niet beter presteerde dan 1024 keer bemonsteren, maar een hele ton langzamer liep en zich voordeed als een high-fidelity-model!

In de echte technische wereld, leiders hebben niet altijd de mogelijkheid om de hele architectuur van een model te leren kennen. Ik zou zelfs zeggen dat ze nooit de tijd hebben. Ons leiderschap nam beslissingen op basis van de veronderstelling dat we een geweldig 1024-puntsmodel hadden. Niemand had de schuld, het is gewoon wat er gebeurt als je de getrouwheid te hoog afstemt op het ene deel van het model en een lage getrouwheid hebt op het andere. Het is de aard van het beest met gemengde trouw.

Een gelijkenis over hoe terugbrengen tot significante cijfers niet altijd alleen gaat over het afsnijden van nullen.
mathreadler
2017-11-30 01:04:54 UTC
view on stackexchange narkive permalink

In werkelijkheid zijn er de gegevens die we hebben en er zijn de gegevens die we niet hebben. Bijna altijd is de hoeveelheid gegevens die we niet hebben veel meer dan we ooit zouden kunnen hopen te verzamelen om praktische of economische redenen.

Door te proberen de gegevens onaangenaam goed aan te passen aan de weinige steekproeven die we hebben, loopt u het risico dat ons model echt slechte schattingen maakt op gebieden waar we eerlijk gezegd geen idee van hebben (vanwege een gebrek aan gegevens). Dan geeft ons model ons een vals gevoel van veiligheid.

Myles
2017-11-30 22:53:21 UTC
view on stackexchange narkive permalink

Dus vanuit technisch oogpunt, waarom zou je dat naast tijd (of rekenkracht) vermijden

Vanuit een mechanisch perspectief is de grootste reden dat je je op de extra inspanning als het significant verschillende resultaten oplevert.

Als het nauwkeurigheidsniveau in uw model ordes van grootte hoger is dan het nauwkeurigheidsniveau dat u zou kunnen leveren bij de uitvoering van uw ontwerp, verspilt u uw moeite. Als het nauwkeurigheidsniveau dat in uw model wordt beschreven hoger is dan vereist, heeft dat impact voor de klant. Je verspilt geld. Als u bijvoorbeeld een hogere precisie specificeert dan het ontwerp eigenlijk vereist (bijv. +/- .00001 mm in de lengte van een ontluchtingspijp), verspilt u het geld van uw klanten omdat een 350 mm-luchtopening ongeveer hetzelfde werk doet als een 350,0005 mm-ventilatieopening. naar de atmosfeer, maar de laatste is aanzienlijk duurder om te produceren.

Op de universiteit hebben we allemaal geleerd om de fysieke wereld te modelleren met behulp van de Newtoniaanse fysica, ook al is algemeen bekend dat de post-Newtoniaanse fysica een nauwkeuriger model van fysische gedrag. Desondanks ken ik geen werktuigbouwkundig programma dat standaard Newtoniaanse modellen als te onnauwkeurig vermijdt. Als we het nauwkeurigere model gebruiken en een antwoord bedenken dat 0,1% dichter bij de theoretische waarheid ligt, zal dat in de overgrote meerderheid van de gevallen geen invloed hebben op ons uiteindelijke ontwerp. Als onze vloeispanning 0,1% anders is, geeft dat ons een onbeduidend verschil in onze vereiste doorsnede, wat ons ertoe brengt om exact dezelfde maat I-balk te kiezen op basis van beide methoden. In deze omstandigheid leveren de kosten van extra inspanning geen extra voordeel op.

Nu zijn er situaties waarin precisie vereist is om een ​​werkbaar ontwerp te maken, bijvoorbeeld voor het modelleren van sommige satellieten was relativistische fysica vereist. In deze omstandigheden moeten we een model vinden dat het vereiste nauwkeurigheidsniveau levert en moeten we naar het model ontwerpen. Als we afmetingen moeten berekenen tot +/- 0,0001%, is het totaal verspilde moeite als onze onderdeelafmetingen +/- 0,1% zijn. In toepassingen in de echte wereld komen onderdeelafmetingen van de laatste graad van nauwkeurigheid veel vaker voor dan de eerste.

Solar Mike
2017-11-29 23:01:46 UTC
view on stackexchange narkive permalink

Kosten: de kosten van tijd of de kosten van rekenkracht en de kosten van nauwkeurigheid - als andere variabelen een tolerantie hebben van bijvoorbeeld 5%, waarom dan de resultaten berekenen tot 1% ...

Katarina
2017-11-29 23:33:59 UTC
view on stackexchange narkive permalink

In de vorige antwoorden werden invoer en kosten genoemd. Als u bijvoorbeeld nauwkeurigheid wilt. bij het optimaliseren van productieparameters heeft u waarschijnlijk meer metingen nodig en moet u eerst analyseren hoeveel u kosten kunt besparen in vergelijking met het aantal werkuren, waardoor de hogere uitgaven zijn voor het verhogen van de frequentie van metingen of de kosten van een geautomatiseerd systeem dat het handmatig verzamelen van gegevens zal vervangen. Als u bijvoorbeeld zeer nauwkeurige resaults krijgt waarin u tijd en andere middelen hebt geïnvesteerd, beschikt u over voldoende apparatuur voor kwaliteitscontrole, industriële metingen enz. of zelfs technologie. Als uw resultaten tevergeefs zijn, is de tijd die u besteedt aan het verkrijgen ervan, verkeerd besteed.

guuusst
2017-11-30 14:46:16 UTC
view on stackexchange narkive permalink

Zou ik een satellietbeeld met centimeter-resolutie nodig hebben om bossen op kleur te identificeren? Zeker niet. Ik zou schadelijk zijn, aangezien je zou moeten beslissen over een niet-groene pleister van 10 vierkante centimeter. Hetzelfde geldt voor modellering: de detailresolutie moet passen bij de resolutie van uw doelfuncties. Als dit niet het geval is, verliest u tijd met inkrimping.

Spehro Pefhany
2017-12-03 13:11:11 UTC
view on stackexchange narkive permalink

De meeste echte antwoorden worden uitgesloten door uw kunstmatige beperking dat rekenkracht en rekentijden niet in aanmerking moeten worden genomen. Een model dat uren of dagen nodig heeft om te evalueren, staat geen snelle ontwerpherhalingen toe en vertraagt ​​de zaken op menselijke schaal, waardoor de kosten stijgen en mogelijk tot inferieure resultaten leiden. Modellen slim vereenvoudigen zonder al te veel nauwkeurigheid te verliezen, kan een zeer nuttige aanpak zijn, waarna het brute-force-model kan worden gebruikt om de uiteindelijke iteratie te valideren.

Het is mogelijk dat te complexe modellen fundamentele fouten in het model maskeren, of dat het werk dat nodig is om informatie te verzamelen om het model praktisch optimaal te gebruiken, opweegt tegen de mogelijke voordelen. Als u bijvoorbeeld de eigenschappen van een materiaal nauwkeuriger wilt kennen dan de leverancier ze kan controleren, kunt u de foutbanden accepteren of elke batch materiaal testen om het model aan te passen.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...