Luận văn Chương trình Nhận dạng mặt người dùng Gabor Wavelet

Đây là một giải pháp được ứng dụng cho nhiều mục đích khác nhau trong việc xử lý tín hiệu và phân tích dữ liệu. Một ví dụ cụ thể : Tín hiệu tiếng gốc có thể giống như hình 2.1 và tín hiệu trộn có dạng như 2.2 Hình 2.1 Tín hiệu gốc Hình 2.2 Tín hiệu trộn Nếu như chúng ta biết các hệ số , chúng ta có thể giải hệ phương trình tuyến tính trên theo phương pháp thông thường và tìm đươc các tín hiệu ban đầu. Tuy nhiên ở đây ta không biết các hệ số do đó bài toán trở nên phức tạp. Một hướng để giải quyết bài toán là sử dụng thông tin đặc trưng thống kê của tín hiệu s(t) để xấp xỉ . Và điều lưu ý tiếp theo là tín hiệu s1(t), s2(t) và s3(t), tại mỗi thời điểm t, là các độc lập thống kê. Tuy nhiên trong thực tế không hoàn toàn chính xác như vậy. Các hướng phát triển gần đây của kĩ thuật phân tích thành phần độc lập ICA có thể xấp xỉ dựa trên các thông tin độc lập của chính tín hiệu đó. Điều này cho phép chúng ta chia các tín hiệu gốc từ tín hiệu đã trộn x1(t), x2(t) và x3(t). Một ví dụ khác, ICA được dùng để là trích các đặc trưng. Vấn đề quan trọng trong xử lý tín hiệu số là tìm ra biễu diễn phù hợp cho hình ảnh, âm thanh hoặc các loại dữ liệu khác thích hợp. Biểu diễn dữ liệu thường dựa vào biến đổi tuyến tính. Biến đổi tuyến tính được ứng dụng rộng rãi trong xử lý ảnh số như biến đổi Fourier Haar, biến đổi cosin. Mỗi phép biến đổi có ưu điểm riêng. Để định nghĩa ICA ta có thể dùng mô hình thống kê “làm chậm biến số” Ta quan sát n tổ hợp tuyến tính x1, ,xn của n thành phần độc lập [1]

doc54 trang | Chia sẻ: ngtr9097 | Lượt xem: 2475 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Luận văn Chương trình Nhận dạng mặt người dùng Gabor Wavelet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG I : CÁC PHƯƠNG PHÁP NHẬN DẠNG 1/ Phương pháp phân tích các thành phần độc lập (ICA): Đây là một giải pháp được ứng dụng cho nhiều mục đích khác nhau trong việc xử lý tín hiệu và phân tích dữ liệu. Một ví dụ cụ thể : Tín hiệu tiếng gốc có thể giống như hình 2.1 và tín hiệu trộn có dạng như 2.2 Hình 2.1 Tín hiệu gốc Hình 2.2 Tín hiệu trộn Nếu như chúng ta biết các hệ số , chúng ta có thể giải hệ phương trình tuyến tính trên theo phương pháp thông thường và tìm đươc các tín hiệu ban đầu. Tuy nhiên ở đây ta không biết các hệ số do đó bài toán trở nên phức tạp. Một hướng để giải quyết bài toán là sử dụng thông tin đặc trưng thống kê của tín hiệu s(t) để xấp xỉ . Và điều lưu ý tiếp theo là tín hiệu s1(t), s2(t) và s3(t), tại mỗi thời điểm t, là các độc lập thống kê. Tuy nhiên trong thực tế không hoàn toàn chính xác như vậy. Các hướng phát triển gần đây của kĩ thuật phân tích thành phần độc lập ICA có thể xấp xỉ dựa trên các thông tin độc lập của chính tín hiệu đó. Điều này cho phép chúng ta chia các tín hiệu gốc từ tín hiệu đã trộn x1(t), x2(t) và x3(t). Một ví dụ khác, ICA được dùng để là trích các đặc trưng. Vấn đề quan trọng trong xử lý tín hiệu số là tìm ra biễu diễn phù hợp cho hình ảnh, âm thanh hoặc các loại dữ liệu khác thích hợp. Biểu diễn dữ liệu thường dựa vào biến đổi tuyến tính. Biến đổi tuyến tính được ứng dụng rộng rãi trong xử lý ảnh số như biến đổi Fourier Haar, biến đổi cosin. Mỗi phép biến đổi có ưu điểm riêng. Để định nghĩa ICA ta có thể dùng mô hình thống kê “làm chậm biến số” Ta quan sát n tổ hợp tuyến tính x1,…,xn của n thành phần độc lập [1] (2.1) Chúng ta bỏ qua chỉ số thời gian t (trong mô hình ICA), ta giả sử mỗi tổ hợp xj ứng với mỗi thành phần độc lập sk là biến ngẫu nhiên, thay cho tín hiệu theo thời gian thích hợp. Giá trị quan xj(t), những tín hiệu thu được từ microphone trong bài toán cocktail-party, là mẫu của biến số ngẫu nhiên. Không mất tính tổng quát, ta giả sử cả biến trộn lẫn và thành phần độc lập có giá trị trung bình không. Nếu thực tế không đúng, có thể đưa các biến số quan sát xi về gía trị trung tâm bằng cách trừ với mẫu trung bình. Điều đó rất thuận tiện khi dùng ký hiệu ma trận vector thay cho dạng tổng như các công thức trước đây. Điều này cho thấy với vector ngẫu nhiên x, các thành phần của nó là tổ hợp tương tự như vector ngẫu nhiên s với các thành phần . Chúng ta quan sát ma trận A với các phần tử aij .Tất cả các vector được được hiểu như vector cột; do đó xT là chuyển vị của x ,là vector hàng, sử dụng ký hiệu ma trận vector, mô hình hỗn hợp ở trên sẽ được viết lại là: (2.2) Thỉnh thoảng, chúng ta cần cột của ma trận A; điều đó có nghĩa là mô hình aj có thể được viết lại như sau (2.3) Mô hình thống kê (2.2) được gọi là phân tích các thành phần độc lập, hay mô hình ICA. Mô hình ICA mô tả cách thức tạo ra dữ liệu quan sát bằng quá trình trộn các đối tượng si . Các đối tượng độc lập là các biến số ẩn, có nghĩa là ta không thể quan sát chúng một cách trực tiếp. Vì vậy ma trận trộn cũng được xem như là không biết. Tất cả những gì ta quan sát được chỉ là vector ngẫu nhiên x, và chúng ta phải dùng x để xấp xỉ cả A và s. Điểm khởi đầu của ICA là sự thừa nhận rất đơn giản rằng các thành phần si là độc lập thống kê. Tiếp theo chúng ta phải thừa nhận các thành phần độc lập phải có phân bố không Gauss. Tuy nhiên, ở mô hình cơ bản chúng ta không cần biết sự phân bố này. Một cách đơn giản, chúng ta chỉ cần giả thiết ma trận trộn chưa biết là ma trận vuông. Sau đó ta xấp xỉ ma trận A, chúng ta có thể tính ma trận ngược (là W), các thành phần độc lập có thể được tính bằng công thức: S = Wx (2.4) ICA cũng tương tự phương pháp “phân chia nguồn mù” (BBS) hoặc phân chia tín hiệu chưa biết.”Nguồn” có nghĩa là các tín hiệu gốc, là các thành phần độc lập, tương tự như trong bài toán cocktail-party.”Mù” có nghĩa là biết rất ít. ICA là một phương pháp có thể được ứng dụng rất rộng rãi trong việc trình bày quá trình phân chia nguồn mù. Trong nhiều ứng dụng, chúng ta giả thiết có thêm nhiễu trong quá trình đo đạc, có nghĩa là phải thêm thành phần nhiễu vào mô hình tính toán. Để đơn giản đôi khi ta có thể bỏ qua thành phần nhiễu. Các điểm không xác định trong ICA: Trong mô hình ICA (2.2), chúng ta có thể thấy các điểm không xác định như sau: Chúng ta không thể xác định được thành phần biến (số cột ma trận tương quan) của các thành phần độc lập. Lý do là cả S và A đều không được biết, phép nhân vô hướng của nguồn si có thể khử bằng cách chia cho cột tương ứng ai của A với cùng hướng (2.3). Hệ quả, chúng ta phải hiệu chỉnh biên độ của thành phần độc lập; như ta biết, các ICA đều là các biến ngẫu nhiên, cách đơn giản ta giả sử mỗi nguồn đều có thành phần biến số đơn vị. Sau đó ma trận A sẽ đáp ứng với phương pháp giải ICA để khắc phục các hạn chế này. Ta có thể loại bỏ những dấu hiệu bất định này: ta có thể nhân thành phần độc lập với -1 mà không làm ảnh hưởng đến mô hình tính. Trong hầu hết các ứng dụng yếu tố dấu không có nghĩa. Chúng ta không thể xác định được thứ tự của các thành phần độc lập. Lý do là cả S và A đều không được biết, chúng ta có thể thay đổi tùy ý trật tự của phép tính trong công thức (2.3), và có thể gọi bất cứ thành phần độc lập nào là thành phần đầu tiên. Ma trận hoán vị P và phép biến đổi ngược của nó có thể được thay thế trong công thức . Các phần tử của Ps là các thành phần biến độc lập gốc sj , nhưng theo thứ tự khác. Ma trận AP-1 được biết như là một ma trận trộn mới chưa biết được dùng để giải bài toán ICA . 2/ Nhận dạng mặt người bằng AdaBoost kết hợp mạng nơron: Phát hiện mặt người là bước đầu tiên của hệ nhận dạng mặt người. Tốc độ xử lý và hiệu suất của hệ nhận dạng phụ thuộc rất nhiều vào quá trình phát hiện khuôn mặt. Phương pháp AdaBoost được đánh giá là nhanh nhất trong các thuật toán dò tìm hiện nay. Tuy nhiên những khuôn mặt tìm được có độ chính xác chưa cao (kết quả dò tìm thừa). Vì vậy cần một bộ lọc để loại bỏ các kết quả thừa. Mạng nơron có khả năng dò tìm tương đối tốt. Ngoài ra khả năng chứng thực mặt người của mạng nơron là rất tốt. Vì vậy ta có thể kết hợp với AdaBoost ở tầng cuối để tạo thành một hệ thống nhất. AdaBoost – NN là mô hình dò tìm khuôn mặt bằng AdaBoost kết hợp mạng nơron. AdaBoost sẽ đóng vai trò là bộ dò tìm nhanh các khuôn mặt. Mạng nơron sẽ lọc ra các dò tìm sai để cho kết quả chính xác hơn. Ảnh sau khi qua mạng nơron sẽ xác định chính xác vị trí của khuôn mặt. Hệ thống dò tìm được minh hoạ trong hình sau: Tiền xử lý ảnh Ảnh đầu vào Ảnh khuôn mặt Ảnh đã tiền xử lý Bộ dò tìm AdaBoost Ảnh ứng viên khuôn mặt Chứng thực ảnh bằng mạng nơron Phát hiện khuôn mặt nhanh bằng AdaBoost : Các ảnh đầu vào sẽ được tính tích phân của ảnh theo các đặc trưng Haar – like. Các đặc trưng này sẽ được chọn lựa lại theo mô hình phân tầng. Đầu ra của hệ thống sẽ là các ảnh ứng viên khuôn mặt dò tìm được. Chứng thực mặt người bằng mạng Nơron : Ảnh ứng viên dò tìm được bởi AdaBoost sẽ được đưa về kích thước 30x30 pixel. Chuyển đổi ảnh màu thành ảnh grayscale. Sau đó thực hiện điều chỉnh độ tương phản của ảnh và thực hiện cân bằng lược đồ mức xám.. Khi quá trình tiền xử lý hoàn tất, ta dùng một cửa sổ trượt có kích thước 20x20 để dò tìm tất cả các vị trí trong ảnh. Nếu có một ảnh con được xác nhận là khuôn mặt thì ảnh gốc cần chứng thực là khuôn mặt. Ngược lại, nếu không có cửa sổ con nào được xác nhận là khuôn mặt thì thì ảnh đầu vào không phải là ảnh khuôn mặt. Đầu vào của ảnh Tập ảnh lớn (kho ảnh). Ảnh khuôn mặt mẫu của đối tượng cần tìm. File data (nếu có) lưu vị trí và kích thước của ảnh khuôn mặt. Quá trình xử lý: Từ tập ảnh mẫu, huấn luyện mạng nơron để chuẩn bị đối sánh mẫu. Từ mỗi ảnh trong kho ảnh, dò tìm khuôn mặt trong ảnh bằng hệ AdaBoost-NN đã xây dựng. Nếu tìm thấy ảnh mặt người thì lưu vị trí và kích thước của ảnh vào file data, đồng thời đối sánh từng khuôn mặt tìm được với ảnh mẫu (dùng mạng nơron). Nếu ảnh tìm được khớp với ảnh mẫu thì chép ảnh gốc có chứa khuôn mặt của đối tượng vào một thư mục cho trước. Ý nghĩa: Việc lưu vị trí ảnh khuôn mặt vào file data nhằm phục vụ cho những lần tìm kiếm sau. Nếu đã có file data thì chương trình không cần dò tìm khuôn mặt mà sẽ lấy ảnh khuôn mặt theo mô tả trong file data. Việc chép ảnh gốc vào thư mục riêng nhằm phục vụ cho các điều tra viên kiểm tra lại ảnh tìm được. Vì tập ảnh lớn, thời gian chạy chương trình sẽ rất lâu cho nên người dùng không thể ngồi theo dõi chương trình mà phải chép ảnh tìm được vào một thư mục riêng. Tập ảnh lớn (kho ảnh) Lưu vị trí và kích thước ảnh vào file data Ảnh khuôn mặt mẫu Mạng nơron Chép ảnh gốc vào thư mục cho trước Tiền xử lý và rút trích đặc trưng Bộ trọng số của mạng nơron đã được huấn luyện Ảnh khuôn mặt tìm được Dò tìm bằng AdaBoost-NN hoặc đọc ảnh từ file data Có khuôn mặt Đối sánh ảnh tìm được với ảnh mẫu (bằng mạng nơron) Khớp nhau Duyệt từng ảnh Tập tin lưu vị trí và kích thước các ảnh mặt người Thư mục chứa các file ảnh có chứa đối tượng cần tìm Sơ đồ xử lý nhận dạng khuôn mặt Thuật toán AdaBoost: B1. Đầu vào (1) Tập Z = {(x1, y1), .., (xN, yN)} với: N = a + b a là số mẫu thuộc phân lớp yi = +1 b là số mẫu thuộc phân lớp yi = -1 (2) Số lớp yếu tối đa Mmax sẽ được kết hợp. B2. Khởi tạo giá trị với các mẫu thuộc lớp yi = +1 với các mẫu thuộc lớp yi = -1 M = 0 B3. Suy diễn tiến While M < Mmax (1) M <- M +1 (2) Chọn hm dựa theo biểu thức (4) (3) Cập nhật và chuẩn hóa để Để B4. Đầu ra Σ = = M 3/ Nhận dạng dùng Support Vector Machine (SVM) : SVM (Support Vector Machines) là phương pháp nhận dạng do Vladimir N. vapnik đề xuất năm 1995. SVM là phương pháp nhận dạng dựa trên lý thuyết học thống kê ngày càng đươọc sử dụng phổ biến trong nhiều lĩnh vực, đặc biệt là lĩnh vực phân loại mẫu và nhận dạng mẫu. Đồng thời có nhiều tình năng ưu việt so với các phương pháp cổ điển khác: dể dàng xử lý, xử lý với tính ổn định cao trên dữ liệu phức tạp, có thể có số chiều lớn và quan trọng hơn cả là khả năng xử lý tổng quát. SVM (Support Vector Machines) là một phương pháp máy học tiên tiến đã có nhiều thành công không chỉ trong các lĩnh vực khai phá dữ liệu mà còn trong lĩnh vực nhận dạng. Trong những thập niên gần đây, SVM được đánh giá là một trong những phương pháp phân lớp có độ chính xác rất cao và nó cũng đã được áp dụng nhiều trong các bài toán nhận dạng. Vì vậy chúng ta có thể ứng dụngtrong nhận dạng trên cơ sở phương pháp phân lớp SVM. Trích chọn đặc trưng phục vụ cho công việc huấn luyện và nhận dạng là một bước rất quan trọng trong một hệ thống nhận dạng. Phương pháp SVM: gồm hai giai đoạn là huấn luyện và nhận dạng Giai đoạn huấn luyện :Các ảnh mẫu được véc tơ hóa x = {x1, . .,x900} rồi dùng phương pháp PCA để rút trích đặc trưng thành véc tơ y={y1, . .,y100} rồi đưa vào bộ huấn luyện SVM . Giai đoạn nhận dạng: Mẫu cần nhận dạng được cũng được véc tơ hóa và rút trích như trên sau đó đưa vào bộ nhận dạng SVM để xác định lớp cho mẫu . Tuy nhiên SVM là phương pháp phân lớp rất nhanh nhưng SVM có thể phân một đối tượng nhầm lớp nên có thể dùng thêm phương pháp mạng Nơron để so sánh. Phương pháp phân lớp SVM : Hàm mục tiêu của một máy phân lớp SVM nhị phân có thể được phát biểu như sau: g(x) = w.Φ(x) + b (1) Trong đó : - Véc tơ đầu vào x - w là véc tơ chuẩn của siêu phẳng phân cách trong không gian đặc trưng được sinh ra từ ánh xạ Φ(x): - (F > D, Φ(x) có thể tuyến tính hoặc phi tuyến) và b là độ lệch so với gốc tọa độ. Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân, do đó dấu của g(x) cho biết véc tơ x thuộc lớp +1 hay lớp -1. Cho tập mẫu {(x1,y1),...,(xN,yN)} trong đó xiRD và yi{±1}, mục tiêu của phương pháp phân lớp SVM là tìm một siêu phẳng phân cách sao cho khoảng cách lề (margin) giữa hai lớp đạt cực đại Khoảng cách lề giữa hai lớp là . Để nới lỏng điều kiện phân lớp, thêm vào một số yếu tố cân bằng và việc huấn luyện SVM chính là giải bài toán tối ưu có ràng buộc: sao cho: yi(w. Φ(xi) + b) ≥ 1-ξi ξi ≥ 0, trong đó : C là tham số nới lỏng điều kiện phân lớp [1]. Thay vì giải bài toán (2), ta giải bài toán đối ngẫu của nó bằng cách giải bài toán qui hoạch toàn phương (QP-Quadratic programming): (3) Thỏa mãn: và , trong đó α =[α1,..., αN]T và H là ma trận kích thước N×N được gọi là ma trận nhân (kernel matrix) với mỗi phần tử H(i,j) = yiyjΦ(xi).Φ(xj). Giải bài toán QP (3) ta thu được: (4) Mỗi mẫu huấn luyện xi tương ứng với một hệ số Lagrange αi. Sau khi huấn luyện, các mẫu có αi>0 được gọi là véc tơ hỗ trợ. Thế (4) vào (1), ta có : (5) Giả sử Φ(xi).Φ(xj) = K(xi,xj). Nghĩa là, tích vô hướng trong không gian đặc trưng tương đương với một hàm nhân K của không gian đầu vào. Vì vậy, ta không cần phải tính trực tiếp các giá trị Φ(xi), Φ(xj) mà chỉ cần tính tích vô hướng gián tiếp thông qua hàm nhân K(xi,xj). Nếu sử dụng hàm nhân là hàm tuyến tính thì SVM được gọi là SVM tuyến tính, ngược lại thì gọi là SVM phi tuyến. Như vậy, hàm mục tiêu cho bài toán phân lớp SVM nhị phân có dạng: (6) Chỉ có các véc tơ hỗ trợ tham gia vào việc xây dựng siêu phẳng phân cách, do đó một mẫu x sẽ được phân lớp theo hàm quyết định: (7) trong đó, NSV là số véc tơ hỗ trợ. SVM gồm có SVM tuyến tính và SVM phi tuyến. SVM tuyến tính Giả sử cho tập (1) trong đó xi Rn và yi {+1,-1}. Mục đích của SVM là tìm ra siêu mặt phân cách thỏa: xi +b≥1 khi yi =+1 xi +b≥−1 khi yi =−1 (2) trong đó w Rn và cũng là vectơ pháp tuyến của siêu mặt. Nếu như các thành phần của tập học S thỏa bất phương trình (2) thì ta nói đây là trường hợp phân cách tuyến tính. Trong việc huấn luyện siêu mặt, SVM tìm cách cực đại khoảng cách bờ ρ giữa hai lớp với . Do đó trong trường hợp tuyến tính, việc tìm siêu mặt phân cách cũng chính là giải hệ sau: Cực tiểu : (3) với ràng buộc i = 1,2,…,n (4) Nếu như bất phương trình (2) không đúng với một số phần tử trong tập học,ta nói đây không phải là trường hợp phân cách tuyến tính. Trong trường hợp này tabờ mặt phân cách là “mềm”( soft margin) nếu như có một vài phần tử không thỏa (2) như trên. Để giải quyến trường hợp này, tập được thêm vào (2) như sau: i=1,2,…,n (5) và ξi được gọi là các biến slack (lỏng). Khi 0<ξi <1 thì các điểm rơi đúng vào hần ngăn cách của bờ ngăn cách. Khi có lỗi xuất hiện tức có điểm rơi vào bờ bên kia, ξi tương ứng sẽ lớn hơn 1. Do đó mục đích SVM bây giờ là tìm siêu phằng phân cách sao cho lỗi phân loại ít nhất và khoảng cách bờ lớn nhất. trong trường hợp không thể phân cách tuyến tính, bài toán trở thành: Cực tiểu : (6) Với ĐK : i=1,2,…,n (7) và ξ ≥ 0,i = 1,2,..., n (8) Trong đó C là tham số do người dùng chọn. Một cách để giải quyết bài toán là dùng hàm Largange. Có hai lý do cho điều này. Thứ nhất là ràng buộc (7 - 8) sẽ được thế bằng ràng buộc trên hệ số nhân Lagrange, để dễ làm việc hơn. Thứ hai là dữ liệu huấn luyện sẽ chỉ xuất hiện dưới dạng phép nhân vô hướng giữa các vector. Điều này cho phép tổng quát hoá cho trường hợp phi tuyến. Đưa ra các hệ số nhân Lagrange không âm αi, và βi , cho các ràng buộc bất đẳng thức (7-8). Bài toán đối ngẫu trở thành : Cực đại : (9) Với ĐK : (10) i=1,2,…,n (11) Trong bài toán đối ngẫu hàm lượng giá Q(α) cực đại chỉ phụ thuộc vào dữ liệu dưới dạng tích vô hướng. Do đó các hệ số nhân Lagrange có thể tính được dựa trên các ràng buộc (10-11). Điều kiện Karush-Kuhn-Tucker (KKT) có vai trò quan trọng đối với bài toán tối ưu ràng buộc. Với bài toán trên, điều kiện KKT có thể phát biểu: i=1,2,…n (12) Trong đó : Có hai dạng tham số , nếu như 0< ≤C thì mẫu tương ứng là véctơ hỗ trợ. Véctơ lời giải cho bài toán chính là véctơ xác định bởi: (14) Trong đó : Ns chính là số lượng các vectơ hổ trợ. Tuy nhiên trong trường hợp 0< <C chúng ta có ξi = 0 theo phương trình (13) của điều kiện KKT. Do đó có thể lấy điểm huấn luyện bất kỳ thỏa 0< < C để dùng công thức (12) (với ξi = 0) để tính b0. Cuối cùng có thể lấy trung bình b0 trên toàn tập mẫu S. Một khi (w0,b0) được xác định, ta có hàm quyết định chính là: (15) đồng thời siêu mặt phân cách chính là g(x) = 0. Trường hợp khác xảy ra nữa là khi =C (ξi>0 có thể tính được bằng(12)) và = 0 (mẫu i đã được phân loại đúng) SVM phi tuyến: Trong trường hợp phi tuyến, ta chỉ cần ánh xạ véctơ dữ liệu vào không gian đặc trưng có số chiều cao hơn nhiều. Bằng cách sử dụng hàm ánh xạ , trong đó M>N, chúng ta có thể xây dựng siêu mặt phân cách trong không gian mới này. Hàm xử lý chính tích vô hướng K(x,xi) ánh xạ không gian phi tuyến vào không gian đặc trưng: (16) Do đó bài toán đối ngẫu trở thành : Cực đại : (17) Với cùng ràng buộc (10-11). Điều kiện duy nhất chính là hàm xử lý chính K(x,xi) phải thỏa điều kiện Mercer. Bằng cách sử dụng các hàm xử lý chính, dữ liệu có thể được phân loại như sau: Trong đó g(x) là hàm quyết định như sau: 4/ Nhận dạng dùng Fuzzy SVM (SVM mờ) : Với SVM, quá trình huấn luyện khá nhạy cảm với các mẫu cách quá xa lớp. Nếu như hai lớp có thể phân cách tuyến tính thì SVM có thể tìm ra siêu mặt phân cách mà không có mẫu nào bị phân loại sai kể hai tập mẫu có độ đo compact nhỏ đến mức độ nào. Tuy nhiên xét trường hợp hai lớp không thể phân cách tuyến tính, việc chọn đúng giá trị C có ý nghĩa khá quan trọng. (C chính là tham số do người dùng chọn cân bằng giữa độ phức tạp của hệ số và số lượng lổi ). C càng lớn thì lỗi phân cách càng nhỏ thì càng bỏ qua nhiều các mẫu phân cách sai, song bờ phân cách càng lớn. Dù C nhỏ hay lớn thì gái trị C vẫn cố định trong quá trình huấn luyện. Do đó các mẫu được huấn luyện ngang nhau, nên cuối cùng bớ phân cách sẽ nhạy cảm với những mẫu vượt. Việc xem vai trò các mẫu ngang nhau sẽ dẫn đến việc huấn luyện SVM “quá thích nghi” (overfit): Hình minh họa nhược điểm về điểm vượt của SVM Trong hình trên là ví dụ của việc huấn luyện mẫu hai chiều không thể phân cách tuyến tính được. Vùng ít quan trọng hơn là vùng chứa mẫu không tham gia và việc hình thành các véctơ hỗ trợ thỏa mãn phương trình (2). Ngược lại những mẫu tham gia vào hình thành véctơ hỗ trợ sẽ thuộc vùng quan trọng hơn. Với cùng giá trị C, nếu như tồn tại các mẫu vượt biên của lớp 1, siêu mặt phân cách sẽ hướng về lớp 2. Do đó độ dốc của siêu mặt cũng thay đổi do tập các véctơ hỗ trợ thay đổi theo phương trình (14). Điều đó kéo theo việc nhận dạng các mẫu của lớp 2 có nhiều lỗi hơn do việc huấn luyện “quá thích nghi”(overfit) gây ra bởi các phần tử vượt. Như ta thấy trên, các mẫu được huấn luyện ngang hang nhau, nên cuối cùng bờ phân cách sẻ nhạy cảm với những mẫu vượt. Việc xem các mẫu ngang hàng nhau có thể gây lỗi cho SVM. Do đó ý tưởng của FSVM là tương ứng với mỗi mẫu xi ta gọi Px(xi) là xác xuất xi là mẫu vượt, ta có thể sửa lỗi thành . Tuy nhiên, với từng mẫu trong tập mẫu ban đầu, nếu được một giá trị là độ đo thành viên. Khi đó tương ứng với xác xuất gây lỗi chính là độ đo thành viên xác độ gắn kết thành viên với cả tập mẫu ban đầu. Tập mẫu ban đầu trở thành tập mờ Sf : Với các mẫu dương(yi =+1) giá trị độ đo thành viên dược gán là và ngược lại là giá trị . Chúng được gán độc lập với nhau. Giả sử đã có tập mẫu đã mờ hóa, ta bắt đầu việc hình thành hàm lượng giá. FSVM vừa cực đại bờ phân cách và cực tiểu lỗi ngay cả với các mẫu vượt. Không giống như SVM, FSVM giảm ảnh hưởng của các mẫu ít quan trọng hơn bằng độ đo thành viên. Bài toán FSVM trở thành : Cực tiểu Với ĐK i = 1,2,…,n Trong đó m là độ mờ hóa của hàm lượng giá. Hàm Lagrange trở thành : Trong đó : và là các hệ số nhân Lagrange không âm, việc giải các phương trình đạo hàm riêng Q theo w,b và sẻ cho kết quả, do đó ta có phương trình sau : Thay 3 phương trình vào phương trình trên, hàm Lagrange là hàm theo : Cực đại : Với ĐK : Dể thấy sự khác biệt duy nhất giữa SVM và FSVM chính là chặn trên của hệ số nhân trong bài toán đối ngẫu. Nếu như với SVM, chặn số cố định với giá trị hằng số C, thì FSVM linh động hơn với độ đo thành viên của từng mẫu. Độ đo mẫu xi càng nhỏ thì vùng khả thi dọc theo trục càng hẹp. Cuối cùng ta có điều kiện là : i = 1,2,…,n 5/ Nhân dạng bằng mạng Nơron: Neural là một

Các file đính kèm theo tài liệu này:

  • docchuong 1.doc
  • docBia.doc
  • rarCHUONG TRINH.rar
  • docLOI MO DAU.doc
  • docPHU LUC CODE.doc