Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
0,98 MB
Nội dung
- ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ HUẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ ́ ̣c K in h tê ́H uê - - ho KHOÁ LUẬN TỐT NGHIỆP PHƯƠNG PHÁP GRADIENT DESCENT VÀ ại ỨNG DỤNG TRONG BÀI TOÁN DỰ ĐOÁN VÀ ươ ̀n g Đ BÀI TOÁN NHẬN DẠNG Giảng viên hướng dẫn: Hồng Thị Ly Na TS Ngơ Thời Nhân Tr Sinh viên thực hiện: Lớp: K49A Tin học kinh tế Niên khoá: 2015-2019 Huế, 01/2019 - Khoá luận tốt nghiệp GVHD: TS Ngô Thời Nhân LỜI CẢM ƠN Được phân công khoa Hệ thống Thông tin Kinh tế, Trường Đại Học Kinh Tế Huế, sau gần ba tháng thực tập Công ty SoftWorld chi nhánh Huế viết luận văn, em hoàn thành Khóa luận tốt nghiệp cuối khóa Để hồn thành nhiệm vụ giao, nỗ lực học hỏi thân cịn có hướng dẫn tận tình thầy cô, giúp đỡ bạn bè anh chị Công ty, đặc biệt động viên tinh thần ́ uê lớn từ gia đình ́H Em chân thành cảm ơn thầy Ngô Thời Nhân, người hướng dẫn cho em suốt thời gian thực tập Thầy vấn đề mà em gặp phải lúc làm khóa luận, h in ơn thầy chúc thầy dồi sức khoẻ tê định hướng cho em để em hoàn thành tốt nhiệm vụ Một lần em chân thành cảm ̣c K Xin cảm ơn tất bạn bè, thầy cô, anh chị Cơng ty gia đình giúp đỡ, dìu dắt em suốt thời gian qua Tất người nhiệt tình giúp đỡ, ho số lượng công việc Công ty ngày tăng lên anh chị dành thời gian để hướng dẫn nhiệt tình Bên cạnh đó, động lực vơ to lớn để em cố gắng hoàn ại thành tốt khóa luận gia đình ln tạo điều kiện, giúp đỡ mặt vật chất Đ cho em nguồn động viên tinh thần cổ vũ lớn lao, động lực, hậu g phương để em hồn thành tốt tốt nghiệp ươ ̀n Tuy nhiên kiến thức chun mơn cịn hạn chế thân cịn thiếu kinh nghiệm thực tiễn nên nội dung khóa luận khơng tránh khỏi sai sót, em Tr mong nhận góp ý, bảo thêm quý thầy để khóa luận hồn thiện Một lần em xin gửi đến gia đình, thầy bạn bè anh chị Công ty SoftWorld lời cảm ơn chân thành tốt đẹp nhất! Huế, tháng năm 2019 Sinh viên ký tên Hoàng Thị Ly Na SVTH: Hoàng Thị Ly Na i - Khố luận tốt nghiệp GVHD: TS Ngơ Thời Nhân MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC THUẬT NGỮ .iv DANH MỤC HÌNH ẢNH vi ́ uê DANH MỤC BẢNG viii ́H MỞ ĐẦU .1 tê Giới thiệu Machine Learning h Lý chọn đề tài in Mục tiêu đề tài ̣c K Phương pháp nghiên cứu ho Kết cấu đề tài CHƯƠNG CƠ SỞ LÝ THUYẾT CỦA PHƯƠNG PHÁP GRADIENT ại DESCENT 10 Đ 1.1 Giới thiệu phương pháp Gradient Descent 10 ươ ̀n g 1.2 Gradient Descent với hàm biến 12 1.3 Gradient Descent cho hàm nhiều biến 14 Tr 1.4 Giải thuật cách thực thi phương pháp Gradient Descent .14 1.5 Kiểm tra đạo hàm 16 1.6 Biến thể Gradient Descent 16 1.6.1 Batch Gradient Descent 16 1.6.2 Stochastic Gradient Descent 17 1.6.3 Mini-batch GD 18 1.7 Stopping Criteria (điều kiện dừng) .19 SVTH: Hoàng Thị Ly Na ii - Khoá luận tốt nghiệp GVHD: TS Ngô Thời Nhân CHƯƠNG PHƯƠNG PHÁP HỒI QUY TUYẾN TÍNH VÀ HỒI QUY LOGISTIC 20 2.1 Linear Regression (Hồi quy tuyến tính) 20 2.1.1 Simple Linear Regression 21 2.1.2 Multiple Linear Regression (Hồi quy tuyến tính đa biến) 24 ́ uê 2.1.3 Ưu điểm Linear Regression 27 ́H 2.1.4 Hạn chế Linear Regression 27 tê 2.2 Logistic Regression (Bài toán phân loại) 28 2.2.1 Ưu điểm Logistic Regression .35 in h 2.2.2 Hạn chế Logistic Regression 35 ̣c K 2.3 Regularization Linear Regression Logistic Regression 37 CHƯƠNG ỨNG DỤNG – KẾT QUẢ 39 ho 3.1 Bài toán dự đoán 39 ại 3.1.1 Mơ hình hồi quy tuyến tính đơn - SLR .39 Đ 3.1.2 Mơ hình hồi quy tuyến tính đa biến - MLR 41 ươ ̀n g 3.2 Bài toán nhận dạng chữ số viết tay .44 3.2.1 Giới thiệu toán 44 Tr 3.2.2 Áp dụng Logistic Regression 46 3.2.3 Kết 47 KẾT LUẬN 55 DANH MỤC TÀI LIỆU THAM KHẢO 57 SVTH: Hoàng Thị Ly Na iii - Khố luận tốt nghiệp GVHD: TS Ngơ Thời Nhân DANH MỤC CÁC THUẬT NGỮ Artificial Inteligence (AI): Trí tuệ nhân tạo Artitficial Neural Network (ANN): Mạng thần kinh Mạng nơ-ron Batch Gradient Descent (BGD): Giảm Gradient toàn phần Binary Classification (BC): Phân loại nhị phân ́ uê Classification: Phân lớp/ Phân loại tê Feature: Đặc trưng ̣c K in h Feature Scaling: Thu phóng đặc trưng Gradient Descent (GD): Giảm Gradient ́H Cost Function: Hàm chi phí/ hàm mát/ hàm lỗi Grayscale: Thang độ xám ho Hypothesis Function: Hàm giả thuyết ại Iteration: Vòng lặp Đ Learning Rate (∝): Tốc độ học tập ươ ̀n g Logistic Regression (LR): Hồi quy Logistic Machine Learning (ML): Máy học Tr Mean Normalization: Chuẩn hóa trung bình Mini-batch GD (MB-GD): Giảm Gradient theo phần nhỏ Multiple Linear Regression (MLR): Hồi quy tuyến tính đa biến Multiclass Classification (MC): Phân loại đa lớp Normal Equation: Phương trình bình thường (Phương pháp giải tích thơng thường) Regularization Linear Regression: Hồi quy tuyến tính điều chỉnh SVTH: Hồng Thị Ly Na iv - Khố luận tốt nghiệp GVHD: TS Ngơ Thời Nhân Regularization Logistic Regression: Hồi quy Logistic điều chỉnh Regularization Parameter: Tham số điều chỉnh / Hệ số điều chỉnh Sensor Data: Dữ liệu cảm biến/cảm ứng Sigmoid Function (g): Hàm Sigmoid Tr ươ ̀n g Đ ại ho ̣c K in h tê ́H Training data set: Tập liệu huấn luyện ́ Stochastic Gradient Descent (SGD): Giảm Gradient ngẫu nhiên uê Simple Linear Regression (SLR): Hồi quy tuyến tính đơn biến SVTH: Hồng Thị Ly Na v - Khố luận tốt nghiệp GVHD: TS Ngơ Thời Nhân DANH MỤC HÌNH ẢNH Hình 1.1 Đồ thị hàm số y = x2 10 Hình 1.2 Phương pháp Gradient Descent .11 Hình 1.3 Minh họa cho hàm số đạt giá trị nhỏ .12 Hình 1.4 Ảnh hưởng Learning Rate (tốc độ học) 15 ́ uê Hình 1.5 So sánh phương pháp BGD SGD .18 ́H Hình 1.6 Ví dụ giá trị hàm cost function sau cập nhật tham số 19 tê Hình 2.1 Linear Regression (Hồi quy tuyến tính) 20 h Hình 2.2 Hồi quy tuyến tính đơn biến (SLR) .22 in Hình 2.3 Đồ thị cost function sử dụng giả thuyết với tham số theta θ0 θ1 23 ̣c K Hình 2.4 Đồ thị hàm Sigmoid .29 ho Hình 2.5 Đường ranh giới định (Decision Boundary) 30 Hình 2.6 Đường ranh giới (Decision Boundary) hàm khơng phải tuyến tính .31 Đ ại Hình 2.7 Một ví dụ hàm khơng lồi .32 Hình 2.8 Hàm Cost Logistic Regression 33 ươ ̀n g Hình 2.9 Hai tính phân tách áp dụng thuật tốn Logistic Regression .36 Hình 2.10 Hai tính phân tách áp dụng mơ hình định 36 Tr Hình 3.1 Biểu đồ phân tán tập liệu huấn luyện .39 Hình 3.2 Đường biểu diễn hypothesis function mơ hình SLR tập liệu 40 Hình 3.3 Đồ thị Cost Function J(θ) contour plot 41 Hình 3.4 Sự hội tụ Gradient Descent với α 0,1 44 Hình 3.5 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 100 48 Hình 3.6 Hình ảnh dự đốn số 25 chữ số num_iters 100 48 Hình 3.7 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 150 49 SVTH: Hoàng Thị Ly Na vi - Khoá luận tốt nghiệp GVHD: TS Ngơ Thời Nhân Hình 3.8 Hình ảnh dự đốn số 25 chữ số num_iters 150 49 Hình 3.9 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 200 50 Hình 3.10 Hình ảnh dự đốn số 25 chữ số num_iters 200 50 Hình 3.11 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 100 .51 Hình 3.12 Hình ảnh dự đoán số 100 chữ số num_iters 100 52 ́ uê Hình 3.13 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 150 .52 ́H Hình 3.14 Hình ảnh dự đốn số 100 chữ số num_iters 150 53 tê Hình 3.15 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 500 .53 Tr ươ ̀n g Đ ại ho ̣c K in h Hình 3.16 Hình ảnh dự đốn số 100 chữ số num_iters 500 54 SVTH: Hoàng Thị Ly Na vii - Khoá luận tốt nghiệp GVHD: TS Ngô Thời Nhân DANH MỤC BẢNG Bảng 3.1 So sánh độ xác thơng qua Num_iters 100 chữ số viết tay 47 ́ Tr ươ ̀n g Đ ại ho ̣c K in h tê ́H Bảng 3.2 So sánh độ xác thơng qua Num_iters 5000 chữ số viết tay 51 SVTH: Hồng Thị Ly Na viii - Khố luận tốt nghiệp GVHD: TS Ngô Thời Nhân MỞ ĐẦU Giới thiệu Machine Learning Để quan sát, nhận thức thứ xung quanh, người cần sử dụng giác quan Từ thơng tin người nhận cá nhân có góc nhìn, phân tích đánh giá riêng Dựa vào đó, người có nhận thức vật ́ uê tượng, tự nhiên xã hội, vật chất tinh thần cách độc lập, riêng biệt Qua thời ́H gian, nhận thức nhân loại tích lũy, chọn lọc trở thành tri thức, văn hóa lưu giữ sách vở, tài liệu, ghi chép…Chúng nhận tê thức chọn lọc, tổng quát mức độ cao kho báu quý giá nhân loại h Để máy tính nhận thức thứ xung quanh người, cần in trang bị “các giác quan nhân tạo” sensor (bộ cảm ứng), chẳng hạn để thu nhận ̣c K thơng tin hình ảnh cần trang bị cho máy camera, thu nhận âm microphone, ghi nhận nhiệt độ nhiệt kế, ghi nhận độ cao hay vị trí GPS ho Chẳng hạn tác vụ đoạn phim kéo dài 24 ghi nhận ại trạm chờ xe buýt, lọc phân đoạn có người phụ nữ bế đứa trẻ sơ sinh; hay Đ đoạn ghi âm kéo dài vài tiếng đồng hồ, tìm phân đoạn mà giọng nói ghi lại trùng khớp với giọng nói người thuộc diện nghi vấn ươ ̀n g Một máy tính trang bị hay nhiều ứng dụng thực thi tác vụ thay cho người gọi AI (Trí tuệ nhân tạo) [14] Trong thời đại ngày phát triển Tr này, AI góp phần thay đổi sâu sắc nhiều khía cạnh sống yếu tố quan trọng bậc lĩnh vực nghiên cứu Công nghệ thông tin AI len lỏi vào lĩnh vực đời sống Có thể kể đến vài hệ thống AI tiêu biểu xe tự hành Google Tesla; hệ thống tự động nhận dạng khuôn mặt ảnh đăng lên người dùng Facebook; trợ lý ảo Siri Apple, Bixby Samsung, Google Assistant Google; hệ thống gợi ý sản phẩm dựa lịch sử sở thích người dùng Amazon; hệ thống gợi ý phim Netflix; máy chơi cờ vây AlphaGo Google DeepMind… Đây vài ứng dụng AI Các ứng dụng AI ngày phát triển số lượng lẫn chất lượng Chúng góp phần SVTH: Hồng Thị Ly Na - Khoá luận tốt nghiệp GVHD: TS Ngô Thời Nhân ́ uê Dưới mẫu liệu sau ta áp dụng kỹ thuật Mean Normalization ́H Mơ hình MLR cho tốn dự đốn có hàm giả thiết h ( x) 0 1 x1 x2 Cost tê function tương tự toán dự đoán lợi nhuận phần trước, khác số h lượng liệu 47: in 47 h ( x ( i ) ) y ( i ) 47 i 1 ̣c K J ( ) Ta bắt đầu việc khởi tạo vectơ tham số vectơ tính tốn cost function ho Áp dụng thuật tốn GD, để tìm vectơ tham số tối ưu việc thiết lập số vòng lặp 500 learning rate α 0,1 Kết ta tìm tham số θ0 ại 340412.66, θ1 110631.05 θ2 − 6649.47, từ ta có kết hypothesis Đ function hθ(x) = 340412.66 + 110631.05x1 − 6649.47x2 ươ ̀n g Ta thử giá trị learning rate α thang đo log, cấp số nhân bước gấp khoảng lần giá trị trước (tức 0,01; 0,03; 0,1; v.v.) chọn α phạm vi tốt biểu thị đồ thị cost function bên Ngồi ra, ta có Tr thể điều chỉnh số vịng lặp điều giúp cho việc hội tụ thuật tốn GD tốt SVTH: Hồng Thị Ly Na 43 - ́H ́ GVHD: TS Ngô Thời Nhân Khố luận tốt nghiệp tê Hình 3.4 Sự hội tụ Gradient Descent với α 0,1 in h Đồ thị J(θ) phụ thuộc số vòng lặp cho xu hướng giảm dần gần tiệm cận giá ̣c K trị cực tiểu số vòng lặp đạt khoảng 40 trở Điều chứng tỏ thuật tốn Gradient Descent làm việc tốt với mơ hình ho Bây giờ, giả sử nhà người cần tư vấn việc bán nhà với mức giá phù hợp có diện tích nhà 1650 feet vng, có phịng ngủ sau áp dụng Mean ại Normalization với giá trị đó, thay vào hypothesis function ta tìm giá trị dự Đ đốn bán nhà khoảng 293081.464338 $ ươ ̀n g 3.2 Bài toán nhận dạng chữ số viết tay 3.2.1 Giới thiệu toán Tr Giả sử có hình ảnh chữ số viết tay Bài tốn đặt viết chương trình giúp máy tính ghi nhận hình ảnh trả lời chữ số Để huấn luyện máy tính thực nhiệm vụ nói trên, ta áp dụng ý tưởng Supervised Learning ML Đó cho máy làm việc với training data set với kết cho biết trước Training data set hình ảnh chữ số viết tay từ đến với hình thức, cách viết đa dạng Dựa vào việc học training data set này, máy có “kinh nghiệm” để dựa vào thực tốn nhận dạng hình ảnh chữ số viết tay Độ SVTH: Hoàng Thị Ly Na 44 - Khoá luận tốt nghiệp GVHD: TS Ngơ Thời Nhân xác kết phụ thuộc vào training data set có đủ tốt có phù hợp để nhận dạng hình ảnh (dữ liệu mới) hay không Một cách cụ thể, phần này, ta phát triển chương trình ML nhận chữ số viết tay từ hình ảnh chữ số Thuật tốn học tập cho chương trình ML mà ta áp dụng việc cực tiểu hóa cost function phương pháp GD Nó giúp tìm tham số phù hợp với training data set Training data set ́ uê sử dụng bao gồm liệu gồm 100 chữ số viết tay mà ta tự tạo chữ số có 10 mẫu liệu MNIST bao gồm 5000 chữ số viết tay từ 250 người ́H viết khác số lượng mẫu cho chữ số từ đến 500 mẫu Dữ liệu tê MNIST [12] liệu mở phục vụ cho việc nghiên cứu, thử nghiệm cung h cấp miễn phí Internet tác giả LeCun, Cortes Burges Các hình ảnh từ in liệu 5000 chữ số xử lý cách đưa dạng grayscale với kích thước ̣c K 20 20 pixel Sắc độ xám pixel biểu thị số nguyên khoảng từ đến 255, biểu thị cường độ xám vị trí Giá trị cho màu đen, giá trị 255 cho ho màu trắng giá trị nằm chúng màu xám với cường độ khác Hình ảnh chữ số chụp từ nhiều tài liệu qt, chuẩn hóa kích ại thước hóa phần chữ số Điều làm cho trở thành liệu Đ hữu dụng để đánh giá, thử nghiệm mơ hình, cho phép nhà phát triển tập trung vào việc học máy với việc làm chuẩn bị liệu cần thiết Mỗi hình ảnh ươ ̀n g đặc trưng ma trận vuông 20 20 ta hồn tồn chuyển vectơ 1 400 chứa 400 đặc trưng Với liệu 100 ảnh tự tạo, ta thực Tr cơng đoạn cần thiết gói xử lý hình ảnh Octave/Matlab để thu kết nói liệu 5000 hình ảnh lấy từ liệu MNIST Trong toán nhận dạng chữ số viết tay, ta có ảnh 100 chữ số ta viết 5000 chữ số viết nhiều người khác liệu MNIST Lúc này, ta đưa ảnh vào chương trình ML “dạy” cho biết ảnh tương ứng với chữ số Sau “dạy” xong cho chương trình ML này, tham số mơ hình tốn xác định Đến thời điểm này, mơ hình tốn hàm mà đầu vào vectơ đặc trưng ảnh đầu kết chữ số SVTH: Hoàng Thị Ly Na 45 - Khố luận tốt nghiệp GVHD: TS Ngơ Thời Nhân ảnh Nói cách khác, chương trình ML sau huấn luyện có khả tiếp nhận thơng tin từ ảnh nhận dạng ảnh chứa chữ số 3.2.2 Áp dụng Logistic Regression Trong toán nhận dạng chữ số viết tay, tập liệu bao gồm chữ số từ đến Vì liệu có 10 loại khác nên ta sử dụng mơ hình Binary ́ Logistic Regression kết hợp với thuật toán phân loại one-vs-all để xây dựng chương ́H trình ML phân loại đa lớp Vì cần phân loại 10 lớp, ta cần gọi thuật toán 10 lần để huấn luyện 10 tham số khác giúp phân loại lớp riêng biệt với tất tê lớp lại Để việc huấn luyện hiệu quả, ta sử dụng công thức vectơ hóa h Logistic Regression trình bày phần sở lý thuyết để tránh thực thi nhiều in vòng lặp ̣c K Trong tập liệu chữ số viết tay, số lượng lớp cần phân loại K = 10 code chương trình hoạt động với giá trị K Cụ thể, cách ho gọi thuật toán one-vs-all K lần, chương trình cho tất tham số phân loại K ( N 1) , hàng ại lớp với tất lớp lại lưu ma trận tương ứng với vectơ tham số Logistic Regression tìm cho việc phân loại lớp Đ với lớp lại Mỗi vectơ có kích thước N 400 401 Để dễ ươ ̀n g dàng việc lập trình, nhãn từ đến dán cho chữ số tương ứng, riêng nhãn 10 dán cho chữ số Khi huấn luyện cho chương trình phân loại lớp k ∈ {1, , K=10} với tất lớp cịn lại, ta cần biết hình ảnh dùng Tr để huấn luyện chữa chữ số thuộc nhãn Nếu chữ số hình ảnh thứ j có nhãn k yj = 1, ngược lại yj = Cách thực để phù hợp với lý thuyết Binary Logistic Regression trình bày chương trước Những ta làm nói quy tốn phân loại 10 lớp thành 10 toán Binary Classification riêng biệt sử dụng mơ hình Logistic Regression Về bản, với toán ta coi liệu gồm có lớp phân biệt lớp thứ hình ảnh chứa chữ số k cịn lớp thứ hai hình ảnh cịn lại Huấn luyện xong việc phân loại nhị phân này, ta thu SVTH: Hồng Thị Ly Na 46 - Khố luận tốt nghiệp GVHD: TS Ngô Thời Nhân vectơ tham số ( k ) R 401 Thực việc huấn luyện với toàn k 1, 2,, K 10 , ta thu 10 vectơ tham số (1) , (2) ,, (10) R 401 Bây giờ, với hình ảnh chữ số bất kỳ, ta xử lý đưa dạng liệu vectơ x gồm 400 đặc trưng nói Lúc hypothesis function h ( k ) ( x) trả xác suất để x vectơ đặc trưng hình ảnh chứa chữ số k Để xác định x vectơ đặc trưng hình ảnh chứa chữ số nào, ta tính hypothesis function ́ uê h ( k ) ( x), k 1, 2, K 10 Ứng với giá trị k mà hypothesis function cho giá trị ́H lớn ta dự đốn x vectơ đặc trưng hình ảnh chứa chữ số Cuối cùng, tê để kiểm tra lại kết việc huấn luyện training data set, với hình h ảnh training data set, sử dụng mơ hình dự đốn ta có kết dự đốn Áp in dụng mơ hình dự đốn với toàn training data set ta thu vectơ dự đoán So sánh ̣c K vectơ với kết thực tế từ training data set ta tìm độ xác mơ hình 3.2.3 Kết ho Đầu tiên, ta thử nghiệm kết việc áp dụng thuật tốn GD vào việc huấn luyện chương trình ML nhận dạng chữ số viết tay liệu 100 chữ số viết ta ại Kết cho thấy độ xác tương đối tốt trở thành gần tuyệt đối số Đ vòng lặp tăng đến số định Điều giải thích kích thước ươ ̀n g liệu bé nên số vòng lặp cao độ xác tăng Bảng 3.1 So sánh độ xác thơng qua Num_iters 100 chữ số viết tay Alpha & Lambda Accuracy 100 0.3 & 0.03 67% 150 0.01 & 0.1 85% 200 0.01 & 99% Tr Num_iters Kết thực nghiệm bảng 3.1 cho thấy thơng qua vịng lặp cặp α λ có độ xác cao vịng lặp cao độ xác tăng Dưới hình ảnh hiển thị dự đoán 25 chữ số ngẫu nhiên tổng 100 chữ số thông qua num_iters chọn SVTH: Hoàng Thị Ly Na 47 - ́H ́ GVHD: TS Ngơ Thời Nhân Khố luận tốt nghiệp ươ ̀n g Đ ại ho ̣c K in h tê Hình 3.5 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 100 Tr Hình 3.6 Hình ảnh dự đoán số 25 chữ số num_iters 100 SVTH: Hoàng Thị Ly Na 48 - tê ́H ́ GVHD: TS Ngô Thời Nhân uê Khoá luận tốt nghiệp Tr ươ ̀n g Đ ại ho ̣c K in h Hình 3.7 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 150 Hình 3.8 Hình ảnh dự đốn số 25 chữ số num_iters 150 SVTH: Hoàng Thị Ly Na 49 - h tê ́H ́ GVHD: TS Ngơ Thời Nhân Khố luận tốt nghiệp Tr ươ ̀n g Đ ại ho ̣c K in Hình 3.9 Hình ảnh hiển thị 25 chữ số ngẫu nhiên num_iters 200 Hình 3.10 Hình ảnh dự đoán số 25 chữ số num_iters 200 Đối với việc thực nghiệm kết liệu 5000 chữ số viết tay liệu huấn luyện tương đối lớn, liệu hình ảnh phong phú đồng với lớp nên độ xác đạt cao Khác với 100 liệu nói trên, liệu ta tăng số vòng lặp lớn độ xác tăng lên khơng nhiều SVTH: Hồng Thị Ly Na 50 - Khố luận tốt nghiệp GVHD: TS Ngô Thời Nhân Bảng 3.2 So sánh độ xác thơng qua Num_iters 5000 chữ số viết tay Num_iters Alpha & Lambda Accuracy 100 10 & 0.03 90.78% 150 10 & 0.01 91.58% 500 & 0.01 93.58% ́ uê Ngoài kết thực nghiệm bảng 3.2, từ việc chạy chương trình với cặp α λ khác nhau, ta thấy với số lượng vòng lặp khác với cặp α ́H λ chương trình cho độ xác gần tê Dưới hình ảnh hiển thị dự đoán 100 chữ số ngẫu nhiên tổng Tr ươ ̀n g Đ ại ho ̣c K in h 5000 chữ số thông qua num_iters chọn Hình 3.11 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 100 SVTH: Hoàng Thị Ly Na 51 - in h tê ́H ́ GVHD: TS Ngơ Thời Nhân Khố luận tốt nghiệp Tr ươ ̀n g Đ ại ho ̣c K Hình 3.12 Hình ảnh dự đốn số 100 chữ số num_iters 100 Hình 3.13 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 150 SVTH: Hoàng Thị Ly Na 52 - h tê ́H ́ GVHD: TS Ngô Thời Nhân uê Khoá luận tốt nghiệp Tr ươ ̀n g Đ ại ho ̣c K in Hình 3.14 Hình ảnh dự đốn số 100 chữ số num_iters 150 Hình 3.15 Hình ảnh hiển thị 100 chữ số ngẫu nhiên num_iters 500 SVTH: Hoàng Thị Ly Na 53 - h tê ́H ́ GVHD: TS Ngơ Thời Nhân Khố luận tốt nghiệp in Hình 3.16 Hình ảnh dự đốn số 100 chữ số num_iters 500 ̣c K Như vậy, thơng qua kết ta biết liệu nhỏ ta chọn vịng lặp lớn độ xác tăng cao Ngược lại, ho liệu lớn trường hợp tăng vịng lặp cao độ xác ại tăng lên khơng tương xứng với gia tăng số vịng lặp Sự gia tăng độ xác trường hợp điều chắn với cost function có dạng convex, Đ thuật tốn GD ln hội tụ số vịng lặp lớn tham số cập nhật gần g với tham số tối ưu Điều đáng nói việc tăng vòng lặp khiến tốc độ thực ươ ̀n chương trình giảm đáng kể độ xác thu không tăng lên nhiều đánh đổi tốc độ độ xác trường hợp làm việc với Tr liệu lớn ln định khó khăn SVTH: Hồng Thị Ly Na 54 - Khoá luận tốt nghiệp GVHD: TS Ngô Thời Nhân KẾT LUẬN Những kết đạt Qua việc thực khóa luận này, ta tìm hiểu nắm kiến thức phương pháp GD Ta áp dụng giải thuật GD việc xây dựng chương trình ML dự báo kết chương trình ML nhận dạng chữ số viết tay Khóa luận hồn thành mặt nội dung đề ra, kết phối hợp ́ uê kỹ thuật xử lý ảnh lý thuyết hỗ trợ thực toán nhận dạng nhằm giải toán nhận dạng chữ số viết tay Việc áp dụng phương pháp GD vào chương trình ́H ML dự đốn kết mơ hình SLR hay MLR với số đặc trưng cho kết tê nhanh xác Sự hội tụ việc cập nhật tham số diễn nhanh chóng h liệu sử dụng tương đối nhỏ Việc áp dụng phương pháp GD vào toán nhận in dạng chữ số viết tay, giải thuật giúp ta xây dựng chương trình với độ xác ̣c K cao, việc cập nhật tham số thực nhanh, tối ưu hóa tham số tốt, điều chứng minh kết thực nghiệm, kết cho thấy mô ho hình có độ nhận dạng xác tốt Chương trình bước đầu thử nghiệm với số vịng lặp 150 cho kết thực nghiệm dựa liệu 100 chữ số với độ ại xác 85% tập liệu thực MNIST 5000 chữ số viết tay cho kết với độ Đ xác 91% Khi nâng số lượng vịng lặp lên, độ xác nâng cao ươ ̀n xác tốt g thêm Qua đó, ta thấy phương pháp GD đề xuất đạt hiệu nhận dạng Hạn chế đề tài Tr Tuy khóa luận hồn thành mặt nội dung chương trình nhận dạng chữ số viết tay xây dựng số hạn chế cần khắc phục Đó chương trình mức thử nghiệm, chưa áp dụng vào thực tế Đối với việc xử lý phân tích liệu cịn hạn chế, dẫn đến việc số hình ảnh chữ số nhận diện chưa xác Ngồi ra, tập liệu có kích thước 5000 dù phù hợp để thử nghiệm chưa phải số đủ lớn Trong trình thực chương trình, ta nhận thấy việc nhận dạng chữ số viết tay vấn đề phức tạp, khơng dễ giải Khi áp dụng thuật tốn Gradient SVTH: Hồng Thị Ly Na 55 - Khố luận tốt nghiệp GVHD: TS Ngô Thời Nhân Descent vào toán nhận dạng, ta gặp phải số hạn chế định Đó thời gian xử lý tập liệu lớn tương đối chậm; việc chọn learning rate regularization parameter phương pháp thử chọn khiến chương trình phải vất vả tìm tham số phù hợp; việc bùng nổ số phân lớp số lượng vectơ thu sau huấn luyện dẫn đến việc phân lớp chậm… Hướng phát triển đề tài Khóa luận giới thiệu cách tổng quan lĩnh vực nhận dạng chữ viết, ́ uê thu hút quan tâm nhiều nhà nghiên cứu ML Hướng tiếp cận ́H việc thực khóa luận áp dụng vào vấn đề tương tự lĩnh tê vực nhận dạng, phân lớp, tìm kiếm ảnh Để tối ưu chương trình nhận dạng số viết tay, có nhiều kỹ thuật in h tiên tiến áp dụng cho toán nhận dạng chữ viết tay ANN hay ngồi thuật tốn GD, ta sử dụng số thuật tốn sau để cực tiểu hóa cost function ̣c K Conjugate Gradient, BFGS (Broyden-Fletcher-Goldfarb-Shanno) hay L-BFGS (Limited memory - BFGS) [8], thuật toán tối ưu hóa hơn, ho có mặt ưu điểm không cần chọn thủ công learning rate có thuật tốn tự Đ tốn Gradient Descent ại động lựa chọn learrning rate tối ưu cho vòng lặp, tốc độ xử lý nhanh thuật Để hướng đến mục đích xây dựng chương trình nhận dạng chữ số viết tay hoàn ươ ̀n g thiện hơn, ta tìm hiểu thêm phương pháp khác để áp dụng vào đề tài nhận dạng chữ số Một phương án nghĩ đến kết hợp nhiều phương pháp khác ML nhằm nâng cao độ xác tốc độ nhận dạng chẳng hạn giảm Tr chiều đặc trưng thuật toán PCA (Principle Component Analysis) trước thực việc nhận dạng SVTH: Hồng Thị Ly Na 56 - Khố luận tốt nghiệp GVHD: TS Ngô Thời Nhân DANH MỤC TÀI LIỆU THAM KHẢO ́ Tr ươ ̀n g Đ ại ho ̣c K in h tê ́H uê Alpaydin, Ethem (2010), Introduction to Machine Learning A.Neumaier, (1998), Solving ill-conditioned and singular linear systems: A tutorial on regularization Bishop, Christopher M (2006), Pattern Recognition and Machine Learning Cost function, lecture notes by AnDrew Ng, for Machine Learning Course, Stanford University Cost function and Gradient Descent, lecture notes by AnDrew Ng, for Machine Learning Course, Stanford University Tip 7: Minimize overfitting Chicco, D (December 2017) "Ten quick tips for machine learning in computational biology" D.Kim, JAFessler (Sep 2016), Optimizedfirst-order methods for smooth convex minimization Fletcher, Roger (1987), Practical methods of optimization, Publisher: Wiley; edition (May 2000) Humphrys, Mark "Continuous output, the sigmoid function" 10 Knofczynski, G T., & Mundfrom, D (2008), Sample sizes when using multiple linear regression for prediction, Educational and Psychological Measurement, 68, 431-442 11 Christopher Bishop (2006), Pattern Recognition and Machine Learning, Publisher: Springer-Verlag New York 12 LeCun, Yann; Corinna Cortes; Christopher J.C Burges,"MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges" 13 Madsen, Henrik; Thyregod, Poul (2011), Introduction to General and Generalized Linear Models, Publisher: Simo Puntanen 14 National Research Council (1999), "Developments in Artificial Intelligence", National Academy Press, Funding a Revolution: Government Support for Computing Research National Academy Press 15 Herbert F Schantz, (1982), The history of OCR, optical character recognition, Publisher: [Manchester Center, Vt.]: Recognition Technologies Users Association 16 "Logistic Regression", Stanford University course 17 "Statistical Sampling and Regression: Simple Linear Regression", Columbia University 18 Vũ Hữu Tiệp (2018), Machine Learning bản, Nhà Xuất Bản Khoa Học Kỹ Thuật 19 Yan, Xin (2009), Linear Regression Analysis: Theory and Computing, 2019 World Scientific Publishing Co Pte Ltd 20 Y.H Dai, J.Y Yuan, and Y Yuan, Modified two-point step-size gradient methods for unconstrained optimization, Computational Optimization and Applications, 22 (2002), 103-109 SVTH: Hoàng Thị Ly Na 57