newsgroups-index (beta)

Current group: sfnet.tiede

Vaatimukset_ja_säännönmukaisuudet

Vaatimukset_ja_säännönmukaisuudet  
Mikko Heiska
 Re: Vaatimukset ja säännönmukaisuudet  
Tapio Peltonen
 Re: Vaatimukset_ja_säännönmukaisuudet  
Simo
From:Mikko Heiska
Subject:Vaatimukset_ja_säännönmukaisuudet
Date:26 Dec 2004 17:49:58 -0800
Tämä on samasta aiheesta kuin aiempi "ajattelun luonteesta ja
toimintaperiaatteesta" juttu. Yritän kertoa niistä
tietojenkäsittelyllisistä asioista jotka melko vahvan käsitykseni
mukaan mahdollistavat aidon älyn toiminnan ja ilmenemisen.

Toivottavasti asiantuntijoilla ja muilla on jotain lisättävää tai
vastattavaa, ja jos jotain on väärin tai huonosti(vaikka sananvalinta
- en valita pilkunviilauksesta), toivottavasti se huomataan ja siitä
kerrotaan minulle ja mielellään muille(mieluummin sfnet kuin email).
Sfnetin käyttäjillä riittää ihmeen paljon energiaa korjata esim.
kreationistien huuhailuja(tavallaan hyvä niin), joten sopisi odottaa
löytyvän energiaa tälle paljon tärkeämmälle aiheelle.

sfnet.tiede.tietotekniikka on parasta olla jakelussa, mm. koska on
syytä olettaa tietojenkäsittelyteorian(vai opin?) tuntijoiden saavan
tästä irti kiintoisimpia näkemyksiä. Jatkot pelkästään sinne jos siltä
tuntuu.

Älkää valittako tämän viestin ja joidenkin muiden viestien ihmiskuvan
karkeudesta, koska tässä on päätarkoitus kuvata älyä - sanoisinko -
matemaattisena abstraktiona. Siinä riittää ihan tarpeeksi haastetta.
Tässä viestissä ei ole tavoitteena tai vaatimuksena kuvata "yhtä
lajia", vaikka se voikin joskus olla apukeinona.

************
Asiaan:

Tavallisten arkistenkin käsitteiden merkitys koostuu fyysiseen
viittaavasta ja (toiseksi) laajassa mielessä matemaattiseksi
katsottavasta informaatiosta, tai pelkästä matemaattisesta.
Matemaattinen tarkoittaa tässä myös sellaisia käsitteitä, joita 95%
ihmisistä ei äkkiseltään nimittäisi matematiikaksi, eli esim. "ja"
sanan käsitettä. Fyysisiin kokonaisuuksiin ja niihin liittyviin
parametreihin/muuttujiin viitataan koodilla. Muuttujan sisältönä voi
olla (desimaali)luku tai toinen koodi. Jokaisella koodilla ja
abstraktimmin sanottuna käsitteellä, ei ole kielessä sanaa, mutta
jokaisella sanalla on käsite.

Jos jostain kumman syystä ei olisi mahdollista viitata fyysiseen, ja
ilmaisukeinojen joukko pystyisi kuvailemaan pelkkiä matemaattisia
asioita, niin periaatteessa sekin riittäisi monenlaisen hyödyllisen
ajattelutyön abstraktiin kuvailuun. Ehkä tärkeimpänä esimerkkinä osa
ohjelmointiin liittyvästä ajattelusta.

Maailmasta (saadusta datasta) opitaan säännönmukaisuuksia (jotain
vajaatakin tietoa siitä miten data ja maailma poikkeaa satunnaisesta
ja täydestä kaaoksesta) ja ohjelman vaatimuksena on tehdä jotain
tietyllä tavalla säännöllistä edes suhteessa syötteeseen. Samalla
formaatilla/formalismilla voi kuvata ohjelman vaatimuksen ja datasta
opitun säännönmukaisuuden. Ohjelmaa tehdessä älyn mekanismit voivat
ilmentää luovuuttaan, keksimällä mahdollisimman nopean algoritmin,
joka tekee mitä vaatimuksessa on. Yhtä vaatimusta kohden voi olla ties
kuinka monta eri algoritmia.

Vaatimuksesta, alivaatimuksista jne. pitää yrittää päätellä mitä muita
tapoja on muotoilla sama outputiin haluttu tilanne. Ongelma voi lähteä
jakautumaan jonkun kehitys/pilkkomishierarkiansa alivaatimuksiksi kun
"kuvittelee" erilaisia syötteitä jäsennellysti, jotta voisi keksiä
niihin sopivia muuntovaatimuksia, rajapintoja ja
iteraatiosilmukanmäärittelyjä.

Jos 2 mustavalkoisessa kuvassa olevat nurmikot näyttää erilaiselta,
silloin niistä on (päässä/muistissa) eri
"vaatimusten"/säännönmukaisuuksien ominaisuusjoukot. Jos kyseisistä
joukoista kehittäisi ohjelmat normaalien ajattelumekanismien
pyörityksellä, niin niiden ohjelmien tuotoksista ei välttämättä tulisi
mitään nurmikon näköistä, mutta kuitenkin 2 eri näköistä kuvaa, jotka
ovat alkuperäisiä kuvia selvemmin eri näköisiä, mutta
tylsemmännäköisiä kuvia. Myös jostain nätistä fraktaalista muodostuisi
tällä tavalla kovin tylsä kuva, koska evoluutio ei ole "tarkoittanut"
älyä mihinkään fraktaalien pakkaamiseen. Vaihtelee paljon ihmisen
mukaan miten hyvin kukin muistaa ja tiedostaa kuvien ominaisuuksia, ja
pystyy piirtämään tai luokittelemaan niitä jälkeenpäin. Tavallaan
kumma miten vähillä viivoilla pilapiirtäjä pystyy tekemään tietystä
oikeasta ihmisestä muistuttavan kuvion.

Säännönmukaisuuksien kuvailutavan valinnassa älyn teorian
universaalius loppuu, koska on valittava joku mielivaltainen
"biologisesti uskottava" tai tilannekohtaisesti tehokkain formalismi,
joka pystyy kuvaamaan minkä tahansa ohjelman vaatimuksen.
Universaaliuden käytännöllistä merkitystä tässä voi kuvata vain
spekuloimalla, että jonkun toisen tähden avaruusolentojen biologiasta
abstrahoitu formalismi voi olla eri tavalla toimiva, vaikka lopputulos
olisi aikaa/askelmäärää lukuunottamatta abstraktisti tasan sama.

Jos täsmällisiä lajikohtaisia vastauksia haluaa, pitäisi tehdä
valtavan paljon ajattelua vaativaa dna-datan analyysia, mikroskoopilla
katsomista tai erittäin ovelasti suunniteltuja psykologisia kokeita.
Yhdestäkään edellisestä kolmesta en välitä tarkemmin arvata mitä se
voisi pitää sisällään.

Kun formalismiin liitetään yhteys fyysiseen, se voi kuvata aivan
kaikkea mahdollista ajattelua ( saadun datan, laskennan ja tuloksen
suhdetta). Fyysisen oppimiseen liittyy eräänlainen tilastointi.
Fyysisessä, joka päätelmään ja päätökseen liittyy todennäköisyys. Eri
asia missä tilanteissa kannattaa todennäköisyyksiä ruveta luvuilla
laskemaan tai milloin ne "luvut" sattuu tulemaan biologisesti "laskun"
osaksi. Usein tai yleensä ne arvot tulee pyöristettyä nollaan tai
yhteen.

Tavallista fyysisen säännönmukaisuuksien huomaamiseen käytettyä
oppimista käytetään myös abstraktissa matematiikan tekemisessä. Joskus
jostain matematiikasta "tulee esiin" /ilmaantuu joku esim. lukujono,
josta voi yrittää nähdä jonkun säännönmukaisuuden ja edetä siitä.
Lukujonoista on kokonainen nettisivusto jossain, ilmeisesti juuri
sellaista etenemistapaa auttamaan. (linkkiä, kiitos?)

Säännönmukaisuuksien etsinnästä on apua muutenkin kuin lukujonojen tai
lukujen kanssa. Tässä on nyt itseviittaavuutta, koska älyn teoria on
yksi esimerkki.

Onko sellainen oppimisen kautta eteneminen koskaan välttämätön keino
matematiikassa, vai käytetäänkö sitä vain koska se joskus tuntuu
ihmisestä helpommalta?




..
From:Tapio Peltonen
Subject:Re: Vaatimukset ja säännönmukaisuudet
Date:Mon, 27 Dec 2004 15:45:18 +0000 (UTC)
On 2004-12-27, Mikko Heiska wrote:

> sfnet.tiede.tietotekniikka on parasta olla jakelussa, mm. koska on
> syytä olettaa tietojenkäsittelyteorian(vai opin?) tuntijoiden saavan
> tästä irti kiintoisimpia näkemyksiä. Jatkot pelkästään sinne jos siltä
> tuntuu.

Ohjaan jatkot .tieteeseen, koska menee yleistieteelliseksi enemmän kuin
tietotekniseksi.

En yritä kommentoida itse asiaa, koska jäin jotenkin jumiin tämän
tekstin kanssa, en saanut siitä kunnolla tolkkua. Haluaisin aluksi
selvennystä erääseen seikkaan:

> Tavallisten arkistenkin käsitteiden merkitys koostuu fyysiseen
> viittaavasta ja (toiseksi) laajassa mielessä matemaattiseksi
> katsottavasta informaatiosta, tai pelkästä matemaattisesta.

Hei, seis, hidasta!

Mikä on mielestäsi merkityksen ontologia?

> Matemaattinen tarkoittaa tässä myös sellaisia käsitteitä, joita 95%
> ihmisistä ei äkkiseltään nimittäisi matematiikaksi, eli esim. "ja"
> sanan käsitettä. Fyysisiin kokonaisuuksiin ja niihin liittyviin
> parametreihin/muuttujiin viitataan koodilla. Muuttujan sisältönä voi
> olla (desimaali)luku tai toinen koodi. Jokaisella koodilla ja
> abstraktimmin sanottuna käsitteellä, ei ole kielessä sanaa, mutta
> jokaisella sanalla on käsite.

Jokaisella sanalla on semantiikka, ja yksi tai (käytännössä aina)
useampia pragmaattisia merkityksiä.

Tämä ei koske ainoastaan kieltä, vaan ylipäätään kaikkia
kuvausjärjestelmiä.

Merkityksen ontologia on normatiivinen. Merkitys on intersubjektiivinen,
sosiaalinen ilmiö, joka perustuu (vähintään) kolmannen tason
vastavuoroiseen tietoon. "Minä tiedän; minä tiedän, että sinä tiedät;
minä tiedän, että sinä tiedät, että minä tiedän." Tämä normatiivisuus
eli konventionaalisuus on kaikkien viestinvälitystapojen inherentti
piirre. Tämä koskee sekä formaaleja, aksiomaattisia järjestelmiä että
(jäsennettyä) tietoa ulkoisesta maailmasta. Näiden kaikkien merkitys on
olemassa nimenomaan, ja minun mielestäni ainoastaan _konvention_ tasolla.

Loput alkuperäisestä viestistä leikattu pois.

--
Tapio Peltonen
From:Simo
Subject:Re: Vaatimukset_ja_säännönmukaisuudet
Date:Sun, 2 Jan 2005 21:17:06 +0200
On Mon, 26 Dec 2004, Mikko Heiska wrote:

> Maailmasta (saadusta datasta) opitaan säännönmukaisuuksia (jotain
> vajaatakin tietoa siitä miten data ja maailma poikkeaa satunnaisesta
> ja täydestä kaaoksesta) ja ohjelman vaatimuksena on tehdä jotain
> tietyllä tavalla säännöllistä edes suhteessa syötteeseen. Samalla
> formaatilla/formalismilla voi kuvata ohjelman vaatimuksen ja datasta
> opitun säännönmukaisuuden. Ohjelmaa tehdessä älyn mekanismit voivat
> ilmentää luovuuttaan, keksimällä mahdollisimman nopean algoritmin,
> joka tekee mitä vaatimuksessa on. Yhtä vaatimusta kohden voi olla ties
> kuinka monta eri algoritmia.

Tämä kuulostaa hieman siltä, mitä esimerkiksi ns. koneoppimisessa nykyään
tyypillisesti tehdään. Ja siis "koneoppiminen" on hieno termi yhden lajin
tilastolliselle estimoinnille, eikä se sinänsä liity minkäänlaiseen
"älyyn" mitenkään. Tosin tuossa yo tekstissäsi menee hieman mallin
kuvauksen formalismi, mallinnus ja estimoinnin tekevä ohjelma (algoritmi)
sekaisin, jos sen koneoppimiseen projisoi.

Tuo "sama formaatti/formalismi" on tyypillisesti tässä sovelluksessa
todennäköisyysjakaumat, joilla kuvataan todelliset stokastiset ilmiöt,
halutut ulostulot, epävarmuudet mallissa sekä epävarmuudet ennusteissa. Se
"älyn mekanismi" on vaan joku sopiva menetelmä, jolla niitä mallintavien
jakaumien parametreja optimoidaan/estimoidaan/samplataan.

Koneoppimisessa toimitaan tyypillisesti näin:

1. Valitaan mittausdatasta sopivat piirteet, esimerkiksi joidenkin
filttereiden ulostulot, tiettyjen taajuuskomponenttien määrät,
tai vastaavat. Tässä voidaan käyttää myös jotain PCA:ta,
ICA:aa tai SOM:ia piirteiden valinnassa.

2. Määritellään mitä ja miten mittausdatan perusteella halutaan
päätellä eli halutaanko luokitella jotain, ennustaa jonkin ulostulon
arvoa muiden ulostulojen arvoista vai jotain muuta.

3. Valitaan jokin semiparametrinen malli, esimerkisi jokin
niin sanottu neuroverkkomalli (MLP, GMM, ...), ihan tavallinen
lineaariregressiomalli tai joku muu.

4. Estimoidaan mallin parametrit jollakin sopivalla numeerisella
menetelmällä. Käytännössä tarvitaan optimointia, numeerista
integrointia, MC-samplausta tai vaikkapa evoluutiopohjaista
(geneettistä) optimointia riippuen mitä mallia käytetään ja miten.

Kohdassa 1 tyypillisesti matkitaan esimerkiksi ihmisen silmän tai korvan
toimintaa, jotta saadaan keksittyä hyvät piirteet. Mutta joka tapauksessa
näiden piirteiden valinta on aika pitkälle sellaista hihasta vetämistä.
Kohdassa 2 tehdään matemaattinen malli ilmiölle eli kirjoitetaan
uskomukset ilmiöstä funktionaaliksi ja stokastisiksi riippuvuuksiksi, ja
tämä kohta on siis se missä koko homman varsinainen "älykkyys" on.
Kohdassa 3 voidaan lisätä malliin regressiofunktiot tuntemattomien
funktioiden paikalle. Kohta 4 taas on periaatteessa vain olemassaolevien
estimointialgoritmien soveltamista.

> Jos 2 mustavalkoisessa kuvassa olevat nurmikot näyttää erilaiselta,
> silloin niistä on (päässä/muistissa) eri
> "vaatimusten"/säännönmukaisuuksien ominaisuusjoukot. Jos kyseisistä
> joukoista kehittäisi ohjelmat normaalien ajattelumekanismien
> pyörityksellä, niin niiden ohjelmien tuotoksista ei välttämättä tulisi
> mitään nurmikon näköistä, mutta kuitenkin 2 eri näköistä kuvaa, jotka
> ovat alkuperäisiä kuvia selvemmin eri näköisiä, mutta tylsemmännäköisiä
> kuvia. Myös jostain nätistä fraktaalista muodostuisi tällä tavalla kovin
> tylsä kuva, koska evoluutio ei ole "tarkoittanut" älyä mihinkään
> fraktaalien pakkaamiseen. Vaihtelee paljon ihmisen mukaan miten hyvin
> kukin muistaa ja tiedostaa kuvien ominaisuuksia, ja pystyy piirtämään
> tai luokittelemaan niitä jälkeenpäin. Tavallaan kumma miten vähillä
> viivoilla pilapiirtäjä pystyy tekemään tietystä oikeasta ihmisestä
> muistuttavan kuvion.

Konenäössä kuvat tyypillisesti käsitellään muodostamalla piirteet
esimerkiksi erilaisten suotimien ulostulona tai vastaavina, jonka jälkeen
ennusteet voidaan tehdä jollain semiparametrisella (vaikkapa neuroverkko-)
mallilla. Toinen tapa on tehdä Markov Random Field malli kuvalle, joka on
hieman samansukuinen tekniikka. Mutta joka tapauksessa estimoinnista
saadaan tuloksena ne säännönmukaisuudet mitä valitulla matemaattisella
mallilla sieltä voidaan saada ulos. Mitään maagista tai "älykästä" tässä
ei kuitenkaan missään tapauksessa ole.

Fraktaalit ovat siinä mielessä vastakkaisia koneoppimisen kanssa, että
fraktaaleissa ideana on kuvata lyhyesti äärettömän tarkkoja
yksityiskohtia. Tilastollisessa analyysissa - kuten koneoppimisessa -
ideana on taas kuvata mahdollisimman oleellisia asioita pienempien
epäoleellisuuksien kustannuksella. Eli fraktaalit pyrkivät
yksityiskohtiin, kun taas koneoppiminen kokonaisuuteen. Tosin kyllä
IFS-tyyppisiä fraktaaleja on kyllä käytetty generatiivisina malleina
kuvien pakkaamisessa, eli eivät ne ihan vastakkaisia ole.

> Säännönmukaisuuksien kuvailutavan valinnassa älyn teorian
> universaalius loppuu, koska on valittava joku mielivaltainen
> "biologisesti uskottava" tai tilannekohtaisesti tehokkain formalismi,
> joka pystyy kuvaamaan minkä tahansa ohjelman vaatimuksen.
> Universaaliuden käytännöllistä merkitystä tässä voi kuvata vain
> spekuloimalla, että jonkun toisen tähden avaruusolentojen biologiasta
> abstrahoitu formalismi voi olla eri tavalla toimiva, vaikka lopputulos
> olisi aikaa/askelmäärää lukuunottamatta abstraktisti tasan sama.

Niinpä, probabilistinen päättely on itse asiassa vain meidän maailmaamme
sopivaa päättelyä. Tai siis se, että Kolmogorovin aksiomatisoimalla
todennäköisyyslaskennalla voidaan mallintaa maailmaa on empiirinen tulos.
Se ei kuitenkaan tarkoita sitä, ettei todennäköisyyspohjainen päättely
voisi toimia myös muunlaisissa maailmoissa. Ja vaikkei, sama formalismi
voisi joka tapauksessa olla käytössä, mutta sitä ehkä vaan sovellettaisiin
eri tavalla luonnon ilmiöiden kuvaamiseen.

En kyllä äkkiä sekoittaisi mitään "aikaa/askelmäärää" tälle
abstraktiotasolle. Ilmeisesti aika ja askelmäärä mihin viittaat tarkoittaa
jotakin sekventiaalisen laskentasysteemin aikaa tai askelmäärää? Mutta
eihän sillä ole mitään tekemistä tuon päättelymekanismin kanssa. Jos
formalismi eroaa tarpeeksi, niin voi olla ettei sekventiaalisella
laskentasysteemillä (kuten Turingin laskentamalli) enää voi implementoida
sitä mallia, eikä voida puhua mistään askelmääristä.

> Tavallista fyysisen säännönmukaisuuksien huomaamiseen käytettyä
> oppimista käytetään myös abstraktissa matematiikan tekemisessä. Joskus
> jostain matematiikasta "tulee esiin" /ilmaantuu joku esim. lukujono,
> josta voi yrittää nähdä jonkun säännönmukaisuuden ja edetä siitä.
> Lukujonoista on kokonainen nettisivusto jossain, ilmeisesti juuri
> sellaista etenemistapaa auttamaan. (linkkiä, kiitos?)

Tarkoitatko lukujonoilla aikasarja-analyysiä ja/tai signaalinkäsittelyä
vai? Eiköhän nämä aikasarja-analyysin ja koneoppimisen menetelmät ole
ihan periaatteeltaan samoja. En kyllä muuten usko, että abstraktissa
matematiikassa kovin empiirisiä menetelmiä käytetään, vaan ne ovat ihan
sovelletun matematiikan heiniä.

> Säännönmukaisuuksien etsinnästä on apua muutenkin kuin lukujonojen tai
> lukujen kanssa. Tässä on nyt itseviittaavuutta, koska älyn teoria on
> yksi esimerkki.

En tiedä mitä on "älyn teoria", mutta ainakin koneoppimisen (ja
tilastollisen analyysin yleensä) idea on juurikin löytää nuo
säännönmukaisuudet ja käyttää niitä muiden ilmiöiden ennustamiseen. Tässä
sovelluksessa tosin käytössä ovat ihan samat laskentamenetelmät kuin
vaikkapa ihan perinteisessä fysiikassa ja sovelletussa matematiikassa, eli
tässä sovelluksessa ei valitettavasti ole sitä "älyä" yhtään...

--
- Simo
   

Copyright © 2006 newsgroups-index   -   All rights reserved   -   Impressum