Kernel Fisher Discriminant Bài báo cáo Xử Lý Đa Chiều
5/13/2009
Khoa Toán-Tin Đại học Khoa Học Tự Nhiên
Nhóm 5
Kernel Fisher Discriminant 2009
2 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Nội dung
1.Giới thiệu .................................................................................................................................3
2. Fisher Discriminant .................................................................................................................4
2.1 Linear Discriminant ...........................................................................................................4
2.2 Fisher Discriminant với hai lớp ..........................................................................................4
2.3 Fisher Discriminant với nhiều lớp ......................................................................................8
3. Hàm kernel............................................................................................................................ 10
3.1 Không gian đặc trưng....................................................................................................... 12
3.2 Tóm tắt và ví dụ ............................................................................................................... 17
4.Kernel fisher discriminant ...................................................................................................... 18
4.1 Cơ bản ............................................................................................................................. 18
4.2 Những vector tối ưu Kernel Fisher discriminant ............................................................... 20
............................................................................................ 21
4.4 Thuật toán KFD ............................................................................................................... 22
5. Tổng kết và đánh giá ............................................................................................................. 22
Kernel Fisher Discriminant 2009
3 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
1.Giới thiệu
Bài viết này tìm hiểu một lĩnh vực thuộc máy học, cụ thể là kỹ thuật học dựa trên mẫu, áp dụng
phân loại Fisher và hàm kernel. Như tên gọi của nó, máy học sẽ đưa ra một thuật toán để giải
quyết một vấn đề phức tạp bằng cách học một giải pháp chứ không xây dựng ra giải pháp đó.
Một ví dụ điển hình là phân tích gien con người, chúng ta đã biết gien là một đoạn DNA mang
thông tin di truyền, nhưng làm cách nào để xác định vị trí của chúng trong chuỗi DNA, kiến thức
về sinh học của con người không đủ để giải quyết vấn đề này vì chúng quá phức tạp. Máy học lại
tiếp cận vấn đề này theo một hướng khác, thay vì cố giải đáp câu hỏi gien nằm ở đâu, máy học sẽ
cố tìm ra những qui luật có thể có cho mỗi đoạn DNA để trả lời câu hỏi : Đây có phải là gien hay
không? Tổng quát hơn, máy học sẽ xem xét vấn đề, từ đó mô hình hóa mối quan hệ giữa các đối
tượng. Với cách tiếp cận này, máy học cung cấp một khung sườn để giải quyết số lượng lớn các
vấn đề khác nhau, hơn là cố xây dựng một thuật toán chỉ có thể giải quyết một vấn đề nhất định.
Do đó, sự phức tạp trong vấn đề lập trình bây giờ chuyển từ giải quyết một vấn đề tuy khó nhưng
cụ thể, sang giải quyết một vấn đề vẫn khó nhưng tổng quát hơn : Tạo một máy học như thế nào?
Một khi đã giải quyết được vấn đề học, chúng ta cơ bản có thể giải quyết mọi vấn đề khác bằng
cách sử dụng kỹ thuật mà chúng ta đã phát triển.
Có rất nhiều phương pháp học, trong bài này chúng ta sẽ tìm hiểu một phương pháp học là học
dựa trên mẫu. Ý tưởng của phương pháp là thường một số mẫu với những mối quan hệ giữa các
đối tượng có thể giúp chúng ta hình dung ra quy luật chung của chúng. Quá trình học chính xác
là sự suy luận từ những thông tin không đầy đủ được cung cấp bởi mẫu cho tới những quy luật
mô tả những mặt nào đó của hiện tượng. Những quy luật này thường được mô hình hóa bằng
những hàm biến những đối tượng đầu vào thành những đối tượng đầu ra. Tùy vào tính chất của
những đối tượng đầu ra mà ta có hai loại công việc : phân loại và hồi quy. Công việc phân loại là
phân những đối tượng đầu vào một trong một số hữu hạn lớp. Với hồi quy, chúng ta sẽ phân một
hay nhiều hơn những giá trị đầu ra liên tục vào một đối tượng đầu vào. Trong cả hai trường hợp,
thông tin cung cấp cho việc học gồm hữu hạn các cặp mẫu – nhãn.
Các kỹ thuật học dựa rất nhiều vào thống kê, và một số công cụ khác để thiết kế các hàm ước
lượng và dự đoán các sai sót gặp phải. Ngoài sự giới hạn về lý thuyết, việc thiết kết các hàm ước
lượng còn gặp những khó khăn khác như thông tin cung cấp không chính xác (ví dụ do nhiễu),
thông tin mô tả vấn đề không được cung cấp đầy đủ, hoặc ngược lại khi lượng thông tin quá lớn
(ví dụ trong các bộ máy tìm kiếm web).
Những nghiên cứu về máy học ngày nay thường quan tâm những vấn đề kể trên, nghĩa là làm thế
nào để loại bỏ nhiễu và lỗi, hay làm thế nào để xử lý trường hợp dữ liệu bị thiếu, hay làm thế nào
để thiết kế một máy học với tập huấn luyện nhỏ.
Kernel Fisher Discriminant 2009
4 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Trong bài viết này, chúng ta sẽ xem xét một kỹ thuật học cụ thể là phân tích rời rạc Fisher được
sử dụng kết hợp với những hàm kernel. Phân tích rời rạc Fisher là kỹ thuật nổi tiếng đã được sử
dụng hơn 70 năm nay để tìm những hàm tuyến tính có thể phân biệt giữa hai hay nhiều lớp. Tuy
nhiên vẫn có nhiều vấn đề phân loại không thể giải quyết một cách thích hợp bằng những kỹ
thuật tuyến tính. Do đó một biến đổi nhỏ phi tuyến của phân biệt Fisher đã được đề xuất, sự phi
tuyến hóa này có thể thực hiện nhờ sử dụng một hàm kernel, đây là một “mẹo” được mượn từ
support vector machines. Kernel còn được áp dụng vào nhiều các phương pháp khác nữa như
SVM, PCA, nhưng trong bài viết này, chúng ta chỉ tìm hiểu cách áp dụng kernel vào phân biệt
Fisher – phương pháp sẽ được giới thiệu trong phần tiếp theo.
2. Fisher Discriminant
2.1 Linear Discriminant
Mục tiêu của phân tích rời rạc là tìm có thể quy về việc m giúp phân biệt
tốt các lớp của dữ liệu đầu vào, nghĩa là khi ngược lại
tích rời rạc
tuyến tính
theo một số điều kiện nào đó.
ời rạc ,
ngh .
.
2.2 Fisher Discriminant với hai lớp
ời rạ tích rời rạc
bên (within class variance).
phương sai
bên . Điều này 3.1.
Để hiểu rõ phương pháp, trước tiên ta chỉ thực hiện phân loại theo hai lớp, tức là dữ liệu đầu vào
chỉ thuộc hai lớp. Mô tả một cách toán học, t (ví dụ )
, dữ liệu đầu vào thuộc hai lớ , ta ký hiệu mẫu huấn
luyện có kích cỡ M là
,
a
Kernel Fisher Discriminant 2009
5 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
đư trong
mỗi lớp
n chính của mỗi lớp.
Phương sai trong mỗi lớp :
2 Fisher discriminant sao cho
( và )
( và ) .
bên
Kernel Fisher Discriminant 2009
6 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Khi
phân tán giữa các lớp bên chồng lên nhau
.
Tron ạ ạ bên trong .
(2.3) h (2.4).
Phân tích rời rạc Fisher có những tính chất tốt là
i) (2.4 ( ),
ii) h w (2.4
.
w (2.4
to sau
Sau đây ta sẽ chứng minh kết quả trên, đầ (2.4) theo được
(2.7) (2.6).
trong (2.7)
(2.6)), có thể được điều này như sau:
G (2.4), (2.6 trị riêng
.
Kernel Fisher Discriminant 2009
7 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
trong (2.6 , thay (2.6
Tương tự
Do là nghiệm tối ưu của (2.4) nên . Điều này mâu thuẫn với giả
thiết ban đầu , do đó (2.6).
chính trong (2.6).
C như sau
Đầu tiên từ cách định nghĩa trong (2.5) ta suy ra
Trong đó là một giá trị vô hướng, tiếp theo từ (2.6) ta có
Từ (2.4) ta thấy ỉ phụ thuộc vào hướng mà không phụ thuộc vào độ dài, do đó ta có
thể bỏ các giá trị vô hướng ở hai vế đẳng thức trên, kết quả hướng cần tìm là
Ví dụ
Giả sử dữ liệu đầu vào trong không gian thuộc hai lớp,
- lớp 1 gồm năm mẫu {(1,2),(2,3),(3,3),(4,5),(5,5)},
- lớp 2 gồm sáu mẫu {(1,0),(2,1),(3,1),(3,2),(5,3),(6,5)}.
Các vector trung bình của hai lớp :
Kernel Fisher Discriminant 2009
8 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Ma trận tán xạ giữa các lớp :
Ma trận tán xạ bên trong lớp :
Ma trận nghịch đảo của :
Hướng ần tìm là vector riêng ứng với trị riêng lớn nhất của ma trận
Ta tìm được vector riêng ứng với trị riêng lớn nhất Như vậy
Có thể tìm theo cách khác
Ta thấy , mà trong phần trên ta đã nói hướng chỉ phụ thuộc vào hướng chứ
không phụ thuộc vào độ dài nên hai hướng ta tìm được theo hai cách hoàn toàn như nhau.
Hình 2.2 Mẫu dữ liệu thuộc 2 lớp, lớp 1 gồm các hình tròn đỏ, lớp 2 gồm các hình tròn xanh, hai
mũi tên chính là 2 hướng tìm được có độ lớn khác nhau nhưng có hướng hoàn toàn trùng
nhau.
2.3 Fisher Discriminant với nhiều lớp
Trường hợp dữ liệu đầu vào thuộc lớp, ta cũng tìm hướng chiếu tối ưu làm cực đại
Bây giờ dữ liệu đầu vào thuộc lớp, ta chia mẫu huấn luyện thành lớp, mỗi lớp có số phần
tử là và có vector trung bình là
Kernel Fisher Discriminant 2009
9 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Đặt vector trung bình của toàn bộ mẫu huấn luyện là
Định nghĩa các ma trận tán xạ giữa các lớp và ma trận tán xạ bên trong lớp như sau
Tương tự trường hợp 2 lớp, trong trường hợp nhiều lớp, hướng ực đạ
cũng chính là vector riêng ứng với trị riêng lớn nhất trong
Hạn chế của Fisher discriminant
Do tính chất tuyến tính, nên có nhiều trường hợp phân tích rời rạc Fisher không giải quyết được,
như trong vấn đề XOR được minh họa trong hình 2.1, trung bình của mỗi lớp bằng nhau nên ma
trận tán xạ , do đó ta không thể tìm được hướng tối ưu vì . Hoặc khi các
vector trung bình của mỗi lớp quá gần nhau, thì hướng tối ưu tìm được cũng không thể phân
loại tốt các lớp.
Hình 2.3 Vấn đề XOR : một ví dụ kinh điển về một vấn đề đơn giản nhưng không thể giải quyết
bởi những hàm tuyến tính .Trong trường hợp số chiều là N cũng vậy , không thể giải quyết vấn
đề XOR bởi những hàm tuyến tính, nhưng lại có những hàm phi tuyến khá đơn giản để giải
quyết vấn đề này.
Kernel Fisher Discriminant 2009
10 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Do những hạn chế trên nên người ta đã đề xuất ra phương pháp phân tích rời rạc Fisher áp dụng
kernel (KFD), nhưng trước khi đến với phương pháp này ta hãy tìm hiểu kernel là gì và ý tưởng
của phương pháp kernel trong phần tiếp theo.
3. Hàm kernel Như đã nói trong phần trước, những hàm tuyến tính nói chung khá đơn giản và đôi khi không thể
giải quyết được vấn đề (ví dụ vấn đề XOR), những hàm phi tuyến tuy có thể giải quyết các vấn
đề tốt hơn nhưng do độ phức tạp của nó mà ta không thể tìm trực tiếp được, do đó phương pháp
kernel đã được đề xuất.
Ý tưởng chính của phương pháp kernel là đầu tiên ta sẽ tiền xử lý dữ liệu bằng một ánh xạ phi
tuyến , sau đó lại áp dụng những thuật toán tuyến tính như trước đây, nhưng bây giờ là trên
không gian ảnh của . Chúng ta hy vọng rằng với một ánh xạ thích hợp thì chỉ cần áp dụng
một sự giải quyết tuyến tính trên không gian ảnh là đủ . Đầu tiên ta ánh xạ các dữ liệu
vào không gian ảnh ℰ, với
Bây giờ ta áp dụng thuật toán tuyến tính trên ℰ, nghĩa là làm việc với các mẫu
.
Hình 3.1 Mẫu huấn luyện từ hai lớp , biểu diễn bởi các dấu chéo đỏ và hình tròn màu xanh. Ba
hình là ba cách phân loại : (a) Dùng một hàm tuyến tính để phân loại dữ liệu sẽ không thể tránh
khỏi sai sót. (b) Có thể phân loại bằng một hàm phi tuyến trên không gian đầu vào. (c) Ánh xạ
dữ liệu vào không gian đặc trưng, trên đó dữ liệu có thể phân loại bằng một hàm tuyến tính.
Trong một ứng dụng nhất định, chúng ta có thể sẽ nắm rõ vấn đề của mình đủ để thiết kế một
ánh xạ thích hợp. Nếu ánh xạ này không quá phức tạp để tính toán và số chiều của không gian
ℰ không quá lớn, ta có thể tính toán trực tiếp ánh xạ này lên dữ liệu. Nhưng một khó khăn rất
Kernel Fisher Discriminant 2009
11 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
thường gặp là ánh xạ quá khó để áp dụng, khi đó ta không thể áp dụng trực tiếp ánh xạ này
được mà phải tính toán thông qua một kernel.
Xem ví dụ trong hình 3.2 : dữ liệu trong không gian hai chiều, để phân loại phải dùng một giải
pháp phi tuyến, chúng ta ánh xạ dữ liệu sang không gian đặc trưng bằng ánh xạ
Trên không gian đặc trưng này, ta có thể phân loại bằng một mặt tuyến tính.
Hình 3.2 Một ví dụ phân loại trên không gian 2 chiều, trên không gian đặc trưng, ta có thể phân
loại bằng một mặt (tuyến tính), mặt này sẽ tương ứng với một đường elip (phi tuyến) trong
không gian đầu vào.
Trong ví dụ này ta có thể tính trực tiếp ánh xạ và cũng có thể tính
toán trực tiếp tích vô hướng trên không gian đặc trưng.
Trong thực tế không gian đặc trưng thường có số chiều rất lớn thậm chí vô hạn chiều (như trong
trường hợp dữ liệu đầu vào là các bức ảnh, thì số chiều của không gian đặc trưng có thể rất lớn)
lúc này ta không thể tính được. Tuy nhiên ta lại có thể tính được tích vô hướng trong
không gian này, trở lại ví dụ trong hình 3.2, ở đây ta có thể tính tích vô hướng giữa hai phần tử
trong không gian đặc trưng thông qua một hàm kernel k như sau
Kernel Fisher Discriminant 2009
12 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Tổng quát khi , và thì hàm kernel
sẽ tính tích vô hướng trong không gian đăc trưng, mỗi phần tử của là tích
phần tử của (tức là mỗi phần tử của có bậc là ). Trong ví dụ trên thì và .
Mẹo kernel : thuật toán mà ta áp dụng trên không gian đặc trưng chỉ sử dụng tích vô hướng(dữ
liệu chỉ xuất hiện trong tích vô hướng), khi đó vẫn có thể giải quyết vấn đề trên một không gian
đặc trưng khổng lồ, mà không cần tính trực tiếp với ánh xạ . Thậm chí ta không cần biết ánh
xạ , mà chỉ cần biết hàm kernel là được.
Bây giờ ta đặt ra hai câu hỏi
i. Với một ánh xạ cho trước , ta có cách nào đơn giản để tính tích vô hướng và
ii. dưới điều kiện nào thì hàm k : tương đương với tích vô hướng trên
không gian đặc trưng?
Câu hỏi thứ nhất khó có câu trả lời cho trường hợp tổng quát, nhưng với câu hỏi thứ hai thì tồn
tại một đáp án mà ta sẽ đưa ra trong phần sau
3.1 Không gian đặc trưng
Để thấy khi nào hàm k : (hoặc ) là một tích vô hướng trên không gian đặc trưng,
trước tiên ta giới thiệu một số ký hiệu và định nghĩa.
Ma trận nửa xác định dương : Một ma trận (hay bất cứ một ma trận đối xứng khác)
được gọi là nửa xác định dương nếu bất cứ dạng toàn phương nào trên K đều
không âm, nghĩa là với mọi hay , , chúng ta có
Ví dụ : Ma trận nửa xác định dương vì với một vector bất kỳ, dạng toàn
phương
Ma trận kernel : Với một mẫu huấn luyện { } , ma trận có các phần tử
được gọi là ma trận kernel hay ma trận Gram. Ma trận kernel là một ma trận nửa
xác định dương, có thể chứng minh kết quả này rất dễ dàng
Các tính chất của tích vô hướng cho ta hai điều sau
Kernel Fisher Discriminant 2009
13 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
nghĩa là ma trận kernel đối xứng.
Mặt khác, với mọi vector ta có dạng toàn phương
Như vậy ma trận kernel nửa xác định dương.
Hàm nửa xác định dương : Một hàm kernel k : được gọi là nửa xác định dương
nếu nó đối xứng và với mọi và với mọi tập { } , ma trận kenel được tạo thành
với nửa xác định dương.
Chú ý : Do ma trận kernel nửa xác định dương nên điều kiện cần của nó là nó phải đối xứng,
nghĩa là ,và các phần tử trên đường chéo chính đều không âm, nghĩa là , điều
này có thể thấy được khi ta tính dạng toàn phương với một vector chỉ có một phần tử ,
khi đó ta phải có . Do ma trận kernel được tạo thành từ hàm kernel
nên hàm kernel cũng phải đối xứng (do ) và do
.
Reproducing Kernel Hilbert Space (RKHS) : Đặt là một tập khác rỗng và ℋ là một không
gian Hilbert các hàm số . Ta gọi là một không gian Reproducing Kernel Hilbert
với tích vô hướng nếu với mọi , tồn tại một hàm số với những tính
chất sau
1. có tính chất sao chép (reproducing) với mọi , nói riêng
, và
2. , trong đó là tập hợp gồm tất cả những tổ
hợp tuyến tính của những hàm số và ký hiệu bao đóng của tập .
Hàm số k ở trên được gọi là reproducing kernel, và với một RKHS thì k xác định duy nhất.
Ánh xạ đặc trưng
Kernel Fisher Discriminant 2009
14 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Với một kernel nửa xác định dương bất kỳ, ta có thể xây dựng một ánh xạ vào một không gian
đặc trưng , sao cho k đóng vai trò như một tích vô hướng trên . Thật ra, ta còn có thể xây
dựng nhiều hơn một không gian như vậy.
Cho một tập khác rỗng và một hàm thực kernel nửa xác định dương
ta định nghĩa không gian đặc trưng ℰ là không gian tất cả các hàm số có dạng
Tức là . Có thể thấy là một không gian Hilbert với tích vô hướng
được định nghĩa như sau
Tính đối xứng của tích vô hướng này có được từ tính đối xứng của hàm kernel, và tính không âm
có được do tính nửa xác định dương của hàm kernel.
là ma trận kernel.
Chúng ta định nghĩa ánh xạ như sau
nghĩa là ánh xạ mỗi phần tử thành hàm số .
Trên ta có tính chất
Như vậy ta có
Kernel Fisher Discriminant 2009
15 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Từ đẳng thức trên, ta thấy thực ra đã tính được tích vô hướng trên không gian , với
được định nghĩa như trong (3.3). Do đó (3.3) là một hiện thực của ánh xạ tương ứng với một
kernel và được gọi là ánh xạ đặc trưng.
Đặt , có nghĩa là bao đóng của với tích vô hướng được định nghĩa như trên . Như
vậy bao gồm những hàm số có dạng
trong đó . Thực ra tổng này hội tụ với mọi do bất đẳng thức Cauchy-
Schwartz.
Bây giờ ta có thể kiểm tra tính chất RKHS trên :
Nói riêng chúng ta có
Theo định nghĩa của không gian reproducing kernel Hilbert, ta thấy đã thỏa mãn cả hai tính
chất của RKHS, do đó là một RKHS tương ứng với kernel k, ngoài ra dựa vào tính chất
của nó, người ta còn chứng minh được nó là RKHS duy nhất ứng với
k (định lý Moore-Aronszajn).
Chú ý : là không gian reproducing kernel Hilbert được xây dựng như trên là duy nhất ứng với
kernel k, nhưng không gian đặc trưng và ánh xạ đặc trưng sao cho kernel k đóng vai trò như
tích vô hướng trên thì không duy nhất.
Mercer Kernel
Như vậy trong phần trên ta đã tìm được không gian đặc trưng , cùng với ánh xạ đặc trưng sao
cho kernel k đóng vai trò như một tích vô hướng trên . Nhưng không gian ta tìm được theo
cách ở trên là một không gian của những hàm, và ánh xạ cũng ánh xạ một phần tử trong
thành một hàm trong , còn dữ liệu trong thực tế thì được biểu diễn bằng những vector chứ
không phải những hàm. Định lý cho phép ta tìm được một không gian đặc trưng có mỗi phần
tử là vector chứ không phải hàm, và ánh xạ đặc trưng cũng biến một phần tử trong thành một
vector đặc trưng trong .
Kernel Fisher Discriminant 2009
16 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Định lý Mercer phát biểu nếu một hàm kernel k đưa đến một toán tử tích phân dương, thì k có
thể được biểu diễn như một chuỗi hữu hạn hay vô hạn mà chuỗi này hội tụ đều và tuyệt đối.
Chuỗi này sẽ cho ta một cách để định nghĩa không gian đặc trưng cùng với ánh xạ kết nối với
hàm kernel. Đặc biệt nếu tập mà kernel định nghĩa trên đó là compact , thì một kernel sẽ là
một mercer kernel nếu và chỉ nếu nó là một kernel xác định dương.
Đặt là một không gian đo được , nghĩa là một không gian với một -đại số và một độ đo
thỏa mãn .
Định lý Mercer: Giả sử là một hàm thực đối xứng sao cho toán tử tích phân
xác định dương, nghĩa là với mọi
Đặt là những hàm riêng trực chuẩn của toán tử tương ứng với những trị riêng
được sắp xếp giảm dần. Khi đó
1.
2. có thể biểu diễn như một chuỗi
với mọi , trong đó hay ,
chuỗi này sẽ hội tụ tuyệt đối và đều với mọi .
Chúng ta gọi k là một mercer kernel.
Bây giờ nếu chúng ta chọn không gian đặc trưng và ánh xạ là
từ phát biểu thứ hai trong định lý Mercer, chúng ta thấy kernel k tương đương với tích vô hướng
trong , nghĩa là .
Nếu thì , như vậy . Với cách xây dựng này ta có thể tìm được rất
nhiều những không gian đặc trưng và ánh xạ đặc trưng do chúng hoàn toàn phụ thuộc vào và
độ đo . Việc xây dựng cụ thể một không gian đặc trưng và ánh xạ đặc trưng theo cách này đòi
hỏi kiến thức về những hàm riêng, trị riêng của toán tử tuyến tính, và nhiều kiến thức khác vượt
quá khuôn khổ của bài viết này.
Kernel Fisher Discriminant 2009
17 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
3.2 Tóm tắt và ví dụ
Kernel k là một hàm số k : , k đối xứng và nửa xác định dương.
Với một kernel k, ta tìm một ánh xạ đặc trưng , trong đó là một không gian Hilbert
có số chiều cao hơn, sao cho
Hình 3.3 : Ánh xạ dữ liệu sang không gian có số chiều cao hơn sẽ cho ta sự phân loại tốt hơn.
Mẹo kernel : Trong không gian đặc trưng , chúng ta muốn tính tích vô hướng , ta
không cần tính trực tiếp mà thay vào đó tính vì .
Trong phương pháp kernel thì việc chọn hàm kernel rất quan trọng, thông thường người ta chỉ sử
dụng lại những hàm kernel đã có sẵn, sau đây là một số hàm kernel thường dùng trong thực tế.
Một số hàm kernel thông dụng
Gauss RBF
Đa thức
Sigmoidal
Inverse multi-quadric
Bảng 3.1 : Một số hàm kernel thông dụng nhất : Gauss RBF ( ), đa thức ( ),
sigmoidal ( ) và inverse multi-quadric ( ).
Ta có thể xây dựng những hàm kernel mới từ những hàm kernel có sẵn. Ví dụ với là hai
hàm kernel, thì những hàm sau cũng là những hàm kernel
Kernel Fisher Discriminant 2009
18 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Trong phần tiếp theo chúng ta sẽ áp dụng kernel vào phân loại fisher một cách cụ thể, khi đó ta
sẽ biết thêm một số chú ý khi sử dụng kernel.
4.Kernel fisher discriminant
Phân loại tuyến tính (LDA) mà điển hình là phân loại Fisher là kĩ thuật thống kê để rút ngắn số
chiều (chiếu dữ liệu lên không gian ít chiều hơn nhưng vẫn đảm bảo sự phân loại tốt trong mỗi
lớp). Những tính chất tốt của phân loại Fisher là nó có một sự diễn đạt rõ ràng và tồn tại một lời
giải tổng quát. Phân loại tuyến tính đã được sử dụng rộng rãi và thành công trong nhiều ứng
dụng, tuy nhiên giới hạn của nó là tính chất tuyến tính, nên có một số vấn đề đơn giản nhưng
phân loại tuyến tính không giải quyết được (chẳng hạn vấn đề XOR). Để khắc phục khó khăn
này phương pháp KFD đã được đề xuất, KFD có nhiều lợi điểm hơn LDA trong nhiều ứng dụng
khác nhau.
4.1 Cơ bản
Như đã nói trong phần trước, với mỗi kernel đều tồn tại một ánh xạ đi từ không gian đầu vào
tới không gian đặc trưng ( là một không gian Hilbert có số chiều lớn)
sao cho .
Ý tưởng của KFD là giải quyết vấn đề LDA trong không gian , nghĩa là chúng ta đang tìm mộ
có dạng
nhưng lúc này là một vector trong không gian đặc trưng . Do cách duy nhất để làm việc
trên không gian đặc trưng là thông qua hàm kernel, nên chúng ta cần một công thức cho Fisher
Discriminant mà chỉ sử dụng ánh xạ trong tích vô hướng.
Giả sử mẫu huấn luyện trong không gian đầu vào có phần tử thuộc lớp, mỗi lớp có kích
cỡ là . Theo ý tưởng của phân loại Fisher, ta cần tìm làm cực đại tiêu chuẩn Fisher
Kernel Fisher Discriminant 2009
19 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
trong đó và là ma trận tán xạ giữa các lớp và ma trận tán xạ được
định nghĩa như sau
với là vector trung bình của ảnh trong không gian của các phần tử thuộc lớp thứ i trong
mẫu huấn luyện, là vector trung bình của tất cả ảnh trong không gian của các phần tử trong
mẫu huấn luyện.
.
Bổ đề : đóng, compact, dương và tự đối xứng trong không gian Hilbert.
Vì mỗi giá trị riêng của toán tử dương thì không âm trong không gian Hilbert, theo bổ đề trên tất
cả các giá trị riêng của dương.
Định lí Hilbert-Schimidt
Kernel Fisher Discriminant 2009
20 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Đặt A là một toán tử đối xứng và compact trong không gian Hilbert, thì tập những vector riêng
tạo thành một cơ sơ trực trong không gian Hilbert.
4.2 Những vector tối ưu Kernel Fisher discriminant
Những vector tối ưu tiêu chuẩn Fisher (4.1) chính là những vector riêng
của phương trình tổng quát
Vì bất cứ vector riêng nào cũng có thể biểu diễn như là tổ hợp tuyến tính của những ảnh trong
không gian đặc trưng của những phần tử trong mẫu huấn luyện, chúng ta có
với và T
Thay (4.4) vào (4.1) ta được
với là ma trậ ợc định nghĩa bởi
trong đó là ma trận kernel và mỗi phần tử được xác định
bởi
là hàm kernel tương ứng với ánh xạ phi tuyến .
Và , với là một ma trận có mỗi phần tử là . Vì vậy là ma
trận đường chéo khối kích thước .
Giả sử là những vector riêng trực chuẩn của ma trận tương ứng với m trị riêng khác
không ( là bậc của ma trận ). Khi đó có thể được viết như sau
với và .
Rõ ràng , với là ma trận đơn vị.
Thay vào (4.5) ta được
Kernel Fisher Discriminant 2009
21 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
Đặt
Khi đó phương trình (4.8) trở thành
Bằng cách cực đại (4.10) chúng ta được tập nghiệm tối ưu , thực ra đây chính là những
vector riêng tương ứng với giá trị riêng lớn nhất của .
Từ (4.9) chúng ta thấy với mỗi cho trước, tồn tại ít nhất một thỏa . Do đó sau
khi xác định , ta có thể thu được tập nghiệm tối ưu cho tiêu chuẩn trong phương trình
(4.5) là . Do đó những vector tối ưu tiêu chuẩn Fisher trong
phương trình (4.1) trong không gian đặc trưng là
4.3
.
trong đó
Phép biến đổi có thể chia làm hai giai đoạn
Kernel Fisher Discriminant 2009
22 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
với
Đầu tiên chúng ta xét biến đổi trong (4.14)
Vì , và , phương trình (4.14)
có thể viết lại như sau
4.4 Thuật toán KFD
Bước 1:
Xây dựng ma trận theo (4.6) và tính toán những vector riêng trực giao tương ứng
với những giá trị riêng khác không .
Sử dụng công thức ( .
Bước 2:
Xây dựng ma trận theo (4.11) và .
Tính vector riêng của tương ứng với giá trị riêng lớn nhất.Thực hiện LDA bằng công
thức (4.17).
5. Tổng kết và đánh giá
Trong bài viết này, đầu tiên ta tìm hiểu về Fisher Discriminant, đây là một phương pháp chiếu dữ
liệu vào một không gian có số chiều ít hơn, nhưng vẫn đảm bảo sự phân biệt tốt hơn. Ý tưởng
chính của phương pháp này là tìm một hướng chiếu sao cho khi chiếu lên hướng đó, tỷ số giữa
sự phân tán của dữ liệu giữa các lớp khác nhau và sự phân tán của dữ liệu bên trong mỗi lớp đạt
cực đại. Hạn chế của phương pháp này là tính tuyến tính của nó, có một số vấn đề đơn giản
nhưng không thể giải quyết bằng những phương pháp tuyến tính nói chung, hay Fisher
Discriminant nói riêng. Từ đó phương pháp Kernel Fisher Discriminant đã được đề xuất, ý tưởng
của phương pháp này, hay các phương pháp kernel nói chung là ánh xạ dữ liệu đầu vào sang một
Kernel Fisher Discriminant 2009
23 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
không gian đặc trưng có số chiều lớn hơn, từ đó đảm bảo sự phân loại tốt hơn trên không gian
này, tiếp theo ta sẽ thực hiện các thuật toán tuyến tính như lúc đầu, nhưng là trên không gian đặc
trưng. Cụ thể với KFD, đầu tiên ta ánh xạ dữ liệu sang không gian đặc trưng, sau đó thực hiệp
phân biệt Fisher trên không gian này. Tuy nhiên số chiều của không gian đặc trưng có thể rất lớn,
thậm chí vô hạn chiều, điều này cản trở việc thực hiện các thuật toán gốc trên không gian này.
Mẹo kernel giúp ta vượt qua điều đó, bằng cách chúng ta thiết kế các thuật toán sao cho chỉ sử
dụng dữ liệu dưới dạng tích vô hướng, lúc đó ta không cần ánh xạ dữ liệu sang không gian đặc
trưng và tính trực tiếp tích vô hương, mà thay vào đó ta tính tích vô hướng thông qua một hàm
kernel. Hàm kernel là một hàm trên không gian đầu vào, có tính chất nửa xác định dương. Như
vậy toàn bộ tính toán của ta trên không gian đặc trưng được thực hiện thông qua hàm kernel
được định nghĩa trên không gian đầu vào, tức là đã có thể thực hiện thuật toán trên không gian
đặc trưng.
Qua hàm kernel, thuật toán tuyến tính trên không gian đặc trưng có thể trở thành phi tuyến trên
không gian đầu vào nếu ta sử dụng kernel phi tuyến. Ta cũng có thể khôi phục thuật toán tuyến
tính gốc bằng một cách đơn giản là sử dụng kernel tuyến tính, nghĩa là hàm kernel ta sử dụng là
, tuy nhiên sử dụng kernel tuyến tính thường không đem lại hiệu quả cao.
Ưu điểm của KFD là có một sự diễn đạt rõ ràng, do bản chất của nó là việc thực hiện LDA trên
không gian đặc trưng, mà tư tưởng của LDA là rất rõ ràng, hơn nữa LDA còn có một lời giải
toàn cục, nên khi chuyển qua thực hiện trên không gian đặc trưng, ta cũng có một thuật toán rõ
ràng.
Nhược điểm là thuật toán được thực hiện thông qua ma trận kernel, nên khi dữ liệu lớn thì kích
thước ma trận kernel sẽ lớn và gây ra khó khăn cho việc tính toán. Cũng vì lý do này nên phương
pháp KFD chỉ được khuyên dùng khi số chiều của dữ liệu lớn hơn số mẫu dữ liệu.
Hết !
Top Related