Algorithmen

Was ist das und was ist daran wichtig?

Ein Algorithmus ist eine Schritt-für-Schritt-Anweisung, die dazu dient, eine bestimmte Aufgabe zu erfüllen oder ein bestimmtes Problem zu lösen. Wenn man es so betrachtet, sind Algorithmen allgegenwärtig. Ein Rezept für französische Zwiebelsuppe ist beispielsweie ein Algorithmus. Kombinieren Sie diese Eingaben, um Ergebnisse zu generieren. Bei Computern funktionieren Algorithmen im Grunde genauso. Egal, ob sie binäre Zahlen in Buchstaben umwandeln, um lesen zu können, was auf dem Bildschirm Ihres Tablets steht, oder ob sie auf der Grundlage Ihrer Risikobereitschaft Aktien empfehlen – Algorithmen sind ein wesentlicher Bestandteil der modernen Computertechnik. Diese Seite konzentriert sich auf Computeralgorithmen.

Historie der Algorithmen

Algorithmen scheinen eine moderne Erfindung zu sein, aber der Ursprung geht tatsächlich ein Jahrtausend zurück, als der persische Mathematiker Muḥammad ibn Mūsā al-Khwārizmī (latinisiert als „Algoritmi“) signifikante mathematische Akzente setzte. Im 18. Jahrhundert entwickelte der deutsche Mathematiker Carl Friedrich Gauß einen einfachen Algorithmus, mit Hilfe dessen er den Tag im Kalenderjahr bestimmen konnte, auf den Ostern fiel.

Algorithmen feierten ihr IT-Debüt Mitte des 20. Jahrhunderts, als der berühmte britische Informatiker Alan Turing eine Theorie aufstellte, wie Maschinen eine komplexe Reihe von Anweisungen ausführen könnten. Obwohl sein simpler schachspielender Algorithmus „Turochamp“ zu Turings Lebzeiten nie einen Menschen besiegte, bildete er die Grundlage für das, was wir heute als künstliche Intelligenz kennen.

Als sich die Rechenleistung in den folgenden Jahrzehnten steigerte, wurde auch der Bedarf an komplexeren Algorithmen größer. Heute sind Algorithmen für die moderne Datenverarbeitung von essenzieller Bedeutung. Sie helfen uns, von A nach B zu fahren, den nächsten Film zu wählen oder sogar uns zu verlieben.

Viele Computerprogramme sind im Grunde eine Abfolge von Algorithmen, die so geschrieben sind, dass der Computer sie versteht.

Herstellende Industrie

Predictive Analytics und AI sorgen für optimale Kundenzufriedenheit.

Das Basketballteam Orlando Magic nutzt Daten aus mobilen Apps und Algorithmen des Machine Learning, um das Fanerlebnis zu personalisieren und einen vierfachen Anstieg der App-Käufe zu erzielen.

Algorithmen heute

Da Algorithmen immer mehr menschliche Entscheidungen in der Gesellschaft ersetzen, haben einige das Potenzial, unser Leben zu verändern. Aus diesem Grund plädieren einige dafür, dass wir die Gleichbehandlung im Zusammenhang mit Algorithmen weiter prüfen sollten, insbesondere in der Strafjustiz und im Gesundheitswesen.1

Sind Sie neugierig, wer die Algorithmen entwickelt, die die Gesellschaft sichtlich verändern werden? Dieses Whitepaper der Harvard Business Review befasst sich mit den Menschen hinter den Fortschritten in der Computertechnik und Automatisierung, die die Welt grundlegend verändern.

Algorithmen können sogar bei der Rettung des Regenwaldes helfen. Indem sie jeden Tag Millionen von Bildern nach frühen Anzeichen von Abholzung durchsuchen, können Computer-Vision-Algorithmen den politischen Entscheidungsträgern und Hilfsorganisationen helfen, gefährdete Wälder zu schützen, bevor es zu spät ist.

Der Netflix-Algorithmus

Während Sie Netflix schauen, werden Sie von Algorithmen beobachtet. Die sogenannte Netflix Recommendation Engine umfasst ausgeklügelte, unternehmenseigene Algorithmen, die in der Lage sind, valide Vorhersagen darüber zu treffen, welchen Film Sie sich aus dem Netflix-Angebot als nächstes ansehen werden. Heute werden 80 % der Bildschirmzeit von Netflix durch Personalisierung generiert. Der Algorithmus umfasst u. a. Ihre bisherigen Fernsehgewohnheiten, Ihre Lieblingsgenres und die Tageszeit, zu der Sie sich etwas ansehen. Je mehr Netflix Sie schauen, desto genauer werden die Algorithmen, was Sie wiederum dazu animiert, noch mehr Netflix zu schauen, und so weiter. 

Wie funktionieren Algorithmen

Algorithmen müssen über fünf Eigenschaften verfügen, um zu funktionieren:

  1. Inputs: Klar definierte Daten, die während der Berechnung umgewandelt werden. 
  2. Outputs 2:

  3. Eindeutigkeit: Besondere Berechnungsschritte. 
  4. Effektivität: Durchführbare Berechnungsschritte. 
  5. Endlichkeit: Endliche Schrittanzahl

Das führt uns zu mathematischen und regelbasierten Algorithmen.

Mathematische Algorithmen
Da die meisten Algorithmen zahlenbasiert sind, ist es nicht verwunderlich, dass viele von ihnen auf Mathematik basieren. Das einfachste Beispiel dafür lautet: 1 + 1 = 2. Es handelt sich um einen mathematischen Algorithmus, bei dem die Einsen die Eingaben und die Zwei die Ausgaben sind. Wenn man dieses Beispiel hochrechn et, erhält man einige der wichtigsten Algorithmen, die heute verwendet werden. Dazu gehören Algorithmen, die Signale in Frequenzen zerlegen, Computer codieren und sogar das Google-Suchranking einer Website bestimmen.

Regelbasierte Algorithmen
Je mehr Menschen über KI lernen, umso mehr zeigt sich, dass manche Zusammenhänge nicht allein durch mathematische Konstrukte erklärt werden können. Wenn Sie beispielsweise eine Textanalysesoftware entwickeln und einen Algorithmus zur Pluralisierung eines Substantivs benötigen, können Sie nicht einfach ein „-s“ an jedes Substantiv anhängen. Denken Sie an Ausnahmen wie „Matrix“ und „Matrizen“. Für solche Ausnahmefälle gibt es Regeln. Regelbasierte Algorithmen eignen sich am besten für die Analyse von Daten, die eine Mischung aus numerischen und qualitativen Attributen enthalten.

Natürlich können Sie zur Problemlösung mehr als eine bestimmten Algorithmustyp verwenden – beispielsweise zur Einkommensprognose einer Person. Zur Berechnung könnten Sie einen mathematischen Algorithmus verwenden, bei dem Sie Variablen wie Alter, Wohnort, Bildung usw. gewichten. Oder Sie könnten einen regelbasierten Algorithmus verwenden, der das Einkommen z. B. nach Alter und Postleitzahl vorhersagt. Aber welcher ist am besten geeignet?

Das bringt uns zu konkurrierenden Algorithmen. Zur Ermittlung der effektivsten Algorithmen werden diese oft gegeneinander eingesetzt. Um auf unser Suppenbeispiel zurückzukommen: Sie können konkurrierende Rezepte haben, wie man eine französische Zwiebelsuppe zubereitet. Ähnlich verhält es sich bei Computeralgorithmen. Vielleicht ist Algorithmus A langsamer, aber genauer als Algorithmus B. Jedoch ist B einfacher zu validieren. Welcher Algorithmus für eine bestimmte Aufgabe der richtige ist, hängt von den verschiedenen Kriterien ab, nach denen Sie ihn beurteilen. Hat er die Aufgabe erfüllt? Hat er die Aufgabe schnell erfüllt? Hat er die Aufgabe effizient erfüllt?

Von der Natur inspiriert

Die meisten KI-Projekte stützen sich heute auf mehrere Data-Science-Technologien. Laut Gartner wird die Kombination verschiedener KI-Techniken, um das beste Ergebnis zu erzielen, als „Composite AI“ (dt. Zusammengesetzte KI) bezeichnet.

Algorithmen können als eine Verknüpfung des menschlichen Denkens betrachtet werden. Deshalb sind sie oft von Naturelementen inspiriert. Genetische Algorithmen kopieren beispielsweise die biologische Entwicklung von Organismen. Diese Art von Algorithmen fügen Kombinationsentscheidungspunkte zusammen, um Nachkommen mit den Eigenschaften ihrer Eltern zu erzeugen. Neuronale Netze sind ebenfalls vom lebenden Gehirn abgeleitet und werden zur Lösung verschiedener Probleme eingesetzt, z. B. bei Computer Vision und bei Sprachtechnologien.

Beliebte Arten von Algorithmen

Algorithmen können sinnvollerweise in Basis- und Aufbaualgorithmen eingeteilt werden.

Basic
Es mag Ihnen nicht bewusst sein, aber selbst die grundlegendsten Computerfunktionen werden von Algorithmen gesteuert.Hier ein Überblick über drei grundlegende Algorithmen, die heute weit verbreitet sind.

Komprimierungsalgorithmen
Bei der Nutzung eines PCs machen die meisten Menschen etwas Grundlegendes, wie einen Artikel lesen oder Bilder anschauen. Dies ist Algorithmen zu verdanken, die Dateien komprimieren, damit sie angezeigt, weitergegeben und wiederhergestellt werden können. Nehmen Sie beispielsweise eine JPG-Datei. Wenn Sie ein Bild des neuen Baumhauses Ihres Neffen betrachten, sehen Sie in Wirklichkeit ein Bitmap-Bild, das einen verlustbehafteten Komprimierungsalgorithmus durchlaufen hat, um Millionen von numerischen Pixeldarstellungen in das Bild auf Ihrem Bildschirm umzuwandeln, das Sie zum Lächeln bringt. 

Binärer Suchalgorithmus
Die binäre Suche ist ein schneller Suchalgorithmus, der auf der Grundlage von „Teilen und Erobern“ arbeitet. Angenommen, Sie suchen auf Ihrem Laptop nach 2020Steuererklärung.PDF. Die binäre Suche besteht darin, dass der in der Mitte des Datensatzes liegende Suchbegriff ausgewählt und geprüft wird, ob die gefundene subject_id der gewünschten subject_id entspricht. Wenn ja, stoppt der Algorithmus. Ist das nicht der Fall, kann der Algorithmus (da die Tabelle sortiert ist) feststellen, ob der gewünschte Suchbegriff über oder unter der gefundenen liegt, und den Suchbereich auf die Hälfte der Originaldatei neu festlegen. Der Algorithmus wählt dann den Suchbegriff in der Mitte des neuen Suchbereichs aus, und der Vorgang wird wiederholt, bis das PDF gefunden wurde. Und ja, Sie haben letztes Jahr tatsächlich zu wenig Steuern gezahlt. 

Multiplikationsalgorithmus
Die Algorithmen werden noch einfacher als oben beschrieben. Einer der beliebtesten Algorithmen ist einer, der Zahlen multipliziert. Für fast alles, was man mit einem Algorithmus macht, müssen zwei oder mehr Zahlen multipliziert werden. Selbst in einem wortbasierten Bereich wie der Textanalyse werden Dinge wie Worthäufigkeiten und Dokumenthäufigkeiten ausgewertet, und oft gibt es einen Multiplikator. 

Komplexe Algorithmen
Am anderen Ende des Leistungsspektrums stehen komplexe Algorithmen. Diese bauen auf grundlegenden Algorithmen mit neuen Ideen auf. Außerdem erfordern sie oft die Verarbeitung großer Datenmengen.

Machine Learning-Algorithmen
Beim Machine Learning werden Algorithmen eingesetzt, die Eingabedaten empfangen und analysieren, um Ausgabewerte innerhalb eines akzeptablen Bereichs vorherzusagen. Das Geniale an diesen Algorithmen ist, dass sie von anderen Algorithmen lernen. Wenn die Machine Learning-Algorithmen mit neuen Daten gefüttert werden, lernen sie und optimieren gleichzeitig ihre Arbeitsabläufe, was widerum zur Leistungssteigerung führt und entwickeln im Laufe der Zeit Intelligenz. Es gibt vier Arten von Algorithmen für Machine Learning: überwachte, halbüberwachte, unüberwachte und verstärkende Algorithmen.

Deep Learning-Algorithmen
Deep Learning-Algorithmen verwenden mehrere Schichten, um schrittweise höherwertige Merkmale aus den Eingabedaten zu extrahieren. Durch Nachahmung des menschlichen Gehirns versuchen diese Algorithmen, ähnliche Schlussfolgerungen zu ziehen wie der Mensch, indem sie kontinuierlich Daten mithilfe von sogenannten künstlichen neuronalen Netzen analysieren. Die Ergebnisse dieser komplexen Algorithmen können bahnbrechend sein, wie z. B. selbstfahrende Autos oder die Übersetzung von Büchern aus dem Englischen ins Arabische in sekundenschnelle.

Gradient Boosting-Algorithmen
Mithilfe von Prognosemodellen können Unternehmen Umsätze einschätzen und die Preisgeststaltung für Waren auf der Grundlage der erwarteten Nachfrage festlegen. Gradient Boosting ist ein leistungsfähiger Algorithmus zur Erstellung solcher Prognosemodelle. Dabei werden schwache Entscheidungsbäume zu Starken überführt, so dass die Prognosegenauigkeit verbessert wird. Der Algorithmus ist bekannt für seine Geschwindigkeit und Genauigkeit, insbesondere bei großen und komplexen Datensätzen. 

Welchen Algorithmus sollten Sie verwenden?

Anfänger wollen normalerweise wissen, welchen Algorithmus sie verwenden sollen. Die Antwort ist von mehreren Faktoren abhängig, zum Beispiel:

  • Umfang, Qualität und Art der Daten. 
  • Verfügbare Berechnungszeit. 
  • Dringlichkeit der Aufgabe. 
  • Verwendungszweck der Daten

Selbst ein erfahrener Data Scientist kann nicht vorhersagen, welcher Algorithmus am besten funktioniert, bevor er nicht verschiedene ausprobiert hat. Bei der Auswahl eines Algorithmus sollten folgende Aspekte berücksichtigt werden: Genauigkeit, Trainingszeit und Benutzerfreundlichkeit. Für viele Nutzer steht die Genauigkeit an erster Stelle, während Anfänger eher Algorithmen wählen, die sie am besten kennen. Wenn man einen Datensatz vor sich hat, muss man sich zunächst überlegen, wie man zu Ergebnissen kommt, egal wie diese aussehen mögen. Sobald Sie Ergebnisse erhalten und sich mit den Daten vertraut gemacht haben, können Sie mehr Zeit damit verbringen, fortgeschrittenere Algorithmen zu verwenden, um Ihr Verständnis der Daten zu vertiefen und so die Ergebnisse weiter zu verbessern. Erfahren Sie mehr über die Auswahl von Algorithmen.

Nächste Schritte

Wenn Sie etwas über Algorithmen lernen wollen, ist SAS der perfekte Ausgangspunkt dafür.

Noch vor einem Jahrzehnt erforderte die Arbeit mit Algorithmen einen Hochschulabschluss und ein immenses mathematisches Verständnis und sowie Informatik-Kenntnisse. Heute sind selbst die ausgefeiltesten Algorithmen der Welt in einer Software zusammengefasst, sodass selbst erfahrene Anwender bahnbrechende Ergebnisse erzielen können, ohne sich mit Formeln herumschlagen zu müssen.  

Eine solche Lösung bietet Ihnen SAS® Visual Data Mining and Machine Learning. Diese Lösung enthält einige der fortschrittlichsten Algorithmen weltweit. Sie ermöglicht Anwendern aller Fachrichtungen, komplexe analytische Probleme zu lösen. Die hochbewertete Software bietet eine Fülle von Algorithmen, mit deren Hilfe Sie z. B. Prognosemodelle erstellen und profitable Geschäftsmöglichkeiten erkennen können.

Setzen Sie sich mit uns in Verbindung