Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
0,96 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN ĐẶNG HẢI TRIỀU MỘT SỐ ÁP DỤNG CỦA GIẢI TÍCH TỐN HỌC TRONG MACHINE LEARNING VÀ DEEP LEARNING LUẬN VĂN THẠC SĨ TỐN HỌC Bình Định - Năm 2020 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN ĐẶNG HẢI TRIỀU MỘT SỐ ÁP DỤNG CỦA GIẢI TÍCH TỐN HỌC TRONG MACHINE LEARNING VÀ DEEP LEARNING Chun ngành : Mã số : Tốn Giải tích 8460102 Người hướng dẫn: TS MAI THÀNH TẤN Mục lục Trang Lời cam đoan Lời cảm ơn Danh mục hình vẽ Danh mục ký hiệu đồ thị iii iv v vi Lời nói đầu Chương Một số kiến thức chuẩn bị 1.1 Lý thuyết độ đo 1.2 Giải tích hàm 1.3 Lý thuyết tối ưu 1.4 Một số thuật ngữ Machine learning 3 11 11 18 19 23 27 29 30 31 32 34 37 38 39 41 44 Chương Mạng nơ-ron 2.1 Nơ-ron 2.2 Mạng nơ-ron 2.3 Mạng nơ-ron xấp xỉ phổ quát 2.4 Điều chỉnh trọng số lan truyền ngược 2.5 Ví dụ minh họa Chương Hồi quy tuyến tính 3.1 Đặt vấn đề 3.2 Xây dựng hàm mát 3.3 Nghiệm hàm mát 3.4 Ví dụ minh họa Chương Máy vector hỗ trợ 4.1 Tập liệu phân tách tuyến tính 4.2 Xây dựng toán tối ưu cho SVM 4.3 Bài toán đối ngẫu 4.4 Ví dụ minh họa i l Kết luận 45 Tài liệu tham khảo 46 Trang ii Lời cam đoan Tôi xin cam đoan kết đề tài: “ Một số áp dụng Giải tích toán học Machine learning Deep learning ” cơng trình nghiên cứu độc lập tơi hướng dẫn giảng viên: TS Mai Thành Tấn, ngồi khơng có chép người khác Đề tài, nội dung luận văn kết nỗ lực nghiên cứu thân tơi q trình học tập trường nơi làm việc Các tài liệu tham khảo, kế thừa trích dẫn liệt kê danh mục Tài liệu tham khảo Tơi xin chịu hồn tồn trách nhiệm, kỷ luật môn nhà trường đề có vấn đề xảy Quy Nhơn, tháng năm 2020 Học viên Đặng Hải Triều Trang iii Lời cảm ơn Luận văn hoàn thành nhờ hướng dẫn giúp đỡ tận tình thầy hướng dẫn TS Mai Thành Tấn, Trường Đại học Quy Nhơn Nhân dịp tơi xin bày tỏ kính trọng lòng biết ơn sâu sắc đến Thầy giúp đỡ tơi suốt q trình học tập thực luận văn Xin gửi lời cảm ơn đến quý Ban lãnh đạo Trường Đại học Quy Nhơn, Phòng Đào tạo Sau Đại học, Khoa Toán Thống kê tạo điều kiện thuận lợi cho tơi q trình học tập thực đề tài Xin gửi cảm ơn đến FPT Software Quy Nhơn, team Trí Tuệ Nhân Tạo FWI.AAA tạo điều kiện cho làm việc mơi trường chun nghiệp, bên cạnh hỗ trợ cho tiếp xúc gần với ngành cơng nghiệp AI Nhờ giúp tơi hồn thiện tốt đề tài Xin bày tỏ lịng biết ơn tơi đến q thầy, giảng dạy lớp cao học Tốn Giải Tích số khóa 21, người dày công truyền đạt kiến thức đạo đức sư phạm cho suốt khóa học Cuối cùng, xin gửi lời cảm ơn chân thành đến gia đình bạn bè tơi, người tạo điều kiện thuận lợi để tơi hồn thành tốt khóa học luận văn Quy Nhơn, tháng năm 2020 Đặng Hải Triều Trang iv Danh mục hình vẽ đồ thị Trang 1.1 Overfitting 10 2.1 2.2 2.3 2.4 2.5 2.6 Đồ thị hàm Logictis Đồ thị hàm Đồ thị hàm ReLu Mạng nơ-ron đơn giản với n nơ-ron đầu Mạng nơ-ron với đầu Mạng nơ-ron đa tầng vào m nơ-ron xử lý 14 14 14 18 18 25 3.1 Biểu đồ liệu giá diện tích 35 3.2 Kết model 36 4.1 Tập liệu phân tách tuyến tính 38 4.2 Siêu phẳng phân tách tập liệu 39 4.3 Support Vector 40 Trang v Danh mục ký hiệu Ký hiệu A† Ý nghĩa Ma trận giả nghịch đảo A diag(λ1 , λ2 , , λr ) Ma trận đường chéo domf Miền xác định f A Ma trận A nửa xác định dương jump (f, xi ) Bước nhảy f xi sgn Hàm dấu inf Cận Seq(X) NN Tập dãy X Neural Network ANN Artificial Neural Network SVM Support Vector Machine Trang vi Lời nói đầu Trong tất ngành khoa học, tốn học đóng vai trị quan trọng việc phát triển ngành khoa học đặc thù Ví dụ toán học xác xuất thống kê sinh học, toán học vật lý, tốn học hóa học, Đặc biệt lĩnh vực cơng nghệ thơng tin, tốn học trước mở đường cho ngành công nghệ thơng tin Một số lĩnh vực tốn học tiền đề, xương sống phát triển công nghệ thơng tin Trí tuệ nhân tạo (Artificial Intelligence - AI) trở thành thành phần cốt lõi hệ thống công nghệ cao Trong xã hội đại, bắt gặp AI khắp nơi AI ứng dụng kinh tế, y học, kỹ thuật quân sự, khoa học máy móc, thiết bị công nghệ phục vụ sinh hoạt ứng dụng giải trí Điển kĩnh vực chế tạo người máy, trò chơi điện tử, trợ lý ảo, nhà thông minh, công nghệ thực tế ảo VR, Machine Learning Deep Learning lĩnh vực Trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kỹ thuật cho phép hệ thống "tự học" tự động từ liệu để giải vấn đề cụ thể Hiện tại, tơi có hội tiếp xúc làm thuật tốn, tìm hiểu thuật tốn thấy ý nghĩa, tầm quan trọng toán học với tin học lớn ngày lớn Gần ta nghe thấy nhiều lĩnh vực Trí tuệ nhân tạo từ ngữ phổ biến Trí tuệ nhân tạo lên chứng cách mạng công nghiệp lần thứ tư Luận văn: “ Một số ứng dụng giải tích machine learning deep learning ” nhằm tìm hiểu số vấn đề tốn học giải tích có ứng dụng lĩnh vực Machine Learning Deep Learning Nội dung luận văn gồm bốn chương: Chương Một số kiến thức chuẩn bị Chương trình bày số kiến thức giải tích lồi, tốn tối ưu, giải tích ma trận Chương Mạng nơ-ron Chương trình bày Mạng nơ-ron, thuật ngữ quan trọng AI, Trang kèm theo giải số vấn đề tốn giải tích có liên quan trực tiếp Chương Hồi quy tuyến tính Chương trình bày số vấn đề tốn giải tích ma trận để giải số toán hồi quy Chương Support Vector Machine Chương trình bày số vấn đề tối ưu, đặc biệt tối ưu lồi để giải toán phân chia lớp liệu Mặc dù luận văn thực với tinh thần nghiêm túc với nỗ lực cố gắng thân, trình độ kiến thức kinh nghiệm nghiên cứu cịn hạn chế nên luận văn khó tránh khỏi thiếu sót Chình thế, mong nhận góp ý q thầy để luận văn hồn thiện Quy Nhơn, tháng năm 2020 Tác giả Trang chuẩn xác định J (θ) = m x1 y1 y x2 2 (xi θ − yi ) = θ − i=1 ym xm = Xθ − y 2 2, với y = [y1 , y2 , , ym ]T ∈ Rm , X = [x1 , x2 , , xm ] ∈ Rm×(n+1) Như J (θ) hàm số liên quan tới bình phương chuẩn l2 3.3 Nghiệm hàm mát Nhận thấy hàm mát J (θ) có gradient nơi Giá trị tối ưu θ tìm thơng qua việc giải phương trình đạo hàm J (θ) theo θ Gradient hàm số ∇J (θ) = XT Xθ − y = XT Xθ − XT y ∇θ Giải phương trình gradient tương đương với ∇J (θ) = ⇔ XT Xθ = XT y ∇θ Nếu ma trận vng XT X khả nghịch, phương trình có nghiệm θ = XT X −1 XT y Nếu ma trận XT X không khả nghịch, nghiệm đặc biệt phương trình có † thể xác định dựa vào ma trận giả nghịch đảo, ký hiệu XT X Nghiệm đặc biệt xác định θ = XT X † XT y Ma trận giả nghịch đảo tồn kể ma trận khơng vng Khi ma trận vng khả nghịch, giả nghịch đảo nghịch đảo Tổng quát, nghiệm toán θ = XT X † XT y Với A := XT X, ma trận A biễu diễn dạng A = UDVT , Trang 32 U ∈ R(n+1)×(n+1) , V ∈ R(n+1)×(n+1) ma trận trực giao D = diag (λ1 , , λr , 0, , 0) với D ∈ R(n+1)×(n+1) , r = rankA λi > Đặt D† = diag (1/λ1 , , 1/λr , 0, , 0) Ma trận giả nghịch đảo A xác định A† = VD† UT ∗ Chú ý Có kỹ thuật nhỏ giúp tránh trường hợp XT X khơng khả nghịch biến thành A = XT X + λI với λ số dương nhỏ I ∈ R(n+1) ma trận đơn vị Ma trận A khả nghịch ma trận xác định dương Thật vậy, với w = 0, ta có wT Aw = wT (XT X + λI)w = wT XT Xw + λwT w = Xw 2 +λ w 2 > Xét hàm mát J (θ) = XT θ − y 2 +λ θ 2 Phương trình gradient theo θ ∇J (θ) = ⇔ XT (Xθ − y) + λθ = ⇔ XT X + λI θ = XT y ∇θ Nghiệm J (θ) θ = XT X + λI −1 XT y Mơ hình machine learning với hàm mát gọi hồi quy ridge Ngồi việc giúp phương trình gradient theo hệ số khơng có nghiệm nhất, hồi quy ridge cịn giúp mơ hình tránh overfitting Trang 33 3.4 Ví dụ minh họa 3.4.1 Bài tốn Bài toán ước lượng giá nhà Bạn làm cơng ty bất động sản, bạn có liệu diện tích giá nhà, có ngơi nhà bạn muốn ước tính xem giá ngơi nhà khoảng Trên thực tế giá nhà phụ thuộc nhiều yếu tố: diện tích, số phịng, gần trung tâm thương mại, toán đơn giản, giả sử giá nhà phụ thuộc vào diện tích nhà Bạn có liệu diện tích giá bán 30 nhà sau: Diện tích (m2 ) Giá (triệu VNĐ) Diện tích (m2 ) Giá (triệu VNĐ) 30 448.524 66.2069 995.531 32.4138 509.248 68.6207 1069.78 34.8276 535.104 71.0345 1074.42 37.2414 551.432 73.4483 1103.88 39.6552 623.418 75.8621 1138.69 42.069 625.992 78.2759 1153.13 44.4828 655.248 80.6879 1240.27 46.8966 701.377 83.1034 1251.9 49.3101 701.377 85.5172 1287.97 51.7241 757.881 87.931 1320.47 54.1379 831.004 90.3448 1374.92 56.5517 855.409 92.7586 1410.16 58.9655 866.707 95.1724 1469.69 61.3793 902.545 97.5862 1478.54 63.7931 952.261 100 1515.28 3.4.2 Giải toán Python import m a t p l o t l i b p y p l o t a s p l t import numpy a s np from s k l e a r n l i n e a r _ m o d e l import L i n e a r R e g r e s s i o n import pandas a s pd path_csv = " d a t a _ l i n e a r c s v " data = pd read_csv ( path_csv ) v a l u e s N = data shape [ ] x = data [ : , ] r e s h a p e ( −1 , ) y = data [ : , ] r e s h a p e ( −1 , ) plt scatter (x , y) Trang 34 p l t x l a b e l ( ’ Met␣ vuong ’ ) p l t y l a b e l ( ’ Gia ’ ) x = np h s t a c k ( ( np o n e s ( (N, ) ) , x ) ) Hình 3.1: Biểu đồ liệu giá diện tích d f = pd read_csv ( " d a t a _ l i n e a r c s v " ) x = np a r r a y ( d f [ " Dien ␣ t i c h " ] ) y = np a r r a y ( d f [ " Gia " ] ) X_n = np a r r a y ( [ [ , x [ i ] ] f o r i in range ( len ( x ) ) ] ) X_n = np matrix (X_n) y = np expand_dims ( y , a x i s = −1) y = np matrix ( y ) w = np l i n a l g i n v (X_n T∗X_n) ∗X_n T∗y print ( "w␣=␣" , w) def p r e d i c t ( x , w ) : return int ( x∗w[ ] +w [ ] ) p r e d i c t ( ,w) p l t p l o t ( [ xmin , xmax ] , [ model ( xmin , w) , model ( xmax , w ) ] , c o l o r =" r e d " ) p l t s c a t t e r ( x , [ ya [ i ] [ ] f o r i in range ( len ( ya ) ) ] , ) Kết chạy w = [[ −7.06426865] [15.2110908 ] ] Trang 35 Hình 3.2: Kết model Trang 36 Chương MÁY VECTOR HỖ TRỢ Support Vector Machine - tạm dịch Máy vector hỗ trợ (Support Vector Machine - SVM) Thuật tốn SVM ban đầu tìm Vladimir N Vapnik dạng chuẩn sử dụng lề mềm tìm Vapnik Corinna Cortes năm 1995 Support vector machine (SVM) khái niệm thống kê khoa học máy tính cho tập hợp phương pháp học có giám sát liên quan đến để phân loại phân tích hồi quy Các SVM sử dụng phổ biến vấn đề phân lớp SVM dạng chuẩn nhận liệu vào phân loại chúng vào hai lớp khác Do SVM thuật tốn phân loại nhị phân Với ví dụ luyện tập thuộc hai thể loại cho trước, thuật toán luyện tập SVM xây dựng mơ hình SVM để phân loại ví dụ khác vào hai thể loại Một mơ hình SVM cách biểu diễn điểm không gian lựa chọn ranh giới hai thể loại cho khoảng cách từ ví dụ luyện tập tới ranh giới xa Các ví dụ biểu diễn không gian thuật toán dự đoán thuộc hai thể loại tùy vào ví dụ nằm phía ranh giới Support Vector Machine xây dựng siêu phẳng tập hợp siêu phẳng không gian nhiều chiều vô hạn chiều, sử dụng cho phân lớp, hồi quy nhiệm vụ khác Một cách trực giác, để phân loại tốt siêu phẳng nằm xa điểm liệu tất lớp tốt, nói chung lề lớn sai số tổng qt hóa thuật tốn phân loại bé Tóm lại, SVM dựa ý tưởng tìm siêu phẳng chia tốt tập liệu thành hai lớp cho lề tối ưu Các kết chương chủ yếu tham khảo từ tài liệu [1], [3], [6], [8] trong: “ Danh mục tài liệu tham khảo ” Trang 37 Hình 4.1: Tập liệu phân tách tuyến tính 4.1 Tập liệu phân tách tuyến tính Cho siêu phẳng H ∈ Rn xác định Hw,a = {x ∈ Rn |x1 w1 + + xn wn = a} , w1 , , wn , a ∈ R siêu phẳng Hw,a xác định phương trình wT x = a Ta biết khoảng cách từ điểm x0 ∈ Rn siêu phẳng Hw,a cho đẳng thức d(Hw,a , x0 ) = |wT x0 − a| w Giả sử có hai lớp liệu mô tả vector đặc trưng không gian nhiều chiều Hơn nữa, hai lớp liệu tách biệt tuyến tính, tức tồn siêu phẳng phân chia xác hai lớp Hãy tìm siêu phẳng cho tất điểm thuộc lớp nằm phía siêu phẳng ngược phía với tồn điểm thuộc lớp lại Chúng ta biết có vơ số siêu phẳng thực việc phân chia nhờ vào thuật toán Perceptron Trang 38 Hình 4.2: Siêu phẳng phân tách tập liệu Có câu hỏi đặt ra: Trong vơ số phẳng phân chia đó, đâu phẳng phân chia tốt ? Gọi khoảng cách nhỏ từ điểm thuộc lớp tới đường phân chia lề Ta cần tìm phẳng phân chia cho lề hai lớp phẳng phân chia Hơn nữa, độ rộng lề lớn khả xảy phân loại lỗi thấp Bài tốn tối ưu SVM tốn tìm đường phân chia cho lề rộng 4.2 Xây dựng toán tối ưu cho SVM Giả sử liệu tập huấn luyện có kích thước m cặp vector s = ((x1 , y1 ), , (xm , ym )) , x1 , , xm ∈ Rn yi ∈ {−1; 1} với ≤ i ≤ m Các liệu dương s cặp xi , yi cho yi = 1, cặp lại liệu âm Nhiệm vụ phẳng phân lớp tuyến tính xây dựng siêu phẳng Hw,a >0 để tách liệu s cho với liệu dương (xi , 1) xi ∈ Hw,a với