« Alla Connections-artiklar kommer online | Main | Tillägg till "Data mining, machine learning och emergens" »
september 01, 2003
Data mining, machine learning och emergens
Sedan ett antal (4-5) år har jag varit intresserad av data mining och machine learning, och läst en hel del böcker om den mer statistiska approachen, artificiella neurala nätverk, genetiska algoritmer etc, men inte förrän på sistone upptäckt kopplingen till emergensteorin.
"Data mining" och "machine learning" betecknar olika saker men används ofta för samma sak, nämligen att utifrån en datamängd (eller system som genererar data) lista ut något om den process (etc) som genererat datan. Machine learning betecknar också forskning kring hur man skapar system som lär sig själva via input, t.ex. en bil som styr givet input till ett neuralt nätverk, backgammon-spelande system (via neurala nätverk/genetiska algoritmer), vilket är något som är tätare kopplat till emergensteorin än ren dataanalys.
En av de orsaker till att jag är fascinerad av data mining/machine learning (och statistisk analys) är just att man med hjälp av data kan skapa en "bild" av ett "system" för att se vad som döljer sig bakom, t.ex. lära ett begrepp med hjälp av exempel, lista ut köpvanor hos de som köper saker, se vilka attribut (faktorer) som är viktigast bland en stor mängd olika attribut etc etc.
Det verkar nästan magiskt att man kan göra sådant. Algoritmerna är relativt enkla så magin försvinner kanske lite grand när man läser mer i ämnet. Å andra sidan är jag fortfarande fascinerad när jag ser en duktig trollkonstnär även om jag vet hur denne gör sina tricks.
När jag nu har börjat läsa mer om komplexa adaptiva system utifrån emergensperspektivet har jag upptäckt viktiga länkar mellan neurala nätverk, genetiska algoritmer, och andra (själv)lärande system till emergensteorin.
Speciellt genetiska algoritmer skapades (i alla fall om man får tro Mitchell Waldrop i hans Complexity) för att undersöka teorin om hur sådana emergenta fenomen uppstår, liksom neurala nätverk skapades för att studera hur det mänskliga medvetandet fungerar. Andra tekniker, t.ex. Quinlans beslutsträd (se slutet på min anteckning JMLR Special Issue on Inductive Logic Programming) skapades bland annat för att förstå hur vi kan lära oss begrepp induktivt med hjälp av data, vilket kan ses som ett emergent fenomen eller åtminstone kopplat till detta.
Böckerna jag tidigare läst tar nämligen inte upp den emergenta sidan av forskningen utan behandlar i stort sett endast den tekniska delen, dvs teorin bakom (matematiken och/eller algoritmerna) eller hur man implementerar sådana system. Möjligen står det lite historiskt i inledningarna av böckerna, men alltså inget jag har "tänt till" på. Trist att jag inte upptäckt/insett detta tidigare!
Genetiska algoritmer har jag i princip sett endast som ett sätt att optimera lösningar, även om det har lockat lite med den biologiska kopplingen. Cellulära automater, som jag bland annat läste en del om när jag pluggade datalogi, sågs som teoretiska beräkningssystem, men inte som något emergent, även om jag tillbringade ett rätt stort antal timmar med Game of Life-simuleringar. Och Hofstadter skrev i sin Gödel Escher Bach-bok en hel del om emergenta fenomen.
Den första gången jag "nysåg" t.ex. genetiska algoritmer var i Duncan Watts bok Small Worlds, där han skrev om dem på ett sådant sätt att jag började bli intresserad igen, men eftersom jag inte ville avvika från min social network analysis/complex networks-väg så ignorerade jag denna "irrfärd".
Jag inser att jag - nu i min feberyra - möjligen överskattar kopplingarna. Men, hur som helst, data mining/machine learning är ett fascinerande område. (Man kanske inte ska blogga feberanfrätt i seriösare ämnen, liksom man inte bör blogga intoxikerad då...)
Böcker om data mining/machine learning
Här är några av de böcker jag läst om data mining/machine learning, beskrivet från den "tekniska sidan". Notera att dessa böcker alltså inte tar upp emergensfenomenet utan diskuterar en massa tekniker för att analysera datamängder eller lösa optimeringsproblem etc.
Tom Mitchell: Machine Learning
Är nog fortfarande den bästa introduktionsboken, även om den har några år
på nacken. Har ett kapitel om genetiska algoritmer som optimeringsmetod, liksom ett kapitel om neurala nätverk.
David J. Hand, Heikki Mannila, Padhraic Smyth: Principles of Data Mining
En inträngande genomgång om en massa olika tekniker att analysera data.
Richard O. Duda, Peter E. Hart, David G. Stork: Pattern Classification
En annan klassiker. Teknisk.
Jiawei Han, Micheline Kamber: Data Mining: Concepts and Techniques.
Behandlar ämnet utifrån ett databasperspektiv.
Ian H. Witten, Eibe Frank: Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations.
Detta är en av mina biblar eftersom den beskriver mitt favorit-data mining-system (Weka). Den är inte lika teknisk som ovanstående böcker och behandlar inte allt som de gör. Däremot förklarar den de saker den förklarar på ett föredömligt sätt.
Michael J. A. Berry, Gordon Linoff:Data Mining Techniques For Marketing, Sales, and Customer Support
Lite gammal (1997) men behandlar data mining på ett konkret sätt, utifrån marknadsdata. Målgruppen är managementpersoner och kan läsas som en introduktion till data mining. Deras Mastering Data Mining: The Art and Science of Customer Relationship Management (från 2000) tyckte jag däremot inte alls lika bra om.
Se även mina bokrecensioner: Recension av Jesus Menas "Data Mining Your Website" och Recension av 'Building Data Mining Applications for CRM'.
Några lite mer lättsamma böcker:
Thomas A. Bass Predictors.
En underbar bok som berättar i en romanliknande form om några av hjältarna från både kaosforskningen och - visar det sig - emergensforskningen, nämligen Doyne Farmer och Norman Packard, som startar ett företag för att bli stenrika på börsen. De använder främst genetiska algoritmer och artificiella neurala nätverk för detta. Det står mycket lite om det tekniska men är en fascinerande resa.
Se även A few Prediction Company references.
David B. Fogel:
Blondie24
Självbiografi som berättar om hur författaren skapar ett Checkers-system med genetiska algoritmer och artificiella neurala nätverk. När jag nu tänker tillbaka på vad som står i boken är detta ett tydligt exempel på en "emergensapproach": författaren försöker att skapa en "riktigt" AI-system som utifrån nästan ingenting alls lär sig spelet och att spela riktigt bra. "Riktigt AI-system" i jämförelse med IBM:s schackmaskiner som "bara" är number crunching.
Själv har jag nu Prey av Michael Crichton som godnattlitteratur.
En vän till mig rekommenderade den och när han berättade att boken hade fyra sidors litteraturreferens om svärmintelligens, agent-baserad programmering/modellering samt Thomas Schellings 'Micromotives and Macrobehavior' var jag bara tvungen att köpa den. Speciellt långt har jag ännu inte kommit.
Posted by hakank at september 1, 2003 07:26 EM Posted to Agentbaserad modellering | Böcker | Dynamiska system | Komplexitet/emergens | Machine learning/data mining