Jak może działać perceptron wieloklasowy?

13

Nie mam żadnego tła z matematyki, ale rozumiem, jak działa prosty Perceptron i myślę, że rozumiem pojęcie hiperpłaszczyzny (wyobrażam sobie to geometrycznie jako płaszczyznę w przestrzeni 3D, która oddziela dwie chmury punktów, tak jak linia dzieli się dwie chmury punktów w przestrzeni 2D).

Ale nie rozumiem, w jaki sposób jedna płaszczyzna lub jedna linia mogłaby oddzielić trzy różne chmury punktów odpowiednio w przestrzeni 3D lub w przestrzeni 2D - jest to geometrycznie niemożliwe, prawda?

Próbowałem zrozumieć odpowiednią sekcję w artykule w Wikipedii , ale już niestety zawiodłem zdanie „Tutaj dane wejściowe x i dane wyjściowe y są pobierane z dowolnych zbiorów”. Czy ktoś mógłby mi wytłumaczyć wieloklasowy perceptron i jak to idzie z ideą hiperpłaszczyzny, a może wskazać mi niezbyt matematyczne wyjaśnienie?

wnstnsmth
źródło

Odpowiedzi:

8

Załóżmy, że mamy dane gdzie to wektory wejściowe, a to klasyfikacje.x iR n y i{ czerwony, niebieski, zielony }(x1,y1),,(xk,yk)xiRnyi{red, blue, green}

Wiemy, jak zbudować klasyfikator dla wyników binarnych, więc robimy to trzy razy: zgrupuj wyniki razem, , i .{ niebieski, czerwony lub zielony } { zielony, niebieski lub czerwony }{red, blue or green}{blue, red or green}{green, blue or red}

Każdy model ma postać funkcji , nazywaj je odpowiednio . Pobiera to wektor wejściowy do podpisanej odległości od hiperpłaszczyzny powiązanej z każdym modelem, gdzie odległość dodatnia odpowiada prognozie niebieskiego, jeśli , czerwonego, jeśli i zielonego, jeśli . Zasadniczo im bardziej dodatni jest , tym bardziej model myśli, że jest zielony, i odwrotnie. Nie potrzebujemy danych wyjściowych jako prawdopodobieństwa, musimy po prostu zmierzyć stopień pewności modelu.f R , f B , f G f B f R f G f G ( x ) xf:RnRfR,fB,fGfBfRfGfG(x)x

Biorąc pod uwagę wejście , klasyfikujemy je według , więc jeśli jest największym spośród przewidujemy kolor zielony dla .argmax c f c ( x ) f G ( x ) { f G ( x ) , f B ( x ) , f R ( x ) } xxargmaxc fc(x)fG(x){fG(x),fB(x),fR(x)}x

Ta strategia nazywa się „jeden na wszystkich” i możesz przeczytać o niej tutaj .

Harri
źródło
3

W ogóle nie rozumiem tego artykułu na Wiki. Oto alternatywny sposób na wyjaśnienie tego.

Perceptron z jednym logistycznym węzłem wyjściowym jest siecią klasyfikacyjną dla 2 klas. Wyprowadza , prawdopodobieństwo bycia w jednej z klas, z prawdopodobieństwem bycia w drugiej po prostu .1 - pp1p

Perceptron z dwoma węzłami wyjściowymi jest siecią klasyfikacyjną dla 3 klas. Każdy z dwóch węzłów podaje prawdopodobieństwo bycia w klasie , a prawdopodobieństwo bycia w trzeciej klasie wynosi . 1 - i = ( 1 , 2 ) p ipi1i=(1,2)pi

I tak dalej; perceptron z węzłami wyjściowymi jest klasyfikatorem dla klas . Rzeczywiście, jeśli nie ma ukrytej warstwy, taki perceptron jest zasadniczo taki sam jak wielomianowy model regresji logistycznej , podobnie jak prosty perceptron jest taki sam jak regresja logistyczna.m + 1mm+1

Hong Ooi
źródło
Czy jesteś pewien, że dane wyjściowe są rzeczywistym prawdopodobieństwem? W każdym razie nie wiem, jak działa wielomianowa regresja logistyczna, więc muszę się tym zająć. Ale czy nie ma (algorytmicznego) sposobu wyjaśnienia, w jaki sposób budowany jest perceptron z dwoma lub więcej węzłami wyjściowymi? Czy są jakoś powiązane ze sobą?
wnstnsmth