|
| Afstandsberegninger og neurale netværk Fra : Jakob Nielsen |
Dato : 30-10-04 16:20 |
|
Neurale net har altid været lidt af et mysterium for mig, og er det måske
stadig, men jeg kom til at tænke på om de ikke bare er en anden måde at
finde midste afstand fra en klasse i et ndimensionelt rum.
Hvis man laver et netværk som har 8 reelle tal som input og 2 binære tal som
output, kan man så ikke set det som en generel klasificering af data som er
beskrevet af 8 parametre over i 4 forskellige klasser?
Hvad jeg mener er at jeg kan tage en masse sample-data med 8 reelle in og de
tilsvarende 2 bit ud og betragte de 2 bit som en binær talkode for en
klasse, så klasse 0 er 00 og klasse 3 er 11 etc. Mine indata er da punkter i
et 8d rum og uddate er id for den klasse som et punkt tilhører. Plotter jeg
det i 8d får jeg forhåbentligt 4 punktskyer som hver repræsenterer en
klasse.
For hver klasse beregner jeg det principale koordinatsystem og med det i hus
kan jeg klasificere ukendte data ved at beregne eksempelvis Mahalanobis
afstand fra det uklasificerede data til hver af klasserne. Den nærmeste
klasses binære kode findes og angives som output til det uklasificerede
input.
Er det ikke præcis hvad et neurale netværk gør? Lærer baseret på sampledata
og klasificerer derefter input, så det matcher en klasse af svar. Er min
forståelse alt for naiv her? Hidtil har jeg brugt den afstandsberegning til
grafisk analyse, men den kan vel lige så fint analysere sensorinput for en
robot og returnere bedste adfærd i den situation.
.....der er så lige det at "min" metode kræver en vis mængde input for hvert
svar. Hvis output istedet er 100 reals, så er det jo ikke muligt. Jeg hører
gerne kommentarer til mine tanker.
| |
Henning Makholm (30-10-2004)
| Kommentar Fra : Henning Makholm |
Dato : 30-10-04 16:34 |
|
Scripsit "Jakob Nielsen" <a@b.c>
> Neurale net har altid været lidt af et mysterium for mig, og er det måske
> stadig, men jeg kom til at tænke på om de ikke bare er en anden måde at
> finde midste afstand fra en klasse i et ndimensionelt rum.
Tja .. hvad er den første måde da?
Neurale netværk er en heuristik man kan bruge hvis man ikke ved i
forvejen hvordan man skal karakterisere sine klasser ud fra de n
inddata - men til gengæld har en masse enkelte datapunkter der er
klassificeret allerede.
> Hvis man laver et netværk som har 8 reelle tal som input og 2 binære tal som
> output, kan man så ikke set det som en generel klasificering af data som er
> beskrevet af 8 parametre over i 4 forskellige klasser?
Jeg tror nok man i praksis vil foretrække at have 4 separate uddata i
det tilfælde, for ikke at skulle belaste netværket med at nogen par af
ønskede uddata har større Hamming-afstand end andre.
> Plotter jeg det i 8d får jeg forhåbentligt 4 punktskyer som hver
> repræsenterer en klasse.
Så vidt jeg forstår neurale netværk er der (især hvis de har flere
lag) ikke nødvendigvis nogen begrænsning der siger at klasserne skal
være pænt konvekse eller lignende.
> For hver klasse beregner jeg det principale koordinatsystem og med det i hus
> kan jeg klasificere ukendte data ved at beregne eksempelvis Mahalanobis
> afstand fra det uklasificerede data til hver af klasserne.
Jeg ved ikke hvad Mahalanobis afstand er, men det forslag forudsætter
at du har en analytisk karakterisering af klasserne i forvejen, gør
det ikke?
--
Henning Makholm "I consider the presence of the
universe to be a miracle. The universe
and everything in it. Can you deny it?"
| |
Jakob Nielsen (30-10-2004)
| Kommentar Fra : Jakob Nielsen |
Dato : 30-10-04 17:04 |
|
> Så vidt jeg forstår neurale netværk er der (især hvis de har flere
> lag) ikke nødvendigvis nogen begrænsning der siger at klasserne skal
> være pænt konvekse eller lignende.
Det kræver disse "skyer" heller ikke. Man skal bare for elementerne i dem
beregne det principale koordinatsystem, som angiver den generelle
orientering og varians.
> Jeg ved ikke hvad Mahalanobis afstand er, men det forslag forudsætter
> at du har en analytisk karakterisering af klasserne i forvejen, gør
> det ikke?
Mahalanobis afstand er en afstand fra en klasses midtpunkt til et
uklasificeret punkt. Den tager højde for klassens koordinatsystem: variansen
og orienteringen i denne beregning.
Denneklasificering har man vel også? For hvert stk. træningsdata har man jo
dels beskrivelsen af input (som definerer punktet) og en klasificering, da
klassens navn bare var uddate.
Så vidt jeg kan se, så kan man for mit eksempel se at der er 4 klasser og
for hver klasse har man nogle punkter som er inddata der tilhører netop
denne klasse. Beregner man så afstanden fra et ukendt punkt til hver af
klasserne, så er den nærmeste vel den bedste?
| |
Henning Makholm (30-10-2004)
| Kommentar Fra : Henning Makholm |
Dato : 30-10-04 22:18 |
|
Scripsit "Jakob Nielsen" <a@b.c>
> > Så vidt jeg forstår neurale netværk er der (især hvis de har flere
> > lag) ikke nødvendigvis nogen begrænsning der siger at klasserne skal
> > være pænt konvekse eller lignende.
> Det kræver disse "skyer" heller ikke. Man skal bare for elementerne i dem
> beregne det principale koordinatsystem, som angiver den generelle
> orientering og varians.
OK, hvad så med to inddata der hver går fra 0 til 1.
Klasse A er alle punkter med (x-½)²+(y-½)² < 1/4.
Klasse B er alle andre punkter.
Kan din metode adskille dem?
> Denneklasificering har man vel også? For hvert stk. træningsdata har man jo
> dels beskrivelsen af input (som definerer punktet) og en klasificering, da
> klassens navn bare var uddate.
Klassen er jo ikke det samme som sine træningsdata.
--
Henning Makholm "My fate? Servitude to the Embodiment of Whoops."
| |
Jakob Nielsen (31-10-2004)
| Kommentar Fra : Jakob Nielsen |
Dato : 31-10-04 10:26 |
|
> OK, hvad så med to inddata der hver går fra 0 til 1.
Det giver så et punkt i 2d hvor data ligger i (0..1,0..1)
> Klasse A er alle punkter med (x-½)²+(y-½)² < 1/4.
> Klasse B er alle andre punkter.
> Kan din metode adskille dem?
Næ, ikke uden træningsdata. Det er vel også sådan neurale net lærer. Hvis du
giver mig 100 punkter som metoden kan øve sig med, så...
men du har nu en pointe. "min" metode som ikke er min (så bare en
forbindelse til ANN) virker ved klynger af data. Dine data er ikke
klyngeformede. Du imidlertid heller ikke adskilde dem med et plan (en linie
her i 2d). Så vidt jeg ved kan neurale netværk heller ikke håndtere data
hvor klasserne ikke kan adskildes af et hyperplan. Dermed kan et net heller
ikke klare dine data. "min" metode kan naturligvis nemt laves om til at
håndtere dine data som jo bare er ale inde i cirklen eller alt udenfor ved
at beregne centrum for hver klasse og derefter afstand fra centrum. Er den
under 1/4, så A, men det vil nok reelt være så meget af en ændring af
metoden at den ikke er den samme.
> Klassen er jo ikke det samme som sine træningsdata.
Nej, men din klasse er defineret som sine træningsdata. Algoritmens kendskab
til klassen er baseret på dens data, så for den er de hvad klassen er.
Anyway... kan se at "min" metode ikke kan klare det samme som et ANN, men
mener dog heller ikke din opgave kan løses af et net. Måske jeg tager fejl.
Er der ikke andre her som er kloge på de net?
| |
Henning Makholm (31-10-2004)
| Kommentar Fra : Henning Makholm |
Dato : 31-10-04 17:48 |
|
Scripsit "Jakob Nielsen" <a@b.c>
> Dine data er ikke klyngeformede. Du imidlertid heller ikke adskilde
> dem med et plan (en linie her i 2d).
Det var pointen.
> Så vidt jeg ved kan neurale netværk heller ikke håndtere data hvor
> klasserne ikke kan adskildes af et hyperplan.
Hvor ved du det fra? Mit detailkendskab til neurale netværk er
begrænset, men så vidt jeg forstår kan de genkende vilkårligt
komplicerede klasser hvis bare der er tilstrækkelig mange interne
knuder og man træner dem tilstrækkeligt.
--
Henning Makholm "Okay, okay, life's a beach."
| |
Jakob Nielsen (31-10-2004)
| Kommentar Fra : Jakob Nielsen |
Dato : 31-10-04 19:33 |
|
>> Så vidt jeg ved kan neurale netværk heller ikke håndtere data hvor
>> klasserne ikke kan adskildes af et hyperplan.
>
> Hvor ved du det fra? Mit detailkendskab til neurale netværk er
> begrænset, men så vidt jeg forstår kan de genkende vilkårligt
> komplicerede klasser hvis bare der er tilstrækkelig mange interne
> knuder og man træner dem tilstrækkeligt.
Spørg ikke hvor jeg ved det fra.. spørg istedet hvorfor jeg troede jeg
vidste det
I en bog "An introduction to neural networks" står der på side 28
"Any binary clasification that can not be realized by a linear decision
surface cannot be realized by a TLU"
Jeg havde i sin tid læst det som at det handlede om et neuralt netværk, hvad
det ikke gør. En TLU er en threshold logic unit. Altså een neuron. Med andre
ord ser det ud til at et net, med tilstrækkelig størelse og forbindelse,
ikke har nogen begrænsning, som jeg kender dem.
| |
Carsten Svaneborg (01-11-2004)
| Kommentar Fra : Carsten Svaneborg |
Dato : 01-11-04 13:45 |
|
Jakob Nielsen wrote:
> I en bog "An introduction to neural networks" står der på side 28
> "Any binary clasification that can not be realized by a linear decision
> surface cannot be realized by a TLU"
Det typiske eksempel er xor. Det kræver to planer i input rummet, samt
et and spørgsmål for at repræsenterer xor. Dvs. det kræver 2 hidden
neuroner og en output neuron, du kan ikke gøre det med mindre.
Det er et godt eksempel på hvorfor perceptroner (dvs. 2lags netværk)
ikke kan indlære enhver funktion.
--
Mvh. Carsten Svaneborg
http://www.softwarepatenter.dk
| |
Bo Warming (31-10-2004)
| Kommentar Fra : Bo Warming |
Dato : 31-10-04 00:04 |
|
"Jakob Nielsen" <a@b.c> skrev i en meddelelse
news:4183b11c$0$176$edfadb0f@dtext01.news.tele.dk...
> Neurale net har altid været lidt af et mysterium for mig, og er det måske
Jeg læste for tyve år siden i Politiken kronik af Ib Ravn, Munksgaard, at en
neural computer der fik tegninger af ti giraffer kunne ved billed-nr-11
afgøre om det var en giraf
- at den var intuitiv som menneskehjernen og snart ville profil hos
forsikringssvindlere kunne spottes i tide.
Men er der triumfer på bordet?
| |
Jens Olsen (31-10-2004)
| Kommentar Fra : Jens Olsen |
Dato : 31-10-04 13:07 |
|
"Jakob Nielsen" <a@b.c> wrote in message news:<4183b11c$0$176$edfadb0f@dtext01.news.tele.dk>...
> For hver klasse beregner jeg det principale koordinatsystem og med det i hus
> kan jeg klasificere ukendte data ved at beregne eksempelvis Mahalanobis
> afstand fra det uklasificerede data til hver af klasserne. Den nærmeste
> klasses binære kode findes og angives som output til det uklasificerede
> input.
Nu kender jg ikke en Mahalanobis afstand, og ved derfor ikke hvor
generelt et begreb der er tale om. Men et neuralt netværk med en
passende størrelse er med sine ulineære overfæringsfunktioner for
neuronerne i stand til at fortage en vilkårligt kompleks
klasificering.
Det svære er at vælge en størrelse for netværket der gør, at det har
tilstrækkelig størrelse til foretage klassificeringen, men ikke så
stort at det bare lærer at håndtere hvert enkelt tilfælde i
eksempelsættet særskilt.
J.O.
| |
Niels L Ellegaard (31-10-2004)
| Kommentar Fra : Niels L Ellegaard |
Dato : 31-10-04 18:57 |
|
On Sat, 30 Oct 2004 18:03:41 +0200
"Jakob Nielsen" <a@b.c> wrote:
> Mahalanobis afstand er en afstand fra en klasses midtpunkt til et
> uklasificeret punkt. Den tager højde for klassens koordinatsystem: variansen
> og orienteringen i denne beregning.
> Denneklasificering har man vel også? For hvert stk. træningsdata har man jo
> dels beskrivelsen af input (som definerer punktet) og en klasificering, da
> klassens navn bare var uddate.
>
> Så vidt jeg kan se, så kan man for mit eksempel se at der er 4 klasser og
> for hver klasse har man nogle punkter som er inddata der tilhører netop
> denne klasse. Beregner man så afstanden fra et ukendt punkt til hver af
> klasserne, så er den nærmeste vel den bedste?
Så vidt jeg forstår siger du følgende.
"Hvis jeg har et problem, der er velegnet til at blive løst med et neuralt netværk
(eller en lignende metode), så er Mahalanobis afstand også et godt værktøj til at beskrive
mit problem."
Det er en skæg ide, men jeg er ikke overbevist om at du har ret. Lad os kigge på et neuralt
netværk, der skal lære at spille backgammon. Vi kan definere afstanden mellem to positioner
som antallet af brikker man skal flytte for at komme fra den ene position til den anden
position. Så vidt jeg forstår siger du at
a) "Hvis en position er vindende (for hvid), så er nabopositionerne ofte også vindende (for hvid)."
Men hvis jeg forstår dig ret, så bygger din metode det modsatte udsagn
b) "Hvis to positionerer vindende (for hvid), så er afstanden mellem dem ofte kort."
Jeg er ikke overbevist om at udsagn b) er opfyldt i backgammon. Om ikke andet tror jeg at der skal mere information til for at programmet kan lære at spille godt. Så vidt jeg ved, så virker neurale netværk også i situationer hvor udsagn b) ikke er opfyldt.
Niels
| |
|
|