Grundlegene Begriffe des Machine Learnings

Tritt man als Neuling an das Thema Machine Learning heran, gibt es eine Vielzahl von Begriffen, die kompliziert klingen. Was dann noch dazu kommt ist die verwendete Programmiersprache. Für mich zum Beispiel war die Programmiersprache Python neu. Ich hatte allerdings Erfahrung mit Matlab, was zum Glück sehr änlich zu handhaben ist. Auch die Konzepte der prozeduralen wie auch objektorientierten Programmierung sind mir bekannt. Dennoch ist es halt immer eine Komplexitätsstufe mehr, die dazu kommt.

Grundsätzlich kann man sagen, dass sich viele Begriffe auf die lineare Algebra stützen. Besonders oft hat man mit Matrizen und Vektoren zu tun, da man darin bequem die Daten speichern kann.

Es geht also um das Zusammenspiel zwischen Python, Machine Learning und linearer Algebra. Ich bin mir aber sicher, dass jemand, der an den Themen interessiert ist, sich gut in die Themen einarbeiten kann. Einfach immer daran denken: Wenn man nicht mehr weiterweiss, einen Schritt zurückgehen und das Thema an kleinen Beispielen anschauen, bevor man sich wieder dem Grossen stellt.

Was ist ein Objekt?

Stellen wir uns vor, wir hätten eine Datensammlung von Tieren. Konkret haben wir momentan fünf Tiere darin: Elefant, Affe, Esel, Giraffe und Schlängli.

Jedes Tier ist ein Objekt, also haben wir 5 Objekte. Ein Objekt ist ein generischer Begriff. Es können auch Blumen, Berge, Seen, Konten, Adressen oder sonst etwas sein.

Alternative Bezeichnungen: Instanz oder Beobachtung

Was ist ein Merkmal?

Jedes unserer Tiere hat gewisse Eigenschaften. Diese werden Merkmale genannt. Bei unseren Daten haben wir momentan nur zwei Merkmale: „Hat vier Füsse“ und „Hat Rüssel“.

Alternative Bezeichnungen: Attribute, Messwerte, Dimensionen

Besonders beliebt ist die alternative Bezeichnung „Dimension“. Natürlich kann man sich nun bei 10 Merkmalen einen komplizierten 10 dimensionalen Raum vorstellen und das Gehirn bei dessen Vorstellung heiss laufen lassen. Man kann aber auch einfach denken „Ah ja, 10 Dimensionen = 10 Merkmale, easy“.

Was ist eine Klassenbezeichnung?

Eine Klassenbezeichnung ist quasi das Resultat unserer Arbeit. Am Ende wollen wir wissen, ob das Objekt in der Eingabe ein Elefant oder eine Giraffe ist.

Da jedes Objekt am Ende einer Klasse zugewiesen wird, gibt es am Ende also genausoviele Klassenbezeichnungen wie Objekt – und somit mehrere Einträge, die ein Elefant sein können.

Und wie hängen diese drei Dinge zusammen?

Das Objekt ist quasi die Nummerierung der Objekte. Elefant 1, Giraffe 2, Affe 3, Affe 4 etc. Die Merkmale kann man sich vorstellen als Parameter einer Java Funktion – und je nach Parameter oder Eigenschaft kommt dabei eine bestimmte Klasse heraus. Mathematisch können wir diese Ausgabe beziehungsweise die Klassenbezeichnung als y bezeichnen.

Schlussendlich macht man am einfachsten eine Matrix, in der die erste Spalte die Objekt enthält, in der Mitte liegen die Merkmale und in der letzten Spalte ist dann das Resultat.

Wie speichert man diese Werte in einer Matrix ab?

Unsere Datensammlung hat fünf Tiere, welche zwei Merkmale haben. Dies ergibt eine 5 mal 2 Matrix, welche wir mit x bezeichnen. Ein hochgestellter Index (i) steht dabei für das jeweilige Objekt. Ein tiefgestellter Index j steht für das Merkmal. Man kann sich das so merken, dass das Objekt quasi wichtiger ist als seine Merkmale – Weil man zuerst den Affen haben muss, bevor man schauen kann, ob er einen Rüssel hat. Also liest man beim x von oben nach unten zuerst die Objektnummer und dann die Nummer des Merkmals.

Das Resultat wird normalerweise in einem Vektor y gespeichert, der genausoviele Einträge hat, wie es Objekte gibt.

Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s