2016-01-16, 19:24
  #13
Bannlyst
Citat:
Ursprungligen postat av Dr-Nej
Nej det är inte det som det beror på, läs igen. Jag tror att din algoritm kan hitta saker, jag tror inte att den hittar särskilt intressanta saker och jag förstår inte varför den skulle vara bättre än de vanliga metoderna för att hitta ekvationer. Det kanske beror på att din beskrivning av algoritmen är ytterst bristfällig, men jag betvivlar det.

"jag förstår inte varför den skulle vara bättre än de vanliga metoderna"

Du hittar exempelvis inte sambandet nedan med andra metoder.

m = ln(sqrt(1-(1-(pi*(a + ab + b*(1/sqrt(a*b*b))^2 + a/b + a*a/sqrt(b) + b/2 - a*a)*sqrt(pi)))*(b/a)*(1-a*a)*pi))^2

Har du sett en så lång formel någon gång?
Citera
2016-01-16, 21:54
  #14
Medlem
Citat:
Ursprungligen postat av Direktdemokraterna
"jag förstår inte varför den skulle vara bättre än de vanliga metoderna"

Du hittar exempelvis inte sambandet nedan med andra metoder.

m = ln(sqrt(1-(1-(pi*(a + ab + b*(1/sqrt(a*b*b))^2 + a/b + a*a/sqrt(b) + b/2 - a*a)*sqrt(pi)))*(b/a)*(1-a*a)*pi))^2

Har du sett en så lång formel någon gång?


Din metod skulle inte hitta det där uttrycket då den inte verkar behandla ln. Idiot. Längden på formeln är inte särskilt imponerande.
Citera
2016-01-16, 22:09
  #15
Avstängd
Citat:
Ursprungligen postat av Direktdemokraterna
Du hittar exempelvis inte sambandet nedan med andra metoder.
Och var förekommer det sammanhanget så det skulle finnas någon anledning att hitta det?

Jag har också lekt med att hitta ekvationer som anpassar data, fast då delvis för hand. Det kan vara kul, men ekvationer utan någon fysik bakom ger vanligen missvisande svar så fort man stoppar in andra värden än det man använde för anpassningen. De kan möjligen duga för interpolering, sällan för extrapolering.
Citera
2016-01-17, 14:30
  #16
Bannlyst
Citat:
Ursprungligen postat av Dr-Nej
Din metod skulle inte hitta det där uttrycket då den inte verkar behandla ln.

En smärre detalj. Självklart är det trivialt att slänga in ln. Det här vet du men du börjar få slut på argument.

Citat:
Idiot.

Japp, där fick vi det bekräftat, som jag sa, du börjar få slut på argument.

Citat:
Längden på formeln är inte särskilt imponerande.

Kanske inte imponerar dig. Men menar du att längden och djupet är ointressant? Det är PRECIS vad det inte är. Dess längd och djup är väldigt intressant här. Det finns ingen metod idag som hittar den formeln förutom att antingen först anta att den har den formen eller göra en full brute-force sökning.
Citera
2016-01-17, 15:04
  #17
Bannlyst
Citat:
Och var förekommer det sammanhanget så det skulle finnas någon anledning att hitta det?

Fysik. Fysiken bjuder på fasligt långa och komplicerade ekvationer ibland. Men vägen dit är djup förståelse för problemet och härledning (och experiment givetvis). Vilket i och för sig är bra i sig, MEN, det vore bra om vi kunde finna de mer komplicerade sambanden också baserat på data. Inget säger att de mer "grundläggande" sambanden i universum måste vara lätta att hitta.

De elementära och korta/små sambanden hittar man ju först och det är ingen slump:
https://en.wikipedia.org/wiki/List_of_equations_in_classical_mechanics
(Svårare): https://en.wikipedia.org/wiki/List_of_equations_in_quantum_mechanics

Här har du några exempel på längre formler: https://en.wikipedia.org/wiki/List_of_equations_in_nuclear_and_particle_physics# Fundamental_forces

Citat:
Ursprungligen postat av Xenonen
vanligen missvisande svar så fort man stoppar in andra värden än det man använde för anpassningen. De kan möjligen duga för interpolering, sällan för extrapolering.

Nej, här ligger skillnaden. När du approximerar (vilket vi inte försöker göra här) så har du arbiträra konstanter och approximationen är vanligtvis ett polynom. Polynom svänger. När du närmar dig ett visst X så tar ett av termerna större uttryck (ju längre bort du kommer desto större uttryck får termerna av högre grad). Kalla det termernas krig om du vill, det är därifårn svängningarna kommer, och det är så vi kan anpassa polynom till data. När termen med högst grad (vilket händer förr eller senare) får uttrycka mest så drar kurvan iväg åt ett håll. En av orsakerna till s.k. overfitting när man försöker extrapolera (man har inte gjort anpassningen tillräckligt "bred" (har ingenting med min titel att göra), dvs utanför datan).

En sådan metod hittar aldrig formler som dessa https://en.wikipedia.org/wiki/List_of_equations_in_classical_mechanics

Det är just här denna metod skiljer, det här är själva grejen med den. Vi bygger inga polynom här med arbiträra konstanter. "Min" metod däremot vet jag hittar stort sett dem allihopa (om vi tillåter kryssprodukt mm). Hittar du en ekvation med extremt liten felsumma med min metod så kan du vara ganska säker på att det är den bästa extrapolering du får, då vet du var du ska forska vidare på.

Att hitta d=0.5*g*t*t är en baggis, trivialt med min metod. Du får ALDRIG något liknande med approximationer (det du pratar om). Visst, alla formler är apprpoximationer (vi vet inte hur universum fungerar i minsta detalj) men det du pratar om är approximering. d=0.5*g*t*t kommer fungera tills relativitetens lagar slår in - har vi data för det så finner vi även en del relativistiska formler. Något som du ALDRIG gör med exempelvis taylorserier eftersom att d=0.5*g*t*t med mera inte är polynom.
Citera
2016-01-17, 16:48
  #18
Avstängd
Citat:
Ursprungligen postat av Direktdemokraterna
Fysik. Fysiken bjuder på fasligt långa och komplicerade ekvationer ibland.
Tack, jag vet, men knappast ekvationer som den där. Den är bara ett helt godtyckligt monster skapat utan minsta tanke på att den skall vara realistisk.
Citat:
Nej, här ligger skillnaden. När du approximerar (vilket vi inte försöker göra här) så har du arbiträra konstanter och approximationen är vanligtvis ett polynom.
Konstanter har man för att naturen är full av dem, vare sig det är fundamentala konstanter som finstrukturkonstanten, beroende av experimentet som massan på använd kula eller geometriska typ alla Pi som dyker upp överallt. Man behöver sen inte alls approximera med ett polynom, folk använder glatt exponentialfunktioner, potensfunktioner osv.

Citat:
Hittar du en ekvation med extremt liten felsumma med min metod så kan du vara ganska säker på att det är den bästa extrapolering du får, då vet du var du ska forska vidare på.
Det här stämmer inte. "Bästa" anpassningen är vanligen fysikaliskt helt fel eftersom alla mätdata innehåller fel och din anpassning försöker räkna in även dessa fel i ekvationen.
Citat:
d=0.5*g*t*t kommer fungera tills relativitetens lagar slår in
I verkligheten snarare tills luftmotstånd kommer in i bilden.

Men visst vore det trevligt om fysik vore så enkelt som du tror att man bara kan göra en massa mätningar och sen mekaniskt leta bästa ekvation som passar till dem.
Citera
2016-01-17, 17:43
  #19
Bannlyst
Citat:
Man behöver sen inte alls approximera med ett polynom, folk använder glatt exponentialfunktioner, potensfunktioner osv.

Javisst, du kan glatt testa alla former tills dess att du får den bästa formen inom din definierade sökrymd (dvs i praktiken köra min metod). För att hitta rätt formel (exempelvis newtons ekvationer) måste du prova alla former, dvs köra min metod. Ska du däremot approximera så använder du någon av ovannämda, dvs du provar ett begränsat antal former som lämpar sig för approximering. Det kallas curve fitting och är inte exakt detsamma som optimering.

Citat:
Ursprungligen postat av Xenonen
Det här stämmer inte. "Bästa" anpassningen är vanligen fysikaliskt helt fel eftersom alla mätdata innehåller fel och din anpassning försöker räkna in även dessa fel i ekvationen.

En sak i taget. Gör så här. Välj ut en fysisk formel. Simulera ett experiment genom att ge mig säg 5 punkter. Dvs, ge mig x och y. Max 5% mätfel, vilket är lite för högt till att börja med (men en gräns måste vi ha). Inget trams som y = 0 + slumpmässigt_felvärde eller liknande.

Eftersom att jag har en sketen netbook och atom processor med en kärna (och jag redan pekat ut kompexitetsproblemet) så väljer du en formel med högst fem operatorer inklusive funktioner och fyra variabler (konstanter räknar vi som variabler). Detta är ändå ganska högt och längre än vad jag kommit hittills (så det blir en utmaning.. men du måste inte utnyttja alla).

Jag har begränsat mig till givna konstanter, vilket mitt första inlägg bevittnar om.

Tillåtna operatorer är + - * /.
Tillåtna funktioner: sqrt, ln, ^2.
Tillåtna konstanter: 0.5, pi, ljusets hastighet, 9.82, 1.

Exempel på en ogiltig formel är:
1/sqrt(0.5 + (x^2)*ln x) <-- 6 operatorer

Exempel på giltig formel:
1/sqrt(0.5 + x*ln x) <-- 5 operatorer, 4 variabler

Om du svarar så knåpar jag ihop ett program som hittar din formel. Sedan skapar jag en formel med samma regler, men som är 1 operator och 1 variabel mindre och ser hur bra dina approximeringsmetoder gör (din tur).

Något du vill ändra?

Det här ett proof of concept, dvs jag tänker inte sitta och implementera någon enterprise lösning här.

edit: vi skippar ^x eftersom att det inte spelar större roll för proof-of-concept och bara slösar min tid om jag ska implementera det. men x*x*x*x är okej, det går ju under reglerna.
__________________
Senast redigerad av Direktdemokraterna 2016-01-17 kl. 17:53.
Citera
2016-01-17, 19:09
  #20
Medlem
Citat:
Ursprungligen postat av Direktdemokraterna
En smärre detalj. Självklart är det trivialt att slänga in ln. Det här vet du men du börjar få slut på argument.
Nej det är det inte. Det bevisar bara att du har samma problem med antagande av hur formlerna ser ut som andra algoritmer har.

Citat:
Ursprungligen postat av Direktdemokraterna
Japp, där fick vi det bekräftat, som jag sa, du börjar få slut på argument.
Nej det gör det inte. Så länge jag faktiskt kommer med argument betyder det bara att jag tycker att du verkar korkad. Idiot.

Citat:
Ursprungligen postat av Direktdemokraterna
Kanske inte imponerar dig. Men menar du att längden och djupet är ointressant?
Du frågade om jag sett en sådan lång formel. Det var en tramsig fråga och ja formeln i sig är ointressant och skriven på ett fånigt sätt.

Citat:
Ursprungligen postat av Direktdemokraterna
Det är PRECIS vad det inte är. Dess längd och djup är väldigt intressant här. Det finns ingen metod idag som hittar den formeln förutom att antingen först anta att den har den formen eller göra en full brute-force sökning.
Som sagt är du också tvungen att anta att formeln ser ut på något visst sätt. Om vi begränsar oss till algebraiska saker som var det som du pratade om först, varför är din metod bättre än att bara ansätta allmänna uttryck och anpassa koefficienter?
Citera
2016-01-17, 19:53
  #21
Bannlyst
Citat:
Ursprungligen postat av Dr-Nej
Nej det är det inte. Det bevisar bara att du har samma problem med antagande av hur formlerna ser ut som andra algoritmer har.

Det är inte ett problem, alla metoder gör det här avsiktligen (inklusive min) som en lösning på ett problem. Den här algoritmen ger andra resultat än exempelvis perceptroner, tailorserier och dylik. Inga konstigheter.

Citat:
Idiot.
Best argument ever.


Citat:
Du frågade om jag sett en sådan lång formel. Det var en tramsig fråga och ja formeln i sig är ointressant och skriven på ett fånigt sätt.
Jag menar att du inte hittar den formeln med andra metoder. Och det här verkar du veta men undvika med idiotanklagelser. Inte ett enda argument under hela tråden om just detta som ju är vad som utmärker metoden.


Citat:
Som sagt är du också tvungen att anta att formeln ser ut på något visst sätt.
Ja, självklart gör vi viss antaganden. Men dessa antaganden är så mycket bredare än y=x*e^k, perceptroner och andra mer inskräkna former du förespråkar. Detta är inte vad vi vill ha här.

Vi tillåter så många mer former än det du förespråkar gör. I ditt fall får vi approximerade polynom och approximerade exponentialfunktioner, taylorserier och liknande medan jag får formlerna jag länkat till i tråden.

Citat:
Om vi begränsar oss till algebraiska saker som var det som du pratade om först, varför är din metod bättre än att bara ansätta allmänna uttryck och anpassa koefficienter?

Vi begränsar oss till de operatorer vi tror är relevanta. + - / *, sqrt m fl. Inget hindrar en från att slänga på fler eller ta bort några.

Därför att exempelvis f = ma eller de andra formlerna jag hänvisat till är bättre i de flesta avseenden än exempelvis a*x + b*x^2 .. z*x^n eller vad det nu är för allmäna former du vill använda.

Motfråga: varför har vi inte allmäna uttryck med anpassade koefficienter i formelsamlingarna i skolan istället för de former min metod hittar?
__________________
Senast redigerad av Direktdemokraterna 2016-01-17 kl. 20:18.
Citera
2016-01-17, 22:22
  #22
Medlem
Citat:
Ursprungligen postat av Direktdemokraterna
Det är inte ett problem, alla metoder gör det här avsiktligen (inklusive min) som en lösning på ett problem. Den här algoritmen ger andra resultat än exempelvis perceptroner, tailorserier och dylik. Inga konstigheter.
Så givet en klass av funktioner. Varför är din algoritm bättre än en mer specialiserad algoritm? Ta algebraiska uttryck exempelvis.

Citat:
Ursprungligen postat av Direktdemokraterna
Best argument ever.
Det är inte ett argument, det är en förolämpning.

Citat:
Ursprungligen postat av Direktdemokraterna
Jag menar att du inte hittar den formeln med andra metoder. Och det här verkar du veta men undvika med idiotanklagelser. Inte ett enda argument under hela tråden om just detta som ju är vad som utmärker metoden.
Det var med din metod man inte hittade den. När jag påpekade detta ändrade du din algoritm, vilket i och för sig är positivt men det är tramsigt att säga att det är det som utmärker metoden. Vill du att jag ska beskriva en annan algoritm där man hittar den? Varför? Jag kan också hålla på och ad hoc fixa med andra algoritmer så att de gör det. Det blir snabbt väldigt ointressant.

Citat:
Ursprungligen postat av Direktdemokraterna
Ja, självklart gör vi viss antaganden. Men dessa antaganden är så mycket bredare än y=x*e^k, perceptroner och andra mer inskräkna former du förespråkar. Detta är inte vad vi vill ha här.
Du verkar ju vara lite förivrad av vad det är för antaganden din algoritm gör. Kan du ens beskriva klassen av funktioner som du söker igenom? Varför är den intressant?

Citat:
Ursprungligen postat av Direktdemokraterna
Vi tillåter så många mer former än det du förespråkar gör. I ditt fall får vi approximerade polynom och approximerade exponentialfunktioner, taylorserier och liknande medan jag får formlerna jag länkat till i tråden.
Dina länkar blir tramsiga ingen variant av de algoritmer som du beskrivit (igen beskrivningen är ytterst bristfällig och du tycks ändra algoritmen efterhand) hittar flertalet av dem. Anledningen till att vi inte har en algoritm för alla olika typer av funktioner är för att det för de allra flesta klasser av funktioner som används så finns det smartare saker man kan göra.

Citat:
Ursprungligen postat av Direktdemokraterna
Vi begränsar oss till de operatorer vi tror är relevanta. + - / *, sqrt m fl. Inget hindrar en från att slänga på fler eller ta bort några.

Därför att exempelvis f = ma eller de andra formlerna jag hänvisat till är bättre i de flesta avseenden än exempelvis a*x + b*x^2 .. z*x^n eller vad det nu är för allmäna former du vill använda.

Motfråga: varför har vi inte allmäna uttryck med anpassade koefficienter i formelsamlingarna i skolan istället för de former min metod hittar?
Av samma anledning som vi inte har en beskrivning av din metod. Vi har formler i formelsamlingar för att folk ska slippa härleda dem varje gång.
Citera
2016-01-18, 00:34
  #23
Bannlyst
Citat:
Av samma anledning som vi inte har en beskrivning av din metod. Vi har formler i formelsamlingar för att folk ska slippa härleda dem varje gång.

Jag frågade dig varför formlerna har den form som min algoritm hittar och inte de formerna du förespråkar.

Citat:
Ursprungligen postat av Dr-Nej
Så givet en klass av funktioner. Varför är din algoritm bättre än en mer specialiserad algoritm? Ta algebraiska uttryck exempelvis.

Specificera gärna vad du menar med "specialiserad algoritm". Jag har svarat på detta redan. Ge bättre exempel på andra metoder så kan jag svara bättre.

Citat:
Det är inte ett argument, det är en förolämpning.
Med andra ord ett väldigt dåligt argument.


Citat:
Det var med din metod man inte hittade den. När jag påpekade detta ändrade du din algoritm, vilket i och för sig är positivt men det är tramsigt att säga att det är det som utmärker metoden.

Okej, jag kanske inte skulle använt ln, alternativt så slänger jag på ln i algoritmen. Tycker faktiskt att det är en smärre detalj i sammanhanget.

Citat:
Vill du att jag ska beskriva en annan algoritm där man hittar den? Varför? Jag kan också hålla på och ad hoc fixa med andra algoritmer så att de gör det. Det blir snabbt väldigt ointressant.

Sanningen är att jag tänker mig att den är som nedan. För korthetens skull utelämnade jag vissa funktioner då jag antog att huvudidén räckte för diskussionen.

Citat:
1) Du verkar ju vara lite förivrad av vad det är för antaganden din algoritm gör.

2) Kan du ens beskriva klassen av funktioner som du söker igenom?

3) Varför är den intressant?

1) Nej. Jag har till och med implementerat den (med inte så hög djup). Andra jag pratat med har förstått vad det handlar om, är de också lika förvirrade?

2) Ja, den formella grammatiken ger dig själva huvudidén. Alla algebraiska uttryck. Släng på en del till funktioner som kan tänkas vara intressanta.

3) Låt oss utgå från bara grammatiken i trådstarten. En nerbantad verssion. Via en sökning av alla ord i språket kan vi utan att ändra algoritmen hitta pythagoras sats, m = (sqrt(1-(1-(pi*(a + ab + b*(1/sqrt(a*b*b))^2 + a/b + a*a/sqrt(b) + b/2 - a*a)*sqrt(pi)))*(b/a)*(1-a*a)*pi))^2, och om konstanterna är en uppsättning kända konstanter (vilket är tanken... pi, ljusets hastighet, 0.5, G m fl) formeln för area i ett gäng olika geometriska figurer, volym i ett olika antal strukturer, en kropps distans när den faller i vakum, f = ma för att inte nämna data som kommer från arbiträra formler enligt grammatiken i TS. Nämn en annan metod som klarar hitta en så bred uppsättning formler på en gång.

Citat:
Dina länkar blir tramsiga ingen variant av de algoritmer som du beskrivit (igen beskrivningen är ytterst bristfällig och du tycks ändra algoritmen efterhand) hittar flertalet av dem. Anledningen till att vi inte har en algoritm för alla olika typer av funktioner är för att det för de allra flesta klasser av funktioner som används så finns det smartare saker man kan göra.

Vet man hur formeln ser ut eller bara behöver approximera (curve fitting) så utnyttjar man givetvis den vetskapen. Men vad gör du om du inte vet och vill prova om det finns någon optimal form? De bästa formlerna är eleganta och inte något du fått fram genom att anpassa ett polynom till givet data.
Citera
2016-01-18, 08:42
  #24
Medlem
-taki-s avatar
Hej igen,

jag tycker metoden du beskriver väldigt mycket liknar ett Koza-träd. Se t ex

http://web.cecs.pdx.edu/~mm/MachineLearningWinter2010/pdfslides/GAs2.pdf

Här definierar man de funktioner och operationer som får tas med samt djupet och låter metoden sedan bygga de uttryck som evalueras.

Jag håller med andra i tråden om att uttryck som "bara" anpassats till data har begränsad användbarhet. Man kan aldrig vara säker på hur dessa beter sig mellan datapunkterna för passningen samt utanför. Uttryck som bygger på fysikaliska grunder ger så mycket mer för förståelsen för det man undersöker.

Det är intressant att uttrycket som du nämnde tidigt i tråden togs fram men du kan ju aldrig veta om det har en fysikalisk förankring. Ingen annan forskare skulle våga använda det och gå vidare från det.
__________________
Senast redigerad av -taki- 2016-01-18 kl. 09:17.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in