{"id":164977,"date":"2026-01-28T16:58:46","date_gmt":"2026-01-28T15:58:46","guid":{"rendered":"https:\/\/liora.io\/de\/?p=164977"},"modified":"2026-02-06T04:21:32","modified_gmt":"2026-02-06T03:21:32","slug":"gradient-boosting-algorithmen","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/gradient-boosting-algorithmen","title":{"rendered":"Boosting-Algorithmen \u2013 AdaBoost, Gradient Boosting, XGBoost"},"content":{"rendered":"<p><strong>Wenn du dich f\u00fcr Machine-Learning-Algorithmen interessierst, hast du bestimmt schon einmal irgendwo die W\u00f6rter &#8222;Boosting&#8220; oder &#8222;Boost&#8220; gesehen. Man findet sie in einer Vielzahl von Algorithmus-Wettbewerben und sie erzielen oft sehr gute Ergebnisse. Aber was genau ist Boosting?<\/strong><\/p>\nIn diesem Artikel lernst du den Unterschied zwischen einem Boosting- und einem Bagging-Algorithmus kennen. Danach wirst du die Funktionsweise der Boosting-Algorithmen AdaBoost, Gradient Boost und XGBoost verstehen.\n<h2 class=\"wp-block-heading\" id=\"h-bagging-boosting-was-genau-ist-das\">Bagging, Boosting, was genau ist das?<\/h2>\n<h3 class=\"wp-block-heading\" id=\"h-bagging\">Bagging<\/h3>\nUm zu definieren, was Boosting ist, sollte zun\u00e4chst definiert werden, was Bagging ist.&nbsp;\n\nBagging ist eine Technik in der k\u00fcnstlichen Intelligenz, bei der eine gro\u00dfe Anzahl von Algorithmen mit geringer Einzelleistung zu einem viel effizienteren Algorithmus zusammengestellt wird. Die Algorithmen mit geringer Leistung werden als &#8222;weak learners&#8220; bezeichnet und das resultierende Ergebnis als &#8222;strong learner&#8220;.&nbsp;\n\nDie Idee hinter diesem Algorithmus ist, dass viele kleine Algorithmen effizienter sein k\u00f6nnen als ein gro\u00dfer Algorithmus.\n\n<img decoding=\"async\" width=\"768\" height=\"464\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/bagging.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/bagging.webp 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/bagging-300x181.webp 300w\" sizes=\"(max-width: 768px) 100vw, 768px\">\n\nEinfach gesagt, kann man sich diesen Prozess gedanklich als einen gro\u00dfen <b>Wald <\/b>aus kleinen <b>Str\u00e4uchern <\/b>verschiedener Arten vorstellen. Durch die Vielfalt der B\u00e4ume, aus denen der Wald besteht, ist er witterungsbest\u00e4ndiger als eine gro\u00dfe, hundertj\u00e4hrige Eiche.&nbsp;\n\nDie &#8222;weak leaners&#8220; k\u00f6nnen unterschiedlicher Natur sein und unterschiedliche Leistungen erbringen, aber sie m\u00fcssen voneinander <b>unabh\u00e4ngig sein.<\/b>\n\nDie Zusammenstellung der &#8222;weak learners&#8220; (B\u00fcsche) zu &#8222;strong learners&#8220; (Wald) erfolgt durch Abstimmung. Das hei\u00dft, jeder &#8222;weak learner&#8220; gibt eine Antwort (eine Stimme) ab und die Vorhersage des &#8222;strong learners&#8220; ist der Durchschnitt aller abgegebenen Antworten.&nbsp;\n\nWenn du dich f\u00fcr Bagging interessierst, kannst du dir diesen Artikel ansehen, der die Funktionsweise des ber\u00fchmtesten Bagging-Algorithmus vorstellt: den <a href=\"https:\/\/liora.io\/random-forest-definition\">Random Forest<\/a>.\n<h3 class=\"wp-block-heading\" id=\"h-boosting\">Boosting<\/h3>\nDie Boosting-Algorithmen basieren auf demselben Prinzip wie die Bagging-Algorithmen. Der Unterschied zeigt sich bei der Erstellung von &#8222;weak learners&#8220;.&nbsp;\n\nBeim Boosting sind die Algorithmen nicht mehr unabh\u00e4ngig. Stattdessen wird jeder &#8222;weak learner&#8220; geschult, um die Fehler der vorherigen &#8222;weak learner&#8220; zu korrigieren.\n\nWenn wir also das Bild des Waldes aufgreifen, wurde hier jeder Strauch sorgf\u00e4ltig gepflanzt, um den Wald wetterfester zu machen.&nbsp;\n\nIn diesem Artikel werden wir die Funktionsweise der <b>Algorithmen Adaboost<\/b>, <b>Gradient Boosting und <\/b><a href=\"https:\/\/xgboost.readthedocs.io\/en\/latest\/\">XGBoost<\/a>. Diese Algorithmen sind wahrscheinlich die bekanntesten Boosting-Algorithmen.\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-adaboost\">Was ist Adaboost?<\/h2>\nAdaboost wurde erstmals von Yoav Freund und Robert Schapire verwendet und gewann 2003 den G\u00f6del-Preis. Adaboost verwendet <a href=\"https:\/\/liora.io\/random-forest-definition\">Entscheidungsb\u00e4ume<\/a>, deren Funktionsweise du in diesem Artikel detailliert nachlesen kannst.\n\n<b>Die &#8222;weak learners&#8220; <\/b>in AdaBoost sind normalerweise Entscheidungsb\u00e4ume mit nur zwei <b>Zweigen <\/b>und zwei <b>Bl\u00e4ttern (auch als <\/b>St\u00e4mme bezeichnet), aber es k\u00f6nnen auch andere Arten von Klassifizierern verwendet werden.&nbsp;\n\nHier sind die <b>Schritte zum Aufbau des ersten &#8222;weak learners&#8220;, <\/b>den wir w1 nennen werden:\n<ul>\n \t<li style=\"font-weight: 400;\">Jeder Zeile des Datasets wird die gleiche Gewichtung zugewiesen.<\/li>\n \t<li style=\"font-weight: 400;\">Man trainiert w1 so, dass die Anzahl der richtigen Antworten maximiert wird.<\/li>\n \t<li style=\"font-weight: 400;\">Man gibt w1 eine Note aufgrund seiner Leistung<\/li>\n<\/ul>\nDie Idee hinter der Benotung ist, dass wir wollen, dass ein guter &#8222;weak learner&#8220; mehr Geh\u00f6r findet als ein schlechter &#8222;weak learner&#8220;.\n\nDie Bewertung wird uns helfen, bei der Endabstimmung zu entscheiden, welche Bedeutung wir welchem &#8222;weak learner&#8220; beimessen sollen.\n\nAu\u00dferdem m\u00f6chten wir, dass die n\u00e4chsten &#8222;weak learners&#8220; die Fehler des vorherigen korrigieren k\u00f6nnen. Um dies zu erreichen, werden wir die Gewichtung der Zeilen, bei denen w1 falsch lag, erh\u00f6hen und die Gewichtung der Zeilen, bei denen w1 richtig lag, verringern.&nbsp;\n\nHier sind also die Schritte zum Aufbau der anderen &#8222;weak learners&#8220;:\n<ul>\n \t<li style=\"font-weight: 400;\">Die Gewichtung der Zeilen wird entsprechend den Fehlern des letzten &#8222;weak learners&#8220; ge\u00e4ndert.&nbsp;<\/li>\n \t<li style=\"font-weight: 400;\">Workout eines &#8222;weak learner&#8220;, um die Anzahl der richtigen Antworten auf den <b>Zeilen mit hohem Gewicht zu maximieren<\/b><\/li>\n<\/ul>\n<ul>\n \t<li style=\"font-weight: 400;\">Man gibt diesem &#8222;weak learner&#8220; je nach Leistung eine Note<\/li>\n<\/ul>\nIm Gegensatz zu w1 werden die n\u00e4chsten &#8222;weak learners&#8220; die den Zeilen zugewiesenen Gewichte ber\u00fccksichtigen. Je h\u00f6her die Gewichtung einer Zeile ist, desto wichtiger ist es, dass der &#8222;weak learner&#8220; diese Zeile richtig einordnet und umgekehrt.&nbsp;\n\nWie bei w1 geben wir diesen &#8222;weak learners&#8220; eine Note, die ihre Wichtigkeit bestimmt. Beachte, dass die Note von den Ergebnissen des &#8222;weak learner&#8220; abh\u00e4ngt, indem die Gewichtung der Zeilen ber\u00fccksichtigt wird.&nbsp;\n\nNachdem wir jeden &#8222;weak learner&#8220; erstellt haben, \u00e4ndern wir die Gewichtung der Zeilen. Jeder &#8222;weak learner&#8220; korrigiert also die Fehler, die von seinen Vorg\u00e4ngern gemacht wurden, und hat eine Bewertung, die seine Ergebnisse widerspiegelt.&nbsp;\n\nUm die Vorhersage von Adaboost zu einer Beobachtung abzufragen, musst du jeden &#8222;weak learner&#8220; befragen und jede Antwort nach der Bewertung, die sie erhalten haben, gewichten. Die Vorhersage des &#8222;strong learner&#8220; ist der Durchschnitt aller Antworten der &#8222;weak learner&#8220;.\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-gradient-boosting\">Was ist Gradient Boosting?<\/h2>\nDer <b>Gradient Boosting-Algorithmus <\/b>hat viele Gemeinsamkeiten mit Adaboost. Genau wie bei Adaboost handelt es sich um eine Reihe von &#8222;weak learners&#8220;, die nacheinander erstellt werden und einen &#8222;strong learner&#8220; bilden. Dar\u00fcber hinaus wird jeder &#8222;weak learner&#8220; trainiert, um die Fehler der vorherigen &#8222;weak learners&#8220; zu korrigieren. Dennoch haben im Gegensatz zu Adaboost alle &#8222;weak learners&#8220; im Abstimmungssystem das <b>gleiche Gewicht, unabh\u00e4ngig von <\/b>ihrer Leistung.\n\nWir werden nun kurz auf die Funktionsweise des Algorithmus eingehen:\n\nDer erste &#8222;weak learner&#8220; (w1) ist sehr grundlegend, er ist einfach der <b>Durchschnitt <\/b>der Beobachtungen. Er ist also nicht sehr effizient, aber er wird als Grundlage f\u00fcr den Rest des Algorithmus dienen.&nbsp;\n\nAnschlie\u00dfend <b>berechnen wir die Abweichung zwischen diesem Mittelwert und der Realit\u00e4t, <\/b>die wir als erstes Residuum bezeichnen. Im Allgemeinen bezeichnen wir hier die Abweichung zwischen der Vorhersage des Algorithmus, der gerade erstellt wird, und der Realit\u00e4t als <b>Residuum.<\/b>\n\nDas Besondere an Gradient Boosting ist, dass es versucht, in jedem Schritt nicht die Daten selbst, sondern die Residuen vorherzusagen.\n\nSo wird der zweite &#8222;weak learner&#8220; trainiert, um den ersten Rest vorherzusagen.\n\nDie Vorhersagen des zweiten weak learners werden dann mit einem Faktor kleiner als 1 multipliziert.\n\nDie Idee hinter der Multiplikation ist, dass viele kleine Schritte genauer sind als wenige gro\u00dfe Schritte. Die Multiplikation verringert also die Gr\u00f6\u00dfe der &#8222;Schritte&#8220;, um die Genauigkeit zu erh\u00f6hen. <b>Das Ziel ist es, die Vorhersagen des Mittelwertmodells nach und nach von der Realit\u00e4t &#8222;wegzuziehen&#8220;.&nbsp;<\/b>\n\nVon diesem Zeitpunkt an folgt die Erstellung von Weak Learners immer dem gleichen Muster:\n<ul>\n \t<li style=\"font-weight: 400;\">Aus den letzten Vorhersagen werden <b>die neuen Residuen <\/b>(Abweichung zwischen Realit\u00e4t und Vorhersage) <b>berechnet.<\/b><\/li>\n \t<li style=\"font-weight: 400;\">Workout des <b>neuen &#8222;weak learner&#8220;, um diese <\/b>Residuen vorherzusagen<\/li>\n \t<li style=\"font-weight: 400;\">Die Vorhersagen dieses &#8222;weak learner&#8220; werden mit einem Faktor kleiner als 1 multipliziert.<\/li>\n \t<li style=\"font-weight: 400;\">Man erh\u00e4lt neue Vorhersagen, die oft etwas besser sind als die vorherigen.<\/li>\n<\/ul>\n<b>Um die Gradient Boosting-Vorhersage zu einer Beobachtung abzufragen, musst du einfach jeden &#8222;weak learner&#8220; befragen. Die Vorhersage des &#8222;strong learner&#8220; wird die Summe aller Antworten der &#8222;weak learner&#8220; sein.<\/b>\n\n<img decoding=\"async\" width=\"512\" height=\"453\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/graadient-boost.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/graadient-boost.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/graadient-boost-300x265.webp 300w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-xgboost\">Was ist XGBoost?<\/h2>\nXGBoost ist eigentlich eine <b>besondere Version des Gradient Boost-Algorithmus<\/b>. Es handelt sich n\u00e4mlich um eine Ansammlung von &#8222;weak learners&#8220;, die die Residuen vorhersagen und die Fehler der vorherigen &#8222;weak learners&#8220; korrigieren.\n\nDie Besonderheit von XGBoost liegt in der Art der &#8222;weak learner&#8220;, die verwendet werden. Bei den &#8222;weak learners&#8220; handelt es sich um Entscheidungsb\u00e4ume. B\u00e4ume, die nicht gut genug sind, werden &#8222;gestutzt&#8220;, d. h. es werden ihnen \u00c4ste abgeschnitten, bis sie gut genug sind. Andernfalls werden sie komplett entfernt. Diese Methode wird als <b>&#8222;pruning&#8220; <\/b>(Beschneiden) bezeichnet.&nbsp;\n\nSo stellt XGBoost sicher, dass <b>nur gute Weak Learners behalten <\/b>werden.&nbsp;\n\nDar\u00fcber hinaus ist XGBoost <b>computeroptimiert, <\/b>um die <b>verschiedenen Berechnungen, die <\/b>f\u00fcr die Anwendung von <b>Gradient Boosting <\/b>notwendig sind, <b>schnell zu <\/b>machen.&nbsp;\n\nSchlie\u00dflich bietet XGBoost eine gro\u00dfe Auswahl an Hyperparametern. Durch diese Vielfalt an Parametern ist es m\u00f6glich, die Implementierung von Gradient Boosting vollst\u00e4ndig zu kontrollieren.&nbsp;\n\nAus all diesen Gr\u00fcnden ist XGBoost oft der <b>Siegeralgorithmus bei Kaggle-Wettbewerben<\/b>. Er ist schnell, pr\u00e4zise und effizient und erm\u00f6glicht eine Flexibilit\u00e4t, die es beim Gradient Boosting noch nie gegeben hat.\n\nDie vorgestellten Algorithmen geh\u00f6ren sicherlich zu den am h\u00e4ufigsten verwendeten, aber es gibt noch viele weitere. Zu sagen, dass XGBoost der beste Machine-Learning-Algorithmus ist, w\u00e4re eine starke Einschr\u00e4nkung. Er hat viele Vorteile, darunter eine verbl\u00fcffende Benutzerfreundlichkeit und Vielseitigkeit. Dennoch gibt es f\u00fcr jedes Problem eine andere L\u00f6sung. Wenn du dir also einen \u00dcberblick \u00fcber die verschiedenen Arten von Machine-Learning-Algorithmen verschaffen m\u00f6chtest, dann <a href=\"https:\/\/liora.io\/random-forest-definition\">schau dir diesen Artikel \u00fcber Random Forest an.<\/a>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Entdecken Sie unsere Kurse in Data Science<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wenn du dich f\u00fcr Machine-Learning-Algorithmen interessierst, hast du bestimmt schon einmal irgendwo die W\u00f6rter \u201eBoosting\u201c oder \u201eBoost\u201c gesehen. Man findet sie in einer Vielzahl von Algorithmus-Wettbewerben und sie erzielen oft sehr gute Ergebnisse. Aber was genau ist Boosting?<\/p>\n","protected":false},"author":47,"featured_media":164978,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-164977","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/164977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=164977"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/164977\/revisions"}],"predecessor-version":[{"id":216332,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/164977\/revisions\/216332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/164978"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=164977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=164977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}