Perceptron

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Perceptron je nejjednodušším modelem dopředné neuronové sítě s učením s učitelem. Sestává pouze z jednoho neuronu. Perceptron byl modelován v roce 1957 Frankem Rosenblattem. Přes úvodní nadšení bylo později zjištěno, že jeho užití je velmi omezené, neboť je možné jej použít pouze ke klasifikaci lineárně separovatelných kategorií. Jeho rozšířením je vícevrstvý perceptron, který má již mnohem širší možnosti použití.

...

Definice

jednoduchý perceptron s n vstupy x (jimž přísluší váhy w_i), jedním výstupem z a prahem citlivosti neuronu \theta Perceptron v nejjednodušší podobě je binární klasifikátor, který mapuje vektory vstupů \mathbf x =[x_1,x_2,. +more,x_n] na výstupní hodnoty f(\xi): :f(\xi) = \begin{cases}1 & \text{pro }\mathbf w \cdot \mathbf x - \theta \geq 0\\0 & \text{jindy}\end{cases} kde \mathbf w je vektor vah a \theta je práh citlivosti neuronu.

Celkový podnět neuronu udává vážený součet \xi=\sum_{i=1}^n w_i \cdot x_i - \theta. Tento celkový podnět bývá označován jako potenciál neuronu. +more Na potenciál reaguje neuron (perceptron) výstupní odezvou Z=f(\xi), kde f je tzv. přenosová funkce. Je-li přenosová funkce ve tvaru skokové funkce, perceptron funguje, jak již bylo řečeno, jako binární klasifikátor, neuron tedy dělí vstupní prostor na dvě části.

Vstupy

Vstupy \mathbf x mohou být výstupy z jiných neuronů či podněty z vnějšího prostředí. Každým i-tým vstupem získá neuron informaci x_i v daném časovém okamžiku jako reálné číslo. +more Jedná-li se o vstupy z vnějšího prostředí, pak vektor vstupů \mathbf x reprezentuje zkoumaný objekt, přičemž jednotlivé příznaky (x_i) obsahují specifické informace o daném objektu (např. velikost, barva . ).

Váhy

Jednotlivé vstupy mají udanou důležitost pomocí synaptických vah w_i. Jedná se o reálné hodnoty. +more Vektor vah musí být vždy kolmý na rozhodovací hranici. Možností nastavení vah tak, aby odpovídaly správnému řešení je nekonečně mnoho.

Práh

Další určující veličinou neuronu je tzv. práh \theta. +more Tento práh je někdy považován za speciální případ váhy spoje vedoucího od fiktivního neuronu s trvalým výstupem -1. Potom můžeme označit w_0=\theta a x_0=-1 a dostáváme \xi= \sum_{i=0}^n w_i \cdot x_i = \mathbf w \cdot \mathbf x . Pokud převýší podnět práh, tedy \mathbf w \cdot \mathbf x > 0 , pak bod \mathbf x leží v kladném poloprostoru vymezeném separující nadrovinou \mathbf w \cdot \mathbf x = 0 , jinak leží v poloprostoru doplňkovém.

Přenosová funkce

Přenosových funkcí může být více druhů. Perceptron jako binární klasifikátor užívá jako přenosovou funkci skokovou přenosovou funkci, která vrací pro vstup menší než daná mez nulu, pro vstup větší než daná mez jedničku, pro vstup roven dané mezi se dodefinuje funkční hodnota na jedničku: f(\xi)=0 pro \xi a f(\xi)=1 pro \xi\geq\theta.

Rozhodovací hranice

Rozhodovací hranice je určena vstupním vektorem, pro který je síťový výstup nulový. Jedná se tedy o čáru, přesněji podprostor v prostoru vstupů, přičemž na jedné straně bude výstupní hodnota pro daný vstup 0 a na druhé 1. +more Vektor vah musí být vždy kolmý na rozhodovací hranici.

Učící pravidlo perceptronu

Učení perceptronu probíhá pomocí tréninku s učitelem, kdy je perceptronu nejdříve předložena množina příkladů se správným chováním, učící pravidlo následně nastaví váhy a práh tak, aby došlo k přiblížení výstupu sítě cíli. Rozhodovacích hranic může být nekonečný počet. +more 3 fáze učení jednoduchého perceptronu - A: je zvolen náhodně vektor vah \mathbf{w} a k němu určena kolmá rozhodovací hranice p, zjišťujeme výstup pro bod 1 - leží v oblasti s výstupem 1, i když má ležet v oblasti s výstupem 0 → B: odečteme vektor bodu 1 od vektoru vah \mathbf{w_1} a získáme nový vektor vah \mathbf{w_2} a k němu příslušnou rozhodovací hranici znázorněnou přímkou r, bod 2 je umístěn správně, bodu 3 přiřadí síť hodnotu 1 i když má dostat výstup 0 → C: odečteme vektor bodu 3 od vektoru vah \mathbf{w_2} a získáme nový vektor vah \mathbf{w_3} → nyní je již problém vyřešen - všem bodům je přiřazen odpovídající hodnota výstupu, řešením problému je tedy vektor vah \mathbf{w_3} s příslušnou rozhodovací hranicí q. Učení má následující fáze: * inicializace výchozích hodnot - nastavení vah a prahu na náhodné hodnoty * předložení vstupního vektoru síti - vstupní vektor je předložen síti a pomocí funkce Z=f(\xi)=f(\sum_{i=1}^n w_i \cdot x_i - \theta) je zjištěna výstupní hodnota * vyhodnocení klasifikace vstupního vektoru - výstupní hodnota zjištěná sítí je porovnána se správnou výstupní hodnotou - pokud se nerovnají, je potřeba přikročit k adaptaci, jinak je možné pokračovat k dalšímu kroku * adaptace vah a prahu ** váhy perceptronu jsou adaptovány dle následujícího pravidla: \mathbf{w}^{novy}=\mathbf{w}^{stary}+e \cdot \mathbf{p}, přičemž e=b-a je chyba perceptronu, b je zjištěná hodnota výstupu, a je očekávaná hodnota výstupu. Konkrétně je-li vyhodnocen vstup jako 0, přestože má být vyhodnocen jako 1, pak nové hodnoty vah získáme přičtením vektoru vstupu k původním vahám a naopak, je-li vyhodnocen vstup jako 1, přestože má být vyhodnocen jako 0, pak nové hodnoty vah získáme odečtením vektoru vstupu od původních vah. Pokud je vektor vstupu vyhodnocen správně, pak váhy neupravujeme a pokračujeme k vyhodnocení dalšího ze vstupů tréninkové množiny. ** práh perceptronu je adaptován dle následujícího pravidla: \theta^{novy}=\theta^{stary}+e * opakování kroků 2-4 pro všechny tréninkové vstupy.

Reference

Externí odkazy

[url=https://web. archive. +moreorg/web/20110910070141/http://avari. cz/uir/index. php. pg=perceptron]Stránky o neuronových sítích[/url] * [url=http://www. willamette. edu/~gorr/classes/cs449/intro. html]Stránky o neuronových sítích v podobě kurzu v angličtině[/url] * [url=https://web. archive. org/web/20110807104056/http://neuron-ai. tuke. sk/cig/source/publications/books/NS1/html/index. html]On-line učebnice o neuronových sítích - 1. díl, ve slovenenštině[/url] * [url=https://web. archive. org/web/20110807100129/http://neuron-ai. tuke. sk/cig/source/publications/books/NS2/html/index. html]On-line učebnice o neuronových sítích - 2. díl, ve slovenenštině[/url].

Kategorie:Umělé neuronové sítě

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top