Machine Learning

Was ist ein Algorithmus?

Woher weiß eine Software, wer die Liebe meines Lebens ist? Das versprechen zumindest die großen Dating-Portale – dabei hat das Programm keine Ahnung von Partnerschaft, geschweige denn von Liebe. Aber es hat ein Werkzeug, das – richtig eingesetzt – sehr mächtig sein kann: den Algorithmus. Diesen möchte ich Ihnen heute näher vorstellen.

Definition eines Algorithmus

Der Begriff Algorithmus umfasst heute ein breites Spektrum von Verfahren der Mathematik und Informatik. Dementsprechend ist eine Definition immer sehr allgemein gehalten und liest sich je nach Quelle etwas anders. Grundsätzlich ist ein Algorithmus ein formal festgelegtes Verfahren, mit dem eine definierte Aufgabe nach einem strukturierten Schema gelöst wird.

In der Regel gibt es einen Eingabewert, der in einen Ausgabewert umgewandelt wird. Meist erfolgt dieser Vorgang schrittweise, wobei ein einfacher funktionaler Algorithmus auch aus nur einem (Rechen-)Schritt bestehen kann.

Was ist ein Algorithmus? Ein Eingabewert, der zu einem Ausgabewert umgeformt wird.
Was ist ein Algorithmus?

Das ist alles ziemlich theoretisch, weshalb ich an dieser Stelle schon einmal auf die praktischen Anwendungsmöglichkeiten vorgreifen möchte. Ein Algorithmus kann zum Beispiel genutzt werden, um das kleinste gemeinsame Vielfache von zwei Zahlen zu bestimmen.

Er eignet sich aber auch für sehr viel komplexere Aufgaben: Die Reihenfolge der Suchergebnisse bei Google wird ebenfalls von einem Algorithmus bestimmt.

Eigenschaften eines Algorithmus

Zurück zur Theorie: Welche Merkmale muss ein Verfahren haben, um als Algorithmus zu gelten? In der Informatik ist das klar definiert:

  1. Determinismus: Das Verfahren ist determiniert, weil zu einer bestimmten Eingabe jedes Mal dasselbe Resultat ausgegeben wird.
  2. Determiniertheit: Das Schema ist deterministisch, weil es jedem Teilergebnis einen eindeutigen nächsten Schritt zuordnet.
  3. Terminiertheit: Die Anzahl der Schritte ist endlich, das Verfahren liefert nach dem finalen Schritt ein Ergebnis.
  4. Finitheit: Der Algorithmus selbst muss eine endliche Beschreibung haben. Zudem muss der von ihm belegte Speicher zu jeder Zeit begrenzt sein.

Was ist der Unterschied zwischen Algorithmus und Programm?

Die (schrittweise) Umwandlung einer Eingabe in eine Ausgabe – das erinnert stark an ein Programm. Worin unterscheidet sich nun das algorithmische Vorgehen vom Programmieren? Kurz gesagt: durch die verwendete Sprache.

Im Detail heißt das: Ein Algorithmus in Form einer Handlungsanweisung oder eines Schemas existiert unabhängig von einer Sprache. Er ist die reine „Anweisung“, bestimmte Schritte nach einer vorgegebenen Struktur auszuführen. So kann ein Piktogramm zum „Verhalten im Notfall“ in gewisser Weise bereits ein Algorithmus sein.

In der Technik steht jedoch der Nutzen von Algorithmen für automatische, maschinelle Prozesse im Vordergrund. So ist es mit Hilfe ausgeklügelter Schemata möglich, große Datensätze zu analysieren – zum Beispiel bei Google. Doch damit das funktioniert, braucht der Algorithmus eine Sprache. Genauer gesagt: eine Programmiersprache.

Aufgabe des Entwicklers ist es, die formalen Vorgaben des Algorithmus in einer synthetischen Sprache wie Java auszudrücken. Dabei muss er nicht nur die konkrete „Rechenvorschrift“ korrekt erfassen, sondern auch die zugehörigen Datenbereiche.

Eine Herausforderung kann dabei die Umsetzung des Schemas mit den in der jeweiligen Sprache verfügbaren elementaren Operationen sein. Die vollständige Formulierung des Algorithmus mit all seinen Datenbereichen in einer Sprache wird als Programm bezeichnet.

Das Algorithmus-Prinzip ist schon lange bekannt, mindestens seit dem 9. Jahrhundert. Zu dieser Zeit forschte der Gelehrte al-Chwārizmī in Bagdad, sein latinisierter Name: Algorismi. An ihn ist der Fachbegriff angelehnt. Das strukturierte Herangehen an ein Problem ist hingegen vermutlich (fast) so alt wie die Menschheit selbst.

Schließlich lässt sich jedes Kochrezept als eine Art von Algorithmus auffassen. Tatsächliche Relevanz bekam das Prinzip jedoch erst in der Mathematik. Mit dem Gauß-Algorithmus ist es zum Beispiel möglich, beliebige lineare Gleichungssysteme zu lösen. Zugegeben, das ist eher trockene Materie.

Algorithmen finden sich jedoch auch im Alltag. Wenn Sie das nächste Mal vor einer roten Ampel stehen, können Sie das zugrundeliegende Programm wunderbar beobachten. Die Schaltung folgt einer genau definierten Abfolge von wiederkehrenden Befehlen.

An dieser Stelle möchte ich auf die eingangs erwähnte Suche nach der großen Liebe zurückkommen: Auch dafür gibt es algorithmenbasierte Programme. Die bekannten Dating-Portale analysieren die Eigenschaften ihrer Nutzer und suchen auf dieser Basis nach passenden Partnern.

Dabei fließen weit mehr Informationen ein als nur Körpergröße und Lieblingsessen. Die Software analysiert auch große Datenmengen, die bei der Nutzung des Portals anfallen. Dabei kommen die derzeit fortschrittlichsten Algorithmen-Entwicklungen zum Einsatz: Künstliche Intelligenz und maschinelles Lernen.

Algorithmen und Machine Learning

Machine Learning bezeichnet die Fähigkeit einer Software, selbstständig zu lernen und sich zu verbessern – das war lange Jahre den Menschen vorbehalten. Seit einiger Zeit zeigen sich jedoch auch Programme lernfähig. Die Erfahrungen, die beim Menschen die Grundlage für das Lernen bilden, sind im Fall von Software die Daten. Was macht ein Programm damit – und vor allem: Wie arbeitet die Künstliche Intelligenz?

Der „intelligente“ Part der Software ist der Algorithmus. Er wird oft dazu entwickelt, um Werte sinnvoll zu gruppieren oder Muster zu erkennen. Bestes Beispiel: die Kundensegmentierung auf Grundlage vorhandener Daten.

Benötigen Sie Unterstützung?

Gerne helfen wir Ihnen bei den ersten Schritten zur eigenen Datenplattform oder begleiten Sie auf Ihrem Weg zur Data Driven Company.

Jetzt anfragen

Größte Herausforderung ist hier die enorme Menge an gespeicherten Informationen (Stichwort: Big Data). Sie per Hand zu durchsuchen, ist unmöglich. Auch ist zu Beginn unklar, welche Gemeinsamkeiten zwischen Kunden überhaupt bestehen könnten. Hier greift die Künstliche Intelligenz. Sie ist auf Grundlage ihrer Basis-Algorithmen in der Lage, neue Strukturen zu erkennen und Muster zu identifizieren.

… wobei das nicht ganz richtig ist: Tatsächlich muss das Programm erst lernen, wie es arbeiten soll. In der sogenannten Trainingsphase richtet der Entwickler die Software so ein, dass sie „lernt, zu lernen“.

Damit sind Unternehmen in der Lage, vorhandene, aber bisher nicht genutzte Daten mehrwertschaffend zu analysieren. Im Bereich CRM wird dadurch beispielsweise eine persönliche und individuelle Kommunikation möglich, die sich in Form steigender Umsätze auszahlt. Weil Sie, bildlich gesprochen, in einem Berg aus Informationen nach wertvollen Erkenntnissen suchen, werden solche Programme auch unter dem Stichwort „Data Mining“ zusammengefasst.

Das Potential von Machine Learning zeigt sich darüber hinaus im digitalen Alltag, zum Beispiel auf Youtube. Hier nehmen die meisten den Algorithmus aus Kundenseite wahr: Er schlägt Videos vor, die zu den Interessengebieten des Nutzers passen. Es muss also nicht immer die Liebe des Lebens sein, die das Programm findet – es gibt viele spannende Möglichkeiten!

Weiterlesen

Clusteranalyse einfach erklärt

Clusteranalysen sind beliebte Methoden, um Daten nach einem Ähnlichkeitsmaß in homogene Gruppen einzuteilen. Sie finden Anwendung in Wirtschaft und Forschung. Dieser Artikel zeigt, was eine Clusteranalyse ist, welche Arten es […]

Was ist Unsupervised Learning (Unüberwachtes Lernen)?

Unsupervised Learning umfasst Methoden des maschinellen Lernens, bei denen das maschinelle Lernverfahren in nicht kategorisierten Daten nach bisher unbekannten Mustern und Zusammenhängen sucht. Dieser Prozess funktioniert mit minimaler menschlicher Intervention. […]

Künstliche Intelligenz einfach erklärt! Definition, Arten und wo KI eingesetzt wird

Künstliche Intelligenz (KI) ist ein Teilgebiet der Informatik und ermöglicht Maschinen autonom Probleme zu lösen und Entscheidungen zu treffen. Schon heute wird KI in vielen Anwendungen eingesetzt, um Prozesse zu […]

Amazon Personalize: Funktionen, Anwendung und Vorteile

Der von Amazon Web Services (AWS) angebotene Service namens Amazon Personalize bietet Nutzern die Möglichkeit, die gleiche Machine Learning-Technologie zur Personalisierung zu verwenden, welche Amazon selbst nutzt. Dazu werden vom Nutzer keinerlei Erfahrungen […]

Was ist ein Machine Learning Engineer?

Ein Machine Learning Engineer ist ein wichtiger Bestandteil eines Data Science Teams. Er kümmert sich darum, dass Machine Learning Modelle in Produktion eingesetzt und das alle nötigen Prozesse dafür ineinander […]

Amazon Comprehend: Anwendung, Funktionen und Vorteile

Amazon Web Services (AWS) stellt einen voll verwalteten Natural Language Processing-Service namens Amazon Comprehend zur Verfügung. Amazon Comprehend bietet dem Nutzer die Möglichkeit, Informationen aus Texten zu extrahieren und Zusammenhänge zu erkennen. Durch Amazon Comprehend lassen sich zudem Bereiche wie die Extraktion von […]

AWS Transcribe

AWS Transcribe ist ein von Amazon angebotener Service, der zur Transkription von Audiodateien und gesprochener Sprache in Textform genutzt wird. Auf Basis von Deep-Learning-Prozessen agiert der Dienst automatisiert und hilft bei der […]

Was ist Amazon SageMaker?

Amazon SageMaker ist eine Everything-as-a-service-Cloud-Maschinenlernplattform von Amazon Web Services. Amazon SageMaker wird vor allem von Datenwissenschaftler und Entwicklern genutzt, um Modelle auf Basis von Machine Learning, in der Cloud zu erstellen, trainieren und einzusetzen. Das […]

Was ist Supervised Learning (Überwachtes Lernen)?

Supervised Learning ist eine Methode des maschinellen Lernens, welche aufgrund einer Analyse von Eingangsdaten mit vorgegebener Zielvariable präzise Empfehlungen ausgibt und Prognosen macht. Dieser Prozess ist durch die notwendige Datenvorverarbeitung […]
Newsletter und Updates

Sie sehen gerade einen Platzhalterinhalt von HubSpot. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
Erstgespräch vereinbaren