Forelesningsrapporter

Fredag 22/5: Vi repeterte del III ved ? g? gjennom oppgaver fra kap.5 (KKT-betingelser), kap.4 (steepest descent og newtons metode), og kap. 2 (konvekse mengder og funksjoner). I andre time repeterte vi ogs? noen av de viktigste tingene fra del I og del II. Dette var den siste forelesningen for i ?r. Regne?velsene vil g? som vanlig de tre neste ukene, helt frem til eksamen.

Torsdag 21/5: Vi avsluttet kapittel 6 i del III med eksempel 6.3 og 6.4, der vi regnet ut minimum p? tre forskjellige m?ter: Direkte, ved ? bruke KKT-betingelser, og ved ? bruke barriermetoden. Vi fikk slik verifisert teoremet som sier at minimum for barrierproblemet konvergerer mot minimum for det opprinnelige problemer n?r mu g?r mot 0. Disse oppgavene hadde ingen likhetsbetingelser. Vi gjorde ogs? oppgave 6.2 og 6.3, der vi i tillegg hadde likhetsbetingelser. I begge tilfellene s? vi p? metoder (IPBopt og IPBopt2), som l?se barrierproblemet for en sekvens av mu-verdier som gikk mot 0. I morgen repeterer vi resten av del III, og regner flere oppgaver. Dette blir den siste forelesningen i kurset. Vi har tre regne?velser igjen, og vi bruker disse til ? regne eksamensoppgaver 

Fredag 15/5. Vi gikk gjennom teorien i kapittel 6 i del III. Vi startet med ? forklare hvordan Newtons metode kan generaliseres til ? l?se optimeringsproblemer ogs? med likhetsbetingelser. Deretter forklarte vi barrierproblemet, som er en metode for ? angripe problemer der vi ogs? har ulikhetsbetingelser. I barrierproblemet er det opprinnelige problemet oversatt til en serie problemer uten ulikhetsbetingelser, og vi viste hvordan l?sningene p? disse konvergerte mot l?sningen p? problemet MED ulikhetsbetingelser. Neste gang tar vi et par eksempler p? bruk av barriermetoden, f?r vi fortsetter med repetisjon av alt stoffet i kurset.

Fredag 8/5. Vi gikk gjennom resten av kapittel 5 om konveks optimering, og s? p? et eksempel der vi sammenlignet det primale og duale problemet. Vi regnet ogs? oppgave 3.4. Jeg rakk ikke oppgave 4.7 som planlagt, s? vi starter med denne neste gang, f?r vi fortsetter med kapittel 6.

Torsdag 7/5. Vi gikk gjennom seksjon 5.1 og 5.2. Deler av dette var repetisjon p? KKT-betingelsene, men vi gikk lenger ved ? formulere andreordensbetingelser for optimering med likhets/ulikhetsbetingelser, og vi s? p? beviset i tilfellet uten ulikhetsbetingelser. I grove trekk gikk beviset ut p? at man oversatte problemet til en serie ubetingede problemer, og tok en grenseverdi. Vi avsluttet med et eksempel, der vi ogs? sjekket eventuelle punkter som ikke er regul?re. I morgen avslutter vi kapittel 5, og rekker kanskje starte p? kapittel 6.

Torsdag 30/4. Torkel (som var vikar) gikk gjennom hele kap. 4 i del III. Noe av kap. 4 hadde vi ogs? g?tt gjennom tidligere, siden deler av oblig 3 bygget p? det. Neste uke fortsetter vi i kap. 5.

Fredag 24/4. Vi gikk gjennom kapittel 3 i del III. Temaer var ikkeline?re likninger, og numeriske metoder for ? l?se disse. Viktigheten av dette for optimering er at det ? finne minimum ofte svarer til ? finne nullpunkt til gradienten, slik at ? finne minumum kan oversettes til ? l?se et ikkeline?rt likningssett. Vi viste f?rst hvordan vi kunne finne fikspunkter ved fikspunktiterasjoner. Vi trengte her en Lipschitzbetingelse, og slike betingelser dukker ogs? opp i en litt mer komplisert form n?r vi fomulerer n?r vi har konvergens for Newtons metode. Vi s? ogs? p? et alternativ til Newtons metode (broydens metode) der vi ikke trenger ? ha noe eksakt uttrykk for Jacobimatrisen. P? torsdag neste uke skal vi g? gjennom kap. 4.

Torsdag 23/4. Vi gikk gjennom kapittel 2 i del III. Vi startet med ? definere konvekse mengder, deretter definert vi konvekse funksjoner, og s? p? mange eksempler p? slike, og hvordan vi kunne definere nye konvekse funksjoner basert p? andre konvekse funksjoner. Vi s? ogs? p? egenskaper for konvekse funksjoner, som at der karakterisert ved ? ligge ovenfor sin f?rsteordens Taylortiln?rming. I morgen kommer vi til ? g? gjennom kapittel 3 i del III.

Fredag 17/4. Vi gikk gjennom stoff som er n?dveldig for ? gj?re oppgavene i oblig 3. Dette dreide seg om sek. 5.1 og sek. 5.2 (KKT-betingelser for optimering med likhets- og ulikhetsbetingelser. Vi s? spesielt p? eksempel 5.9). samt sek. 4.2 (linjes?kmetoder, med vekt p? steepest descent og Newtons metode). Det nye med linjes?kmetoder er at vi la an til en mulighet til ? velge steglengde, det vil si hvor langt vi skal g? i s?keretningen. Vi avsluttet med et resultat (Armijos regel) som angir en anbefalt steglengde. Den utvidede versjonen av Newtons metode, som dere skal bruke i oblig 3 (newtonbacktrack), bruker denne. Neste uke hopper vi tilbake til kapittel 2, og fortsetter gjennomgangen av del III derfra.

Torsdag 16/4. Vi gjennomgikk kapittel 1 i stoffet som utgj?r del III av kurset. Vi startet med ? forklare de grunnleggende begrepene i optimering, og startet med et enkelt eksempel der man kunne se minimum direkte. Vi fortsatte deretter med to anvendelsesrettede eksempler. Det ene p? portef?ljeforvaltning, det andre p? maximum likelihood estimering (dette siste er basis for det dere skal gj?re i oblig 3). Vi avsluttet med ? sette opp f?rsteordens- og andreordens Taylortiln?rminger i flere variable, som er resultater vi skal bruke mye videre. I morgen skal vi begynne p? kapittel 2, men vi kommer sannsynligvis til ? ta noe fra kapittel 4 og, slik at vi f?r gjennomg?tt raskest mulig det dere trenger for oblig 3. 

Fredag 10/4. Vi repeterte alt stoff om wavelets fra del II av kurset. Vi startet med de grunnleggende begrepene som resolusjonsrom og detaljrom, skaleringsfunksjon og moderwavelet, og brukte Haar-waveleten til ? regne noen konkrete eksempler. Deretter repeterte vi koblingen mellom wavelet transformer og filtre, og s? p? de tilh?rende frekvensresponsene. Til slutt repeterte vi litt om tensorprodukter. Neste uke starter vi p? del III av kurset.

Torsdag 9/4. Vi fortsatte med ? snakke om tensorprodukter i en wavelet kontekst. Vi definerte todimensjonal DWT (DWT2) som et koordinatskifte i et tensorprodukt, og s? p? hvordan dette kan implementeres. Deretter s? vi p? hva DWT2 gjorde n?r vi anvender den p? bilder. Siden DWT svarer til ? anvende et lavpass/h?ypassfilter, s? svarer DWT2 til at vi anvende lavpass/h?ypassfilter p? rader/s?yler p? alle mulige m?ter. Siden det ? anvende et h?ypassfilter gj?r oss i stand til ? detektere kanter, s? betyr det at DWT2 p? et bilde gj?r at vi i de fire hj?rnene av et bilde etter DWT2 ser endringer i de forskjellige retningene i bildet. Vi testet alle mulige DWT2 p? v?rt testbilde (lena.png), og s? ogs? litt p? hvordan wavelets blir brukt p? fingeravtrykksbilder. I morgen repeterer vi alt i del 2 av kurset, og begynner p? del 3 neste uke.

Fredag 20/3. Vi fortsatte med teorien for koordinatskifter i tensorprodukter, og viste at disse kan uttrykkes p? samme m?te som n?r vi filtrerer bilder vertikalt og horisontalt. Deretter testet vi dette med enkel kode som brukte dft til ? gj?re koordinatskifter p? bilder. Deretter hoppet vi til 10.1, hvor vi definerte tensorprukter av funkjonsrom, som vi jo trenger for ? bruke teorien v?r p? wavelets. Vi gjorde s? DWT koordinatskiftet p? bilder, og tolket de nye koordinatene vi f?r i de fire forskjellige hj?rnene av bildet. Vi fortsetter p? dette neste gang. 

Torsdag 19/3. Vi gikk gjennom en del eksempler p? computational molecules, blant annet de som bruker glattingsfiltre. Vi s? ogs? p? enkle h?ypassfiltre som kan brukes til kantedeteksjon, som dukker opp n?r man regner ut de partielle deriverte til et bilde. Vi s? p? et eksempel hvor vi anvender disse p? enkle bilder med sjakkm?nstre, for ? illustrere hvordan de forskjellige filtrene kan brukes til kantdeteksjon i forskjellige retninger. Vi rakk s? vidt begynen p? koordinatskifter for tensorprodukter.

Fredag 13/3. Vi startet med ? gj?re oppgave 5.5.2a), for ? demonstrere det dere trenger ? gj?re med forsvinnende momenter i oblig 2. Deretter fortsatte vi med kap. 9 med ? definere bilder som matriser. Disse kunne ha enten to eller tre dimensjoner, avhengig av om det var fargebilder eller ikke. Vi s? deretter p? operasjoner for ? lese inn, vise frem, eller skrive bilder til fil, f?r vi forstatte med operasjoner som ? vise frem fargekomponenter, lage gr?tonebilder fra fargebilder, eller fremheve kontrast. Til slutt definerte vi det som kalles for computational molecules, og viste at det ? anvende et filter p? radene i et bilde, og et annet filter p? s?ylene svarte til et computational molecule. Vi fortsetter ? se p? viktige eksempler p? computational molecules neste gang.

Torsdag 12/3. Vi regner et par oppgaver fra seksjon 6.1 p? ? skrive opp filtre fra gitte MRA-matriser. Deretter s? vi p? en generalisering av DWT til flere filtre, og forklarte at slike transformasjoner blir brukt i MP3-standarden. Vi gikk s? gjennom seksjon 5.5, der vi forklarte hvordan vi kan legge til forsvinnende momenter, og vi forklarte til slutt hvorfor det er bra ? ha forsvinnende momenter ved tanke p? kompresjon. I morgen begynner vi p? kapittel 9 om bilder.

Fredag 6/3. Vi avsluttet seksjon 5.4 ved ? forklare kjernefunksjoner som kan brukes til ? eksperimentere med stykkevis line?re wavelets, og lyttet til lavresolusjonsdelen i lyd for denne nye waveleten. Vi definerte deretter en generalisering av det vi s? for stykkevis konstante og line?re funksjoner, som vi kalte for multiresolusjonsanalyse (MRA). Vi s? deretter p? hvordan DWT/IDWT koordinatskiftene kunne uttrykkes ved hjelp av filtre, og utledet hvordan DWT kunne regnes ut ved hjelp av to filtre H_0 og H_1, og hvordan IDWT kunne regnes ut ved hjelp av to filter G_0 og G_1. Vi regnet ut de tilh?rende filtrene for waveletene for stykkevis konstante og line?re funksjoner, og plottet deres frekvensrespons. For Haar waveleten viste det seg at filtrene G_0, H_0 var lavpassfiltre, G_1, H_1 h?ypassfiltre, mens for waveleten for stykkevis line?re funksjoner s? vi lavpassfiltre, men ikke noe godt h?ypassfilter. Det viser seg at dette gir grunnlag for ? forbedre denne waveleten, og vi skal si mer om dette neste gang.

Torsdag 5/3. Vi startet med oppgave 5.2.1 og 5.3.11 p? waveleten for stykkevis konstante funksjoner. Deretter begynte vi p? seksjon 5.4, der vi definerte resolusjonsrom for stykkevis konstante funksjoner, og tilh?rene basiser for disse. Disse basisfunksjonene var ikke ortogonale, slik at vi ikke kunne konstruere detaljrom ved ? ta projeksjon p? samme m?te. Vi definerte detaljrom og basiser for disse p? en litt annen m?te. Utover dette definerer man DWT og IDWT som f?r, og vi avsluttet med ? regne ut hvordan matrisene for disse m?tte se ut. Vi avslutter 5.4 i morgen med et par eksempler, f?r vi g?r l?s p? seksjon 6.1 med ? finne koblinger mellom wavelets og filtre. Det vi avsluttet dagens forelesning med er direkte knyttet til de f?rste deloppgavene i oblig 2, som jeg straks straks skal legge ut. Dere vil f? et par ting gratis for oblig 2 hvis dere f?r med dere morgendagens forelesning.

Fredag 27/2. Vi startet med ? vise kode for DWT og IDWT, og demonstrerte denne p? lyd ved ? nullstille detaljomponent eller lavresolusjonskomponenten, og h?re p? resultatet. Deretter regnet vi ut DWT for en gitt vektor for h?nd, og sjekket at vi fikk det samme med programmet v?rt. Deretter regnet vi ut DWT for en gitt funksjon. Neste gang starter vi p? seksjon 5.4, waveleten for stykkevis line?re funksjoner. 

Torsdag 26/2. Vi begynte p? del I med ? motivere en annen m?te ? tiln?rme funksjoner p?, enn det vi har sett p? i del I. Vi starter deretter ? bygge opp maskineriet for ? lage slike tiln?rminger ved ? bruke stykkevis konstante funksjoner. Vi definerte resolusjonsrom og detaljrom, og basiser for disse som konstrueres fra prototyper vi kalte for phi og psi. Vi regnet ut projeksjonene ned p? disse rommene, samt koordinatskiftematriser mellom basisene for detaljrommene og resolusjonsrommene. Fra dette definert vi DWT (Diskret Fourier Transform). Vi starter i morgen med ? programmere oog demonstrere denne.

Fredag 20/2. Vi repeterte hele del I av kurset. F?rst repeterte vi Fourierrekker, og gjorde to oppgaver som summerer opp det viktigste dere skal kunne gj?re for disse. Deretter repeterte vi DFT, et par enkle oppgaver som bruker viktige egenskaper ved DFT, samt oppgave 2 fra fjor?rets eksamen. Til slutt repeterte vi filtre og frekvensrespons, og deres sammenheng med DFT. Vi begynner p? del II p? torsdag i neste uke med ? snakke om waveleten for stykkevis konstante funksjoner (kap. 5 i kompendiet).

Torsdag 19/2. Vi fortsatte med eksempler p? filtre. F?rst s? vi p? glidende middel filtre, og plottet deres frekvensresponser, som vi s? at hadde sm? verdier for h?ye frekvenser, og h?ye verdier for lave frekvenser. Dette motiverte definisjonen av lavpassfiltre og h?ypassfiltre. Deretter s? vi p? ideelle lavpassfiltre, filtrene fra MP3-standarden, samt filtre som brukte koeffisienter tatt fra Pascals trekant. Vi forklarte at disse kunne brukes til ? lage "bedre" lavpassfiltre. Til slutt s? vi p? hvordan vi kan lage h?ypassfiltre ved ? legge p? et alternerende fortegn i et lavpassfilter, og avsluttet med ? demonstrere noen filtre p? lyd. I morgen skal vi repetere alt vi har g?tt gjennom i del I, f?r vi i neste uke begynner p? del II.

Fredag 13/2. Vi startet med et eksempel p? hvordan man kan regne ut output fra et filter ved ? skrive input som en sum av egenvektorer/Fourierbasisvektorer. Deretter definerte vi den kontinuerlige frekvensresponsen, utledet egenskaper til denne (samt sammenhengen med vektor-frekvensresponsen), og viste ved et par eksempler hvordan plott av denne kan forklare viktige egenskaper ved filtre. Vi s? spesielt p? et eksempel hvordan man kan regne ut filterkoeffisientene til et produkt av to filtre. Vi definerte ogs? en kompakt notasjon for filtre, og snakket litt om hvordan man kan matlabs/pythons innebygde funksjoner for konvolusjon til ? regne ut filtre. Vi rakk s?vidt ? begynne p? seksjon 3.5, ved ? se p? frekvensresponsen for tidforsinkelsesfiltre og filtre som legger til ekko. Vi fortsetter i seksjon 3.5 neste gang.

Torsdag 12/2. Vi ga en (f?rste) definisjon av digitale filtre basert p? filterkoeffisienter, og viste ved et par eksempler hva de kunen gj?re med lyd, slik som ? legge til ekko og redusere diskant. Vi forklarte at filtre kunne utrrykkes som matriser, n?r vi begrenset oss til periodiske vektorer. Vi s? at matrisene for filtrene var det vi kalte for sirkulante Toeplitz-matriser, og vi forklarte hvordan vi kunne skrive ned matrisen fra filterkoeffisientene og omvendt. Vi ga deretter en formell definisjon av filtre ut fra ? ha Fourierbasisvektorene som egenvektorer, og vi viste at dette var ekvivalent med den f?rste definisjonen vi ga. Vi ogs? at en matrse var et filter hvis og bare hvis operasjonen var tidsinvariant. Vi s? til slutt at vi kunne regne ut frekvensresponsen ved ? ta en DFT p? f?rste s?yle i den sirkulante Toeplitz-matrisen, og viste dette p? et enkelt eksempel. I morgen starter i med ? avlutte seksjon 3.2 med eksempel 3.13, f?r vi g?r videre p? seksjon 3.3.

Fredag 6/2. Vi gikk gjennom seksjon 2.4 om FFT. F?rst utledet vi en formel for hvordan en N-punkts FFT kunne regnes ut ved i stedet ? regne ut to N/2-punkts FFT. Vi viste at dette reduserte antall reelle multiplikasjoner for N-punkts FFT til 2Nlog_2N, n?r N er en potens av 2, og vi utf?rer FFT-algoritmen rekursivt. Vi forklarte ogs? hvordan FFT-algoritmen svarer til en faktorisering av DFT-matrisen i sparse matriser, og funksjonene i kodebasen v?r som regner ut FFT-algoritmen (og som dere skal bruke i oblig 1). Vi fortalte ogs? litt om bitreverserings-operasjonen, som v?re algoritmer kj?rer p? x i starten av FFT-algoritmen. Neste gang starter vi p? filtre (kapittel 3).

Torsdag 5/2. Vi avsluttet seksjon 2.2 ved ? vise egenskaper ved DFT som svarer til de vi viste for Fourierrekker, og gikk gjenneom et enkelt eksempel p? bruk av disse egenskapene. Deretter forklarte vi sammenhengen mellom Fourierrekker og DFT, nemlig at vi kan regne ut Fourierkoeffisientene til en funksjon i V_(M,T) ved ? ta en DFT p? vektoren av sampler, s? lenge vi tar mer enn 2M sampler. En tolkning av dette var samplingsteoremet, nemlig at en funksjon i V_(M,T) kan rekostruereres fra sine sampler s? lenge samplingsfrekvensen er mer enn det dobbelte av h?yeste frekvens. Til slutt gikk vi gjennom et lite eksempel der vi gjorde operasjoner p? lyd ved ? nullstille DFT-indekser som svarer til h?ye eller lave frekvenser. Dette svarer til ? anvende et digitalt filter, og dette er tema for neste uke. I morgen skal vi gjennomg? FFT, seksjon 2.4.

Fredag 30/1. Vi begynte med ? forklare en metode for ? ?ke konvergenshastigheten til en Fourierrekke, ved ? se p? den symmetriske utvidelsen til en funksjon. Deretter hoppet vi til seksjon 2.2, der vi etablerte et rammeverk for ? se p? frekvenser i digital lyd. Vi definerte N-punkts Fourierbasis (ogs? kalt digitale rene toner), som viste seg ? v?re ortonormale under det standard skalarproduktet i R^N, og Fouriermatrisen som koordinatskiftet fra standardbasisen til Fourierbasisen, samt diskret Fourier transform. Vi fant ogs? uttrykk for Fouriermatrisen, og viste hvordan vi kunne regne ut diskret Fourier transform for enkle uttrykk som involverer cos og sin. Vi regnet ogs? ut diskret Fourier transform til en firkantpuls. Vi starter neste gang med ? formulere og vise viktige egenskaper for DFT (teorem 2.21), f?r vi tar et enkelt eksempel p? bruk av disse egenskapene i eksempel 2.22. Jeg utfordret dere til ? ta dette eksempelet p? tavla neste gang, s? det er fritt fram for dere for dette p? torsdag (en pose bamsemums til den som t?r ? ta eksempel 2.22 p? tavla).

Torsdag 29/1. Vi definerte komplekse Fourierbasisvektorer og komplekse Fourierkoeffisienter. Disse var veldig like de reelle Fourierbasisvektorene og de reelle Fourierkoeffisientene, men var litt mer praktiske enn disse i den del tilfeller, blant annet fordi den komplekse basisen var ortonormal. Vi formulerte s? en del viktige egenskaper ved Fourierrekker, slik som hva som skjer n?r man forskyver funksjonen i tid, eller hva som skjer n?r man ganger en funksjon med et komplekst eksponential. Til slutt forklarte vi hvorfor trekantpulsens Fourierrekke konvergerte raskere enn firkantpulsens Fourierrekke. Dette hadde sammenheng med at vi kunne f? firkantpulsen ved ? derivere trekantpulsen, og vi kunne regne ut Fourierrekka til den deriverte ved ? derivere Fourierrekka. Fra denne sammenhengen var det klart at Fourierkoeffisientene til trekantpulsen kunne f?s fra firkantpulsens ved ? dividere med n,og da vil disse g? raskere mot 0. Vi starter morgendagen med ? avslutte seksjon 1.4, f?r vi begynner p? seksjon 2.2. 

Fredag 23/1. Vi startet med et par eksempler til p? mulige operasjoner p? lyd, slik sp ? spilel av en lyd baklengs, og med halv og dobbel samplingsrate. Deretter begynte vi p? seksjon 1.2 ved ? definere Fourierrommene og dens basisfunksjoner av rene toner, samt Fourierrekker. Vi viste at disse funksjonene var ortogonale, og hvordan koordinatene i Fourierbasisen (ogs? kalt Fourierkoeffisientene) da kunne regnes ut ved hjelp av ortogonalt dekomposisjonsteorem. Vi regnet ut Fourierrekka til firkantpulsen, og s? p? hvor gode tiln?rminger til firkantpulsen disse ga ved ? h?re p? de tilsvarende lydene. Vi observerte ogs? at Fourierrekka til firkantpulsen var en sinusrekka, og vi forklarte at det samme vil v?re tilfelle for alle antisymmetriske funksjoner. Neste gang fortsetter vi seksjon 1.3.

Torsdag 22/1. Vi ga en introduksjon til kurset, samt diverse praktisk informasjon ang?ende forelesninger, regne?velser, obligatoriske oppgaver, kompendiet, og websidene for kurset. Deretter gikk vi gjennom seksjon 1.1, ved ? forteller om to sentrale egenskaper ved lyd: lydstyrke og frekvens. Vi definerte rene toner, som er v?re byggeklosser for ? lage mer kompliserte lyder, og forklarte hvordan vi kunne generere slike og h?re p? dem med matlab eller python. Vi s? ogs? p? trekantpulsen og firkantpulsen, som er andre typer lyder, og h?rte ogs? p? disse.Vi fikk vist noe av det man trenger ? skrive for ? lese/avspille/skrive lyd. Vi fortsetter med et par eksempler til p? dette i morgen slik at dere har l?rt alt dere trenger for ? l?se oppgavene til neste uke. Deretter fortsetter vi med Fourierrekker i Seksjon 1.2. 

Publisert 22. jan. 2015 14:15 - Sist endret 22. mai 2015 14:49