Upcoming SlideShare
×

# Kernel fisher discriminant

2,269 views
2,196 views

Published on

Published in: Education
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
2,269
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
80
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Kernel fisher discriminant

1. 1. 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
2. 2. Kernel Fisher Discriminant 2009 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 2 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
3. 3. Kernel Fisher Discriminant 2009 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ỏ. 3 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
4. 4. Kernel Fisher Discriminant 2009 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 4 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
5. 5. Kernel Fisher Discriminant 2009 đư 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 5 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
6. 6. Kernel Fisher Discriminant 2009 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 . 6 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
7. 7. Kernel Fisher Discriminant 2009 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 : 7 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
8. 8. Kernel Fisher Discriminant 2009 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à 8 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
9. 9. Kernel Fisher Discriminant 2009 Đặ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. 9 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
10. 10. Kernel Fisher Discriminant 2009 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 10 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
11. 11. Kernel Fisher Discriminant 2009 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 11 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
12. 12. Kernel Fisher Discriminant 2009 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 12 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
13. 13. Kernel Fisher Discriminant 2009 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 13 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
14. 14. Kernel Fisher Discriminant 2009 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ó 14 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
15. 15. Kernel Fisher Discriminant 2009 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 . 15 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
16. 16. Kernel Fisher Discriminant 2009 Đị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. 16 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
17. 17. Kernel Fisher Discriminant 2009 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 17 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
18. 18. Kernel Fisher Discriminant 2009 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 18 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
19. 19. Kernel Fisher Discriminant 2009 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 19 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
20. 20. Kernel Fisher Discriminant 2009 Đặ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ó T với và 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 20 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
21. 21. Kernel Fisher Discriminant 2009 Đặ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 21 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
22. 22. Kernel Fisher Discriminant 2009 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 22 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết
23. 23. Kernel Fisher Discriminant 2009 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 ! 23 Đỗ Trọng Hợp – Nguyễn Đức Thành – Trần Ngọc Chân Thiện - Chu Đông Thuyết