Feature Extraction
Auf der vorherigen Seite wurden bereits Merkmale eines Datensatzes betrachtet, zum Beispiel duration_s, dominant_frequency_hz oder spectral_centroid_hz.
Dabei stellt sich nun eine wichtige Frage:
Woher kommen solche Merkmale eigentlich?
Beim maschinellen Lernen liegen Daten oft nicht sofort als fertige Tabelle mit Spalten und Zahlen vor. Häufig beginnt man mit Rohdaten, etwa mit Texten, Bildern, Videos, Messwertreihen oder Audioaufnahmen. Damit ein Lernverfahren damit arbeiten kann, müssen daraus oft erst geeignete Merkmale gewonnen werden.
Diesen Verarbeitungsschritt nennt man Feature Extraction oder Merkmalsextraktion.
Feature Extraction ist der Schritt, in dem aus Rohdaten beschreibende Merkmale gewonnen werden. Diese Merkmale heißen im maschinellen Lernen Features und erscheinen in einer Tabelle als statistische Variablen.
Rohdaten und Merkmale
Rohdaten können sehr unterschiedlich aussehen. Ein Text besteht zunächst aus Zeichen und Wörtern, ein Bild aus Pixeln, ein Video aus vielen aufeinanderfolgenden Bildern und eine Audioaufnahme aus einem zeitlich veränderlichen Signal.
Solche Rohdaten sind zwar oft bereits digital gespeichert, aber sie liegen noch nicht unbedingt in einer Form vor, in der ein Lernverfahren direkt sinnvoll damit arbeiten kann.
Erst durch geeignete Verarbeitungsschritte werden daraus Merkmale, mit denen man später Datenpunkte vergleichen, statistische Auswertungen vornehmen oder ein Modell trainieren kann.
Rohdaten sind der Ausgangspunkt. Merkmale sind die beschreibenden Größen, die aus den Rohdaten gewonnen werden.
Welche Arten von Rohdaten kommen häufig vor?
In der Informatik und besonders in der Data Science begegnet man vielen unterschiedlichen Arten von Rohdaten, zum Beispiel:
- Textdaten, etwa Nachrichtenartikel, E-Mails oder Chatnachrichten
- Bilddaten, etwa Fotos, Satellitenbilder oder medizinische Aufnahmen
- Audiodaten, etwa Sprache, Musik oder Tierstimmen
- Videodaten, also Folgen von Bildern mit Ton
- Zeitreihendaten, etwa Wetterwerte, Aktienkurse oder Sensorsignale
- tabellarische Daten, etwa Messdaten, Umfragedaten oder Verkaufsdaten
Manche Daten liegen bereits in Tabellenform vor. Andere müssen erst so verarbeitet werden, dass daraus geeignete Merkmale entstehen.
Bei tabellarischen Daten können manche Merkmale schon direkt als Spalten vorliegen. Bei Audio, Bildern oder Texten ist das oft nicht so. Dort braucht man meist zusätzliche Verarbeitungsschritte, um aus den Rohdaten beschreibende Merkmale zu gewinnen.
Von Rohdaten zu Merkmalen
Wie Feature Extraction genau aussieht, hängt von der Art der Daten ab.
- Bei Texten kann man zum Beispiel Wortanzahlen, Worthäufigkeiten oder Satzlängen bestimmen.
- Bei Bildern kann man zum Beispiel Farben, Kanten oder Formen beschreiben.
- Bei Zeitreihen kann man zum Beispiel Mittelwerte, Trends oder Schwankungen betrachten.
- Bei Audiodaten kann man zum Beispiel Dauer, Energie oder typische Frequenzbereiche messen.
In diesem Kapitel geht es um Audioaufnahmen von Froschrufen. An ihnen lässt sich gut erkennen, wie aus einer Rohaufnahme Schritt für Schritt Merkmale für einen Datensatz entstehen.
Beispiel: Froschrufe als Audiodaten
In unserem Beispiel liegen die Rohdaten nicht sofort als fertige Tabellenzeile vor, sondern als Audioaufnahmen von Froschrufen.
Eine solche Aufnahme ist zunächst ein digitales Signal. Es beschreibt, wie sich der Schalldruck im Zeitverlauf ändert. Im Computer wird dieses Signal als Folge vieler Abtastwerte gespeichert.
Diese vielen einzelnen Werte sind zwar bereits Zahlen, aber noch nicht automatisch die Merkmale, mit denen man verschiedene Froschrufe gut vergleichen kann. Deshalb werden aus der Aufnahme weitere beschreibende Größen berechnet.
Genau darin besteht hier die Feature Extraction: Aus dem Rohsignal werden Merkmale gewonnen, die wichtige Eigenschaften des Rufs zusammenfassen.
Was ist hier ein Merkmal?
Ein Merkmal in diesem Zusammenhang ist eine beschreibende Eigenschaft eines Audiosegments, zum Beispiel seine Dauer, seine Energie oder eine charakteristische Frequenz.
Welche Merkmale werden hier betrachtet?
Bei diesem Datensatz werden zum Beispiel folgende Merkmale betrachtet:
duration_s
Dauer des Audiosegments in Sekundenrms_energy
Ein Maß für die mittlere Signalstärke oder Energiespectral_centroid_hz
Der spektrale Schwerpunkt in Hertz, also vereinfacht gesagt der "Helligkeitsschwerpunkt" des Klangsdominant_frequency_hz
Die dominante Frequenz in Hertz, also die Frequenz mit besonders starker Ausprägung im Signalonset_count
Anzahl erkannter Einsätze oder Impulse
Diese Merkmale werden später als Spalten in einer Tabelle gespeichert. Jedes Audiosegment liefert also eine neue Zeile mit konkreten Merkmalswerten.
Feature-Extraction (Merkmalsextraktion)
Feature Extraction bezeichnet den Verarbeitungsschritt, bei dem aus Rohdaten beschreibende Merkmale gewonnen werden, die für Analysen oder für maschinelles Lernen genutzt werden können. Bei einer einzelnen Rohaufnahme entsteht dabei zunächst eine Zeile mit Merkmalswerten. Viele solcher Zeilen zusammen bilden dann den Datensatz.
Signal, Spektrogramm und Analyse
Um zu verstehen, wie man aus einer Tonaufnahme Merkmale gewinnt, ist es hilfreich, das Audiosignal in verschiedenen Darstellungen zu betrachten.
Die folgende interaktive Darstellung zeigt ein echtes Audiosegment aus dem Datensatz. Sichtbar sind die Wellenform im Zeitbereich und das Spektrogramm als Frequenz-Zeit-Darstellung.
Ein Froschruf als Signal und Spektrogramm
Hier siehst du ein echtes Audiosegment aus dem Datensatz. Links ist die Wellenform im Zeitbereich zu sehen, rechts das Spektrogramm auf Basis einer STFT.
Was zeigt die Darstellung?
Die Visualisierung zeigt dasselbe Audiosignal aus verschiedenen Blickwinkeln.
Wellenform im Zeitbereich
Die Wellenform zeigt, wie sich das Signal über die Zeit verändert. Dort kann man zum Beispiel erkennen,
- wann der Ruf beginnt und endet,
- wie lange er dauert,
- und in welchen Abschnitten das Signal besonders stark ist.
Die Darstellung im Zeitbereich ist besonders nützlich, wenn man die zeitliche Struktur eines Signals betrachtet.
Spektrogramm als Frequenz-Zeit-Darstellung
Das Spektrogramm zeigt nicht nur, wann etwas passiert, sondern auch, welche Frequenzen in einem bestimmten Zeitabschnitt vorkommen.
Dazu wird das Signal in viele kurze Zeitfenster zerlegt. Für jedes dieser Fenster wird untersucht, welche Frequenzanteile darin enthalten sind. So entsteht eine Darstellung, in der Zeit und Frequenz gemeinsam sichtbar werden.
Helle Bereiche stehen dabei für Bereiche mit stärkerer Signalenergie.
STFT als Analyseverfahren
Ein wichtiges Verfahren zur Erzeugung eines Spektrogramms ist die Short-Time Fourier Transform (STFT).
Dabei wird das Signal nicht als Ganzes untersucht, sondern in vielen kurzen Fenstern. Für jedes dieser Fenster wird berechnet, welche Frequenzen darin enthalten sind.
So kann man sehen, wie sich die Frequenzzusammensetzung des Signals über die Zeit verändert. Gerade bei Lauten, Sprache oder Tierstimmen ist das wichtig, weil sich die interessanten Strukturen im Verlauf des Signals ändern können.
Definition: Die Short-Time Fourier Transform (STFT) ist ein Verfahren, bei dem ein Signal in kurze Zeitfenster zerlegt wird, um für jedes Fenster die enthaltenen Frequenzen zu analysieren.
Warum lassen sich Parameter verändern?
In der Visualisierung können Parameter wie Fensterfunktion, Fensterlänge, Overlap oder DFT-Länge verändert werden.
Das zeigt: Eine Frequenz-Zeit-Darstellung entsteht nicht einfach automatisch, sondern hängt von Analyseentscheidungen ab.
Zum Beispiel gilt:
- kleinere Fenster liefern meist eine feinere Auflösung in der Zeit,
- größere Fenster liefern meist eine genauere Auflösung in der Frequenz,
- Overlap bestimmt, wie stark benachbarte Fenster einander überlappen,
- Zero-Padding kann die Darstellung auf der Frequenzachse feiner abstufen.
Diese Einstellungen ändern nicht den Froschruf selbst, aber sie beeinflussen, wie das Signal analysiert und sichtbar gemacht wird.
Wie entstehen daraus Daten für eine Tabelle?
Aus einer Audioaufnahme wird nicht direkt eine Tabellenzeile. Dazwischen liegen mehrere Verarbeitungsschritte.
Typischer Ablauf
- Ein Mikrofon nimmt einen Froschruf auf und speichert ihn als Audiodatei.
- Das Audiosignal wird digital als Folge vieler Abtastwerte dargestellt.
- Das Signal wird analysiert, zum Beispiel mit einer STFT.
- Aus dem Signal oder aus daraus gewonnenen Darstellungen werden beschreibende Merkmale berechnet.
- Diese Merkmale werden als Werte in einer Tabellenzeile gespeichert.
- Viele solcher Zeilen zusammen bilden einen Datensatz.
Man kann den Ablauf auch so zusammenfassen:
| Stufe | Beispiel |
|---|---|
| Rohdaten | .wav-Datei mit einem Froschruf |
| Signal im Zeitbereich | Folge von Amplitudenwerten |
| Frequenz-Zeit-Darstellung | Spektrogramm aus einer STFT |
| Extrahierte Merkmale | duration_s, rms_energy, spectral_centroid_hz, dominant_frequency_hz, onset_count |
| Datensatz | eine Tabellenzeile mit diesen Merkmalswerten |
Merksatz
Feature Extraction verbindet die Rohdaten mit dem späteren Datensatz. Aus einer Aufnahme werden Merkmalswerte, aus vielen Merkmalszeilen wird eine Lerntabelle.
Warum ist Feature Extraction wichtig?
Viele Lernverfahren arbeiten besser, wenn die wichtigsten Eigenschaften eines Signals bereits in kompakter Form beschrieben sind.
Das hat mehrere Vorteile:
- Die Daten werden kompakter.
- Verschiedene Aufnahmen werden leichter vergleichbar.
- Wichtige Eigenschaften werden gezielt beschrieben.
- Aus vielen einzelnen Aufnahmen entsteht ein einheitlicher Datensatz.
- Auf diesem Datensatz kann man später Verfahren des maschinellen Lernens anwenden.
Im Beispiel der Froschrufe kann ein Modell später lernen, aus den extrahierten Merkmalen vorherzusagen, zu welcher Froschart ein neues Audiosegment gehört.
Einordnung
Die Grundidee der Feature Extraction gilt nicht nur für Audiodaten.
Auch bei anderen Datenarten werden oft zuerst Merkmale gewonnen:
- Bei Texten zum Beispiel Wortanzahlen oder Häufigkeiten
- Bei Bildern zum Beispiel Farben, Kanten oder Formen
- Bei Zeitreihen zum Beispiel Mittelwerte, Trends oder charakteristische Schwankungen
Das Audio-Beispiel zeigt also einen speziellen Fall eines allgemeinen Prinzips:
Rohdaten werden verarbeitet, daraus entstehen Merkmale, und diese Merkmale bilden später die Grundlage für einen Datensatz und für maschinelles Lernen.
Zusammenfassung
Merksatz
Feature Extraction ist der Schritt, in dem aus Rohdaten beschreibende Merkmale gewonnen werden. Diese Merkmale heißen im maschinellen Lernen Features und erscheinen in einer Tabelle als statistische Variablen.
Am Beispiel der Froschrufe sieht man diesen Übergang besonders gut:
- Die Rohdaten sind Audioaufnahmen.
- Daraus wird ein digitales Signal.
- Mit Verfahren wie der STFT lassen sich wichtige Strukturen des Signals untersuchen.
- Anschließend werden Merkmale wie Dauer, Energie oder dominante Frequenz berechnet.
- Diese Merkmale werden als Spalten eines Datensatzes gespeichert.
So wird aus einer Rohaufnahme eine Form von Daten, mit der man statistisch arbeiten und später ein Modell trainieren kann.
