Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Regresszió, Mesterséges neuronhálók márc. 2.
2
Regresszió
3
Regresszió Felügyelt (induktív) tanulás:
tanító halmaz alapján olyan modell tanulása ami korábban nem látott példákon is helyesen működik. Regresszió: felügyelt tanulási feladat, ahol folytonos értéket jelzünk előre (statisztika „regresszió analízise” hasonló technikákat használ, de más a cél)
4
Regresszió Alapterület (nm) Városrész Kor (év) Ár (M Ft) 60
Csillag-tér 32 8,3 120 Alsóváros 21 26,8 35 Tarján 38 5,5 70 Belváros ???
5
Regresszió Tanító adatbázis: {x, r} rϵR Kiértékelő függvény:
„Négyzetes hiba”
6
Lineáris regresszió
7
Lineáris regresszió g(x |θ) = θx + θ0 gradiense 0 ha
8
Regressziós modellek Regressziós döntési fa:
Belső csúcsok úa. mint osztályozásnál Leveleken vagy konstans vagy (különböző) tanult lineáris modellek
9
Regressziós SVM
10
Regressziós SVM ||w||2 a modell komplexitása
ε a közelítés megengedett hibája C és ε is szabályozza az általánosítási készséget
11
Neuronhálók
12
Mesterséges neuronhálók
artificial neural networks (ANN) Az információfeldolgozás a biológiai idegrendszer (pl. az emberi agy) működését próbálja utánozni Struktúra: nagyszámú, erősen összefüggő, együttműködő processzáló elem (idegsejtek, neuronok) Cél: az emberekhez hasonlóan tanuljanak tapasztalatokból (példák segítségével)
13
Egy kis neurobiológia A neuron (idegsejt): sok bemenet / egy kimenet
A kimenet gerjesztett (excited) vagy nem A más neuronokból bejövő jelek határozzák meg, mikor tüzel (fire) a neuron (gerjesztett állapotba kerül) A kimenet függ a szinapszisokban történő csillapításoktól Inputs: dentrites Processing: soma Outputs: axons Synapses: electrochemical contact between neurons Basically, a biological neuron receives inputs from other sources, combines them in some way, performs a generally nonlinear operation on the result, and then output the final result.
14
Matematikai megfogalmazás
Feltevésünk: a neuron a bemenetek súlyozott átlagát számítja ki, és az eredményt összehasonlítja egy küszöbértékkel. Ha nagyobb, akkor a kimenet 1 (tüzel, gerjesztett állapotba kerül) különben -1. The basic unit of neural networks, the artificial neurons, simulates the four basic functions of natural neurons. Artificial neurons are much simpler than the biological neuron; the figure below shows the basics of an artificial neuron.
15
Néhány adat Neuronok száma az agyban: ~ 1011
Egy neuron átlagosan 104 másikkal van kapcsolatban Leggyorsabb kapcsolási idő: 10-3 másodperc Arcfelismerési idő: 10-1 másodperc
17
Motiváció (gépi tanulási szemmel)
Cél: nem-lineáris összefüggések tanulása Sok olyan probléma van, ahol a lineáris diszkriminancia nem megfelelő eredményt ad A fő nehézség a megfelelő nemlineáris függvény megtalálása, a fgvcsaládot előre meg kell adnunk Lineráis modellek könnyen kezelhetőek, használjuk ezt ki
18
Perceptron
19
Többrétegű neuronhálók
A rejtett rétegben az input adatok másfajta reprezentációja Biologically, neural networks are constructed in a three dimensional way from microscopic components. These neurons seem capable of nearly unrestricted interconnections. This is not true in any man-made network. Artificial neural networks are the simple clustering of the primitive artificial neurons. This clustering occurs by creating layers, which are then connected to one another. How these layers connect may also vary. Basically, all artificial neural networks have a similar structure of topology. Some of the neurons interface the real world to receive its inputs and other neurons provide the real world with the network’s outputs. All the rest of the neurons are hidden form view. As the figure above shows, the neurons are grouped into layers The input layer consist of neurons that receive input form the external environment. The output layer consists of neurons that communicate the output of the system to the user or external environment. There are usually a number of hidden layers between these two layers; the figure above shows a simple structure with only one hidden layer. When the input layer receives the input its neurons produce output, which becomes input to the other layers of the system. The process continues until a certain condition is satisfied or until the output layer is invoked and fires their output to the external environment. Inter-layer connections There are different types of connections used between layers, these connections between layers are called inter-layer connections. Fully connected Each neuron on the first layer is connected to every neuron on the second layer. Partially connected A neuron of the first layer does not have to be connected to all neurons on the second layer. Feed forward The neurons on the first layer send their output to the neurons on the second layer, but they do not receive any input back form the neurons on the second layer. Bi-directional There is another set of connections carrying the output of the neurons of the second layer into the neurons of the first layer. Feed forward and bi-directional connections could be fully- or partially connected. Hierarchical If a neural network has a hierarchical structure, the neurons of a lower layer may only communicate with neurons on the next level of layer. Resonance The layers have bi-directional connections, and they can continue sending messages across the connections a number of times until a certain condition is achieved.
20
Többrétegű neuronhálók
21
Előrecsatolt (feedforward) háló
Kapcsolat csak a rákövetkező réteg irányában van a rétegek között módosítható súlyokkal ellátott kapcsolatok vannak Egy háromrétegű neuronháló egy input rétegből, egy rejtett rétegből és egy kimenet rétegből áll
24
Hálózati érték Egy neuron hálózati értéke:
ahol i az input egységeket indexeli, j a rejtett egységeket; wji jelöli az i inputból jövő kapcsolat súlyát a j rejtett neuronnál. Van egy konstans egységünk is, amelyik minden rejtett egységhez (neuronhoz) hozzá van kötve. Ennek bemeneti értéke mindig 1.
25
Aktivációs-függvény Minden rejtett egység kibocsátja a hálózati értékének valamely nemlineáris függvényét (aktivációs-függvény), azaz yj = f(netj) (A több rétegű lineáris függvény még lineáris) Előjel függvény: oi 1 Tj netj
26
Differenciálható aktivációs függvény
Differenciálható, nem-lineáris kimeneti függvény kell a hatékony tanuláshoz (gradiens alapú módszerek) A leggyakoribb megoldás a szigmoid “logikai” függvény használata: 1 Tj netj Használják még a tanh vagy a Gauss függvényt is
27
Kimeneti réteg Kimeneti egységeknél a hálózati érték: ahol a k az output réteg egységeit, az nH pedig a rejtett egységek számát jelöli Bináris osztályozás: előjel függvény Többosztályos osztályozás: minden osztályra egy kimenet, legnagyobb hálózat értékűt választjuk (diszkriminancia fgv.) Regresszió: aktivációs fgv után a predikció
29
Az y1 rejtett egység számolja a következő felületet:
x1 + x x1 OR x2 < 0 y1 = -1 - Az y2 pedig a következőt: 0 y2 = +1 x1 + x x1 AND x2 < 0 y2 = -1 A végső kimeneti egység jelei: z1 = 0.7y1-0.4y2 - 1, sgn(z1) pontosan akkor lesz 1, ha y1 =1, y2 = -1, ami éppen a kívánt függvényünk (x1 OR x2 ) AND NOT(x1 AND x2)
30
Általános (3 rétegű) előrecsatolt háló (c kimeneti egység)
A rejtett egységek segítségével bonyolultabb nemlineáris függvényeket is kifejezhetünk, bővítve az osztályozási lehetőségeket Megengedhetjük, hogy a kimeneten és a rejtett rétegeken levő aktivációs függvények különbözőek legyenek, sőt minden egységhez is különböző tartozhat
31
Kolmogorov tétele Kolmogorov tétele: minden korlátos folytonos függvény előállítható három rétegű hálózattal. DE: Kolmogorov tétele nagyon keveset mond arról, hogyan találjuk meg a bemeneti adatokból a megfelelő nemlineáris függvényeket
34
Háromrétegű neuronháló tanítása Visszaterjesztés (backpropagation)
35
Tanulás neuronhálóknál
A hálózat topológiáját előre adottnak tekintjük Minden neuronnál ugyanaz, előre rögzített aktivációs fgv. Tanulás = élsúlyok kalibrálása on-line tanulás (több epoch) The brain basically learns from experience. Neural networks are sometimes called machine learning algorithms, because changing of its connection weights (training) causes the network to learn the solution to a problem. The strength of connection between the neurons is stored as a weight-value for the specific connection. The system learns new knowledge by adjusting these connection weights. The learning ability of a neural network is determined by its architecture and by the algorithmic method chosen for training.
36
Tanulás neuronhálóknál
Előrecsatolás Ilyenkor adunk egy mintát az inputon, és ezt átszámoljuk a hálózaton – a végén a kimeneten értéke(ke)t kapunk Súlyok frissítése (visszaterjesztés) Ilyenkor az adott mintát arra használjuk, hogy módosítsuk a súlyokat úgy, hogy a számított és elvárt kimenetek különbsége csökkenjen
37
Tanulás neuronhálóknál
3rétegű hálózatokat vizsgálunk (könnyen megérthető, Kolmogorov tétele) A visszaterjesztés lényege: minden rejtett egységhez ki tudjuk számolni annak hibáját (érzékenységét), és ezzel egy tanulási eljárást ad a rétegek közti súlyokra
39
Legyen tk a kívánt k-ik kimenet, továbbá zk a k-ik számított kimenet (k = 1, …, c) tovább w jelölje a hálózat súlyait Hiba fgv: A visszaterjesztés szabály a gradiens módszeren alapul A súlyok kezdőértékei véletlen számok, és a hiba csökkentésének irányában változnak:
40
Hiba visszaterjesztés
A rejtett és kimenet rétegek közötti súlyok hibái: ahol a k. kimeneti neuron érzékenységének definíciója: és megadja, hogyan változik a teljes hiba a neuron hálózati értékének függvényében
41
Mivel netk = wkty, kapjuk: másrészt: Következmény: a súlyok változtatásának szabálya (a rejtett és kimenet rétegek közt): wkj = kyj = (tk – zk) f’ (netk)yj
42
A bemenet és rejtett rétegek közötti súlyok hibái:
43
Az előzőhöz hasonlóan definiáljuk a rejtett réteg érzékenységét: Az input-rejtett rétegek közötti súlyokra vonatkozó tanulási szabály:
44
Hiba visszaterjesztés
Először számítsuk ki a kimenetek érzékenységét, és ezzel változtassuk a súlyok felső rétegét output a k–ba vezetők aktualizálása: hidden input
45
Hiba visszaterjesztés
Ezután számítsuk ki a rejtett egységek érzékenységét, a hozzájuk kötött kimeneti egységek érzékenységének segítségével output rejtett input
46
Hiba visszaterjesztés
Végül aktualizáljuk az alsó réteg súlyait, a rejtett egységek érzékenységének segítségével output rejtett Aktualizáljuk a j-be vezetőket input
47
Véletlenszerűen választott súlyokkal kezdve, a sztochasztikus visszaterjesztés algoritmus: Begin inicializálni:nH; w, kritérium , , m 0 do m m + 1 xm véletlenül választott minta wji wji + jxi; wkj wkj + kyj until ||J(w)|| < return w End
49
Megjegyzések Nem biztos, hogy zérus hibához konvergál – lokális optimumhoz is tarthat, vagy oszcillálhat A gyakorlatban nagyon sok nagy problémánál kicsi hibához tartozó megoldást ad A lokális minimál-megoldások elkerüléséhez többszöri futtatás, véletlen kezdősúlyokkal A legkisebb hibához tartozó megoldást vegyük Vagy valamilyen többségi szavazással válasszuk ki a megoldást
50
Megjegyzések Hány rejtett neuron kell? Mi az optimális toplológia?
ha kevés rossz reprezentáció ha sok túltanulás validációs halmaz... Mi az optimális toplológia? priori tudás Tanulási arány!?
51
Mély neurális hálók deep learning
52
Neuronhálók Perceptron: az első algoritmus az ötvenes évekből (egyrétegű háló) Visszaterjesztés algoritmus: többrétegű hálózatok, (1975), nagyon népszerű a nyolcvanas években Mély hálók (deep learning): 2006 óta új virágkor
53
Autoencoder előtanítás (auto-encoder pretraining)
54
Mohó szintenkénti tanítás
55
Rectifier hálózatok
56
Dropout regularizáció
57
Blokk hálózatok
58
Visszacsatolásos neuronhálók (recurrent neural networks)
rövid távú memória
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.