Phân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trậnPhân tích không âm của ma trận
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ - Đồn Thị Như Xn PHÂN TÍCH KHƠNG ÂM CỦA MA TRẬN LUẬN VĂN THẠC SỸ TOÁN HỌC Hà Nội - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ - Đoàn Thị Như Xuân PHÂN TÍCH KHƠNG ÂM CỦA MA TRẬN Chun ngành: Tốn ứng dụng Mã số: 8460112 LUẬN VĂN THẠC SỸ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ HẢI YẾN Hà Nội – 2019 Lời cam đoan Tôi xin cam đoan viết luận văn tìm tòi, nghiên cứu thân hướng dẫn tận tình giáo TS Lê Hải Yến Mọi kết nghiên cứu ý tưởng tác giả khác, có trích dẫn cụ thể Đề tài luận văn chưa bảo vệ hội đồng bảo vệ luận văn thạc sỹ chưa công bố phương tiện Tôi xin chịu trách nhiệm lời cam đoan Hà Nội, ngày 28 tháng 06 năm 2019 Người cam đoan Đoàn Thị Như Xuân Lời cảm ơn Trước trình bày nội dung luận văn, tơi xin bày tỏ lòng biết ơn sâu sắc tới giáo TS Lê Hải Yến, người dành nhiều thời gian, cơng sức để hướng dẫn tận tình bảo tơi suốt q trình thực luận văn Nhân xin gửi lời cảm ơn đến ban lãnh đạo thầy cô giáo, cán Học viện Khoa học cơng nghệ nói chung Viện Tốn nói riêng tạo điều kiện thuận lợi nhất, giúp đỡ thời gian học tập nghiên cứu viện Tôi xin cảm ơn bạn chuyên ngành Toán ứng dụng động viên có ý kiến trao đổi quý báu thời gian qua Cuối tơi xin bày tỏ lòng biết ơn gia đình, người thân bạn đồng nghiệp thông cảm, chia sẻ tạo điều kiện tốt cho tơi để tơi học tập, nghiên cứu hồn thành cơng việc Hà Nội, ngày 28 tháng 06 năm 2019 Học viên Đoàn Thị Như Xuân Mục lục Danh mục ký hiệu MỞ ĐẦU MỘT SỐ KIẾN THỨC CƠ SỞ 1.1 ĐẠI SỐ TUYẾN TÍNH 1.1.1 Một số ma trận bản, tích tích Hadamard 1.1.2 Chuẩn 1.1.3 Ma trận không âm 1.2 LÝ THUYẾT TỐI ƯU 10 1.2.1 Tập lồi hàm lồi 10 1.2.2 Điều kiện tối ưu 11 1.2.3 Điều kiện Kuhn-Tucker 13 PHÂN TÍCH KHƠNG ÂM CỦA MA TRẬN 15 2.1 PHÁT BIỂU BÀI TOÁN 15 2.2 ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU 17 2.3 2.2.1 Xử lý ảnh - Trích xuất đặc điểm khn mặt 18 2.2.2 Khai thác văn - Khôi phục chủ đề tài liệu 19 ĐIỀU KIỆN CẦN TỐI ƯU 20 2.3.1 Hàm Lagrange 20 2.3.2 Điều kiện cần tối ưu 21 2.3.3 Đặc trưng cực tiểu địa phương 23 THUẬT TOÁN VÀ THỬ NGHIỆM SỐ 25 3.1 THUẬT TOÁN BÌNH PHƯƠNG TỐI THIỂU LUÂN PHIÊN 25 3.2 THUẬT TOÁN LEE VÀ SEUNG 26 3.3 3.2.1 Thuật toán 26 3.2.2 Định lí hội tụ 27 THỬ NGHIỆM SỐ VỚI BÀI TỐN NHẬN DIỆN KHN MẶT 30 KẾT LUẬN 40 Danh mục ký hiệu R tập hợp số thực Rn tập hợp vector n chiều Rm×n tập hợp ma trận cỡ m × n Rm×n + tập hợp ma trận không âm cỡ m × n Ai: dòng thứ i ma trận A A:j cột thứ j ma trận A AT ma trận chuyển vị ma trận A In ma trận đơn vị cấp n trace(A) vết ma trận vuông A span(V ) không gian vector sinh V rank(A) hạng ma trận A x A chuẩn Euclide vector x F A, B chuẩn Frobenius ma trận A tích hai ma trận cỡ A B A◦B tích Hadamard hai ma trận cỡ A B ∇f gradient hàm f arg f (x) tập nghiệm toán f (x) x ∈X x ∈X MỞ ĐẦU Trong thời đại nay, liệu chiếm vai trò vơ quan trọng Cứ giây trơi qua, người sử dụng internet tạo chia sẻ hàng tỉ thơng tin khác nhau: hình ảnh, video, kinh nghiệm du lịch, mua sắm, Việc khai thác sử dụng thông tin hay liệu trở thành vấn đề thu hút quan tâm nhiều người Một phương pháp khai thác liệu giảm độ phức tạp liệu giữ yếu tố cần thiết Bên cạnh đó, để nghiên cứu loại liệu khác nhau, người ta cần mơ hình khác để thu thơng tin riêng liệu Luận văn nghiên cứu toán phân tích ma trận khơng âm cho trước thành tích hai ma trận khơng âm khác: Cho ma trận khơng âm A cỡ m × n (tức aij ≥ 0) số nguyên dương r (r ≤ min(m, n)) Tìm hai ma m×r T trận khơng âm U ∈ R+ V ∈ Rn×r + cho U V xấp xỉ ma trận A Người ta dùng nhiều cách để đo khác ma trận liệu A ma trận mô hình U V T Nhưng phương pháp dùng nhiều chuẩn Frobenius Khi đó, tốn phân tích ma trận khơng âm (viết tắt NMF) phát biểu lại sau: Cho ma trận không âm A cỡ m × n số nguyên dương r < min(m, n), giải toán A − UV T n×r V ∈R+ m×r U ∈R+ F Bài tốn phân tích ma trận không âm phát biểu nghiên cứu lần vào năm 1994 Pateero Tapper [5] Từ đến nay, nhà tốn học đưa nhiều thuật tốn tìm phân tích khơng âm ma trận Trong đó, phải kể đến thuật tốn bình phương tối thiểu luân phiên [4] thuật toán Lee Seung [6] Bài tốn có ứng dụng nhiều lĩnh vực nhận diện khuôn mặt, khai thác liệu văn bản, phân loại ung thư, Trong nhận diện khuôn mặt, cột ma trận liệu A thường cho tương ứng với ảnh khuôn mặt (A(i, j) cường độ điểm ảnh thứ i ảnh khuôn mặt thứ j ) Khai triển NMF sinh hai ma trận (U, V ) cột U tương ứng với đặc điểm khn mặt mắt, mũi, miệng phần tử V thể tầm quan trọng đặc điểm ảnh Trong khai thác văn bản, cột ma trận không âm A tương ứng với tài liệu hàng ứng với từ Phần tử (i, j) ma trận A số lần xuất từ thứ i tài liệu thứ j Khai triển NMF giúp ta cho ta biết chủ đề xuất toàn liệu đồng thời phân loại tài liệu theo chủ đề Cấu trúc luận văn gồm có ba chương: Chương Một số kiến thức sở: Nội dung chương bao gồm số kiến thức đại số tuyến tính lý thuyết tối ưu nhằm phục vụ cho chương sau Chương Phân tích khơng âm ma trận: Trong chương này, chúng tơi trình bày nội dung tốn phân tích không âm ma trận, ứng dụng phân tích liệu Chúng tơi phát biểu điều kiện cần tối ưu cho toán Chương Thuật toán thử nghiệm số: Hai thuật tốn trình bày chương thuật tốn bình phương tối thiểu luân phiên quy tắc nhân Lee Seung Chúng tơi nghiên cứu tốn nhận diện khn mặt ứng dụng kĩ thuật phân tích khơng âm ma trận vào toán cụ thể CHƯƠNG MỘT SỐ KIẾN THỨC CƠ SỞ Chương trình bày lại số khái niệm đại số tuyến tính tích trong, tích Hadamard, chuẩn vector, chuẩn ma trận, ma trận không âm Bên cạnh đó, chúng tơi trình bày số khái niệm kết Lý thuyết tối ưu để phục vụ chương sau tập lồi hàm lồi, điều kiện tối ưu, điều kiện Kuhn-Tucker Nội dung chương tham khảo chủ yếu từ tài liệu [1],[2],[4] 1.1 ĐẠI SỐ TUYẾN TÍNH 1.1.1 Một số ma trận bản, tích tích Hadamard Cho A ma trận cỡ m × n với phần tử hàng thứ i cột thứ j aij Khi đó, ta viết: A = (aij )m×n , đó: i = 1, 2, , m; j = 1, 2, , n Ta kí hiệu dòng thứ i ma trận A Ai: cột thứ j ma trận A A:j Ma trận chuyển vị ma trận vuông A kí hiệu AT ; A gọi đối xứng A = AT Ma trận vuông A cấp n gọi ma trận trực giao AT A = In D ma trận đường chéo D ma trận vng có aij = với i = j Với x = (x1 , x2 , , xn ) ∈ Rn , Dx ma trận đường chéo với phần tử đường chéo x1 , x2 , , xn Ma trận A vuông cấp n gọi nửa xác định dương xT Ax ≥ ∀x ∈ Rn A gọi xác định dương xT Ax > với x ∈ Rn , x = Nếu A đối xứng nửa xác định dương tất giá trị riêng A không âm 27 Tương tự, cố định V cực tiểu hàm theo U , ta gán Uij ← Uij (AV )ij (U V T V ) ij Thuật toán Quy tắc nhân (Multiplicative Rules) Bước 1: Khởi tạo U , V > k = Bước 2: repeat (AV k )ij = (U k (V k )T V k ) ij (AT U k+1 )ij k+1 k Vij = Vij k k+1 T k+1 (V (U ) U ) ij Đặt k := k + Uijk+1 Uijk until điều kiện dừng Nhận xét 3.2.1 • Trong tính tốn, (U k (V k )T V k )ij = (V k (U k+1 )T U k+1 )ij = người ta thường thay số α > tương đối nhỏ • Tại bước k , ta ln có U k , V k ≥ • Điều kiện dừng lấy sau A − U V T F < với sai số cho trước 3.2.2 Định lí hội tụ Định lý 3.2.1 Hàm A − U V T F không tăng ta thực quy tắc nhân theo Thuật toán Để chứng minh Định lý 3.2.1, sử dụng khái niệm hàm phụ kết trình bày sau Định nghĩa 3.2.1 G(h, h ) hàm phụ F (h) tập C điều kiện G(h, h ) ≥ F (h) ∀h, h ∈ C, thỏa mãn G(h, h) = F (h) ∀h ∈ C (3.1) 28 Hệ 3.2.1 Nếu G hàm phụ F C F khơng tăng theo quy tắc ht+1 = arg G(h, ht ), h∈C (3.2) với ht ∈ C Chứng minh F (ht+1 ) ≤ G(ht+1 , ht ) ≤ G(ht , ht ) = F (ht ) Mệnh đề 3.2.1 Với ht > 0, ta xét K(ht ) ma trận đường chéo Kjk (ht ) = δjk (U T U ht )j /htj với δjk = j = k j = k (3.3) G(h, ht ) = F (ht ) + (h − ht )T ∇F (ht ) + (h − ht )T K(ht )(h − ht ) (3.4) hàm phụ F (h) = Uij hj )2 , (vi − i (3.5) j tập {h > 0} Chứng minh G(h, h)=F (h) hiển nhiên, cần G(h, ht ) ≥ F (h) Chúng ta khai triển Taylor hàm nhiều biến F (h) được: F (h) = F (ht ) + (h − ht )T ∇F (ht ) + (h − ht )T (U T U )(h − ht ) (3.6) So sánh với phương trình (3.4), ta thấy G(h, ht ) ≥ F (h) với ht > tương đương với ≤ (h − ht )T (K(ht ) − U T U )(h − ht ) ∀ht > (3.7) Để chứng minh bất phương trình (3.7), ta chứng minh ma trận K(ht ) − U T U nửa xác định dương Xét vector x ∈ Rr ta có: 29 t T xT (K(h U )x ) − U T (U U ht )1 ··· t h T t (U U h ) · · · t T T h2 = x − U U x (U T U ht )r 0 ··· htr (U T U ht )1 ··· t h T t (U U h ) · · · t T h2 =x x − xT U T U x (U T U ht )r 0 ··· htr T t T t T t (U U h )2 (U U h )r (U U h )1 + x2 + · · · + xr − xT U T U x = x1 t t t h1 h2 hr r (U T U ht ) i = xi − xT U T U x t hi i=1 r r (U T U )ij ht r r j = x − xi (U T U )ij xj i t hi i=1 j=1 i=1 j=1 t r r hj (U T U )ij = x − xi xj hti i i=1 j=1 = i=1,2, ,r j=1,2, ,r = i=1,2, ,r j=1,2, ,r t T (U U )ij T (U U )ij htj hti x − xi xj + t xj − xi xj hti i hj htj xi − hti hti xj htj ≥0 với h > Vậy ta có xT (K(ht ) − U T U )x ≥ nên ma trận K(ht ) − U T U nửa xác định dương với ht > Bây chứng minh Định lý 3.2.1: 30 Chứng minh (Định lý 3.2.1) Từ phương trình (3.2) ta có: ht+1 = arg G(h, ht ) ⇒ ∇h G(ht+1 , ht ) = h>0 Mặt khác, từ phương trình (3.5) cho kết quả: ∇h G(ht+1 , ht ) = ⇔ ∇F (ht ) + K(ht )(ht+1 − ht ) = ⇔ −∇F (ht ) = K(ht )(ht+1 − ht ) ⇔ ht+1 − ht = −(K(ht ))−1 ∇F (ht ) ⇔ ht+1 = ht − (K(ht ))−1 ∇F (ht ) Từ phương trình (3.6) ta tính được: ∇F (h) = U T U h − U T v (3.8) Ta thay phương trình (3.4) (3.8) vào phương trình ht+1 = ht −(K(ht ))−1 ∇F (ht ) được: ht+1 a = hta = hta hta − T t (U T U ht )a − (U T v)a (U U h )a − hta + hta T (U T v)a t (U v)a = T t (U T U ht )a (U U h )a Bằng cách đổi vai trò U V Hệ 3.2.1 Mệnh đề 3.2.1, tương tự F không tăng theo quy tắc cập nhật cho U 3.3 THỬ NGHIỆM SỐ VỚI BÀI TỐN NHẬN DIỆN KHN MẶT Trong phần này, chúng tơi ứng dụng phân tích khơng âm ma trận để nhận diện khuôn mặt dựa sở liệu fetch− lwf− people (https://scikitlearn.org/stable/modules/generated/sklearn.datasets.fetch− lwf− people.html) Cơ sở liệu gồm 1288 ảnh (đen trắng, cỡ) khuôn mặt trị gia: Colin Powell ( ngoại trưởng Hoa Kỳ), Donald Rumsfeld (bộ trưởng Bộ Quốc phòng Hoa Kỳ), George W Bush (tổng thống Hoa Kỳ), Gerhard 31 Schroeder (thủ tướng Đức), Tony Blair (thủ tướng Liên hiệp Vương quốc Anh Bắc Ireland) Mỗi trị gia có 100 ảnh sở liệu Mỗi liệu có dạng (xi , yi ) với xi vector cột (cỡ 5828 × 1) tương ứng với ảnh yi nhãn ảnh cho ta biết người ảnh Các liệu lưu dạng ma trận X (cỡ 5828 × 1288) y (cỡ × 1288) Để đánh giá khả nhận diện khn mặt, ta lập trình cho máy chia tập liệu thành phần: tập huấn luyên (Xtrain , ytrain ) tập kiểm tra (Xtest , ytest ) với tỷ lệ tương ứng 70% 30% Ta sử dụng khai triển không âm ma trận (Xtrain ứng với hạng r cho trước (r = 10, 20, ) để thu ma trận xấp xỉ Xtrain−nmf = U × V T với U cỡ 5828 × r V cỡ 1288 × r Như vậy, nhờ có khai triển NMF, ta làm giảm độ phức tạp liệu đầu vào Tiếp theo, ta sử dụng mạng neuron nhân tạo có sẵn thư viện sklearn (python) để huấn luyện máy học cách nhận dạng khuôn mặt dựa liệu huấn luyện (Xtrain−nmf , ytrain ) Cuối cùng, ta sử dụng tập liệu kiểm tra để đánh giá kết nhận diện máy so với nhãn mà ta có Để thực bước trên, ta sử dụng đoạn code sau python (có tham khảo từ https://scikitlearn.org/stable/auto− examples/applications/plot− face− recognition.html#sphxglr-auto-examples-applications-plot-face-recognition-py) 32 33 34 Một vài ảnh xấp xỉ (Xtrain−nmf ) ảnh ban đầu thu từ NMF với r = 20 minh họa hình 3.1) Hình 3.1: Ảnh xấp xỉ với r = 20 35 Dựa vào mạng neuron nhân tạo, kết nhận dạng mà máy đưa kết thực tế số ảnh tập kiểm tra với r = 20 minh họa Hình 3.2 Hình 3.2: Kết nhận dạng với r = 20 36 Với r = 30, kết nhận dạng mà máy đưa kết thực tế số ảnh tập kiểm tra minh họa Hình 3.3 Hình 3.3: Kết nhận dạng với r = 30 37 Với r = 50, kết nhận dạng mà máy đưa kết thực tế số ảnh tập kiểm tra minh họa Hình 3.4 Hình 3.4: Kết nhận dạng với r = 50 38 Để đánh giá kết toàn tập kiểm tra ta sử dụng số precision, recall, f − score Trong đó, số precision tính sau: precision = TP , TP + FP (3.9) với T P số lượng liệu với kết dương tính thật (true positive), F P số lượng liệu với kết dương tính giả (false positive) Chỉ số recall tính sau: recall = TP , TP + FN (3.10) với F N số lượng liệu với kết âm tính giả (false negative) Chỉ số f − score tính sau: f − score = precision × recall precision + recall (3.11) Các số thường dùng để đánh giá kết thuật toán học máy (machine learning) Các số precision, recall, f − score thu với r = 20 sau: 39 Các số precision, recall, f − score thu với r = 30 sau: Các số precision, recall, f − score thu với r = 50 sau: So sánh r = 20, 30, 50, ta nhận thấy số f − score trung bình thu tăng lên r tăng Điều cho ta thấy ta tăng r, ảnh xấp xỉ Xtrain−nmf gần so với ảnh ban đầu hệ thống nhận diện khn mặt thường cho kết xác 40 CHƯƠNG KẾT LUẬN Luận văn đạt kết sau: Hệ thống số kiến thức sở đại số tuyến tính lý thuyết tối ưu Phát biểu tốn phân tích khơng âm ma trận, nêu ứng dụng phân tích liệu, điều kiện cần tối ưu Trình bày thuật tốn bình phương tối thiểu ln phiên, thuật tốn Lee Seung để giải tốn phân tích không âm ma trận thử nghiệm số với tốn nhận diện khn mặt 41 Tài liệu tham khảo [1] Nguyễn Hữu Việt Hưng, 2001, Đại số tuyến tính, NXB Đại học Quốc gia Hà Nội, Hà Nội [2] Hoàng Tụy, 2006, Lý thuyết Tối ưu , Giáo trình cao học Viện Tốn học [3] N Gillis, 2014, The Why and How of Nonnegative Matrix Factorization, in: "Regularization, Optimization, Kernels, and Support Vector Machines", Machine Learning and Pattern Recognition Series, 257 - 291 [4] N D Ho, 2008, Non negative matrix factorization algorithms and applications Phd thesis, Université Catholique de Louvain [5] P Paatero and U Tapper, 1994, Positive matrix factorization: a non negative factor model with optimal utilization of error estimates of data values, Environmetrics 5(2) , 111–126 [6] D Lee and H Seung, 1999, Learning the parts of objects by non negative matrix factorization, Nature 401, 788 – 791 ... tập hợp ma trận cỡ m × n Rm×n + tập hợp ma trận không âm cỡ m × n Ai: dòng thứ i ma trận A A:j cột thứ j ma trận A AT ma trận chuyển vị ma trận A In ma trận đơn vị cấp n trace(A) vết ma trận vuông... Luận văn nghiên cứu tốn phân tích ma trận khơng âm cho trước thành tích hai ma trận không âm khác: Cho ma trận không âm A cỡ m × n (tức aij ≥ 0) số nguyên dương r (r ≤ min(m, n)) Tìm hai ma m×r... U Trong suốt luận văn này, xét tốn phân tích khơng âm ma trận với chuẩn Frobenius Bài tốn phát biểu sau: Bài tốn 2.1.1 (Phân tích không âm ma trận - NMF) Cho ma trận khơng âm A cỡ m × n số nguyên