Entropie einer Funktion |
| 01.02.2016, 10:35 | Hubert1965 | Auf diesen Beitrag antworten » | ||||
| Entropie einer Funktion Gegeben ist eine Funktion, die in Form einer Tabelle innerhalb eines bestimmten Definitionsbereichs mit äquidistanten Stützpunkten gegeben ist. Alle Werte sind 0 oder positiv. Der Wertebereich ist auch nach oben beschränkt, der genaue Wert der kleinsten oberen Schranke ist aber unbekannt. Die Werte stammen aus einer Berechnung, bei der eine endliche Anzahl (mehrere Dutzend) einander überlappender Gaußscher Glockenkurven mit unterschiedlichen Höhen aber ähnlichen (jedoch nicht ganz gleichen) Standardabweichungen aufaddiert werden. Dabei entsteht ein Muster, das aus mehreren Peaks besteht. Dieses Muster kann einfach sein (wenige Peaks, periodische Anordnung) oder chaotisch wirken (viele Peaks; Höhe und Lage eines einzelnen Peaks hängen nicht von anderen Peaks ab). Gesucht ist ein Maß für die "Unordentlichkeit" (also die Entropie) dieser Funktion im gegebenen Intervall. Wenn die Funktion überall 0 ist, ist sie sehr ordentlich und hat daher eine geringe Entropie. Wenn sie ein einfaches periodisches Muster aufweist, soll die Entropie auch gering sein. Springen die Funktionswerte aber wild, und ohne erkennbares Muster auf und ab, soll dieser Funktion eine hohe Entropie zugewiesen werden. Wie berechnet man so etwas? Hintergrund; detaillierte Beschreibung: In dem Artikel »harmonic entropy« wird eine Methode vorgestellt, mit der man angeblich für einen gegebenen musikalischen Zweiklang berechnen kann, ob er angenehm oder unangenehm klingt. Dabei wird im Wesentlichen das Frequenzverhältnis der beiden Grundtöne mit einer vorher festgelegten Mengen rationaler Zahlen verglichen, und ermittelt, wie gut das Frequenzverhältnis des vorgegebenen Zweiklangs (im Allgemeinen eine reelle Zahl) mit den einzelnen Brüchen übereinstimmt. Dabei wird dann auch eine Entropie berechnet, nach der informationstheoretischen Formel für die Shannon-Entropie. Diesen Schritt habe ich leider nicht verstanden (ich schiebe die Schuld auf meine nicht ganz optimalen Englischkenntnisse verbunden mit der etwas unglücklichen Ausdrucksweise des Autors). Ich wäre dankbar, wenn mir jemand diesen Schritt auf Deutsch erklären könnte. Aber das ist gar nicht mein eigentliche Anliegen. Ich will schon etwas über die Berechnung der informationstheoretischen Shannon-Entropie wissen, aber in einem etwas abgewandelten Kontext: Andere Arbeiten zur Wahrnehmung von musikalischen Klängen legen nahe, dass die Empfindung, ob ein Klang konsonant (also wohlklingend) oder dissonant ist, davon anhängt, welches Erregungsmuster die Schallwellen auf dem Corti-Organ erzeugen. Das Corti-Organ ist der Teil des Innenohrs, der Schallwellen in Nervenimpulse umwandelt. Dabei werden zuvor in der Gehörschnecke die Schallwellen nach Frequenzen aufgespalten (es wird also eine Fourier-Analyse gemacht), und die Frequenzen erregen dann die einzelnen Zellen des Corti-Organs. Die Annahme lautet nun, dass Frequenzmuster, die einfach sind, als angenehmer (konsonanter) Klang empfunden werden. Frequenzmuster, die eher chaotisch wirken, werden als unangenehm (dissonant) empfunden. Ich habe im großen Werkzeugkasten der Mathematik bereits alle Werkzeuge gefunden, mit denen ich, ausgehend von einem musikalischen Klang, das Erregungsmuster auf dem Corti-Organ berechnen kann. Dieses Muster liegt in Form einer Wertetabelle, also einer Funktion vor. Die unabhängige Variable ist die Entfernung des jeweiligen Erregungs-Ortes vom Helicotrema (das ist eines der beiden Enden des Organs), und die abhängige Variable ist die Intensität der Erregung. Da das Organ nur eine bestimmte Länge hat (rund 35 mm), ist der Definitionsbereich dieser Funktion auf ein bestimmtes Interval (nämlich [0, 35]) beschränkt. Die "Messpukte" in der Tabelle sind entlang der X-Achse äquidistant verteilt. Alle Zahlen in der Tabelle sind reel (zumindest theoretisch; praktisch natürlich Dezimalzahlen mit begrenzter Anzahl von Nachkommastellen) Jetzt meine eigentliche Frage: Wie kann ich dieser Funktion, die nur innerhalb eines bekannten Intervalls definiert ist, so etwas wie eine Entropie, also ein Maß für deren "Unordentlichkeit" zuweisen? Mich verwirrt nämlich, dass in der Definiton der Shannon-Entropie von Wahrscheinlichkeiten die Rede ist, was für den ursprünglichen Anwendungsfall ja durchaus Sinn macht. Aber bei meiner tabellarisch vorgegebenen Funktion kann ich keine Wahrscheinlichkeiten entdecken, daher fehlt mir an dieser Stelle etwas im Verständnis. Der am Beginn verlinkte Artikel könnte eventuell helfen, aber da scheitere ich eben leider aus sprachlichen Gründen. |
||||||
| 01.02.2016, 11:47 | Ehos | Auf diesen Beitrag antworten » | ||||
Als "Maß für die Unordnung" nimmt man oft die ganz normale Standardabweichung. In deinem Falle ist diese aber nicht geeignet, weil du eine Funktion als "ordentlich" betrachtest, wenn sie eine von dir gewünschte Form hat (z.B. eine bestimmte Periodizitätu o.ä.). Deine Erwartungen sind also sehr subjektiv. Dieselbe Funktion, welche du aufgrund ihrer regelmäßigen Peaks als "ordentlich" definierst, kann aus Sichte eines anderen Beobachters als "unordentlich" erscheinen, weil er andere Peaks erwartet. Meiner Meinung nach existiert für dein Problem nur dann eine Lösung, wenn du eine Referenzfunktion vorgibst, mit der du deine Testfunktionen statistisch vergleichst. Ohne eine solche Refarenzfunktion hat man keinerlei Anhaltspunkt. |
||||||
| 01.02.2016, 19:39 | Hubert1965 | Auf diesen Beitrag antworten » | ||||
Die Standardabweichung kann ich bei skalaren Größen verwenden. Die hab ich aber nicht. Ich habe - je nach Betrachtungsweise - eine Funktion, von der n Punkte bekannt sind, oder eine Menge von n zweidimensionalen Vektoren. Dabei ist aber n keine bestimmende Größe (solange n eine bestimmte Mindestgröße hat); das Verdoppeln der Anzahl der Stützpunkte fügt der Information, die ich über eine bestimmte Funktion angeben kann, nichts Wesentliches hinzu. Das wonach ich suche, ist, so glaube ich zumindest, sehr wohl mit einer informationstheoretischen Entropie vergleichbar, und müsste eigentlich ganz ohne subjektive Annahmen auskommen. In der Informationstheorie kann die Shannon-Entropie einer Datei (oder einer anderen Datenmenge) interpretiert werden als die Größe der kleinstmöglichen Datei (gemessen in bit), die aus der ursprünglichen Datei durch einen verlustfreien Pack-Algoritmus erzeugt werden kann. Eine bestimmte Musikdatei kann ohne Informationsverlust nicht unter eine bestimmte Mindestgröße komprimiert werden. Diese Mindestgröße ist die Entropie der Datei. (»Kein Informationsverlust« bedeutet, dass jedes einzelne Bit der ursprünglichen Datei auf eindeutige Weise aus der gepackten Datei rekonstruiert werden kann.) Ebenso denke ich, dass es für jeden denkbaren Verlauf einer Funktion eine Menge von Bit geben muss, die mindestens notwendig ist, um daraus diesen Verlauf zu rekonstruieren. Ich suche genau die Mächtigkeit dieser kleinsten Bit-Menge. |
||||||
| 02.02.2016, 09:14 | Ehos | Auf diesen Beitrag antworten » | ||||
Du schreibst, deine Werte <Zitat>"stammen aus einer Berechnung, bei der eine endliche Anzahl ... überlappender Gaußscher Glockenkurven mit unterschiedlichen Höhen aber ähnlichen Standardabweichungen aufaddiert werden. Wenn ich dich richtig verstehe, sind die einzelnen Gaußkurve durch jweils 3 Parameter festgelegt: 1. Höhe der Gaußkurve 2. Breite der Gaußkurve (Standardabweichung) 3. seitliche Lage des Maximums auf der x-Achse Angenommen, deine Kurve entsteht durch Aufaddierung von genau N solcher Gaußkurven. Dann existieren genau 3*N Parameter, durch welche deine Kurve eindeutig festgelegt ist (egal, wie groß die Anzahl der Punkte ist). Mit anderen Worten: Man kann den Informationsinhalt deiner Kurve auf genau 3*N Parameter komprimieren. Damit ist die Frage nach der Entropie (also nach der Größe der kleinstmöglichen Datei) eigentlich beantwortet. Eine andere Frage ist natürlich, wie man diese 3*N Parameter aus deiner Kurve praktisch gewinnen kann. Ein gangbarer Weg, wäre die sogenannte Monto-Carlo-Simulation. Das bedeutet: Man wählt die 3*N Parameter rein zufällig aus und erzeugt eine theoretische Testkurve durch Aufaddieren der so erzeugten N zufälligen Gaußkurve. Durch Vergleich dieser Testkurve mit deiner Messkurve kommt man irgendwann auf die "besten" Parameter. Diese Methode kann man natürlich verfeinern, indem man die 3*N Parameter "intelligent" auswählt (nicht nur rein zufällig). |
||||||
| 02.02.2016, 11:34 | Hubert1965 | Auf diesen Beitrag antworten » | ||||
Ja, daran hatte ich auch schon gedacht, und im Prinzip ist das auch richtig. Es spricht aber auch einiges dagegen: 1. Wenn ein Ton einer bestimmten Frequenz im Ohr registriert wird, erregt er nicht nur das für ihn zuständige Areal, sondern, wenn auch geringer, auch alle Bereiche, die eigentlich für darüber liegende Frequenzen zuständig sind. (Grund dafür ist der Bau des Innenohrs, und der Weg, denn verschiedene Frequenzen durch das Ohr nehmen. Vereinfacht gesagt: Die tiefen Töne müssen zuerst an den Registrierungsstellen für hohe Töne vorbei bis sie zu ihrer zuständigen Stelle kommen.) Das lässt sich natürlich ebenfalls durch Aufaddieren einer entsprechenden Funktion mit wenigen Parametern erreichen, spricht also für sich allein genommen noch nicht gegen dein Argument. 2. Die Umwandlung eines Schallimpules in eine Reihe von Nervenimpulsen geht im Ohr nicht mit unendlich großer Präzision vor sich, sondern unterliegt mehreren Störfaktoren, von denen viele rein zufälliger Natur sind. Das heißt, dass dem Erregungsmuster auf dem Corti-Organ ein statistisches Rauschen überlagert ist. (In einer absolut stillen Umgebung kann man dieses Rauschen sogar hören wenn man seine Aufmerksamkeit darauf richtet. Es klingt tatsächlich wie ein sehr leises Rauschen.) Das in 2 erwähnte statistische Rauschen filtert das Gehirn für gewöhnlich weg. Dabei filtert das Gehirn notgedrungen aber auch alle echten Signale weg, die aus dem Rauschen nicht hervortreten. Zusammen mit dem Punkt 1 führt das dazu, dass ein lauter tiefer Ton alle einigermaßen leisen höheren Töne überdeckt. Sie erreichen zwar das Innenohr, können aber nicht wahrgenommen werden. (Umgekehrt überdeckt ein lauter hoher Ton aber keine leisen tiefen Töne. Warum das so ist steht in 1) Das heißt: Wenn ich einen Klang einer elektrisch verstärkten Bassgitarre habe, und daneben den Klang einer 20 Meter entfernten Blockflöte, dann verwende ich für meine Berechnung zwar alle Parameter um den Klang der Blockflöte zu beschrieben, aber sie gehen im Ergebnis komplett unter, weil der laute Bass die hohen Frequenzen so sehr stört, dass man von der Flöte nichts mehr wahrnehmen kann. Der tatsächlich resultierende Klang lässt sich also in diesem Beispiel durch wesentlich weniger Parameter beschreiben als für seine Simulation verwendet wurden. Aber viel entscheidender für meine Anwendung ist dieser Fall: Wenn ich das Klangspektrum eines Tones berechne (z.B. ein c auf einem richtig gestimmten Klavier), und daraus die Erregungs-Kurve dieses Tons berechne, und dazu dann die Kurve eines zweiten Tones (ein g auf demselben Klavier) addiere, dann ist es sehr oft so, dass in beiden Tönen gleiche oder sehr ähnliche Frequenzen enthalten sind. Wenn ich nun aber zwei Glockenkurven mit gleicher Standardabweichung und gleicher Lage des Maximums addiere, erhalte ich genau eine einzige Glockenkurve, mit demselben Maximum, derselben Standardabweichung, aber größerer Höhe. Das Ergebnis ist also durch 3 Parameter beschreibbar, während ich zur Erzeugung dieses Ergebnisses 6 Parameter "verwendet" habe. Und weil ich wegen des Rauschens eine einzelne Glockenkurve auch nicht von der Überlagerung zweier sehr knapp nebeneinander liegender Kurven unterscheiden kann, habe ich diesen Effekt auch, wenn sich ähnliche Frequenzen nicht exakt überlagern. Auch hier habe ich also den Fall, dass sich die schlussendlich resultierende Funktion mit weniger Parametern beschreiben lässt, als zu deren Erzeugung verwendet wurden. Und ich suche eben die Mindestanzahl von Parametern, oder eine andere Größe, die damit gut korreliert |
||||||
| 02.02.2016, 12:41 | Ehos | Auf diesen Beitrag antworten » | ||||
| RE: Entropie einer Funktion Wenn ich dich richtig verstehe, sind die verschiedenen Glockenkurven nicht additiv, sondern beeinflussen sich in unsymmetrischer Weise gegenseitig und gehen mit verschiedenem Gewicht in das Gesamtsignal ein. Ein alternativer Vorschlag zur Reduktion der Daten wäre folgender: Du entwickelst deine Messkurve in einer Fourrierreihe (z.B. nach Sinus- und Kosinsufuntionen verschiedener Frequenzen oder nach den Legendre-Polynomen). Dadurch erhältst du für deine Messkurve eine Summe aus n Summanden. Dadurch hast du den Informationsgehalt deiner gesamten Kurve auf n Parameter reduziert (nämlich auf die n Koeffizienten in der Summe). Bis morgen. |
||||||
| Anzeige | ||||||
|
|
||||||
| 02.02.2016, 12:57 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
RE: Entropie einer Funktion
Eine Anmerkung dazu: es gibt zur Schwingungsanalyse von Getrieben eine Methode, vom Amplitudenspektrum einfach noch einmal ein Spektrum zu bilden, das sogenannte Cepstrum. Kommt im Spektrum nun etwas im äquidistanten Frequenzabstand vor (also z.B. eine Grundfrequenz mit höheren Harmonischen), führt dies zu einer Linie im Cepstrum. In Deinem Fall würde der Kontrabass und die Flöte, die im Spektrum verschiedene Frequenz-"Kämme" hervorrufen, zu zwei deutlichen Cepstrum-Linien führen. Rauschen oder andere "chaotische" Vorgänge dagegen werden im Cepstrum nichts bewirken. Eventuell ist das ja ein Ansatz. Viele Grüße Steffen |
||||||
| 03.02.2016, 07:39 | Hubert1965 | Auf diesen Beitrag antworten » | ||||
RE: Entropie einer Funktion
Die Funktion wird aus diesen Bausteinen additiv zusammengesetzt: Gaußsche Glockenkurven um den eigentlichen Ort der Erregung zu modellieren Dabei sind: Abstand vom Helicotrema, also der genaue Ort der Erregung im Corti-Organ Laufende Nummer einer bestimmten Frequenz im zu analysierenden Klang Stärke der Erregung an der Stelle x Lage des Maximums auf der X-Achse Höhe des Maximums (Y-Wert) Breite der Glocke (Standardabweichung) (Ich muss mir erst Klarheit darüber verschaffen, ob die tatsächlich unterschiedlich sein können, oder ob alle genau gleich sind. Das ändert aber wenig an der hier diskutierten Fragestellung) Eine Kurve zur Modellierung der Anregung höherer Frequenzen Aufgrund theoretischer Überlegungen sollte das am ehesten durch eine Fehlerfunktion simuliert werden: Alle Parameter (insbesondere , und ) wie oben, zusätzlich: Stärke der Erregung an der Stelle x ein globaler Faktor, voraussichtlich in der Größenordnung zwischen 0,001 und 0,01 Da die Fehlerfunktion wegen des Integrals umständlich zu berechnen ist, und weil der erforderliche Genauigkeit es erlaubt, werde ich diese Kurve durch eine andere mit ähnlichem Verlauf ersetzen (z.B. Arcustangens; das muss ich erst noch eruieren) Die oben beschriebenen Elemente werden additiv zusammengesetzt: Modellieren des Rauschens Dabei sind und additive und multiplikative Zufallszahlen. liegt im Bereich zwischen 0 und einer kleinen positiven Zahl, wird Werte sehr Nahe bei 1 annehmen (ob ich überhaupt verwende steht noch nicht fest)
Eine ähnliche Idee hatte ich auch schon, hatte aber noch keine Zeit, sie konsequent zu Ende zu denken. Sie stimmt im Ergebnis vermutlich gut mit der von dir vorgeschlagenen Monte-Carlo-Methode überein (die ich für gar nicht so schlecht halte) und entspricht, wenn ich dich und Steffen richtig verstanden habe, im Wesentlichen auch dem Vorschlag von Steffen Bühler (»Cepstrum«) Auf diesen Cepstrum-Vorschlag werde etwas später mit einer Antwort reagieren, mich rufen gerade andere Verpflichtungen |
||||||
| 04.02.2016, 17:38 | Hubert1965 | Auf diesen Beitrag antworten » | ||||
Ich zeig mal ein paar Diagramme, damit klarer wird wovon ich spreche. Ich habe Töne simuliert, die so ähnlich klingen sollen wie ein Mensch, der den Vokal a singt. Ich habe jeweils vier dieser Töne zu einem Klang kombiniert. Der konsonante (wohlklingende) Klang entspricht einen Dur-Dreiklang mit zusätzlicher Oktave (also etwa c-e-g-c'). Der dissonante (misstönig klingende) Klang verwendet vier Grundfrequenzen, die in keinem einfachen Verhältnis zueinander stehen. Konsonante Grundfrequenzen: 160, 200, 240, 320 Hz Dissonante Grundfrequenzen: 160, 166, 229, 307 Hz So sehen die Schwingungen aus (abgebildetes Zeitfenster: 0,1 sec) Schwingungen des konsonanten Klangs http://hubert.schoelnast.at/allerlei/SchwingungKonsonant.pngSchwingungen des dissonanten Klangs http://hubert.schoelnast.at/allerlei/SchwingungDissonant.pngBeide Klänge habe ich einer Fouriertransformation unterzogen. Das Ergebnis sind Frequenzspektren, bei denen die Frequenzen im Diagramm linear ansteigen. Im Diagramm habe ich nur den Bereich bis 4 kHz wiedergegeben Konsonantes Spektrum http://hubert.schoelnast.at/allerlei/SpektrumKonsonant.pngDissonantes Spektrum http://hubert.schoelnast.at/allerlei/SpektrumDissonant.pngBesonders im dissonanten Spektrum erkannt man gut die Formanten-Hüllkurve, die ich zur Modellierung der menschlichen Stimme verwendet habe. In konsonanten Spektrum überlagern sich einige Frequenzen, was zu höheren und weniger Peaks führt. Die Formanten-Hüllkurve tritt dort daher nicht so deutlich hervor. Im Innenohr werden Frequenzen aber nur bei tiefen Tönen (unter ca 500 Hertz) linear auf das Corti-Organ abgebildet. Bei Frequenzen über ca. 1200 Hertz dominiert eine logarithmische Abbildung. Zwischen 500 und 1200 Hertz gehen die beiden Bereiche fließend ineinander über. Berechnet man die Erregungs-Orte (und Intensitäten) auf dem Corti-Organ, kommen diese beiden Kurven heraus: Erregung durch den konsonanten Ton: http://hubert.schoelnast.at/allerlei/ErregungKonsonant.pngErregung durch den dissonanten Ton: http://hubert.schoelnast.at/allerlei/ErregungDissonant.pngDiesmal ist der ganze wahrnehmbare Frequenzbereich bis ca. 20 kHz im Diagramm wiedergegeben, was im Cortiorgan einem Abstand von 35 mm vom Nullpunkt (Helicotrema) entspricht. Meine Fragestellung kreist um die Analyse dieser beiden Erregungs-Kurven. Der konsonanten Kurve soll durch eine mathematische Vorschrift eine niedrige Entropie zugewiesen werden, die dissonante Kurve soll durch dieselben Vorschrift eine höhere Entropie ausgewiesen bekommen. Ich habe den Vorschlag mit dem Cepstrum (Fouriertransformation der Erregungs-Kurve) aufgegriffen, erhalte dadurch aber nichts brauchbares: Cepstrum des konsonanten Klangs: http://hubert.schoelnast.at/allerlei/CepstrumKonsonant.pngCepstrum des dissonanten Klangs: http://hubert.schoelnast.at/allerlei/CepstrumDissonant.pngIn den Diagrammen habe ich nur den Bereich bis zu einer Frequenz von 200 wiedergegeben. Bei höheren Werten sehen beide Kurven ähnlich chaotisch aus wie im Bereich 50-200. Das Cepstrum erscheint mir aus mehreren Gründen ungeeignet zu sein meine Frage zu beantworten: - Ich kann im konsonanten Cepstrum nicht die erhofften Peaks der vier Grundtöne entdecken. - Die beiden Cepstren weisen zumindest optisch keine nennenswerten Unterschiede auf. - Auch ein Cepstrum ist eine Funktion. Ich will aber eine einzelne reelle Zahl haben, die einen Wert liefert, der mit einer Entropie vergleichbar ist. |
||||||
| 04.02.2016, 20:14 | Steffen Bühler | Auf diesen Beitrag antworten » | ||||
Gut, dann zwei weitere Ansätze aus der Schwingungsdiagnostik. Beginnende Lagerschäden äußern sich gern durch kleinere Ausreißer im Zeitsignal. Immer wieder kommt also eine Spitze aus dem Geräuschteppich raus. Ein Kennwert dafür ist zum Beispiel der Crestfaktor, also das Verhältnis Spitzenwert zu Effektivwert. Dein dissonantes Signal kommt mir ein bisschen so vor wie solch ein Schwingungsbild eines kaputten Lagers. Eine zweite Methode ist die Kurtosis des Signals, also ein Wert, der angibt, wie "gaußartig" das Signal ist. Ein reiner Sinus hat da einen niedrigen Wert, während ein normalverteiltes Rauschen zu hohen Werten führt, die bei enthaltenen Spitzen noch höher werden. Das ist jetzt recht heuristisch, aber schau doch mal, was für Werte Du da so bekommst. Vielleicht kann man so auch "schöne" von " hässlichen" Klängen unterscheiden. Viele Grüße Steffen |
||||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |

http://hubert.schoelnast.at/allerlei/SchwingungKonsonant.png