1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về thuật toán bfgs và ứng dụng vào các bài toán phân loại

67 33 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,04 MB

Nội dung

- ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ ́ in h tê ́H uê -* - ̣c K BÁO CÁO KHĨA LUẬN TỐT NGHIỆP Đ ại ho Tìm hiểu thuật toán BFGS ứng dụng Tr ươ ̀ng Giảng viên hướng dẫn: TS Ngô Thời Nhân Sinh viên thực hiện: Họ tên: Mai Phương Đông Mã SV: 15K4081024 Lớp: K49B Tin học kinh tế Huế, tháng 12 năm 2018 Tr ươ ̀ng ại Đ h in ̣c K ho ́ uê ́H tê - - Lời cảm ơn Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường đại học đến nay, em nhận nhiều quan tâm, giúp đỡ quý thầy cô, gia đình bạn bè ́ Với lịng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô Khoa Hệ thống thông ́H tin Kinh Tế – Trường Đại học kinh tế Huế với tri thức tâm huyết tê để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Bên cạnh đó, khoa tổ chức buổi giao lưu doanh nghiệp sinh in h viên thật bổ ích, giúp em có hội tìm đơn vị thực tập tốt ̣c K Tiếp theo, em xin gửi lời cảm ơn đến thầy giáo Ngô Thời Nhân thầy/ cô khoa Hệ Thống Thông Tin Kinh Tế - Trường Đại Học Kinh Tế - Đại Học Huế tận tình ho khuyên bảo, giúp đỡ em suốt thời gian em học trường thời gian em thực tập vừa qua.Vì kiến thức thân cịn hạn chế, q trình thực tập, hồn ại thiện khóa luận em khơng tránh khỏi sai sót, kính mong nhận ý Đ kiến đóng góp từ thầy thầy khoa Cuối cùng, em xin gửi lời cảm ơn đến Ban Lãnh Đạo quý công ty MagRabbit Tr ươ ̀ng Huế tạo điều kiện cho em tham gia thực tập công ty, cung cấp tất sở vật chất trang thiết bị cho em thời gian vừa qua Và đặc biệt, xin cảm ơn anh Đặng Văn Đính, anh Nguyễn Thủy Lộc chị Lê Thị Giàu anh chị cơng ty tận tình hướng dẫn giúp đỡ em suốt thời gian em tham gia thực tập Huế, tháng năm 2019 Sinh viên thực Mai Phương Đông - MỤC LỤC Lời cảm ơn MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC CÁC ĐỒ THỊ ́ uê DANH MỤC CÁC HÌNH VẼ ́H DANH MỤC CHỮ VIẾT TẮT VÀ KÝ HIỆU tê TÓM TẮT NỘI DUNG NGHIÊN CỨU h PHẦN I: ĐẶT VẤN ĐỀ in Lý chọn đề tài ̣c K Mục tiêu nghiên cứu ho Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu ại Nội dung nghiên cứu 10 Đ PHẦN 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 11 Tr ươ ̀ng CHƯƠNG 1: THUẬT TOÁN BFGS 11 1.1 Thuật toán Newton 11 1.1.1 Thuật toán Newton cho hàm biến 11 1.1.2 Thuật toán Newton cho nhiều biến 12 1.1.2 Hạn chế thuật toán Newton 13 1.2 Thuật toán Quasi-Newton 13 1.3 Thuật toán Backtracking line search 16 1.4 Thuật toán BFGS 17 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT MACHINE LEARNING 21 - 2.1 Tổng quan Machine learning 21 2.1.1 Khái niệm Machine learning 21 2.1.2 Các phương pháp huấn luyện Machine learning 21 2.1.2.1 Supervised Learning (Học có giám sát) 22 2.1.2.2 Unsupervised Learning (Học không giám sát) 22 ́ uê 2.2 Simple Linear Regression (SLR) 22 ́H 2.2.1 Model Representation 22 tê 2.2.2 Hypothesis Function 23 h 2.2.3 Cost Function 24 in 2.2.4 Multiple Linear Regression (MLR - Hồi quy tuyến tính nhiều biến) 25 ̣c K 2.3 Bài toán phân loại 27 ho 2.3.1 Binary Classification (Phân loại nhị phân) 27 2.3.2 Decision Boundary (đường ranh giới định) 29 ại 2.3.3 Cost Function 29 Đ 2.3.4 Phân loại nhiều lớp thuật toán One-vs-all 31 Tr ươ ̀ng 2.3.5 Regularization 32 CHƯƠNG 3: ÁP DỤNG BFGS VÀO BÀI TOÁN PHÂN LOẠI 34 3.1 Bài toán phân loại nhị phân 34 3.2 Bài toán phân loại sử dụng Regularized Logistic Regression 37 CHƯƠNG 4: ÁP DỤNG BFGS VÀO BÀI TOÁN NHẬN DIỆN CHỮ VIẾT TAY 46 4.1 Bài toán nhận diện chữ số 46 4.2 Nhận diện chữ viết thuật toán BFGS 49 4.3 Áp dụng Regularized Logistic Regression 51 4.4 Kết luận 53 - PHẦN 3: KẾT LUẬN 55 Kết đạt 55 Hạn chế đề tài 55 Hướng phát triển 56 TÀI LIỆU THAM KHẢO 57 ́ uê PHỤ LỤC 59 Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H Phụ lục 1: Mã nguồn thuật toán sử dụng khóa luận 59 - Khóa luận tốt nghiệp DANH MỤC CÁC BẢNG Bảng 3.1.1 Bảng kết mơ hình phân lớp sinh viên 36 Bảng 3.2.2 Kết mơ hình phân loại chipset 39 ́ uê Bảng 4.3.1 Bảng kết mơ hình nhận diện số viết tay 48 ́H Bảng 4.4.1 Kết mơ hình nhận diện chữ viết tay 51 Tr ươ ̀ng Đ ại ho ̣c K in h tê Bảng 4.5.1 Bảng kết kết mơ hình nhận diện chữ số viết tay 52 - Khóa luận tốt nghiệp DANH MỤC CÁC ĐỒ THỊ Đồ thị 3.2.1 Đồ thị biểu diễn phân tán điểm hai lần thi 34 Đồ thị 3.2.2 Đường phân cách fminunc 36 Đồ thị 3.2.3 Đường ranh giới BFGS 37 Đồ thị 3.2.4 Đồ thị biểu diễn phân tán điểm chipset 38 ́ uê Đồ thị 3.2.5 Đường phân cách fminunc lambda = 0.01 40 ́H Đồ thị 3.2.6 Đường phân cách BFGS với lamda = 0.01 40 tê Đồ thị 3.2.7 Đường phân cách fminunc với lambda = 0.03 41 h Đồ thị 3.2.8 Đường phân cách BFGS với lambda = 0.03 41 ̣c K in Đồ thị 3.2.9 Đường phân cách fminunc với lambda = 0.1 42 Đồ thị 3.2.10 Đường phân cách BFGS với lambda = 0.1 42 ho Đồ thị 3.2.11 Đường phân cách fminunc với lambda = 0.3 43 ại Đồ thị 3.2.12 Đường phân cách BFGS với lambda = 0.3 43 Đ Đồ thị 3.2.13 Đường phân cách fminunc với lambda = 44 Tr ươ ̀ng Đồ thị 3.2.14 Đường phân cách BFGS với lambda = 44 Đồ thị 3.2.15 Đường phân cách fminunc với lambda = 45 Đồ thị 3.2.16 Đường phân cách BFGS với lambda = 45 - Khóa luận tốt nghiệp DANH MỤC CÁC HÌNH VẼ Hình 4.1.1 Cấu trúc tập liệu chữ số viết tay 47 Hình 4.1.2 Ví dụ mẫu dự liệu nhận diện chữ số 47 ́ uê Hình 4.1.3 Cấu trúc liệu chữ viết tay 50 ́H Hình 4.1.4 Ví dụ mẫu liệu nhận diện chữ viết tay 50 tê Hình 1.1 Mã nguồn thuật tốn BFGS 59 in h Hình 1.2 Mã nguồn thuật tốn BFGS Regularized 60 ̣c K Hình 1.3 Mã nguồn thuật toán Backtracking line search 60 Tr ươ ̀ng Đ ại ho Hình 1.4 Mã nguồn thuật tốn Backtracking line search Regularized 61 - Khóa luận tốt nghiệp DANH MỤC CHỮ VIẾT TẮT VÀ KÝ HIỆU Thuật ngữ tiếng anh Viết tắt Ý nghĩa Học máy Gradient G Đạo hàm Supervised Learning SL Học có giám sát Unsupervised Learning UL Học không giám sát Simple Linear Regression SLR Hồi quy tuyến tính biến Multiple Linear Regression Linear Regression MLR LR Hồi quy tuyến tính nhiều biến Hồi quy tuyến tính Logistic Regression IR Hồi quy logistic in h tê ́H ́ ML uê Machine learning Chuẩn hóa, quy ̣c K Regularized Cost Function Cost ho Hypothesis Function Binary Classification Hàm mẫu Phân loại nhị phân ại BL Hàm chi phí Đ Trong phạm vi khóa luận tơi giữ ngun thuật ngữ tiếng Tr ươ ̀ng anh mà không dịch sang tiếng việt chưa có quy chuẩn Machine learning cho thuật ngữ tiếng việt - ́ Tr ươ ̀ng Đ ại ho Hình 4.1.1 ̣c K in h tê ́H uê Khóa luận tốt nghiệp Hình 4.1.2 Ví dụ mẫu d liệu nhận diện chữ số Chúng ta sử dụng mơ hình phân loại nhiều lớp sử dụng Logistic Regression để tính hành huấn luyện mơ hình Theo ta thấy tập huấn huyện chữ số gồm 10 nhãn 47 - Khóa luận tốt nghiệp áp dụng lý thuyết ta phải huấn luyện 10 phân lớp riêng biệt Chúng ta sử dụng 10 vòng lặp duyệt từ 10 tương đương với 10 nhãn tập liệu Ứng với số thứ tự vòng lặp, ta tiến hành phân lớp nhị phân cho hai nhóm: Nhóm thứ mang giá trị nhãn trùng với số thứ tự vịng lặp tại; Nhóm thứ hai nhãn lại Vấn đề để phân loại vectơ nhãn y thành hai giá trị Để tiến ́ uê hành sử dụng mô hình phân lớp nhị phân Trong vịng lặp tiền xử lý ́H vectơ đầu vào y Ta tiến hành so sánh giá trị y so với số thứ tự vòng lặp Nếu gán giá trị khơng giống ta gán giá trị Như ta tê có vectơ y mang hai giá trị h Trong vòng lặp ta áp dụng mơ hình Logistic Regression vào liệu vectơ ̣c K in X vectơ y vừa chuẩn hóa lại Ở ta thấy có đến 400 đặc trưng cho hình ảnh đầu vào nên ta sử dụng thêm Regularization Lúc đó, Cost function có dạng sau: Đ ại ho h  h ( X )  g ( X ),   T T  J ( )  m   y log(h)  (1  y) log(1  h)  Với X vectơ ảnh huấn luyện, y vectơ vừa chuẩn hóa Tr ươ ̀ng Ta có có đạo hàm: J ( )  T  X ( g ( X  )  y) m Bây ta áp dụng thuật toán BFGS để tiến hành tối ưu hàm J() Kết thuật toán BFGS trả  tham số cho mơ hình phân loại nhị phân để phân loại nhóm mang nhãn tương ứng với số thứ tự vịng lặp với tất nhóm khác Ở tơi sử dụng thêm thuật tốn fmincg Octave/Matlab để tiến hành đánh giá thuật tốn Bảng 4.3.1 Bảng kết mơ hình nhận diện số viết tay 48 - Khóa luận tốt nghiệp Thuật tốn Độ xác (%) Độ xác (%) (Fmincg) (BFGS) 94,92% 93,84% Độ xác Ta thấy sử dụng BFGS độ xác cho đạt 90% khơng thể thuật tốn chun gia với tỉ lệ cao Cứ 10 ảnh mơ hình ́ khơng nhận ảnh Với thuật tốn sử dụng ma trận xấp xỉ Hessian ́H ma trận Hessian xác tỉ lệ cho tốt 4.2 Nhận diện chữ viết thuật toán BFGS tê Bài toán: cho trước hình ảnh 28  28 pixel grayscale chữ viết h tay Hãy xây dựng mơ hình nhận diện chữ viết tay in Tương tự toán nhận biết chữ số mà nói đến phần Bây ̣c K ta áp dụng tập liệu huấn luyện chữ viết tay Bộ liệu sử dụng tập liệu gồm 13000 dòng vectơ X đại diện cho 13000 ảnh đen trắng có ho kích thước 28  28 pixel chữ trích lại từ liệu A-Z Handwritten ại Alphabets trang Kaggle Vectơ y chứa nhãn ảnh có giá trị từ đến 26 Đ Chúng ta sử dụng mơ hình phân loại nhiều lớp Logistic Regression toán nhận diện chữ viết Cấu trúc chương trình sử dụng BFGS tương Tr ươ ̀ng tự 49 - ́ Tr ươ ̀ng Đ ại ho Hình 4.1.3 ̣c K in h tê ́H Khóa luận tốt nghiệp Hình 4.1.4 Ví dụ mẫu liệu nhận diện chữ viết tay 50 - Khóa luận tốt nghiệp Ta thấy qua 196 mẫu chữ tập liệu Những mẫu chữ viết tay nhiều nguồn khác nhau, chữ khơng đồng vị trí, hình dạng nên khó nhận biết Cho chạy thử mơ hình thu kết sau: Bảng 4.4.1 Kết mơ hình nhận diện chữ viết tay BFGS ́ 85.59322% 76.007692% ́H Độ xác uê FMINCG Thuật toán tê Kết thu so với độ phức tạp liệu tạm chấp nhận in h Vậy muốn cải thiện kết sử dụng Regularized Logistic ̣c K Regression cho mô hình tìm  tối ưu cho mơ hình 4.3 Áp dụng Regularized Logistic Regression ho Chúng ta sử dụng Regularized Logistic Regression cho hai mơ hình để cải thiện kết tìm ại Đầu tiên nhắc lại nguyên liệu cần thiết để xây dựng mơ hình Đó Đ hàm sigmoid, hypothesis function cost function cho mơ hình Logistic Regresssion Ở Tr ươ ̀ng dạng ma trận hóa hàm này, ta có h  g ( X  ),  m  n  (i ) (i ) (i ) (i )  J ( )   m  ( y ) log(h ( x ))  (1  y ) log(1  h ( x ))   2m  j 1 j i 1  Ở đây, X ma trận gồm tất vectơ đầu vào giá trị điểm ảnh bổ sung cột phần tử tương ứng với liệu 0 h giá trị lable mẫu mlà số lượng mẫu Đạo hàm (gradient) cost function sau J ( )  T  X ( g ( X  )  y) m 51 - Khóa luận tốt nghiệp Ở sử dụng   0;0.01;0.03;0.1;0.3;1;3;10;30;100 cho mô hình Chúng ta thay  vào hàm Cost Function Regularized Logistic Regression để tìm  tối ưu Bảng 4.5.1 Bảng kết kết mơ hình nhận diện chữ số viết tay 93.84 % 0.01 93.9 % 0.03 93.88 % 0.1 93.84 % 0.3 93.78 % ho 93.30 % ại 10 Đ 30 100 Tr ươ ̀ng ́H tê h in ̣c K 93.56 % ́ Độ xác uê  91.68 % 90.24 % 87.88 % Bảng 4.3.2 Kết mơ hình nhận diện chữ viết tay  Độ xác 76.007692 % 0.01 76 % 0.03 76.038462 % 0.1 76.107692 % 52 - 76.292308 % 76.423077 % 10 71.846154 % 30 67.146154 % 100 58.323077 % ́ 76.130769 % ́H 0.3 uê Khóa luận tốt nghiệp tê Khi ta thay đổi giá trị  độ xác thay đổi theo Với mơ hình huấn h luyện nhận diện chữ số viết tay độ xác tốt đạt với   0.01 Với mơ in hình huấn luyện nhận diện chữ viết tay độ xác tốt đạt   ̣c K Khi sử dụng Regularized Logistic Regression việc chọn  quan trọng ảnh hưởng hình dáng đường phân cách huấn luyện mơ hình phân lớp Ngồi ho cịn ảnh hưởng tới tính khái qt mơ hình, tránh trường hợp q khớp hay khơng khớp mơ hình có tính khái qt tốt đảm bảo độ xác thực 4.4 Kết luận Đ ại tập liệu khác Tr ươ ̀ng Sau thực mơ hình huấn luyện ta thấy thuật toán BFGS thuật toán tối ưu tốt áp dụng tốn phân loại Nó đạt độ xác cao mơ hình có số lượng tính nhỏ số label không lớn Việc sử dụng ma trận xấp xỉ Hessian cập nhật qua vịng lặp giảm thời gian huấn luyện mơ hình so với tính ma trận nghịch đảo Ma trận xấp xỉ vừa có thời gian đồng thời độ xác giảm khơng đáng kể đáp ứng yêu cầu đề 53 - Khóa luận tốt nghiệp Khi ta huấn luyện mơ hình nhận diện chữ viết tay, tính phức tạp liệu ảnh hưởng lớn tới kết cuối Số chiều lớn ảnh hưởng tới khả tính tốn ma trận Hessian thuật toán BFGS Thuật toán BFGS với khả tự chọn  cho bước di chuyển để hội tụ tới điểm cực tiểu giúp việc hội tụ nhanh đáng kể tối ưu bước hội tụ tốt  giúp nâng cao độ xác tối ưu hàm Cost Function, Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H uê giảm thiểu phụ thuộc vào yếu tố đầu vào thực huấn luyện ́ Với việc tự chọn 54 - Khóa luận tốt nghiệp PHẦN 3: KẾT LUẬN Kết đạt Khóa luận đạt yêu cầu đề Qua việc thực khóa luận, nắm tổng quan Machine learning, biết cách thức hoạt động mơ hình học máy nào; nắm yếu tố quan trọng thuật toán BFGS ́ learning, đặc biệt mơ hình thuộc mảng Superivised Learning áp dụng vào tốn phân loại sử dụng mơ hình học máy Machine ́H Thuật toán BFGS hoạt động tốt nhiều tốn phân loại với độ xác tê cao Thuật toán phù hợp với toán có tập liệu khơng q lớn Ngồi thuật tốn cịn sử dụng cho tốn dự đốn sử dụng hồi quy tuyến tính So sánh với h thuật toán viết chuyên gia cho Octave/Matlab, BFGS in độ xác thuật tốn đề tài chấp nhận ̣c K Độ xác đạt tập liệu có kích thước khơng q lớn khơng thua thuật toán chuyên gia, tập liệu có kích thước lớn ho Ngồi kết kể trên, qua khóa luận này, tơi học kỹ lập trình ại Octave/Matlab gói phần mềm tính tốn giúp việc thử nghiệm, thực thi Đ chương trình ML nhanh trước chuyển sang công đoạn khác cần đến công cụ, ngôn ngữ khác mang tính kỹ thuật để xây dựng phần mềm thương mại Tr ươ ̀ng Hạn chế đề tài Do hạn chế thời gian kiến thức có hạn, khóa luận chưa hồn thiện hết tất giải thuật thuật toán BFGS, vấn đề liên quan đến thời gian xử lý tối ưu thuật tốn chưa phải mức hồn thiện Thuật toán BFGS đề tài cho kết tập liệu lớn chưa cao Cách tính ma trận Hessian chưa phải tối ưu Các tập liệu dùng cho trình huấn luyện chưa tiền xử lý tốt nên phần ảnh hưởng đến kết huấn luyện 55 - Khóa luận tốt nghiệp Hướng phát triển Tối ưu thêm kỹ thuật hiệu thời gian xử lý cho thuật tốn BFGS Tìm hiểu cách tính xấp xỉ ma trận Hessian Tìm hiểu thêm cách phương pháp tính xấp xỉ ma trận Hessian Nâng cấp thuật toán kết hợp với thuật tốn giảm chiều liệu để ́ Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H uê làm việc tập liệu lớn với độ xác cao 56 - Khóa luận tốt nghiệp TÀI LIỆU THAM KHẢO ́ Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H uê Süli, Endre Mayers, David (2003) An Introduction to Numerical Analysis Cambridge University Press Gil, A Segura, J Temme, N M (2007) Numerical methods for special functions Society for Industrial and Applied Mathematics Kendall E Atkinson (1989), An Introduction to Numerical Analysis John Wiley & Sons Inc Haelterman, Rob (2009) Analytical study of the least squares quasi-Newton method for interaction problems PhD Thesis, Ghent University The Numerical Algorithms Group “Keyword Index: Quasi-Newton” NAG Library Manual, Mark 23 Retrieved 2012-02-09 Nocedal, Jorge Wright, Stephen J (1999) Numerical Optimization SpringerVerlag Armijo, Larry (1966) Minimization of functions having Lipschitz continuous first partial derivatives Pacific J Math 16 (1): 1–3 Dennis, J E (1996) Numerical Methods for Unconstrained Optimization and Nonlinear Equations Bonnans, J Frédéric, Gilbert, J Charles, Lemaréchal, Claude et al (2006) Numerical optimization: Theoretical and practical aspects Universitext 10 Broyden, C G (1970) The convergence of a class of double-rank minimization algorithms 6: 76–90 11.Fletcher, Roger (1987) Practical methods of optimization New York: John Wiley & Sons 12 Sherman, Jack Morrison, Winifred J (1949) Adjustment of an Inverse Matrix Corresponding to Changes in the Elements of a Given Column or a Given Row of the Original Matrix (abstract) Annals of Mathematical Statistic 20: 621 13 Andrew Ng Lecture notes for Machine Learning course Stanford University 14 Tiệp V.H (2018) Machine Learning bản.NXB Khoa học kỹ thuật 15 Samuel, Arthur (1959) Some Studies in Machine Learning Using the Game of Checkers IBM Journal of Research and Development 16 Thomas Mitchell (1997) Machine Learning McGraw-Hill Education 17 Stuart J Russell Peter Norvig (2010) Artificial Intelligence: A Modern Approach, Third Edition Third Edition, Prentice Hall 18 Bousquet, O, von Luxburg, U, Raetsch, G (2004) Advanced Lectures on Machine Learning Springer-Verlag 19 Cohen, J, Cohen P, West, S.G, Aiken, L.S (2003) Applied multiple regression/correlation analysis for the behavioral sciences Hillsdale, NJ: Lawrence Erlbaum Associates 57 - Khóa luận tốt nghiệp ́ Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H uê 20 Nello Cristianini and John Shawe-Taylor (2000) An Introduction to Support Vector Machines and other kernel-based learning methods Cambridge University Press 21 Bühlmann, Peter Van De Geer, Sara (2011) Statistics for High-Dimensional Data Springer, Berlin, Heidelberg 58 - ́ Tr ươ ̀ng Đ ại ho ̣c K in h tê ́H Khóa luận tốt nghiệp Hình 1.1 59 - ́ ho Tr ươ ̀ng Đ ại Hình 1.2 ̣c K in h tê ́H uê Khóa luận tốt nghiệp Hình 1.3 60 - ́ tê ́H Khóa luận tốt nghiệp Tr ươ ̀ng Đ ại ho ̣c K in h Hình 1.4 61

Ngày đăng: 28/08/2023, 20:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w