BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
***************
CHUYÊN ĐỀ
PHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN
ĐỘC LẬP
(INDEPENDENT COMPONENT ANALYSIS)
Nghiên cứu sinh: Vương Hoàng Nam
Giáo viên hướng dẫn: PGS.TS Nguyễn QuốcTrung
PGS.TSKH Trần Hoài Linh
Hà Nội – 11/2011
LỜI NÓI ĐẦU
Trong sự thành công của chuyên đề này, tôi xin trân trọng cám ơn các
đồng nghiệp tại Viện Điện tử - Viễn thông, Trường ĐHBK Hà Nội, cũng như
những bạn bè, đồng nghiệp khác ở trong và ngoài nước đã đóng góp cho tôi
nhiều ý kiến quý báu, trợ giúp tôi trong một số hoạt động nghiên cứu của chuyên
đề .
NCS. Vương Hoàng Nam
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
MỤC LỤC
CHƯƠNG 1- CƠ SỞ LÝ THUYẾT BÀI TOÁN XỬ LÝ MÙ VÀ PHƯƠNG
PHÁP PHÂN TÍCH THÀNH PHẦN ĐỘC LẬP ................................................ 5
1.1 Giới thiệu bài toán phân tách mù nguồn tin............................................... 5
1.2 Phương pháp Phân tích các thành phần độc lập .................................... 11
1.3 Phương pháp ICA sử dụng tính phi Gauss .............................................. 11
1.4 Phương pháp ICA sử dụng thông tin hỗ tương ....................................... 19
1.5 Phương pháp ICA sử dụng phi tương quan phi tuyến ........................... 20
CHƯƠNG 2- THUẬT TOÁN FASTICA VÀ COMPLEX-FASTICA ........... 22
2.1 Thuật toán FastICA .................................................................................... 22
2.1.1 Quá trình tiền xử lý ................................................................................. 22
2.1.2 Xấp xỉ hóa Negentropy ................................................................ ………24
2.1.3 Thuật toán FastICA ................ .………………………………………….25
2.1.4 Minh họa thuật toán FastICA. .………………………………………….29
2.1.5 Thuật toán IP-FastICA ........... .………………………………………….35
2.2 Thuật toán Complex-FastICA ...... ……………………………………….44
TÀI LIỆU THAM KHẢO ................................................................................... 49
DANH MỤC CÔNG TRÌNH NGHIÊN CỨU ................................................... 56
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
3
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
DANH MỤC TỪ VIẾT TẮT
Ký tự viết tắt
Tiếng Anh
Tiếng Việt
AP
Assignment Problem
Bài toán phân công việc
BSP
Blind Signal Processing
Xử lý tín hiệu mù
BSS
Blind Source Separation
Phân tách nguồn mù
DOA
Direction of Arrival
Hướng góc tới
DP
Directional Pattern
Giản đồ phương hướng
ECG
Electrocardiagram
Tín hiệu điện tâm đồ
FD-ICA
Frequency Domain ICA
Phương pháp ICA trong miền
tần số
FFT
Fast Fourier Transform
Biến đổi Fourier
HA
Hungarian Algorithm
Thuật toán Hungary
ICA
Independent Component
Analysis
Phân tích thành phần độc lập
IC
Independent Component
Thành phần độc lập
PCA
Principal Component Analysis
Phân tích thành phần chính
PDF
Probability Density Function
Hàm mật độ xác suất
STFT
Short Time Fourier Transform
Biến đổi Fourier thời gian
ngắn
TD-ICA
Time Domain ICA
Phương pháp ICA trong miền
thời gian
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
4
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
⎯ CHƯƠNG 1 ⎯
CƠ SỞ LÝ THUYẾT BÀI TOÁN XỬ LÝ MÙ VÀ PHƯƠNG
PHÁP PHÂN TÍCH THÀNH PHẦN ĐỘC LẬP
T
rong khoảng 20 năm trở lại đây , xử lý tín hiệu mù Blind Signal Processing
(BSP) là một lĩnh vực khá mới mẻ thu hút được rất nhiều sự quan tâm
nghiên cứu của các nhà khoa học và đã đạt được một số thành tựu nhất
định , mở ra hướng phát triển trong tương lai. Vấn đề xử lý tín hiệu mù mà điển
hình là bài toán phân tách nguồn tin mù Blind Source Separation (BSS) là bài
toán tìm nguồn tín hiệu ban đầu thông qua việc phân tích đánh giá các tín hiệu ở
cảm biến đầu ra , trong khi không biết hoặc biết rất ít thông tin về quá trình
truyền đạt . Trong các phương pháp giải quyết bài toán này phương pháp phân
tích thành phần độc lập Independent Component Analysis (ICA) là phương pháp
được sử dụng phổ biến nhất do những ưu điểm của nó . Trong chương này,
chúng ta sẽ xem xét mối liên hệ giữa BSS và ICA , đồng thời nghiên cứu sự phát
triển phương pháp ICA cho các mô hình bài toán khác nhau .
1.1 Giới thiệu bài toán phân tách mù nguồn tin
Phân tách nguồn tín hiệu mù BSS là một phương pháp được sử dụng phổ biến
cho mục đích đánh giá các nguồn tín hiệu ban đầu chỉ thông qua các tín hiệu thu
được ở tại các bộ cảm biến đầu ra , mà không cần biết đến đặc tính hàm truyền
đạt của kênh truyền . Mô hình toán học đơn giản của bài toán BSS như sau :
Nếu gọi s = ( s1 , s2 ,..., s N )
T
là một vectơ ngẫu nhiên , trong đó mỗi thành phần
được xem là một nguồn tín hiệu gốc ban đầu , và x = ( x1 , x2 ,..., xM ) là vectơ tín
T
hiệu thu tại các bộ cảm biến được xác định bởi phương trình
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
5
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
x = As
(1.1)
Hình 1.1 - Mô hình bài toán BSS tổng quát
trong đó A là một ma trận trộn đặc trưng cho đặc tính truyền đạt của kênh
truyền .
Khi đó nhiệm vụ của bài toán BSS là phải xác định một ma trận W , được gọi
là ma trận tách , khi đó y = Wx là các tín hiệu nguồn được khôi phục .
Hình 1.2 - Mô hình giải quyết bài toán BSS
Để minh họa cho bài toán BSS , chúng ta xây dựng bài toán xử lý mù nguồn
âm thanh ( bài toán Cocktail ) như sau :
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
6
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Giả sử trong một căn phòng chúng ta có N nguồn âm thanh ( tiếng nói, tiếng
nhạc cụ,…) được thu bởi M microphone . Trong trường hợp này chúng ta không
biết cụ thể các nguồn âm thanh cũng như đặc tính truyền đạt của phòng ( độ trễ ,
kết cấu phòng , hiệu ứng tiếng vọng , … ) , khi đó bài toán BSS như sau : khôi
phục lại các nguồn âm thanh ban đầu chỉ dựa vào các tín hiệu đã thu được từ
các microphone .
Hình 1.3 – Minh họa xử lý mù bài toán cocktail
Dựa trên đặc tính kênh truyền và mối tương quan giữa số lượng microphone
và số lượng nguồn âm thanh, bài toán BSS có thể được chia thành nhiều mô
hình riêng . Dưới đây là các mô hình đặc trưng với nhiều mức độ phức tạp khác
nhau nhưng đều rất có ý nghĩa cả trong lý thuyết và thực tế:
• Mô hình tuyến tính ( mô hình tức thời ) nghĩa là tín hiệu thu được tại cảm
biến sẽ là tổ hợp tuyến tính của các tín hiệu nguồn ngay tại thời điểm đó:
N
xi ( t ) = ∑ aij si ( t ) , i = 1,..., M
(1.2)
j =1
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
7
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
• Mô hình trộn chập : tín hiệu thu được tại microphone bao gồm tín hiệu tức
thời của các nguồn phát và các tín hiệu thu được qua phản xạ, tán xạ (hiện
tượng trễ, đa đường và tiếng vọng)
N
xi ( t ) = ∑∑ aijk s j ( t − k ) , i = 1,..., M
(1.3)
j =1 k
• Mô hình tuyến tính có nhiễu : Tương tự như trường hợp mô hình tuyến
tính nhưng có thêm nhiễu
N
xi ( t ) = ∑ aij si ( t ) + ni ( t ) , i = 1,..., M
(1.4)
j =1
• Mô hình trộn chập có nhiễu : Tương tự như mô hình trộn chập nhưng có
thêm nhiễu
N
xi ( t ) = ∑∑ aijk s j ( t − k ) + ni ( t ) , i = 1,..., M
(1.5)
j =1 k
• Trường hợp M < N (underdetermined case) : với số nguồn nhiều hơn số
cảm biến . Đây là trường hợp bài toán khó .
• Trường hợp M > N (overdetemined case) : với số nguồn ít hơn số cảm
biến .
Hầu hết các công trình nghiên cứu ban đầu trong lĩnh vực phân tách nguồn mù
BSS là mô hình tuyến tính và sau này là mô hình trộn chập với giả thiết số lượng
nguồn tín hiệu không ít hơn số lượng các sensor. Trong thực tế , mặc dù các ứng
dụng của BSS chủ yếu là mô hình trộn chập tuy nhiên vai trò của mô hình BSS
tuyến tính cũng rất quan trọng vì đó là những tiền đề để phát triển cho mô hình
trộn chập. Việc đánh mô hình dữ liệu trong BSS thường được thực hiện bằng
cách xây dựng một hàm mục tiêu rồi thực hiện cực đại (cực tiểu) hóa hàm này .
Các phương pháp BSS khác nhau thường được phân biệt bởi cách xây dựng hàm
mục tiêu cũng như thuật toán tối ưu được sử dụng. Chúng ta có thể diễn đạt điều
đó qua công thức sau:
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
8
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Phương pháp BSS = Hàm mục tiêu + Thuật toán tối ưu
(1.6)
Các thuộc tính của phương pháp BSS phụ thuộc vào cả hai thành phần vế phải
của (1.6) như sau :
• Các thuộc tính thống kê ,đặc trưng của phương pháp BSS phụ thuộc vào
cách chọn lựa hàm mục tiêu .
• Các thuộc tính giải thuật ( tốc độ hội tụ , khối lượng tính toán , bộ nhớ đòi
hỏi … ) phụ thuộc vào thuật toán tối ưu .
Hai lớp thuộc tính này là độc lập . Điều đó có nghĩa các thuật toán tối ưu khác
nhau có thể được sử dụng cho chỉ một hàm mục tiêu , hoặc một thuật toán tối ưu
có thể được dùng cho các hàm mục tiêu khác nhau . Để đưa ra được hàm mục
tiêu chúng ta phải sử dụng các đặc trưng nào đó của các tín hiệu nguồn . Trong
khuôn khổ đồ án chúng ta chủ yếu sử dụng tính độc lập hỗ tương giữa các nguồn
tín hiệu với giả thiết tín hiệu từ các nguồn khác nhau được xem là độc lập thống
kê với nhau . Đây là phương pháp phổ biến và thành công nhất trong lĩnh vực
BSS và sẽ được trình bày trong phần tiếp theo.
1.2 Phân tích thành phần độc lập (ICA) tuyến tính
Một trong những phương pháp giải quyết phổ biến nhất bài toán BSS là
phương pháp phân tích các thành phần độc lập ICA [1,58] . Phương pháp ICA
dựa trên giả thiết thực tế là các nguồn tín hiệu gốc là độc lập thống kê hỗ tương .
Phương pháp này được giới thiệu lần đầu bởi Jutten - Hérault vào năm 1988 với
tên gọi “Independent Component Analysis” do phương pháp này gần giống với
phương pháp “Pricipal Component Analysis” (Phân tích thành phần chính) [12].
Đến năm 1994, trong công trình nghiên cứu của mình [52], P.Common đã khẳng
định được vai trò của phương pháp ICA và từ đó ICA được xem là một hướng
nghiên cứu mới, nhiều tiềm năng có thể được ứng dụng trong nhiều lĩnh vực.
Trước khi trình bày phương pháp ICA , chúng ta đưa ra một số định nghĩa cơ
bản. Ký hiệu s1 , s 2 , ..., s m là một số biến ngẫu nhiên với hàm phân bố mật độ
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
9
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
xác suất chung f ( s1 , s 2 , ..., s m ) . Để đơn giản hóa , ta giả thiết các biến này có
trị trung bình bằng 0 . Các biến si được xem là độc lập thống kê với nhau ( hỗ
tương ) nếu hàm mật độ xác suất thỏa mãn :
f ( s1 ,..., sm ) = f1 ( s1 ) f 2 ( s2 ) ... f m ( sm )
(1.7)
trong đó fi ( si ) là ký hiệu mật độ phân bố lề của si . Chú ý rằng khái niệm độc
lập cần được phân biệt với khái niệm bất tương quan . Hai biến si , s j được định
nghĩa là bất tương quan nếu thỏa mãn điều kiện sau :
E { si s j } − E { si } E { s j } = 0
∀i ≠ j
(1.8)
Hai biến ngẫu nhiên si , s j được xem là độc lập thì cần phải thỏa mãn :
{
}
{
}
E g1 ( si ) g 2 ( s j ) − E { g1 ( si )} E g 2 ( s j ) = 0
∀i ≠ j
(1.9)
với g1 và g 2 là những hàm biến đổi phi tuyến xác định được . Do đó theo định
nghĩa , khái niệm bất tương quan chỉ là một trường hợp riêng của khái niệm độc
lập . Độc lập nhìn chung là một thủ tục mạnh hơn so với bất tương quan , độc
lập đưa đến bất tương quan , nhưng bất tương quan không thể đưa đến độc lập .
Tiếp theo chúng ta định nghĩa về ICA . Ở đây ta chỉ xét đến trường hợp tuyến
tính cho dù các dạng phi tuyến của ICA cũng tồn tại và được nghiên cứu . Ký
hiệu x = ( x1 , x2 ,..., xm ) là một vector ngẫu nhiên m-chiều. Khi đó ta có thể định
T
nghĩa về ICA tuyến tính như sau:
Định nghĩa về ICA
ICA của một vector ngẫu nhiên x là tìm một phép biến đổi tuyến tính y = Wx
(
)
sao cho các thành phần yi i = 1, m độc lập hỗ tương nhất có thể thông qua việc
cực đại hóa các hàm đo tính độc lập hỗ tương ( hàm mục tiêu ) F ( y1 ,..., ym ) .
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
10
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Định nghĩa trên được xem là định nghĩa tổng quát nhất không cần có các điều
kiện ràng buộc về dữ liệu.
Một số bất định trong mô hình ICA tuyến tính
• Không thể xác định lại được chính xác năng lượng ban đầu của của các
nguồn tín hiệu nguyên thuỷ do cả s và A đều không biết :
⎛
⎞
⎛
⎞
x = As = ⎜⎜ 1 A ⎟⎟ ( ks ) = ( aA ) ⎜⎜ 1 s ⎟⎟ = ...
⎝k ⎠
⎝a ⎠
(1.10)
Do đó trong mô hình ICA người ta luôn giả thiết mọi nguồn tín hiệu
nguyên thuỷ s j đều có năng lượng (phương sai) bằng nhau và xác định , thoả
mãn : E {s 2j } = 1 hay E {ssT } = I với I là ma trận đơn vị.
• Không thể xác định được thứ tự ban đầu các thành phần độc lập khi phân
tách do thứ tự của s và A đều không biết nên khi đổi vị trí các hàng trong
s và A thì mô hình ICA tuyến tính không thay đổi.
Trong phương pháp ICA chúng ta có một số cách tiếp cận phổ biến : phương
pháp sử dụng tính phi-Gauss [1,2,3] , sử dụng thông tin hỗ tương (mutual
information) [10], sử dụng tính phi tương quan phi tuyến (nonlinear
decorrelation)[12] . Trong khuôn khổ luận văn, chúng ta chỉ xem xét đến cách tiếp
cận sử dụng tính phi Gauss với thuật toán thông dụng FastICA.
1.3- Phương pháp ICA sử dụng tính phi Gauss
Phương pháp này sử dụng các khái niệm phân bố xác suất Gauss và phi Gauss
được định nghĩa như sau :
• Phân bố Gauss : Phân bố Gauss hay còn gọi là phân bố chuẩn là một
phân bố xác suất cực kỳ quan trọng trong nhiều lĩnh vực . Đây là họ phân
bố hình chuông có hình dạng xác định bởi tham số kỳ vọng μ và phương
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
11
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
sai σ 2 . Một biến ngẫu nhiên X có kỳ vọng μ và phương sai σ 2 được xem
là có phân bố Gauss nếu có hàm mật độ xác suất được xác định bởi :
⎛ ( x − μ )2
1
p ( x) =
exp ⎜ −
⎜
2σ 2
σ 2π
⎝
⎞
⎟
⎟
⎠
(1.11)
trong đó giá trị trung tâm của hàm được xác định bởi μ , độ thoải được xác định
bởi σ 2 .
Đồ thị của hàm mật độ xác suất của phân bố Gauss có dạng chuông như hình
2.1 , trong đó hàm có trung bình μ = 0 và phương sai σ 2 = 1 là hàm phân bố
Gauss chuẩn.
Các loại phân bố xác suất không phải Gauss được gọi là phân bố xác suất phi
Gauss . Các phân bố phi Gauss được chia thành super-Gauss và sub-Gauss .
•
Phân bố super-Gauss : Hàm phân bố dạng super-Gauss là hàm phân bố
mật độ xác suất có độ nhọn hơn phân bố Gauss , điều đó có nghĩa là giá
trị các mẫu tập trung nhiều hơn xung quanh giá trị trung bình . Một ví dụ
điển hình của super-Gauss là phân bố Laplace công thức như sau
(
)
p x μ,b =
⎛ x−μ
1
exp ⎜ −
⎜
2b
b
⎝
⎞
⎟
⎟
⎠
(1.12)
Phân bố Laplace đối xứng qua giá trị trung bình μ trong khi biến tỉ lệ b ảnh
hưởng đến độ nhọn , tù của phân bố .
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
12
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Hình 1.4 - Hàm mật độ xác suất của phân bố Gauss
Hình 1.5 - Hàm mật độ của phân bố Laplace
• Phân bố sub-Gauss : Hàm phân bố dạng sub-Gauss có phân bố xác suất
tù ( dẹt ) hơn phân bố Gauss . Điều đó có nghĩa hàm phân bố này có sự
phân bố đồng đều hơn tại mọi giá trị biến . Một ví dụ minh họa cho phân
bố sub-Gauss là phân bố đều
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
13
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
⎧ 1
p ( x ) = ⎪⎨ b − a
⎪0
⎩
khi a ≤ x ≤ b
(1.13)
khi x < a & x > b
Hình 1.6 - Phân bố đều
Nguyên lý thực hiện phương pháp ICA sử dụng tính phi-Gauss dựa trên định
lý giới hạn trung tâm như sau “ Hàm phân bố của tổng nhiều biến ngẫu nhiên
độc lập luôn có xu hướng hội tụ tới phân bố Gauss ” .
Tín hiệu quan sát được =
a1IC1
+
+
=
Tiến tới Gauss
a2IC2
phi Gauss
+…+
anICn
+ …
phi Gauss
phi Gauss
Hình 1.7- Minh họa định lý giới hạn trung tâm
Định lý chỉ ra rằng nếu xi , i = 1, N , là tổ hợp tuyến tính của các tín hiệu nguồn
s j , j = 1, N , thì các tín hiệu thu xi sẽ có tính Gauss hơn bản thân các nguồn tín
hiệu gốc s j , và ngược lại s j sẽ có tín phi Gauss hơn xi .
Để minh họa cho định lý giới hạn trung tâm , chúng ta xét bài toán sau : Giả sử
có 2 tín hiệu x1 ( t ) và x2 ( t ) là 2 tín hiệu trộn tuyến tính thu được từ 2 tín hiệu
nguồn độc lập hỗ tương s1 ( t ) và s2 ( t ) có phân bố đều :
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
14
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
x1 ( t ) = a11s1 ( t ) + a12 s2 ( t )
(1.14)
x2 ( t ) = a21s1 ( t ) + a22 s2 ( t )
s2 (t)
s1 (t)
Hình 1.8- Sự phân bố chung của các thành phần độc lập s1 và s2 với
phân bố đều theo trục
Trong trường hợp này s1 ( t ) và s2 ( t ) được xem là hai tín hiệu độc lập với
nhau . Điều này thể hiện ở chỗ với một điểm xác định s = ( s1, s2 ) từ giá trị của
s1 ta không thể đoán được giá trị của s2 và ngược lại. Hay nói cách khác các giá
trị s1 và s2 độc lập với nhau . Hình 1.9 thể hiện phân bố của s1 ( t ) và s2 ( t ) có
tính phi Gauss ( sub-Gauss ) .
Hình 1.9-Mật độ của một thành phần độc lập phân bố đều
(đường nét đứt biểu diễn phân bố Gauss)
Hình 1.10 cho thấy phân bố x1 ( t ) và x2 ( t ) là tổ hợp tuyến tính của hai nguồn
s1 ( t ) và s2 ( t ) . Từ hình minh họa, ta thấy các tín hiệu trộn x1 ( t ) và x2 ( t ) có ít
tính độc lập hơn hai tín hiệu nguồn s1 ( t ) và s2 ( t ) . Điều này thể hiện được trên
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
15
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
phân bố giá trị của x1 và x2 : giả sử với một điểm xác định x = ( x1, x2 ) nếu ta
biết giá trị x1 là dương và lớn thì có thể suy được x2 sẽ có giá trị nhỏ hoặc nếu
giá trị x1 là âm và nhỏ thì x2 sẽ có giá trị lớn , nghĩa là từ một giá trị của x1 ta
có thế ước lượng được khoảng giá trị của x2 và ngược lại. Trong trường hợp
này giữa các tín hiệu trộn có sự tương quan với nhau hơn các tín hiệu gốc .
Trên hình 1.11, x1 và x2 có phân bố rất gần với phân bố Gauss ( được thể
hiện bằng nét đứt ) . Điều đó thể hiện tín hiệu sau trộn sẽ có tính Gauss hơn so
với tín hiệu ban đầu và minh chứng cho định lý giới hạn trung tâm được nêu ở
trên.
x2
x1
Hình 1.10- Phân bố chung của 2 thành phần độc lập
x1
x2
Hình 1.11- Mật độ phân bố của các tín hiệu trộn xi(t), chúng có dạng giống với
phân bố Gauss hơn các tín hiệu nguồn si(t).
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
16
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Khi đó mục tiêu của phương pháp ICA sử dụng tính phi Gauss sẽ là tìm một
⎡ w11 w12 ⎤
⎥ sao cho các tín hiệu tách :
⎢⎣ w21 w22 ⎥⎦
ma trận tách W = ⎢
y1 ( t ) = w11 x1 ( t ) + w12 x2 ( t )
(1.15)
y2 ( t ) = w21 x1 ( t ) + w22 y2 ( t )
T
thỏa mãn y1, y2 có tính phi Gauss cực đại, khi đó tín hiệu tách y = ( y1, y2 ) sẽ là
các đánh giá của các tín hiệu nguồn ban đầu . Vấn đề còn lại là ta phải xây dựng
một hàm đo được tính phi Gauss của tín hiệu để thực hiện việc tối ưu . Các hàm
sử dụng đo tính phi Gauss gồm có kurtosis và negentropy được định nghĩa trong
phần tiếp theo .
Kurtosis : Kurtosis là tên gọi của mômen bậc 4 của một biến ngẫu nhiên y trị thực,
{ }
{ }
kurt ( y ) = E y 4 − 3 ⎛⎜ E y 2
⎝
⎞
⎟
⎠
2
(1.16)
Trường hợp biến ngẫu nhiên đã được chuẩn hóa, ví dụ E { y 2 } = 1 , ta có
{ }
kurt ( y ) = E y 4 − 3
(1.17)
Thực chất hàm kurtosis là mômen bậc 4 được chuẩn hóa của tín hiệu . Khi tín
{ }
hiệu là Gauss thì mômen bậc 4 sẽ bằng 3E y 2 , do đó kurtosis sẽ bằng 0 .
Trong thực tế , kurtosis của các tín hiệu có giá trị khác 0 và có thể nhận giá trị
âm hoặc dương . Khi kurtosis có giá trị dương tín hiệu đó sẽ có phân bố superGauss và ngược lại sẽ có phân bố sub-Gauss . Điều này có nghĩa là nếu thực
hiện cực đại hóa trị tuyệt đối kurtosis của các tín hiệu tách chúng ta sẽ thu được
các thành phần độc lập .
Negentropy:
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
17
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Trở ngại lớn nhất của phương pháp sử dụng kurtosis là phương pháp này chịu
ảnh hưởng của các outlier . Theo định nghĩa trong thống kê , outlier là các mẫu
có giá trị cực (lớn) so với các mẫu khác còn lại trong biến quan sát . Do kurtosis
được tính toán dựa trên giá trị các mẫu nên khi trong biến quan sát xuất hiện các
outlier sẽ làm thay đổi giá trị kurtosis dẫn đến việc không phản ánh đúng bản
chất tín hiệu . Do đó một phép đo khác tin cậy hơn được sử dụng để đo tính phi
Gauss của tín hiệu là negentropy. Negentropy của một tín hiệu được xác định
như sau:
Đầu tiên khái niệm entropy của một tín hiệu được định nghĩa . Entropy là khái
niệm cơ bản của lý thuyết thông tin . Entropy của một biến ngẫu nhiên được liên
hệ tới lượng thông tin mà tín hiệu đó đưa ra . Tín hiệu càng “ ngẫu nhiên ” , ví
dụ các giá trị không dự đoán được và không cấu trúc được , thì entropy càng
lớn. Entropy H của biến ngẫu nhiên y với mật độ phân bố p ( y ) được xác
định như sau:
H ( y ) = − ∫ p ( y ) log p ( y ) dy
(1.18)
Lý thuyết xác suất đã chứng minh đối với một tín hiệu có trị trung bình bằng 0
và phương sai đơn vị thì phân bố xác suất Gauss luôn có tính ngẫu nhiên nhất
(tương ứng entropy lớn nhất) so với các loại phân bố xác suất khác . Điều đó dẫn
đến việc có thể sử dụng entropy như là một phép đo tính Gauss (hoặc phi Gauss)
của một biến ngẫu nhiên bất kỳ . Định nghĩa negentropy J ( y ) của một biến y
ngẫu nhiên như sau :
J ( y ) = H ( y gauss ) − H ( y )
(1.19)
trong đó H là hàm entropy, ygauss là một biến ngẫu nhiên phân bố xác suất
Gauss có cùng ma trận hiệp phương sai với biến y .
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
18
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Negentropy nhận giá trị bằng 0 khi và chỉ khi biến y có phân bố xác suất
Gauss và luôn nhận giá trị dương khi y có phân bố xác suất khác .
1.4- Phương pháp ICA sử dụng thông tin hỗ tương
Khái niệm thông tin hỗ tương được xem là một phép đo tốt về về sự phụ
T
thuộc thống kê [10]. Nếu s = ( s1, s2 ,..., sm ) thì thông tin hỗ tương giữa các biến
thành phần được định nghĩa như sau:
m
I ( s1 ,..., sm ) = ∑ H ( si ) − H ( s )
(1.20)
i =1
Nếu các biến s1, s2 ,..., sm độc lập thống kê với nhau thì thông tin hỗ tương giữa
chúng sẽ bằng 0. Điều đó có nghĩa là chúng ta có thể thực hiện phương pháp ICA
bằng cách cực tiểu hóa thông tin hỗ tương giữa các biến thành phần. Thuật toán này
được Bell-Sejnowski [10] giải quyết như sau:
Giả sử ma trận tách là W và y = Wx . Sử dụng các tính chất của entropy, chúng ta
sẽ có:
N
I ( y1 ,..., y N ) = ∑ H ( yi ) − H ( x ) − log det (W )
(1.21)
i =1
Bài toán tối ưu được đưa ra như sau: Chúng ta cần xác định W để thông tin hỗ
tương trong (1.21) là cực tiểu. Hay nói cách khác chúng ta cần xác định W để các
thành phần được tách càng độc lập thống kê.Từ định nghĩa về entropy (1.18),
chúng ta có thể viết lại như sau:
{
}
H ( yi ) = − E log p ( yi )
(1.22)
Do đó chúng ta có thể viết lại (1.21) như sau:
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
19
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
N
{
} − H ( x ) − log det (W )
I ( y1 ,..., y N ) = − ∑ E log p ( yi )
i =1
(1.23)
Giả thiết các tín hiệu tách là độc lập thống kê và không tương quan. Đồng thời các
tín hiệu này có phương sai đơn vị, ta sẽ có:
{ }
E yy T = I ⇒
{ }
WE xxT W T = I ⇒
( { }) det (W ) = 1
det (W ) det E xxT
(1.24)
T
Điều đó có nghĩa det (W ) phải là hằng số do det ( E { xxT }) không phải là một hàm
của W . Từ đó thuật toán có quy tắc tối ưu như sau:
{
Δ W ∝ (W T ) + E φ (Wx ) xT
−1
}
(1.25)
trong đó φ (.) là một hàm phi tuyến thích hợp [10].
Qua đó , chúng ta có thể thấy tương tự như phương pháp sử dụng tính phi Gauss
chúng ta có thể sử dụng các đại lượng đo tính độc lập khác nhau (thông tin hỗ
tương, khoảng cách Kullback-Leibler, ước lượng hợp lý cực đại….) để thực hiện
ICA.
1.5- Phương pháp ICA sử dụng tính phi tương quan phi tuyến
( ) ( )
Nếu giả sử ta có hai biến ngẫu nhiên y1, y2 và hai hàm f y1 , g u2 trong đó tối
thiểu một hàm là phi tuyến tính. Chúng ta nói y1, y2 phi tương quan phi tuyến với
nhau nếu :
{
}
E f ( u1 ) g ( u 2 ) = 0
(1.26)
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
20
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Khái niệm phi tương quan phi tuyến được xem là một tiêu chuẩn đo tính độc lập
thống kê. Hai biến y1, y2 được coi là độc lập thống kê nếu :
{
} {
} {
}
E f ( u1 ) g ( u 2 ) = E f ( u1 ) E g ( u 2 ) = 0
(1.27)
Để đáp ứng tiêu chuẩn này, các hàm f , g được chọn là hàm lẻ và y1, y2 phải có
hàm mật độ xác suất đối xứng. Mục tiêu của phương pháp gồm hai bước: i) cách
chọn f , g để đáp ứng (1.27) và ii) cách phi tương quan phi tuyến hai biến .
Phần tiếp theo, chúng ta sẽ minh họa phương pháp này thông qua thuật toán
Hérault-Jutten []:
Đối với trường hợp BSS 2x2, Hérault-Jutten đưa ra một mạng hồi tiếp để tách
tín hiệu như sau:
⎡ y1 ⎤ ⎡ x1 − m12 y 2 ⎤ ⎡ x1 ⎤ ⎡ 0
⎢ ⎥=⎢
⎥= ⎢ ⎥−⎢
⎢⎣ y 2 ⎥⎦ ⎢⎣ x2 − m21 y1 ⎥⎦ ⎢⎣ x2 ⎥⎦ ⎢⎣ m21
m12 ⎤ ⎡ y1 ⎤
⎥⎢ ⎥
0 ⎥⎦ ⎢⎣ y2 ⎥⎦
−1
y = x − My ⇒ y = ( I + M ) x
(1.28)
(1.30)
Hérault và Jutten hiệu chỉnh m12 , m21 để giảm sự tương quan phi tuyến.
Δ m12 = η f ( y1 ) g ( y 2 )
(1.31)
Δ m 21 = η f ( y 2 ) g ( y1 )
(1.32)
Trong đó các hàm phi tuyến được chọn như sau f ( y ) = y3 , g ( y ) = tan −1 ( y ) .
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
21
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
⎯ CHƯƠNG 2 ⎯
THUẬT TOÁN FastICA VÀ COMPLEX-FastICA
T
rong chương này chúng tôi trình bày hai thuật toán ICA thông dụng là
FastICA cho dữ liệu thực và Complex-FastICA cho dữ liệu phức. Ngoài ra
chúng tôi đề xuất thêm một thuật toán mới dựa trên thuật toán FastICA có tên
gọi IP-FastICA được sử dụng hiệu quả trong trường hợp các tín hiệu gốc ban
đầu có sự tương quan lớn.
2.1. Thuật toán FastICA
Thuật toán FastICA được đề xuất bởi A.Hyvarinen trong [2,3]. Thuật toán này
được ứng dụng cho dữ liệu giá trị thực gồm 3 bước: Tiền xử lý dữ liệu, Xấp xỉ
hoá negentropy, Tối ưu hoá hàm xấp xỉ negentropy.
2.1.1 Quá trình tiền xử lý
• Quy tâm
Để không làm mất tính tổng quát , chúng ta có thể giả thiết rằng cả các
biến trộn và các thành phần độc lập đều có trị trung bình bằng 0 . Giả thiết này
làm đơn giản hóa cả lý thuyết và thuật toán rất nhiều . Nếu các tín hiệu xử lý có
trị trung bình khác 0, ta sẽ thể thực hiện quá trình tiền xử lý , gọi là phép quy
tâm tức trừ giá trị các biến được khảo sát cho trị trung bình của chúng:
xnew = x − E { x}
(2.1)
• Trắng hóa
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
22
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
Cho các biến ngẫu nhiên , có thể đơn giản biến đổi tuyến tính chúng thành
các biến bất tương quan bằng phương pháp phân tích thành phần chính PCA
(Pricipal Component Analysis) , quá trình này được gọi là “trắng hóa” dữ liệu .
Như vậy PCA được xem là một quá trình tiền xử lý tín hiệu trước khi ta thực
hiện phương pháp ICA .
Quá trình trắng hoá thực chất là một phép biến đổi tuyến tính z = Vx .
Trong đó x là dữ liệu cần làm trắng hóa, V là ma trận trắng hoá, z là dữ liệu
đã trắng hoá. Quá trình được thực hiện như sau :
Giả thiết x = As có trung bình bằng 0 và E {ssT } = I . Gọi D và E là các
ma trận trị riêng và vector riêng của ma trận hiệp phương sai của x thông qua sự
phân ly trị riêng , ta có :
{ }
(2.2)
R xx = E xx T = EDE T
Khi đó V = Rxx−1/2 = D −1/2 E T
là ma trận trắng hoá cần xác định , ta có :
z = Vx = D −1/2 E T x
{ }
(2.3)
{ }
E zz T = VE xxT V T
=D
− 1/2
T
T
E EDE ED
− 1/2
(2.4)
=I
Quá trình trắng hóa biến ma trận trộn thành một ma trận mới, kí hiệu là B = VA ,
ta có:
z = VAs = Bs
(2.5)
Trắng hóa không giải quyết được vấn đề của ICA cho dù độ trắng ( hay độ bất
tương quan ) cũng liên quan đến tính độc lập. Tuy nhiên, tính bất tương quan
yếu hơn tính độc lập và do đó không đủ cho sự ước lượng của mô hình ICA
trong hầu hết các ứng dụng.
Mặc dù vậy , quá trình trắng hóa có tác dụng như một bước tiền xử lý trong
phương pháp ICA . Lợi ích của trắng hóa trong thực tế đó là ma trận trộn mới
B = VA trực giao do :
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
23
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
E { zzT } = I = BE {ssT } BT = BIBT = BBT
(2.6)
Có nghĩa là chúng ta có thể giới hạn việc tìm kiếm ma trận trộn trong không
gian ma trận trực giao . Thay vì phải ước lượng thông số của ma trận gốc A ,
chúng ta chỉ cần ước lượng một ma trận trực giao B . Trong không gian nhiều
chiều , một ma trận trực giao chỉ bao gồm một nửa thông số của một ma trận bất
kỳ. Như vậy có thể nói rằng quá trình trắng hóa đã giải quyết được một nửa vấn
đề của ICA . Vì trắng hóa là một qui trình chuẩn và rất đơn giản, đơn giản hơn
nhiều so với bất kỳ thuật toán ICA nào, đó là một giải pháp rất tốt để giảm bớt
sự phức tạp của bài toán .
Vai trò của quá trình trắng hoá
Với một tín hiệu đã trắng hóa z , nhiệm vụ còn lại của ICA là tìm ra một
vector w sao cho yi = wT z đạt giá trị phi Gaussian cực đại dưới điều kiện ràng
buộc E { yi2 } = 1 . Khi đó yi sẽ là đánh giá của một nguồn tín hiệu ban đầu. Do đó
ta có:
{ }
1 = E yi2 = E {wT zz T w} = wT E { zz T } w = wT w
(2.7)
Như vậy quá trình trắng hoá đã đưa việc giải bài toán tìm w với điều kiện ràng
2
buộc đơn giản hơn w = 1 .
2.1.2 Xấp xỉ hóa negentropy
Đối với một biến ngẫu nhiên có phân bố Gauss , negentropy của biến luôn
bằng 0 và với tất cả các loại biến còn lại (phi Gaussian) negentropy luôn có giá
trị dương . Tuy nhiên vấn đề ở chỗ chúng ta không thể tính negentropy một cách
trực tiếp, mà phải đánh giá negentropy thông qua việc xấp xỉ hoá. Hàm
negentropy của biến y có thể được tính xấp xỉ như sau:
J ( y ) ≈ ⎡ E {G ( y )} − E {G (ν )}⎤
⎣
2
⎦
(2.8)
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
24
Phương pháp Phân tích thành phần độc lập
__________________________________________________________________________________________
trong đó ν là là biến ngẫu nhiên có phân bố Gaussian chuẩn (có trung bình bằng
0 và phương sai đơn vị), G {}
. là một hàm phi tuyến tính được chọn trong 3 hàm
sau :
G1 ( t ) =
1
log ( cosh a1t ) ,1 ≤ a1 ≤ 2
a1
⎧ t 2 ⎫⎪
t4
⎬ , G3 ( t ) =
4
⎩⎪ 2 ⎭⎪
G 2 ( t ) = − exp ⎪⎨ −
(2.9)
Tính phi Gaussian của một biến sẽ được đo bằng giá trị hàm negentropy xấp
xỉ. Bài toán phân tách nguồn tin mù được đưa về bài toán tối ưu: Tìm vector w
để hàm negentropy xấp xỉ
(
{ ( )} {
)
}
J wT z ≈ ⎡⎢ E G wT z − E G (γ ) ⎤⎥
⎣
⎦
2
(2.10)
2
đạt cực đại, với điều kiện ràng buộc w = 1 .
2.1.3 Thuật toán FastICA
Hyvarinen [1] đã đưa ra một thuật toán tối ưu negentropy dùng phương pháp
Newton, gọi là FastICA. Đây là một thuật toán tiêu biểu của phương pháp ICA
bằng cực đai hoá tính phi Gauss . Ta nhận thấy hàm negentropy của wT z đạt
{
}
cực đại khi giá trị của hàm E G ( wT z ) tối ưu. Theo phương pháp Lagrangian,
{
}
hàm E G ( wT z ) tối ưu với điều kiện ràng buộc w = 1 nếu gradient của hàm
2
Lagrangian bằng 0 :
∂J ( w )
−βw=0
∂w
(2.11)
với β là nhân tử Lagrangian . Ta có :
_________________________________________________________________________________________
Trường Đại học Bách Khoa Hà Nội
25