14.02.2013 Views

Mathematics in Independent Component Analysis

Mathematics in Independent Component Analysis

Mathematics in Independent Component Analysis

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

166 Chapter 11. EURASIP JASP, 2007<br />

Fabian J. Theis et al. 5<br />

for x ∈ R m with xm �= 0 and<br />

⎧<br />

m−3 �<br />

cos ϕ s<strong>in</strong> θj, i = 1,<br />

j=1<br />

⎪⎨ m−3 �<br />

νi := s<strong>in</strong> ϕ s<strong>in</strong> θj, i = 2,<br />

j=1<br />

�i−2<br />

m−3 �<br />

⎪⎩<br />

cos θj s<strong>in</strong> θj, i > 2.<br />

j=1 j=i−1<br />

(10)<br />

With cot(θ + π/2) = − tan(θ) we f<strong>in</strong>ally get θm−2 = arctan<br />

( �m−1 i=1 νixi/xm) + π/2. Note that cont<strong>in</strong>uity is achieved if we<br />

set θm−2 := 0 for xm = 0.<br />

We can then def<strong>in</strong>e the generalized “hyperplane detect<strong>in</strong>g”<br />

Hough transform as<br />

x ↦−→<br />

�<br />

η[ fh] : R m −→ P �<br />

[0, π) m−1�<br />

,<br />

(ϕ, θ1, . . . , θm−2)<br />

∈ [0, π) m−1 | θm−2 = arctan<br />

� m−1 �<br />

� xi<br />

νi<br />

xm i=1<br />

+ π<br />

�<br />

.<br />

2<br />

(11)<br />

The parametrization fh is separat<strong>in</strong>g, so po<strong>in</strong>ts ly<strong>in</strong>g on the<br />

same hyperplane are mapped to surfaces that <strong>in</strong>tersect <strong>in</strong> precisely<br />

one po<strong>in</strong>t <strong>in</strong> [0, π) m−1 . This is demonstrated <strong>in</strong> the case<br />

m = 3 <strong>in</strong> Figure 3. The hyperplane structures of a data set<br />

X = {x(1), . . . , x(T)} can be analyzed by f<strong>in</strong>d<strong>in</strong>g clusters <strong>in</strong><br />

η[ fh](X).<br />

Let RP m−1 denote the (m − 1)-dimensional real projective<br />

space, that is, the manifold of all 1-dimensional subspaces<br />

of R m . There is a canonical diffeomorphism between RP m−1<br />

and the Grassmanian manifold of all (m − 1)-dimensional<br />

subspaces of R m , <strong>in</strong>duced by the scalar product. Us<strong>in</strong>g this<br />

diffeomorphism, we can reformulate our aim of identif<strong>in</strong>g<br />

hyperplanes as f<strong>in</strong>d<strong>in</strong>g elements of RP m−1 . So, the Hough<br />

transform η[ fh] maps x onto a subset of RP m−1 , which is<br />

topologically equivalent to the upper hemisphere <strong>in</strong> R m with<br />

identifications along the boundary. In fact, <strong>in</strong> (11) we simply<br />

have constructed a coord<strong>in</strong>ate map of RP m−1 us<strong>in</strong>g spherical<br />

coord<strong>in</strong>ates.<br />

4. HOUGH SCA ALGORITHM<br />

The SCA matrix detection algorithm � (Algorithm � 1) consists<br />

n<br />

of two steps. In the first step, d := m−1 hyperplanes given<br />

by their normal vectors n (1) , . . . , n (d) are constructed such<br />

that the mixture data lies <strong>in</strong> the union of these hyperplanes—<br />

<strong>in</strong> the case of noise this will hold only approximately. In the<br />

second step, mixture matrix columns ai are identified as generators<br />

of the n l<strong>in</strong>es ly<strong>in</strong>g at the <strong>in</strong>tersections of � �<br />

n−1<br />

m−2 hyperplanes.<br />

We replace the first step by the follow<strong>in</strong>g Hough<br />

SCA algorithm.<br />

x2<br />

a2<br />

ρ<br />

15<br />

10<br />

5<br />

0<br />

5<br />

10<br />

0 1 2 3 4 5 6 7 8 9 10<br />

15<br />

10<br />

5<br />

0<br />

5<br />

10<br />

15<br />

x1<br />

(a) Data space<br />

20<br />

0 0.5 1 1.5 2 2.5 3<br />

20<br />

15<br />

10<br />

5<br />

0<br />

5<br />

10<br />

a1<br />

(b) L<strong>in</strong>ear Hough space<br />

0 0.5 1 1.5 2 2.5 3<br />

θ<br />

(c) Polar Hough space<br />

Figure 2: Illustration of the “classical” Hough transform: a po<strong>in</strong>t<br />

(x1, x2) <strong>in</strong> the data space (a) is mapped (b) onto the l<strong>in</strong>e {(a1, a2) |<br />

a2 = −a1x1 + x2} <strong>in</strong> the l<strong>in</strong>ear parameter space R 2 or (c) onto a<br />

translated s<strong>in</strong>e curve {(θ, ρ) | ρ = x1 cos θ + x2 s<strong>in</strong> θ} <strong>in</strong> the polar<br />

parameter space [0, π) × R + 0 . The Hough curves of po<strong>in</strong>ts belong<strong>in</strong>g<br />

to one l<strong>in</strong>e <strong>in</strong> data space <strong>in</strong>tersect <strong>in</strong> precisely one po<strong>in</strong>t a <strong>in</strong><br />

the Hough space—and the data po<strong>in</strong>ts lie on the l<strong>in</strong>e given by the<br />

parameter a.<br />

4.1. Def<strong>in</strong>ition<br />

The idea is to first gather the Hough curves η[ fh](x(t))<br />

correspond<strong>in</strong>g to the samples x(t) <strong>in</strong> a discretized parameter<br />

space, <strong>in</strong> this context often called Hough accumulator.<br />

Plott<strong>in</strong>g these curves <strong>in</strong> the accumulator is sometimes denoted<br />

as vot<strong>in</strong>g for each b<strong>in</strong>, similar to histogram generation.<br />

Accord<strong>in</strong>g to the previous section, all po<strong>in</strong>ts x from some

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!