Przejdź do treści głównej

Szeregi Taylora: od aproksymacji do optymalizacji

Dowiedz się, jak aproksymacje wielomianowe wspierają spadek gradientowy, XGBoost i funkcje, które Państwa komputer oblicza na co dzień.
Zaktualizowano 4 maj 2026  · 14 min Czytać

Czy kiedykolwiek zastanawiali się Państwo, jak komputer właściwie oblicza funkcję taką jak sin(x) czy ?

Komputery nie potrafią bezpośrednio obliczać większości funkcji matematycznych. Umią tylko dodawać, odejmować, mnożyć i dzielić. Gdy więc wywołują Państwo w Pythonie math.sin(0.5), coś musi przekształcić to w sekwencję podstawowych działań arytmetycznych. Tym czymś jest aproksymacja wielomianowa, a szeregi Taylora stanowią jej matematyczny fundament.

Szereg Taylora pozwala przepisać niemal każdą gładką funkcję jako nieskończoną sumę prostszych wyrazów, zbudowanych z pochodnych funkcji w jednym punkcie. Kiedy zrozumie się tę ideę, wiele rzeczy w data science i uczeniu maszynowym zaczyna się układać w całość — od działania spadku gradientowego po to, dlaczego niektóre funkcje aktywacji zachowują się tak, a nie inaczej.

W tym artykule wyjaśnię, czym są szeregi Taylora, jak działają matematycznie, gdzie pojawiają się w data science i uczeniu maszynowym oraz jak mają się do innych typów szeregów, na które mogą się Państwo natknąć.

Definicja szeregu Taylora

Szeregi Taylora są znane od wieków. Brook Taylor wprowadził je w 1715 roku, choć istotny wkład w tę ideę mieli także James Gregory i Colin Maclaurin.

Celem było znalezienie sposobu reprezentacji złożonych funkcji za pomocą wielomianów, z którymi pracuje się znacznie łatwiej.

Szereg Taylora aproksymuje funkcję, wyrażając ją jako nieskończoną sumę wyrazów, z których każdy pochodzi od pochodnych funkcji w jednym punkcie. Im więcej wyrazów uwzględnimy, tym bliższa rzeczywistej funkcji staje się aproksymacja.

Ogólna formuła wygląda tak:

General Taylor series formula

Ogólna formuła szeregu Taylora

Każdy wyraz tej sumy składa się z trzech elementów:

  • f⁽ⁿ⁾(a) — n-ta pochodna funkcji obliczona w punkcie centralnym a

  • n! — silnia n, która zapobiega niekontrolowanemu wzrostowi wyrazów

  • (x - a)ⁿ — wyraz rozwinięcia, który mierzy, jak daleko x jest od punktu centralnego

Punkt centralny a to miejsce zakotwiczenia szeregu. Gdy a = 0, otrzymujemy szczególny przypadek zwany szeregiem Maclaurina — o tym później.

Konkretny przykład: eˣ

Funkcja wykładnicza to idealny pierwszy przykład. Jej pochodna jest równa jej samej, więc f⁽ⁿ⁾(0) = 1 dla każdego n. Dla centrum w a = 0 szereg Taylora przyjmuje postać:

Concrete example

Konkretny przykład

Załóżmy, że chcą Państwo przybliżyć e⁰·⁵. Wystarczy podstawić x = 0.5 do pierwszych czterech wyrazów — oto przykład w Pythonie:

x = 0.5
approx = 1 + x + x**2/2 + x**3/6
print(approx)

Concrete example in Python

Konkretny przykład w Pythonie

Rzeczywista wartość e⁰·⁵ to około 1.6487. Już przy czterech wyrazach uzyskują Państwo dokładność na poziomie 0,2% względem prawdziwej wartości. Dodanie kolejnych wyrazów jeszcze poprawia przybliżenie.

Na tym polega moc szeregów Taylora.

Funkcje takie jak , sin(x) i cos(x) są trudne do bezpośredniego obliczenia, ale ich szeregi Taylora sprowadzają je do podstawowej arytmetyki. Z tym komputer radzi sobie doskonale.

Własności matematyczne szeregów Taylora

Szereg Taylora jest użyteczny tylko wtedy, gdy faktycznie zbiega do aproksymowanej funkcji. Przyjrzyjmy się, co to znaczy i co się dzieje, gdy tak nie jest.

Rozwinięcie szeregu Taylora

Rozwijając szereg Taylora, budują Państwo wielomian wyraz po wyrazie. Każdy kolejny wyraz dodaje więcej informacji o zachowaniu funkcji w pobliżu punktu centralnego a.

Weźmy sin(x) z centrum w a = 0:

Taylor series expansion

Rozwinięcie szeregu Taylora

Pierwszy wyraz, x, to zgrubne przybliżenie liniowe. Dodanie drugiego wyrazu przybliża krzywą. Dodając kolejne, wielomian zaczyna w pobliżu x = 0 wyglądać niemal identycznie jak sin(x).

Mówiąc prościej, rozwinięcie oznacza zamianę dokładnej, ale trudnej do obliczenia funkcji na wielomian, z którym można realnie pracować.

Aproksymacja szeregiem Taylora

Nigdy nie obliczają Państwo nieskończonej liczby wyrazów. W praktyce przerywa się po kilku i akceptuje niewielki błąd. Taki wynik nazywa się obciętym szeregiem Taylora, a wprowadzony błąd to błąd obcięcia.

Reszta w sensie Lagrange’a daje ograniczenie tego błędu. Dla szeregu obciętego po n wyrazach:

Lagrange remainder

Reszta Lagrange’a

Gdzie c to pewien punkt między x a a. Dokładna wartość c nie jest znana, ale można ograniczyć f⁽ⁿ⁺¹⁾(c), jeśli wiadomo, jak duże mogą być pochodne danej funkcji.

Można to interpretować następująco

  • Im dalej x leży od punktu centralnego a, tym większy błąd

  • Im więcej wyrazów uwzględnimy, tym mniejszy błąd

  • Funkcje o dużych, szybko rosnących pochodnych trudniej dokładnie aproksymować

Załóżmy, że aproksymują Państwo sin(0.1) trzema wyrazami:

x = 0.1
approx = x - x**3/6 + x**5/120
print(approx)       
print(np.sin(0.1))  

Approximation in Python

Aproksymacja w Pythonie

Trzy wyrazy dają dokładność do dziesięciu miejsc po przecinku, gdy x jest bliskie 0. To działanie błędu obcięcia — mały, ale niezerowy.

Zbieżność szeregu Taylora

Szereg Taylora jest zbieżny w punkcie x, jeśli sumy częściowe, wraz z dodawaniem kolejnych wyrazów, zbliżają się do stałej wartości. Tą wartością powinno być f(x) — ale nie zawsze jest to gwarantowane.

Promień zbieżności R określa, jak daleko od punktu centralnego szereg pozostaje poprawny. Wewnątrz tego promienia szereg jest zbieżny. Poza nim wyrazy rosną zamiast maleć, a aproksymacja się załamuje.

Convergence formula

Wzór na zbieżność

Różne funkcje mają różne promienie zbieżności:

  • , sin(x) i cos(x) są zbieżne dla wszystkich wartości x, więc R = ∞

  • ln(1 + x) zbiega tylko dla -1 < x <= 1, więc R = 1

  • 1/1-x zbiega dla |x| < 1, więc R = 1

Funkcja może mieć też nieskończony promień zbieżności, a mimo to nie być równa swojemu szeregowi Taylora w niektórych punktach. To tzw. funkcje nieanalityczne — przypadki brzegowe warte znajomości, choć rzadko spotykane w data science.

Zatem przed zaufaniem aproksymacji Taylora zawsze warto sprawdzić, czy x mieści się w promieniu zbieżności.

Szeregi Taylora w data science i uczeniu maszynowym

Szeregi Taylora pojawiają się częściej, niż można by się spodziewać — od symulacji fizycznych po rozwiązywanie równań różniczkowych. Jednak ich największy wpływ w codziennej pracy data scientista dotyczy optymalizacji i aproksymacji modeli.

Optymalizacja i spadek gradientowy

Za każdym razem, gdy trenują Państwo model uczenia maszynowego, wykonywana jest jakaś forma optymalizacji. I często stoi za nią szereg Taylora

Spadek gradientowy wykorzystuje aproksymację Taylora rzędu pierwszego. Gdy obliczają Państwo gradient funkcji straty L(θ) w bieżących parametrach θ, to de facto pada pytanie: „jeśli wykonam mały krok w tym kierunku, o ile zmieni się strata?” To jest rozwinięcie Taylora pierwszego rzędu wokół bieżącego punktu:

Taylor series in optimization

Szeregi Taylora w optymalizacji

To działa, ale ignoruje krzywiznę. Jeśli powierzchnia straty jest zakrzywiona, przybliżenie pierwszego rzędu może przeszacowywać krok lub wybierać nieefektywne kierunki.

Metoda Newtona rozwiązuje ten problem, uwzględniając człon drugiego rzędu — macierz Hessego H, która opisuje krzywiznę:

Taylor series in optimization (2)

Szeregi Taylora w optymalizacji (2)

Wyzerowanie pochodnej tego wyrażenia daje optymalny krok. Minusem jest to, że pełna macierz Hessego jest kosztowna obliczeniowo w dużych modelach. Metody takie jak L-BFGS ją przybliżają, dając większość korzyści przy ułamku kosztu.

Przybliżenia funkcji aktywacji

Niektóre funkcje aktywacji są kosztowne obliczeniowo. Szeregi Taylora dostarczają tańszych alternatyw, wystarczająco dokładnych w większości zastosowań.

Funkcja sigmoidalna σ(x) = 1 / (1 + e⁻ˣ) wymaga obliczenia eksponenty, co jest kosztowne. W pobliżu x = 0 jej rozwinięcie Taylora to:

Taylor series in approximation

Szeregi Taylora w aproksymacji

W środowiskach z ograniczeniami sprzętowymi, jak urządzenia brzegowe czy FPGA, takie aproksymacje wielomianowe mogą zastąpić dokładne obliczenia garścią operacji mnożenia i dodawania.

Funkcja GELU, używana w modelach transformatorowych, takich jak BERT i GPT, jest często implementowana poprzez aproksymację funkcji błędu erf(x) opartą na szeregu Taylora, ponieważ dokładna postać obejmuje całkę bez rozwiązania w formie zamkniętej.

XGBoost i optymalizacja drugiego rzędu

XGBoost to jedna z najpopularniejszych bibliotek boostingowych, która wykorzystuje rozwinięcie Taylora drugiego rzędu funkcji straty do dopasowania każdego nowego drzewa.

Na każdym kroku boostingu XGBoost aproksymuje stratę jako:

XGBoost loss approximation

Aproksymacja straty w XGBoost

Gdzie g_i to gradient pierwszego rzędu, a h_i to gradient drugiego rzędu (Hessian) straty względem bieżącej predykcji. Wykorzystanie obu wyrazów pozwala XGBoost szybciej i dokładniej dopasowywać drzewa niż metody pierwszego rzędu, co w dużej mierze tłumaczy jego świetne wyniki na danych tabelarycznych.

Wyzwania i ograniczenia

To, że szeregi Taylora można stosować w wielu miejscach w data science, nie oznacza, że są uniwersalnym młotkiem na każdy gwóźdź. Kilka rzeczy może pójść nie tak.

  • Błąd aproksymacji się kumuluje: w głębokich sieciach łączą Państwo wiele operacji. Niewielki błąd aproksymacji Taylora na jednej warstwie narasta w kolejnych, co może wpływać na stabilność treningu

  • Promień zbieżności ma znaczenie: aproksymacje Taylora są wiarygodne tylko w pobliżu punktu rozwinięcia. Jeśli wejścia oddalą się od miejsca, w którym zbudowano aproksymację — np. podczas wnioskowania na danych spoza rozkładu — przybliżenie może się załamać

  • Wysokowymiarowe Hessiany są kosztowne: metody drugiego rzędu są potężne, ale słabo się skalują. Model z n parametrami ma macierz Hessego n × n. Dla modeli z milionami parametrów przechowywanie i odwracanie tej macierzy jest niepraktyczne bez aproksymacji.

Znając te kompromisy, będą Państwo wiedzieć, kiedy podejście oparte na Taylorze ma sens, a kiedy wystarczy prostsza metoda pierwszego rzędu.

Dobrze znane szeregi Taylora

Kilka szeregów Taylora pojawia się wszędzie w matematyce, fizyce i uczeniu maszynowym. Te warto znać, jeśli poważnie traktują Państwo data science.

Funkcja wykładnicza

Funkcja wykładnicza jest najprostsza do wyprowadzenia, ponieważ każda jej pochodna to ponownie . Dla a = 0 każdy współczynnik wynosi 1:

Exponential function

Funkcja wykładnicza

Ten szereg zbiega dla wszystkich wartości x, dzięki czemu jest niezawodny i łatwy w użyciu. To podstawa funkcji sigmoid i softmax używanych w modelach klasyfikacyjnych.

Funkcja sinus

Funkcja sinus zawiera wyłącznie potęgi nieparzyste, co wynika z faktu, że sin(x) jest funkcją nieparzystą — tzn. sin(-x) = -sin(x):

Sine function

Funkcja sinus

Podobnie jak , szereg ten zbiega dla każdego x. Naprzemienne znaki wynikają z faktu, że pochodne sin(x) cyklicznie przechodzą przez cos(x), -sin(x), -cos(x) i z powrotem.

Funkcja cosinus

Cosinus jest parzystym odpowiednikiem sinusa — zawiera tylko potęgi parzyste:

Cosine function

Funkcja cosinus

Zestawiając szeregi sinusa i cosinusa, widać ich komplementarność. Ta relacja prowadzi do słynnej tożsamości Eulera: eⁱˣ = cos(x) + i·sin(x).

Logarytm naturalny

Logarytm naturalny ln(1 + x) ma szereg Taylora z centrum w x = 0:

Natural logarithm function

Funkcja logarytmu naturalnego

W przeciwieństwie do trzech poprzednich, ten szereg zbiega tylko dla -1 < x <= 1. Poza tym zakresem szereg rozbiega się. Ma to znaczenie np. w stracie entropii krzyżowej, gdzie logarytmy prawdopodobieństw muszą pozostawać w prawidłowym zakresie.

Szereg geometryczny

Szereg geometryczny to jedno z najstarszych i najczęściej używanych twierdzeń w matematyce:

Geometric series

Szereg geometryczny

Zbiega tylko dla |x| < 1. To punkt wyjścia do wyprowadzania wielu innych szeregów Taylora i pojawia się w teorii prawdopodobieństwa, przetwarzaniu sygnałów oraz wszędzie tam, gdzie sumuje się zdyskontowane wartości przyszłe.

Szybka ściąga

Jeśli szukają Państwo czegoś namacalnego, do wydrukowania i powieszenia na ścianie obok łóżka — oto jest:

Taylor series quick reference

Szybka ściąga z szeregów Taylora

Te pięć szeregów obejmuje większość przypadków spotykanych w data science i uczeniu maszynowym.

Szeregi Taylora a inne pokrewne rodzaje szeregów

Szeregi Taylora, Fouriera i Maclaurina wszystkie aproksymują funkcje, ale rozwiązują różne problemy i najlepiej sprawdzają się w odmiennych kontekstach.

Szeregi Taylora vs. szeregi Fouriera

Zarówno szeregi Taylora, jak i Fouriera reprezentują funkcje jako nieskończone sumy, lecz robią to w zupełnie inny sposób.

Szereg Taylora buduje funkcję z wielomianów — potęg (x - a). Działa, przybliżając lokalne zachowanie funkcji w jednym punkcie poprzez pochodne. Wynik jest dokładny w pobliżu punktu centralnego a, ale dokładność maleje wraz z oddalaniem się.

Szereg Fouriera używa sinusów i cosinusów jako klocków konstrukcyjnych:

Szereg Fouriera

Zamiast ujmować zachowanie lokalne w punkcie, szeregi Fouriera chwytają globalną periodyczność na całym przedziale. Są projektowane dla funkcji, które się powtarzają — jak sygnały audio, wzorce sezonowe czy wszystko, co oscyluje.

Oto porównanie obu podejść obok siebie:

Taylor vs. Fourier comparison

Porównanie: Taylor vs. Fourier

Szeregi Fouriera pojawiają się w przetwarzaniu sygnałów i analizie szeregów czasowych — analiza widmowa, dekompozycja częstotliwościowa, a nawet niektóre architektury sieci neuronowych, jak FNet, który zastępuje mechanizm uwagi transformatą Fouriera.

Jeśli pracują Państwo z danymi tabelarycznymi, obrazami lub optymalizacją, właściwszym narzędziem będą szeregi Taylora. Jeśli zaś z dźwiękiem, szeregami czasowymi lub strukturą periodyczną — lepsze będą szeregi Fouriera.

Szeregi Taylora vs. szeregi Maclaurina

To proste. Szereg Maclaurina to po prostu szereg Taylora z centrum w a = 0.

Ogólna postać szeregu Taylora to:

Maclaurin series

Szereg Maclaurina

Ustawiając a = 0, otrzymujemy:

Maclaurin series at a = 0

Szereg Maclaurina dla a = 0

Colin Maclaurin tak często korzystał z tego szczególnego przypadku, że zyskał on własną nazwę, ale matematycznie to po prostu szereg Taylora dla konkretnego punktu centralnego.

W praktyce większość spotykanych szeregów — , sin(x), cos(x), ln(1 + x) — to szeregi Maclaurina, bo centrum w zerze upraszcza rachunki. Gdy trzeba przybliżać funkcję w pobliżu innego punktu, przesuwa się centrum na a ≠ 0 i otrzymuje ogólny szereg Taylora.

Podsumowując: każdy szereg Maclaurina jest szeregiem Taylora, ale nie każdy szereg Taylora jest szeregiem Maclaurina.

Szeregi Taylora a modele liniowe

Szeregi Taylora i modele liniowe mogą z początku wydawać się niepowiązane, ale istnieje warte uwagi połączenie — zaczyna się ono od przybliżenia Taylora pierwszego rzędu.

Obcinając szereg Taylora po pierwszym wyrazie, otrzymujemy liniową aproksymację funkcji w pobliżu punktu a:

Taylor series and linear models (1)

Szeregi Taylora a modele liniowe (1)

To prosta linia. Ma nachylenie (f'(a)) i wyraz wolny (f(a) - f'(a) ⋅ a). Brzmi znajomo? To ta sama struktura, co w modelu prostej regresji liniowej:

Taylor series and linear models (2)

Szeregi Taylora a modele liniowe (2)

Różnica tkwi w pochodzeniu. W przybliżeniu Taylora nachylenie i wyraz wolny wynikają z pochodnych funkcji w jednym punkcie. W regresji liniowej są estymowane z danych, by minimalizować błąd predykcji. Strukturalnie jednak robią to samo.

Gdzie to połączenie jest użyteczne

Wyjaśnia, dlaczego modele liniowe dobrze działają w pewnych sytuacjach, a zawodzą w innych.

Regresja liniowa zakłada, że zależność między wejściem a wyjściem jest — lub może być traktowana jako — liniowa. Szeregi Taylora mówią dokładnie, kiedy to założenie ma sens — gdy wejścia pozostają blisko ustalonego punktu, a aproksymowana funkcja jest gładka. Jeśli odsuną się Państwo daleko od tego punktu, przybliżenie liniowe się załamuje — z tego samego powodu regresja liniowa często zawodzi na danych o silnie nieliniowych zależnościach.

Uogólnione modele liniowe (GLM) czynią to powiązanie jeszcze wyraźniejszym.

Regresja logistyczna, na przykład, modeluje logit (logarytm ilorazu szans) jako funkcję liniową. Związek między liniowym predyktorem a prawdopodobieństwem wyjściowym przechodzi przez funkcję sigmoidalną — a jak pokazano wcześniej, sigmoid ma dobrze zachowujące się rozwinięcie Taylora w pobliżu zera.

Od liniowości do nieliniowości

Skoro przybliżenie Taylora pierwszego rzędu daje model liniowy, kolejnym krokiem jest dołożenie wyrazów — i otrzymujemy model wielomianowy.

Rozwinięcie Taylora drugiego rzędu daje:

Second-order Taylor series

Szereg Taylora drugiego rzędu

To funkcja kwadratowa — regresja wielomianowa z wyrazem do kwadratu. Każdy kolejny wyraz Taylora odpowiada wielomianowi wyższego stopnia, dlatego regresja wielomianowa rozszerza regresję liniową o możliwość uchwycenia zakrzywień.

Szeregi Taylora dają więc uporządkowany sposób myślenia o kompromisie bias–variance w regresji. Aproksymacja pierwszego rzędu (model liniowy) jest szybka i interpretowalna, ale ma duży bias, jeśli prawdziwa zależność jest nieliniowa. Wyższe rzędy lepiej dopasowują dane w pobliżu punktu rozwinięcia, ale wraz z dodawaniem wyrazów rośnie ryzyko nadmiernego dopasowania.

Aby pogłębić wiedzę o regresji liniowej i zrozumieć, kiedy działa, dobrym kolejnym krokiem jest poradnik Essentials of Linear Regression in Python. Dla użytkowników R kurs Intermediate Regression in R szczegółowo omawia regresję wielomianową i diagnostykę modeli.

Zakończenie

Szeregi Taylora to jedno z tych narzędzi matematycznych, które — gdy raz się je pozna — zaczynają się pojawiać na każdym kroku.

Widzieli Państwo, jak umożliwiają komputerom obliczanie funkcji takich jak i sin(x) poprzez podstawową arytmetykę, jak zbieżność i błąd obcięcia decydują o dokładności przybliżenia oraz jak ta sama idea zasila spadek gradientowy, XGBoost i aproksymacje funkcji aktywacji we współczesnym uczeniu maszynowym.

Warto zapamiętać pięć znanych szeregów — wykładniczy, sinus, cosinus, logarytmiczny, geometryczny. Pojawiają się na tyle często, że rozpoznanie ich od razu realnie oszczędza czas.

Kolejnym krokiem jest swobodne myślenie algorytmiczne, które idzie w parze z taką matematyką. Nasz kurs Data Structures and Algorithms in Python to solidna podstawa. Pomoże zrozumieć, jak idee matematyczne przekładają się na kod, który działa i się skaluje.

Taylor Series FAQs

Do czego służy szereg Taylora?

Szereg Taylora aproksymuje złożone funkcje jako nieskończone sumy wyrazów wielomianowych zbudowanych z pochodnych funkcji w jednym punkcie. Dzięki temu funkcje takie jak i sin(x) można obliczać przez podstawową arytmetykę — tak właśnie robi to komputer. W uczeniu maszynowym szeregi Taylora napędzają algorytmy optymalizacji, jak spadek gradientowy, oraz metody boostingowe, jak XGBoost.

Czym różni się szereg Taylora od szeregu Maclaurina?

Szereg Maclaurina to po prostu szereg Taylora z centrum w a = 0. Gdy punkt centralny to zero, rachunki się upraszczają, dlatego większość znanych szeregów — , sin(x), cos(x) — to szeregi Maclaurina. Gdy trzeba aproksymować funkcję w pobliżu innego punktu, stosuje się ogólny szereg Taylora z a ≠ 0.

Jakie są własności zbieżności szeregu Taylora?

Szereg Taylora jest zbieżny, gdy jego sumy częściowe zbliżają się do stałej wartości wraz z dodawaniem kolejnych wyrazów. Promień zbieżności mówi, jak daleko od punktu centralnego szereg pozostaje wiarygodny. Niektóre funkcje, jak , są zbieżne dla wszystkich x, inne, jak ln(1 + x), tylko w określonym przedziale.

Czy szeregi Taylora można stosować w uczeniu maszynowym?

Tak — spadek gradientowy korzysta z przybliżenia Taylora pierwszego rzędu do wyznaczania kierunku każdej aktualizacji, a XGBoost wprost używa wyrazów Taylora pierwszego i drugiego rzędu do dopasowania każdego drzewa boostingowego. Funkcje aktywacji, jak GELU, są również implementowane poprzez wielomianowe aproksymacje oparte na Taylorze. Większość praktyków używa szeregów Taylora na co dzień, często nie zdając sobie z tego sprawy.

Jakie są ograniczenia stosowania szeregów Taylora?

Błąd obcięcia rośnie, gdy x oddala się od punktu centralnego, więc aproksymacje są mniej wiarygodne daleko od a. Niektóre funkcje zbieżne są tylko w ograniczonym zakresie, co oznacza, że szereg całkowicie zawodzi dla wejść spoza tego przedziału. Metody drugiego rzędu są dokładniejsze, ale obliczanie pełnego Hessego słabo się skaluje w dużych modelach.

Tematy

Ucz się z DataCamp

course

Preprocessing for Machine Learning in Python

4 godz.
65.6K
Learn how to clean and prepare your data for machine learning!
Zobacz szczegółyRight Arrow
Rozpocznij kurs
Zobacz więcejRight Arrow