Kernel fisher discriminant

23
Kernel Fisher Discriminant Bài báo cáo XLý Đa Chiều 5/13/2009 Khoa Toán-Tin Đại hc Khoa Hc TNhiên Nhóm 5

Transcript of Kernel fisher discriminant

Page 1: Kernel fisher discriminant

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

Page 2: Kernel fisher discriminant

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

Page 3: Kernel fisher discriminant

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ỏ.

Page 4: Kernel fisher discriminant

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

Page 5: Kernel fisher discriminant

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

Page 6: Kernel fisher discriminant

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

.

Page 7: Kernel fisher discriminant

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 :

Page 8: Kernel fisher discriminant

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à

Page 9: Kernel fisher discriminant

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.

Page 10: Kernel fisher discriminant

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

Page 11: Kernel fisher discriminant

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

Page 12: Kernel fisher discriminant

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

Page 13: Kernel fisher discriminant

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

Page 14: Kernel fisher discriminant

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ó

Page 15: Kernel fisher discriminant

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 .

Page 16: Kernel fisher discriminant

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.

Page 17: Kernel fisher discriminant

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

Page 18: Kernel fisher discriminant

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

Page 19: Kernel fisher discriminant

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

Page 20: Kernel fisher discriminant

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

Page 21: Kernel fisher discriminant

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

Page 22: Kernel fisher discriminant

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

Page 23: Kernel fisher discriminant

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 !