Temple University – CIS Dept. CIS661 – Principles of Data

advertisement
Spatial and Temporal Data Mining
V. Megalooikonomou
Preliminaries
(some slides are based on notes from “Searching multimedia databases by content” by C. Faloutsos and notes
from Anne Mascarin)
General Overview





Fourier analysis
Discrete Cosine Transform (DCT)
Wavelets
Karhunen-Loeve
Singular Value Decomposition
Fourier Analysis

Fourier’s Theorem:


Every continuous function can be considered as a
sum of sinusoidal functions
Discrete case – n-point Discrete Fourier
Transform of a signal x  [ xi ], i  0,, n  1 is
defined to be a sequence X of n complex
numbers X f , f  0,  , n  1 given by
X f  1 / n i 0 xi exp(  j 2fi / n) f  0,1,, n 1
n 1

where j is the imaginary unit ( j   1 )


We denote a DFT pair as x  X
Fourier Analysis


The signal x can be recovered by the
inverse transform:
xi  1 / n  f 0 X f exp( j 2fi / n) i  0,1,, n  1
n 1
X f is a complex number with the exception of

X 0 which is real if the signal x is real
Fourier Analysis
Fourier Analysis


Main Idea of DFT: decompose a signal into sine
and cosine functions of several frequencies,
multiples of the basic frequency 1/n
DFT as a matrix operation:


X   x
where   [ ai , f ]is an n x n matrix with
 i , f  1 / n exp(  j 2fi / n) i, f  0,, n  1
Fourier Analysis

The matrix A is column-orthonormal, i.e., its column
vectors are unit vectors, mutually orthogonal (also roworthonormal since it is a square matrix)
*      *  
where I is the (n x n) identity matrix and A* is the
conjugate-transpose (‘hermitian’) of A that is
*  [a*f ,i ]
DFT corresponds to a matrix multiplication with A and since
A is orthonormal the matrix A performs a rotation (no
scaling) of the vector x in n-d complex space. As a
rotation, it does not affect the length of the original
vector nor the Euclidean distance between any pair of
points.
Properties of DFT

Parseval
 Theorem:
Let X be the
 Discrete Fourier Transform of the
sequence x . Then we have
n 1
x
i 0


i
2
n 1
 Xf
2
f 0
The DFT also preserves the Euclidean distance
(proof?)
Any transformation that corresponds to an
orthonormal matrix A also enjoys a theorem
similar to Parseval’s theorem for the DFT.
Examples: DCT, DWT
Properties of DFT

A shift in the time domain changes only the phase of the
DFT coefficients, but not the amplitude
[ xi io ]  [ X f exp( 2fio j / n)]



For real signal we have
X f  X n* f for f  1, 2, n 1
so we only need to plot the amplitudes up to the middle,
q, if n=2q+1 or q+1 if the duration is n=2q
The resulting plot of |Xf| vs f is called the amplitude
spectrum (or spectrum) of the given time sequence; its
square is the energy spectrum (or power spectrum)
The DFT requires O(nlogn) computation time.
Straightforward computation requires O(n2), however,
j 2fi / n
FFT exploits regularities of the e
function
achieving O(nlogn)
Examples
Discrete Cosine Transform (DCT)






Objective: to concentrate the energy into a few coefficients
as possible
DFT is helpful to highlight periodicities in the signal through
its amplitude spectrum
When successive values are correlated DCT is better than
DFT
DCT avoids the ‘frequency leak’ that DFT has when the
signal has a ‘trend’
DCT’s coefficients are always real (as opposed to complex)
DCT reflects the original sequence in the time axis around
the last point and takes DFT on the twice-as-long
(symmetric) sequence -> all the coefficients are reals, their
amplitute is symmetric along the middle (Xf=X2n-f), thus only
the first n need to be kept
Discrete Cosine Transform (DCT)

The formulas for DCT:
n 1
f (i  0.5)
i 0
n
X f  1 / n  xi cos

For the inverse DCT:
n 1
f (i  0.5)
f 1
n
xi  1 / n X o  2 / n  X f cos

f  0, , n  1
i  0,, n  1
The complexity of DCT is also O(nlogn)
m-Dimensional DFT/DCT (JPEG)




m=2, gray scale images
m=3, MRI brain volumes
We do the transformation along each dimension (DFT on
each row, then DFT on each column)
For a n1 x n2 array [ xi1 ,i2 ]
X f1 , f 2

1 1

n1 n2
n1
n2
 x
i1 0 i2 0
i1 ,i2
exp( 2ji1 f1 / n1 ) exp( 2ji2 f 2 / n2 )
where xi1 ,i2 is the value of the position (i1,i2) of the array
and f1, f2 are the spatial frequencies ranging from 0 to
(n1-1) and (n2-1)
The 2-d DCT is used in the JPEG standard for image and
video compression
Wavelets







It is believed that it avoids the ‘frequency leak’ problem of
DFTeven better than DCT
Short Window Fourier Transform (SWFT): restricted
frequency leak
In the time domain each values gives full information
about that instant (no info about f)
DFT’s coefficients give full info about a given f but it needs
all frequencies to recover the value at a given instant in
time
SWFT is in between
SWFT: how to choose the width w of the window?
Discrete Wavelet Transform: let w be variable
Continuous Wavelet transform
for each Scale
for each Position

Coefficient (S,P) = Signal x Wavelet (S,P)
end
all time
end
Coefficient
Scale
Position
Fourier versus Wavelets


Fourier
 Loses time (location) coordinate completely
 Analyses the whole signal
 Short pieces lose “frequency” meaning
Wavelets
 Localized time-frequency analysis
 Short signal pieces also have significance

Scale = Frequency band
Wavelets Defined
“The wavelet transform is a tool that cuts up
data, functions or operators into different
frequency components, and then studies each
component with a resolution matched to its
scale”
Dr. Ingrid Daubechies, Lucent, Princeton U
Wavelet Transform



Scale and shift original
waveform
Compare to a wavelet
Assign a coefficient of
similarity
Some wavelets – different
shapes, different properties
Mexican hat
Gauss
Db3
Continuous Wavelet transform:
shift wavelet and compare, …
C = 0.0004
C = 0.0034
…then scale, and shift through positions
Scaling/stretching wavelet
Same wavelet, different scales
Wavelet transform: Scaling –
value of “stretch”
f(t) = sin(t)
scale factor1
f(t) = sin(2t)
scale factor 2
f(t) = sin(3t)
scale factor 3
More on scaling

It lets you either narrow down the
frequency band of interest, or determine
the frequency content in a narrower time
interval

Scaling = frequency band

Good for non-stationary data
Scale is (sort of) like frequency
Small scale
-Rapidly changing details,
-Like high frequency
Large scale
-Slowly changing
details
-Like low frequency
Discrete Wavelet Transform

“Subset” of scale and position based on power of
two



rather than every “possible” set of scale and position
in continuous wavelet transform
Behaves like a filter bank: signal in, coefficients
out
Down-sampling necessary (twice as much data
as original signal)
Discrete Wavelet transform
signal
lowpass
highpass
filters
Approximation
(a)
Details
(d)
Results of wavelet transform:
approximation and details

Low frequency:


High frequency


approximation (a)
Details (d)
“Decomposition”
can be performed
iteratively
Levels of decomposition



Successively decompose the
approximation
Level 5 decomposition =
a5 + d5 + d4 + d3 + d2 +
d1
No limit to the number of
decompositions performed
Wavelet synthesis
•Re-creates signal from coefficients
•Up-sampling required
Multi-level Wavelet Analysis
Multi-level wavelet
decomposition tree
Reassembling original
signal
The Wavelet Toolbox (Matlab)


The Wavelet Toolbox contains graphical tools
and command-line functions for analysis,
synthesis, de-noising, and compression of
signals and images. These tools work
particularly well in “non-stationary data”
These tools are used for de-noising,
compression, feature extraction,
enhancement, pattern recognition in MANY
types of applications and industries
Applications of wavelets

Pattern recognition



Feature extraction


Finance: exploring variation of stock prices
Perfect reconstruction


Metallurgy: characterization of rough surfaces
Trend detection:


Biotech: to distinguish the normal from the
pathological membranes
Biometrics: facial/corneal/fingerprint recognition
Communications: wireless channel signals
Video compression – JPEG 2000
Wavelet de-noising
•Thresholding for “zeroing”
some detail coefficients
Wavelet de-noising
A demo
Wavelet Toolbox – Example
Wavelets: more information

References

Wavelets and Filter Banks by Gilbert Strang
and Truong Nguyen


A Friendly Guide to Wavelets by Gerald Kaiser
Web Resources


Wavelet Digest http://www.wavelet.org/
Amara’s Wavelet Page
http://www.amara.com/current/wavelet.html
Download