Przejdź do treści głównej

Operator Laplasjana wyjaśniony: od rachunku różniczkowego do ML

Operator Laplasjana to jedno z najczęściej używanych narzędzi matematycznych we współczesnym ML. Stoi za klasteryzacją spektralną, uczeniem na rozmaitościach, detekcją krawędzi na obrazach i algorytmami grafowymi.
Zaktualizowano 4 maj 2026  · 15 min Czytać

Laplasjan pojawia się w algorytmach grafowych, w pipeline’ach do przetwarzania obrazów oraz w klasteryzacji spektralnej. Jeśli więc buduje Pan/Pani modele pracujące z grafami, obrazami lub danymi o wysokiej wymiarowości, Laplasjan nie jest „opcjonalną” matematyką w tle. To on faktycznie wykonuje kluczową pracę pod maską.

W tym artykule omówię Laplasjana od podstaw: stojącą za nim matematykę, intuicję geometryczną, Laplasjan grafowy wraz z jego postacią macierzową oraz to, jak jest używany w praktycznych zastosowaniach uczenia maszynowego.

Potrzebuje Pan/Pani praktycznego wprowadzenia do równań różniczkowych? Proszę przeczytać nasz niedawny artykuł — od podstaw po praktyczne zastosowania w ML.

Czym jest Laplasjan?

Laplasjan to różniczkowy operator drugiego rzędu. Informuje, jak funkcja „zakrzywia się” w danym punkcie.

Czasem opisuje się go jako dywergencję gradientu.

I to klucz do zrozumienia, co ten operator faktycznie robi:

  • Gradient wskazuje kierunek najszybszego wzrostu funkcji
  • Dywergencja mierzy, czy ten „przepływ” się rozprasza, czy zbiega.

Po połączeniu Laplasjan mówi, czy punkt jest lokalnym szczytem, lokalną doliną czy czymś płaskim pomiędzy.

Mówiąc prościej, Laplasjan mierzy, jak bardzo wartość funkcji w punkcie różni się od średniej wartości jego sąsiadów. Jeśli Laplasjan jest równy zero, funkcja jest lokalnie „zrównoważona”. Wartość dodatnia oznacza, że punkt leży poniżej otoczenia. Ujemna — że powyżej.

Wzór

W 2D, dla funkcji f(x, y):

Wzór Laplasjana w 2D

Wzór Laplasjana w 2D

W 3D, dla funkcji f(x, y, z):

Wzór Laplasjana w 3D

Wzór Laplasjana w 3D

Ten schemat działa w dowolnej liczbie wymiarów — sumuje się drugie pochodne cząstkowe wzdłuż każdej osi. Dzięki temu Laplasjan świetnie nadaje się do danych wysokowymiarowych, co dokładnie tłumaczy jego częstą obecność w uczeniu maszynowym.

Wzór Laplasjana w rachunku wielu zmiennych

Wzór na Laplasjana jest krótszy, niż można by się spodziewać po narzędziu pojawiającym się tak szeroko w ML.

W 3D, dla funkcji f(x, y, z), wygląda tak:

Wzór Laplasjana w 3D

Wzór Laplasjana w 3D

I to wszystko. Sumuje się drugie pochodne cząstkowe wzdłuż każdej z osi.

Każdy składnik zadaje to samo pytanie wzdłuż swojej osi: czy funkcja zakrzywia się w górę, w dół, czy jest płaska? Po zsumowaniu otrzymuje się jedną liczbę opisującą ogólną krzywiznę w tym punkcie.

Od 3D do n wymiarów

Wzór uogólnia się na n wymiarów. To ogólna postać dla funkcji o n wymiarach wejściowych:

Uogólnienie wzoru Laplasjana

Uogólnienie wzoru Laplasjana

Dlatego Laplasjan dobrze sprawdza się w ML, gdzie dane często żyją w setkach lub tysiącach wymiarów. Operator po prostu sumuje krzywiznę wzdłuż każdej osi.

Związek z optymalizacją

Jeśli pracował(a) Pan/Pani z metodą spadku gradientowego, to myśli już Pan/Pani o pochodnych pierwszego rzędu — w którą stronę „w dół”? Laplasjan idzie krok dalej.

Pochodne drugiego rzędu mówią o kształcie tego „wzgórza”.

Duża dodatnia wartość Laplasjana w punkcie oznacza, że funkcja zakrzywia się ostro w górę we wszystkich kierunkach — jesteśmy blisko minimum. Duża ujemna wartość oznacza bliskość maksimum. Wartość bliska zeru — lokalnie płasko.

Informacja o krzywiźnie ma znaczenie w metodach optymalizacji drugiego rzędu, które wykorzystują ją do wykonywania mądrzejszych kroków niż zwykły spadek gradientowy. Laplasjan jest sposobem na podsumowanie tej krzywizny jedną skalarną wartością.

Intuicja geometryczna: co mierzy Laplasjan

Znak Laplasjana w punkcie mówi o kształcie funkcji w jego otoczeniu.

  • Jeśli ∇²f > 0 w punkcie, funkcja zakrzywia się w górę we wszystkich kierunkach. Punkt leży niżej niż otoczenie. To wypukłość.

  • Jeśli ∇²f < 0, funkcja zakrzywia się w dół. Punkt leży wyżej niż otoczenie. To wklęsłość.

  • Jeśli ∇²f = 0, funkcja jest lokalnie płaska. Brak sumarycznej krzywizny w dowolnym kierunku.

To wielowymiarowa wersja znanego testu drugiej pochodnej. W 1D dodatnia druga pochodna oznacza minimum lokalne, a ujemna — maksimum lokalne. Laplasjan rozszerza tę ideę na dowolną liczbę wymiarów, sumując krzywiznę wzdłuż wszystkich osi.

Relacja z hesjanem

Macierz hesjanu oddaje pełny obraz krzywizny. To macierz wszystkich drugich pochodnych cząstkowych, a każdy element opisuje, jak funkcja zakrzywia się wzdłuż pary osi.

Laplasjan jest śladam hesjanu — sumą elementów na przekątnej. Hesjan daje pełny rozkład krzywizny, a Laplasjan redukuje go do jednej liczby.

Ta wymiana jest ważna w ML. Pełny hesjan jest kosztowny obliczeniowo w modelach wysokowymiarowych — model z n parametrami ma hesjan n × n. Laplasjan daje tani, skalarny skrót informacji o krzywiźnie, z którym można szybko pracować.

Dlaczego to ma znaczenie w ML

Podczas trenowania modelu porusza się Pan/Pani po powierzchni straty. Płaskie obszary oznaczają wolne uczenie. Obszary wypukłe — ryzyko przeskakiwania minimum. Laplasjan szybko podpowiada, z którą sytuacją mamy do czynienia.

Metody grafowe używają Laplasjana do pomiaru, jak gładko wartości zmieniają się wzdłuż węzłów grafu. To bezpośrednie rozszerzenie tej samej intuicji krzywizny z funkcji ciągłych na struktury dyskretne.

Laplasjan i optymalizacja w uczeniu maszynowym

Spadek gradientowy używa tylko pochodnych pierwszego rzędu.

Gradient mówi, w którą stronę zrobić krok. Nie mówi, jak duży. Stromy gradient w płaskiej, szerokiej dolinie sugeruje duży krok. Ten sam stromy gradient przy ostrym urwisku — mały. Same pochodne pierwszego rzędu nie rozróżniają tych sytuacji.

Tu wkraczają pochodne drugiego rzędu.

Krzywizna a rozmiar kroku

Krzywizna opisuje, jak szybko zmienia się sam gradient. Duża krzywizna oznacza ostre załamania powierzchni straty — małe zmiany parametrów dają duże zmiany gradientu. Mała krzywizna oznacza płaskość i powolne zmiany gradientu.

Ignorując krzywiznę i używając stałej stopy uczenia, zgadujemy. Zbyt duża — przeskakiwanie w obszarach o wysokiej krzywiźnie. Zbyt mała — ślimacze tempo w płaskich rejonach.

Metody optymalizacji drugiego rzędu, jak metoda Newtona, wykorzystują krzywiznę do automatycznego doboru rozmiaru kroku. Dzielą gradient przez krzywiznę, robiąc większe kroki tam, gdzie powierzchnia jest płaska, a mniejsze tam, gdzie jest ostra.

Gdzie pasuje Laplasjan

Laplasjan to ślad hesjanu — pojedyncza skalarna liczba podsumowująca całkowitą krzywiznę w punkcie. Nie oddaje pełnego obrazu jak hesjan, ale jest tani obliczeniowo i użyteczny jako sygnał.

Oto proste wyjaśnienie, co warto zapamiętać:

  • Duża dodatnia wartość Laplasjana straty oznacza bliskość minimum lokalnego — strata zakrzywia się w górę we wszystkich kierunkach
  • Ujemna wartość oznacza bliskość maksimum
  • Wartość bliska zeru oznacza obszar płaski lub siodłowy — dokładnie tam spadek gradientowy ma tendencję do „zawieszania się”

Stabilność i regularyzacja

Krzywizna wiąże się też ze stabilnością treningu. Ostro zdefiniowane minima — obszary o wysokiej krzywiźnie — zwykle gorzej uogólniają niż płaskie. Model, który zbiega do ostrego minimum, jest wrażliwy na drobne zmiany na wejściu.

Niektóre techniki regularyzacji bezpośrednio penalizują krzywiznę, by popychać optymalizację w kierunku bardziej płaskich rejonów powierzchni straty. Laplasjan pojawia się również tutaj — jako sposób pomiaru i ograniczania tego, jak ostro prognozy modelu zmieniają się w przestrzeni wejściowej.

Zrozumienie krzywizny pomaga pojąć, dlaczego optymalizator się zacina, czemu stopa uczenia ma tak duże znaczenie i dlaczego niektóre minima lepiej uogólniają.

Laplasjan grafowy i macierz Laplasjana

Dotąd Laplasjan żył w świecie funkcji ciągłych. Ale co, gdy dane nie tworzą gładkiej powierzchni, tylko graf?

Wtedy wkracza Laplasjan grafowy. Przenosi tę samą ideę — mierzenie, jak wartość w jednym punkcie różni się od wartości u sąsiadów — na węzły i krawędzie.

Wzór

Laplasjan grafowy L definiuje się jako:

Wzór na Laplasjana grafowego (uproszczony)

Wzór na Laplasjana grafowego (uproszczony)

Dwie macierze. I tyle. Oto, co oznacza każda z nich.

Macierz sąsiedztwa

Macierz sąsiedztwa A koduje, które węzły są połączone. Dla grafu z n węzłami, A jest macierzą n × n, gdzie A_ij = 1 gdy istnieje krawędź między węzłami i i j, a 0 w przeciwnym razie.

Dla prostego grafu nieskierowanego z 3 węzłami, gdzie węzeł 1 łączy się z węzłami 2 i 3, ale 2 i 3 nie łączą się między sobą:

Macierz sąsiedztwa

Macierz sąsiedztwa

Macierz stopni

Macierz stopni D jest macierzą diagonalną. Każdy element diagonalny D_ii to stopień węzła i — liczba krawędzi z nim połączonych. Wszystkie elementy pozadiagonalne są równe zero.

Dla tego samego grafu wzór wygląda tak:

Macierz stopni

Macierz stopni

Węzeł 1 ma stopień 2 (połączony z dwoma węzłami). Węzły 2 i 3 mają po 1.

Składamy to w całość

Odejmując A od D, otrzymujemy L:

Odejmowanie macierzy sąsiedztwa od macierzy stopni

Odejmowanie macierzy sąsiedztwa od macierzy stopni

Każdy element diagonalny mówi, ile połączeń ma dany węzeł. Każdy element pozadiagonalny L_ij ma wartość -1, jeśli węzły i i j są połączone, a 0 — jeśli nie.

Mnożąc L przez wektor wartości przypisanych węzłom, wynik mierzy, jak bardzo wartość każdego węzła odbiega od średniej jego sąsiadów. To dyskretna wersja wcześniejszej intuicji krzywizny — zastosowana do grafu zamiast powierzchni ciągłej.

Co wartości własne mówią o grafie

Prawdziwa moc L tkwi w jego wartościach i wektorach własnych:

  • Najmniejsza wartość własna L jest zawsze równa 0. Odpowiadający jej wektor własny jest stały — każdy węzeł otrzymuje tę samą wartość. Ma to sens: funkcja stała ma zerową „zmienność” na grafie.

  • Liczba zerowych wartości własnych równa się liczbie spójnych składowych grafu. Jeśli graf ma trzy niepołączone klastry, L ma trzy zerowe wartości własne. To bezpośredni sposób odczytania spójności grafu z macierzy.

  • Małe niezerowe wartości własne odpowiadają wektorom własnym, które zmieniają się powoli na grafie — pobliskie węzły dostają podobne wartości. Duże wartości własne odpowiadają wektorom własnym, które szybko oscylują między połączonymi węzłami.

Ciekawostka: To widmo wartości własnych nadaje nazwę metodom spektralnym.

Klasteryzacja spektralna i wykrywanie społeczności

Klasteryzacja spektralna używa wektorów własnych L do znajdowania klastrów w danych o strukturze grafowej. Idea jest taka, że wektory własne związane z małymi wartościami własnymi przypisują podobne wartości gęsto połączonym węzłom, a odmienne — słabo połączonym.

Aby znaleźć k klastrów, bierze się k wektorów własnych odpowiadających k najmniejszym niezerowym wartościom własnym L, układa je w kolumny macierzy i uruchamia k-średnich na wierszach. Każdy wiersz to węzeł, a jego położenie w tej niskowymiarowej przestrzeni odzwierciedla sąsiedztwo w grafie.

To działa w wykrywaniu społeczności w sieciach społecznościowych, klasteryzacji dokumentów, segmentacji obrazów i wszędzie tam, gdzie dane mają naturalną strukturę grafową. Dwa ściśle powiązane węzły lądują blisko siebie w przestrzeni wektorów własnych. Węzły z różnych społeczności — daleko.

Laplasjan grafowy zamienia trudny problem kombinatoryczny — znajdź klastry w grafie — w problem algebry liniowej, który łatwo rozwiązać.

Laplasjan w klasteryzacji spektralnej

Klasteryzacja spektralna to miejsce, gdzie Laplasjan grafowy przechodzi od ciekawej matematyki do praktycznego narzędzia ML.

Kluczowa idea jest taka, że zamiast klastrować bezpośrednio surowe punkty danych, klastruje się je w przestrzeni zdefiniowanej przez wektory własne L. Ta przestrzeń uchwytuje strukturę grafu, dzięki czemu widać, które węzły są silnie połączone, które słabo, a które należą do oddzielnych społeczności.

Jak wektory własne definiują klastry

Bierze się k wektorów własnych odpowiadających k najmniejszym niezerowym wartościom własnym L. Układa się je w kolumny macierzy. Każdy wiersz tej macierzy to węzeł, teraz reprezentowany jako punkt w przestrzeni k-wymiarowej.

Wektory własne związane z małymi wartościami własnymi zmieniają się powoli na grafie. Gęsto połączone węzły dostają podobne wartości w tych wektorach — podobne wartości to podobne wiersze — a podobne wiersze lądują blisko siebie w nowej przestrzeni.

Laplasjan nienormalizowany a znormalizowany

W praktyce spotyka się dwie wersje Laplasjana grafowego.

Laplasjan nienormalizowany to proste L = D - A. Dobrze działa, gdy węzły mają zbliżone stopnie — tzn. gdy większość ma podobną liczbę połączeń

Laplasjan znormalizowany koryguje nierównowagę stopni. Istnieje kilka wariantów, ale najczęstszy to:

Wzór na Laplasjana znormalizowanego

Wzór na Laplasjana znormalizowanego

To przeskalowuje wkład każdego węzła przez jego stopień. W grafach rzeczywistych — sieciach społecznościowych, grafach WWW, sieciach cytowań — niektóre węzły mają setki połączeń, a inne zaledwie jedno czy dwa. Bez normalizacji węzły o wysokich stopniach dominują wektory własne i wyniki klasteryzacji na tym cierpią.

Domyślnie proszę używać Laplasjana znormalizowanego, chyba że wiadomo, iż graf ma równomierny rozkład stopni.

Zastosowania praktyczne

Klasteryzacja spektralna z użyciem Laplasjana grafowego występuje w wielu zadaniach ML. Oto kilka:

  • Segmentacja obrazów — piksele stają się węzłami, wagi krawędzi kodują podobieństwo, a klastry odpowiadają regionom obrazu
  • Klasteryzacja dokumentów — dokumenty stają się węzłami, krawędzie kodują wspólne terminy lub cytowania
  • Analiza sieci społecznych — użytkownicy jako węzły, krawędzie jako połączenia, a klastry ujawniają społeczności
  • Systemy rekomendacyjne — przedmioty lub użytkownicy tworzą graf, a metody spektralne znajdują grupy o podobnych zachowaniach

Zawsze, gdy dane mają naturalną strukturę grafową lub można ją zbudować z podobieństw par, klasteryzacja spektralna daje zasadny sposób znalezienia grup, które umykają metodom opartym wyłącznie na odległości.

Laplasjan w przetwarzaniu obrazów i wizyjnych

Laplasjan to jedno z najstarszych narzędzi w systemach wizyjnych i wciąż pozostaje w aktywnym użyciu.

W przetwarzaniu obrazów intensywność piksela jest funkcją. Laplasjan mierzy, jak intensywność piksela różni się od intensywności jego sąsiadów. Gdy intensywność zmienia się powoli, Laplasjan jest bliski zera. Gdy zmienia się gwałtownie — na krawędzi — Laplasjan daje silną odpowiedź.

To cała podstawa detekcji krawędzi Laplasjanem.

Dlaczego drugie pochodne wykrywają krawędzie

Pochodna pierwsza wykrywa, gdzie intensywność się zmienia. Druga — gdzie ta zmiana sama ulega zmianie, czyli gdzie tempo zmian osiąga szczyt i opada.

Na krawędzi intensywność rośnie, po czym się stabilizuje. Pochodna pierwsza „pikuje” na tym wzroście. Pochodna druga — Laplasjan — przechodzi przez zero dokładnie w szczycie tego piku. Te przejścia przez zero wyznaczają dokładne położenie krawędzi, co czyni Laplasjana precyzyjniejszym w lokalizacji krawędzi niż filtry oparte na pierwszej pochodnej, jak Sobel.

Dyskretny rdzeń Laplasjana

W praktyce obrazy to siatki pikseli, a nie funkcje ciągłe. Ciągły Laplasjan aproksymuje się za pomocą rdzenia splotowego — małej macierzy przesuwanej po obrazie.

Standardowy 3×3 dyskretny rdzeń Laplasjana wygląda tak:

Dyskretny rdzeń Laplasjana 3×3

Waga centralna to -4, a czterej bezpośredni sąsiedzi dostają po +1. Zastosowanie tego rdzenia do piksela oblicza różnicę między intensywnością tego piksela a średnią jego czterech sąsiadów — dyskretną wersję tego samego pytania „jak ten punkt wypada na tle otoczenia?”.

Kwestie praktyczne

Surowe filtrowanie Laplasjanem jest wrażliwe na szum. Pojedynczy zaszumiony piksel daje ostry pik intensywności i Laplasjan oznaczy go jako krawędź.

Standardowym rozwiązaniem jest najpierw wygładzić obraz rozmyciem Gaussa, a potem zastosować Laplasjana. To połączenie nazywa się Laplacian of Gaussian (LoG). Gauss tłumi szum, a Laplasjan znajduje rzeczywiste krawędzie.

W uczeniu głębokim konwolucyjne sieci neuronowe uczą się własnych filtrów detekcji krawędzi z danych — ale często przypominają one rdzeń Laplasjana. W pewnym sensie ta sama matematyka, która uczyniła Laplasjana użytecznym w klasycznym widzeniu komputerowym, jest na nowo „odkrywana” przez sieci neuronowe.

Laplasjan dyskretny vs. ciągły

Laplasjan to trzy spokrewnione pojęcia pojawiające się w różnych kontekstach.

Zrozumienie, z którą wersją mamy do czynienia, oszczędza wiele nieporozumień przy przechodzeniu między podręcznikami analizy, kodem numerycznym i artykułami o grafowym ML.

Laplasjan ciągły

Laplasjan ciągły to ten z analizy. Dla gładkiej funkcji f określonej na przestrzeni ciągłej jest sumą drugich pochodnych cząstkowych:

Laplasjan ciągły

Ta wersja zakłada, że funkcja jest gładka i różniczkowalna wszędzie. To podstawa teoretyczna — ale rzeczywiste dane nigdy nie są ciągłe. Nie da się liczyć dokładnych pochodnych na siatce pikseli ani w tabeli pomiarów.

Laplasjan dyskretny

Przechodząc od funkcji ciągłych do próbkowanych danych, pochodne zastępuje się różnicami skończonymi — aproksymacjami liczonymi z wartości sąsiednich.

Dla funkcji 1D próbkowanej w równych odstępach, dyskretna druga pochodna w punkcie i to:

Laplasjan dyskretny

Laplasjan dyskretny

Porównuje się wartość w i z dwiema sąsiednimi. Ta sama idea przenosi się na siatki 2D (obrazy), wolumeny 3D i dalej. Rdzenie splotowe z sekcji o przetwarzaniu obrazów to dokładnie to — aproksymacje różnic skończonych Laplasjana ciągłego, stosowane do siatki pikseli.

To zdyskretyzowanie sprawia, że Laplasjan da się obliczać w metodach numerycznych i pipeline’ach ML. Za każdym razem, gdy stosuje Pan/Pani filtr Laplasjana w kodzie, wykonuje Pan/Pani aproksymację różnic skończonych, nie zaś dokładny operator analityczny.

Laplasjan grafowy

Laplasjan grafowy idzie o krok dalej w dyskretyzacji. Zamiast regularnej siatki o jednolitych odstępach, mamy dowolny zbiór węzłów połączonych krawędziami o różnych wagach.

Nie ma tu pojęcia „sąsiedniego piksela” — są tylko węzły i ich połączenia. Laplasjan grafowy L = D - A zastępuje strukturę różnic skończonych strukturą sąsiedztwa. Pytanie pozostaje to samo: jak wartość w węźle ma się do wartości u sąsiadów? Tylko że „sąsiedzi” są zdefiniowani przez graf, nie bliskość przestrzenną.

Dlaczego to ważne w ML

Większość danych ML nie żyje na regularnej siatce. Cząsteczki, sieci społeczne, grafy wiedzy czy chmury punktów 3D mają nieregularną strukturę. Nie da się do nich zastosować standardowego Laplasjana różnic skończonych.

Laplasjan grafowy rozwiązuje to, explicite ujawniając strukturę sąsiedztwa przez macierz sąsiedztwa. Dlatego sieci neuronowe grafowe i metody spektralne mogą stosować operacje oparte na Laplasjanie do danych bez naturalnego układu współrzędnych.

Przykład: liczenie Laplasjana

Uczyńmy to konkretnym w dwóch przykładach — jednym ciągłym i jednym grafowym.

Przykład 1: Laplasjan ciągły f(x, y) = x² + y²

Weźmy funkcję f(x, y) = x² + y². To prosty paraboloid — „misa” zakrzywiająca się w górę w każdym kierunku.

Aby policzyć Laplasjana, potrzebne są drugie pochodne cząstkowe względem każdej zmiennej.

Najpierw względem x:

Obliczenia Laplasjana ciągłego (1)

Obliczenia Laplasjana ciągłego (1)

Następnie względem y:

Obliczenia Laplasjana ciągłego (2)

Obliczenia Laplasjana ciągłego (2)

I teraz po prostu je sumujemy:

Obliczenia Laplasjana ciągłego (3)

Obliczenia Laplasjana ciągłego (3)

Laplasjan ma stałą wartość 4 w każdym punkcie. To ma sens, bo paraboloid ma tę samą krzywiznę wszędzie. Wartość dodatnia mówi, że funkcja zakrzywia się w górę w każdym kierunku, zgodnie z „kształtem misy”.

Przykład 2: Laplasjan grafowy dla małego grafu

Weźmy graf z 4 węzłami i następującymi krawędziami:

  • Węzeł 1 łączy się z węzłami 2 i 3
  • Węzeł 2 łączy się z węzłami 1 i 4
  • Węzeł 3 łączy się z węzłem 1
  • Węzeł 4 łączy się z węzłem 2

Macierz sąsiedztwa A koduje te połączenia:

Obliczenia Laplasjana grafowego (1)

Obliczenia Laplasjana grafowego (1)

Macierz stopni D umieszcza liczbę połączeń węzła na przekątnej:

Obliczenia Laplasjana grafowego (2)

Obliczenia Laplasjana grafowego (2)

Węzły 1 i 2 mają po 2 połączenia. Węzły 3 i 4 — po 1.

Na koniec odejmujemy, by otrzymać L = D - A:

Obliczenia Laplasjana grafowego (3)

Obliczenia Laplasjana grafowego (3)

Jak czytać tę macierz: Wiersz 1 mówi: węzeł 1 ma stopień 2 i jest połączony z węzłami 2 i 3 (elementy -1). Wiersz 3 mówi: węzeł 3 ma stopień 1, połączony tylko z węzłem 1. Zera wskazują pary węzłów bez wspólnej krawędzi.

Można to też policzyć w Pythonie, by zweryfikować:

import numpy as np

A = np.array([
    [0, 1, 1, 0],
    [1, 0, 0, 1],
    [1, 0, 0, 0],
    [0, 1, 0, 0]
])

D = np.diag(A.sum(axis=1))
L = D - A

print(L)

Obliczanie Laplasjana grafowego w Pythonie

Typowe niejasności

Laplasjan jest podobny do kilku innych pojęć i różnice nie zawsze są oczywiste już z nazw. W tej sekcji postaram się wyeliminować wszystkie punkty niejasności.

Laplasjan vs. gradient

Gradient ∇f jest wektorem. Wskazuje kierunek najszybszego wzrostu, a jego długość mówi, jak szybko funkcja rośnie. Korzysta z pochodnych pierwszego rzędu.

Laplasjan ∇²f jest skalarem. Nie mówi, w którą stronę się poruszać — mówi o kształcie funkcji w punkcie. Jest zbudowany z pochodnych drugiego rzędu.

Laplasjan vs. hesjan

To myli najczęściej.

Hesjan H to macierz wszystkich drugich pochodnych cząstkowych. Dla funkcji o n wejściach to macierz n × n, która uchwytuje, jak gradient zmienia się wzdłuż każdej pary osi. Daje pełny obraz krzywizny.

Laplasjan to ślad hesjanu — suma elementów na przekątnej. Traci się informację o krzywiznach pozadiagonalnych, ale zyskuje jedną liczbę, którą łatwo policzyć.

Używamy hesjanu, gdy potrzebny jest pełny rozkład krzywizny. Laplasjanu — gdy wystarczy skalarne podsumowanie.

Laplasjan grafowy vs. operator różniczkowy

Dzielą nazwę i tę samą intuicję rdzeniową, ale działają na zupełnie innych obiektach.

Laplasjan różniczkowy działa na gładkich funkcjach ciągłych. Wymaga pochodnych, więc zakłada różniczkowalność wszędzie.

Laplasjan grafowy L = D - A działa na grafach — strukturach dyskretnych z węzłami i krawędziami. Pochodnych tu nie ma. Mierzy różnicę między wartością w węźle a wartościami u sąsiadów za pomocą operacji macierzowych.

Związek jest koncepcyjny, nie obliczeniowy. Oba mierzą lokalne odchylenie od średniej sąsiedztwa, ale są całkowicie różne.

Konwencje znaku

W niektórych dziedzinach Laplasjana definiuje się z minusem: -∇²f. Spotka to Pan/Pani w fizyce i w części prac ML o sieciach grafowych. Ujemny Laplasjan −L jest dodatnio półokreślony, co ma lepsze własności dla pewnych problemów optymalizacyjnych i upraszcza analizę wartości własnych.

Czytając pracę, w której wszystkie wartości własne Laplasjana są nieujemne, proszę sprawdzić, czy używają L, czy -L. Matematyka jest równoważna, ale mieszanie konwencji może prowadzić do błędnych wniosków.

Dlaczego Laplasjan ma znaczenie w data science

W tym momencie widać, że Laplasjan pojawia się w analizie, teorii grafów, przetwarzaniu obrazów i optymalizacji. Ten sam operator rozwiązuje ten sam fundamentalny problem w różnych kontekstach: mierzy, jak wartość w punkcie odnosi się do otoczenia.

Oto gdzie to się pojawia w data science:

  • ML oparty na grafach: Laplasjan grafowy L = D - A jest fundamentem metod spektralnych. Zawsze gdy dane mają naturalną strukturę grafową, Laplasjan daje macierz kodującą pełen wzorzec połączeń w formie nadającej się do algebry liniowej

  • Klasteryzacja: Klasteryzacja spektralna używa wektorów własnych L do znajdowania grup, które umykają metodom wyłącznie dystansowym. Dobrze działa, gdy klastry nie są wypukłe ani liniowo separowalne

  • Uczenie półnadzorowane: Wiele metod półnadzorowanych używa Laplasjana grafowego do propagacji etykiet z węzłów oznaczonych na nieoznaczone. Założenie: połączone węzły prawdopodobnie mają tę samą etykietę, a Laplasjan kwantyfikuje, jak gładko etykiety powinny zmieniać się na grafie

  • Uczenie na rozmaitościach: Algorytmy takie jak Laplacian Eigenmaps używają Laplasjana grafowego do znajdowania niskowymiarowych reprezentacji danych wysokowymiarowych. Wektory własne L odwzorowują pobliskie punkty w oryginalnej przestrzeni na pobliskie w przestrzeni zredukowanej

  • Ekstrakcja cech z obrazów: Dyskretny Laplasjan wykrywa krawędzie i obszary szybkiej zmiany intensywności. Te cechy trafiają zarówno do klasycznych pipeline’ów wizyjnych, jak i jako priory w architekturach deep learningowych

Podsumowując, Laplasjan to jedno z nielicznych narzędzi matematycznych, które skaluje się od pojedynczego równania analizy aż po duże grafowe sieci neuronowe.

Zakończenie

Laplasjan zaczyna jako operator analizy, sposób mierzenia krzywizny funkcji ciągłych. W świecie ML opartym na grafach staje się macierzą kodującą strukturę całej sieci. Idea pozostaje identyczna, zmienia się tylko forma.

Proszę zapisać się na nasz kurs Linear Algebra for Data Science in R, aby praktycznie przećwiczyć wiele koncepcji i tematów omówionych w tym artykule.

FAQs

Czym jest Laplasjan w prostych słowach?

Laplasjan to operator matematyczny, który mierzy, jak wartość funkcji w punkcie ma się do średniej wartości jego sąsiadów. Gdy Laplasjan jest dodatni, punkt leży poniżej otoczenia. Gdy jest ujemny, leży powyżej. To pojedyncza liczba podsumowująca lokalną krzywiznę funkcji.

Jaka jest różnica między Laplasjanem a gradientem?

Gradient to wektor wskazujący kierunek najszybszego wzrostu — mówi, w którą stronę się poruszać. Laplasjan to skalar mówiący o kształcie funkcji w punkcie, a nie o kierunku. Oba opierają się na pochodnych, ale odpowiadają na zupełnie różne pytania.

Gdzie Laplasjan jest używany w uczeniu maszynowym?

Laplasjan pojawia się w wielu zadaniach ML — klasteryzacja spektralna, uczenie półnadzorowane, uczenie na rozmaitościach i wykrywanie krawędzi w obrazach w różny sposób się na nim opierają. W metodach grafowych macierz Laplasjana koduje strukturę sieci i napędza algorytmy takie jak Laplacian Eigenmaps i sieci neuronowe grafowe. To jedno z nielicznych narzędzi matematycznych, które skaluje się od pojedynczego równania do dużych, rzeczywistych systemów ML.

Czym jest Laplasjan grafowy i jak się go oblicza?

Laplasjan grafowy to macierz zdefiniowana jako L = D - A, gdzie D jest macierzą stopni, a A macierzą sąsiedztwa grafu. Każdy element na przekątnej zawiera liczbę połączeń węzła, a każdy element pozadiagonalny ma wartość -1, jeśli dwa węzły są połączone, i 0, jeśli nie są. Wartości i wektory własne tej macierzy ujawniają strukturę klastrów w grafie, co właśnie wykorzystują metody klasteryzacji spektralnej.

Jaka jest różnica między Laplasjanem grafowym znormalizowanym a nienormalizowanym?

Nienormalizowany Laplasjan L = D - A dobrze działa, gdy węzły w grafie mają z grubsza podobną liczbę połączeń. Znormalizowany Laplasjan koryguje nierównowagę stopni, przeskalowując wkład każdego węzła — to ważne w grafach rzeczywistych, jak sieci społeczne, gdzie jedne węzły mają setki połączeń, a inne jedno czy dwa. Bez normalizacji węzły o wysokich stopniach dominują wektory własne i wyniki klasteryzacji cierpią, więc znormalizowana wersja jest bezpieczniejszym wyborem domyślnym w większości zastosowań.

Tematy

Ucz się z DataCamp

course

Linear Algebra for Data Science in R

4 godz.
20.7K
This course is an introduction to linear algebra, one of the most important mathematical topics underpinning data science.
Zobacz szczegółyRight Arrow
Rozpocznij kurs
Zobacz więcejRight Arrow