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.
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
Wie funktionieren Algorithmen
Algorithmen müssen über fünf Eigenschaften verfügen, um zu funktionieren:
- Inputs: Klar definierte Daten, die während der Berechnung umgewandelt werden.
- Outputs 2:
- Eindeutigkeit: Besondere Berechnungsschritte.
- Effektivität: Durchführbare Berechnungsschritte.
- 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?
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.