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

(Luận văn) nghiên cứu kỹ thuật hồi quy trong học máy và ứng dụng nội suy trên ảnh mặt người

77 1 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC QUY NHƠN PHẠM DUY SƠN lu an n va to tn NGHIÊN CỨU KỸ THUẬT HỒI QUY gh p ie TRONG HỌC MÁY VÀ ỨNG DỤNG NỘI SUY oa nl w TRÊN ẢNH MẶT NGƢỜI d fu n va an lu oi m ll LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH nh at z z om l.c gm @ Lu an Bình Định, Năm 2019 n va ac th si BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC QUY NHƠN PHẠM DUY SƠN lu an n va to tn NGHIÊN CỨU KỸ THUẬT HỒI QUY gh p ie TRONG HỌC MÁY VÀ ỨNG DỤNG NỘI SUY oa nl w TRÊN ẢNH MẶT NGƢỜI d an lu Mã số: 60480101 fu n va Chuyên ngành: Khoa học máy tính oi m ll nh at z z Ngƣời hƣớng dẫn: TS Lê Xuân Vinh om l.c gm @ Lu an n va ac th si i LỜI CAM ĐOAN Tôi cam đoan luận văn nghiên cứu tơi dƣới hƣớng dẫn TS Lê Xuân Vinh, Trƣờng Đại học Quy Nhơn Các nội dung trích dẫn rõ nguồn tài liệu tham khảo Bình Định, ngày 25 tháng 07 năm 2019 lu an n va Phạm Duy Sơn tn to gh p ie oa nl w d fu n va an lu oi m ll nh at z z om l.c gm @ Lu an n va ac th si ii LỜI CẢM ƠN Lời đầu tiên, xin chân thành cảm ơn TS Lê Xuân Vinh tận tình hƣớng dẫn, bảo tơi suốt thời gian thực luận văn Tôi xin cảm ơn thầy cô khoa Công Nghệ Thông Tin, Trƣờng Đại học Quy Nhơn thầy cô tham gia giảng dạy lớp cao học Khoa học máy tính - khóa 20 cung cấp kiến thức quý báu cho suốt trình học tập nghiên cứu trƣờng lu Tôi xin gởi lời cảm ơn đến gia đình, bạn bè đồng nghiệp ln an n va quan tâm, giúp đỡ tạo điều kiện để tơi hồn thành luận văn khóa học Do thời gian kiến thức có hạn nên luận văn khơng tránh khỏi tn to thiếu sót định Tơi mong nhận đƣợc góp ý q báu gh p ie thầy cô oa nl w d fu n va an lu oi m ll nh at z z om l.c gm @ Lu an n va ac th si iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH vii MỞ ĐẦU Lí chọn đề tài Mục tiêu nghiên cứu Đối tƣợng phạm vi nghiên cứu Phƣơng pháp nghiên cứu gh Cấu trúc luận văn lu an n va tn to p ie nl w CHƢƠNG TỔNG QUAN VỀ HỌC MÁY Giới thiệu học máy 1.2 Khái niệm học máy 1.3 Một số lĩnh vực ứng dụng học máy 1.4 Phân loại phƣơng thức học máy 1.5 Quy trình tổ chức chƣơng trình học máy 12 1.6 Kết luận 13 oa 1.1 d fu n va an lu oi m ll nh CHƢƠNG MỘT SỐ THUẬT TOÁN HỒI QUY TRONG HỌC MÁY at z 14 z Bài toán hồi quy 14 gm @ 2.1 2.1.1 Khái niệm toán hồi quy 14 l.c 2.1.2 Hình thức hóa tốn hồi quy 15 om 2.1.3 Đánh giá độ xác mơ hình hồi quy 16 Lu Hồi quy tuyến tính (Linear Regression) 19 an 2.2 n va ac th si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an iv 2.2.1 Giới thiệu 19 2.2.2 Thuật toán hồi quy tuyến tính 20 2.2.3 Ví dụ 21 2.2.4 Lớp LinearRegression Scikit-learn 23 2.3 Hồi quy Ridge 25 2.3.1 Giới thiệu 25 2.3.2 Thuật toán hồi quy Ridge 25 2.3.3 Ví dụ hồi quy Ridge 26 Hồi quy định (Decision Tree Regression) 35 lu 2.4 an 2.4.1 Giới thiệu 35 n va 2.4.2 Thuật toán định 35 tn to 2.4.3 Ví dụ 36 gh Hồi quy K-nn (K Nearest Neighbor) 42 p ie 2.5 2.5.1 Giới thiệu 42 oa nl w 2.5.2 Thuật toán K-nn 43 2.5.3 Ví dụ 43 d Kết luận 49 an lu 2.6 Chƣơng trình nội suy ảnh mặt ngƣời 50 fu 3.1 n va CHƢƠNG XÂY DỰNG CHƢƠNG TRÌNH VÀ THỰC NGHIỆM 50 m ll oi 3.1.1 Tập liệu Mặt ngƣời Olivetti 50 nh 3.1.2 Chƣơng trình nội suy ảnh mặt ngƣời với thuật tốn hồi quy 51 at Chƣơng trình nội suy ảnh mặt ngƣời với liệu tự thu thập 56 3.3 Kết luận 63 z 3.2 z @ l.c gm CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 64 Kết đạt đƣợc từ nghiên cứu 64 4.2 Hạn chế đề tài 64 4.3 Hƣớng phát triển 64 om 4.1 Lu an n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an v DANH MỤC CÁC TỪ VIẾT TẮT CV Coefficent of variance (Hệ số phƣơng sai) MAE Mean Absolute Error (Sai số trung bình tuyệt đối) MSE Mean Squared Error (Sai số trung bình bình phƣơng) RMSE Root Mean Squared Error (Sai số Căn bậc hai trung bình bình phƣơng) lu StDev Standard Deviation (Độ lệch chuẩn) SDR Standard Deviation Reduction (Mức giảm độ lệch chuẩn) VIF Variation Inflation Factor (Chỉ số phƣơng sai lạm phát) an n va tn to gh p ie oa nl w d fu n va an lu oi m ll nh at z z om l.c gm @ Lu an n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an vi DANH MỤC CÁC BẢNG Bảng 2-1 Mô tả chiều cao khối lƣợng 13 ngƣời 21 Bảng 2-2 Tập mẫu với n=2, d=1 21 Bảng 2-3 Ví dụ với dim(X)=dim(y)=2 22 Bảng 2-4 Tập liệu Ridge Regression 27 Bảng 2-5 Mô tả số 28 Bảng 2-6 Ma trận tƣơng quan 28 Bảng 2-7 VIF R2 Kiểm tra tính đa cộng tuyến biến 28 lu Bảng 2-8 Các hệ số hồi quy chuẩn hóa Ridge theo k 30 an n va Bảng 2-9 Các số VIF biến độc lập theo k 31 Bảng 2-10 Phân tích số theo k 32 tn to Bảng 2-11 So sánh số hồi quy Ridge Tối thiểu bình phƣơng với k = gh p ie 0,06624 33 Bảng 2-12 Hệ số hồi quy Ridge với k = 0,06624 34 oa nl w Bảng 2-13 Giá trị thực, giá trị dự đoán số dƣ với k = 0,06624 34 d Bảng 2-14 Độ lệch chuẩn hai biến (y,x) 37 an lu Bảng 2-15 Độ lệch chuẩn dùng để xác định nút gốc 38 fu n va Bảng 2-16 Phân nhánh nút Outlook 39 m ll Bảng 2-17 Giá trị nút sau nút Overcast 39 oi Bảng 2-18 SDR Outlook so với Temp, Humidity, Windy 40 nh Bảng 2-19 Nhánh Windy 40 at z Bảng 2-20 Nhánh Rainy 41 z gm @ Bảng 2-21 Cây định cuối 41 Bảng 2-22 Ví dụ hồi quy K-nn chiều cao, tuổi, cân nặng 44 l.c Bảng 2-23 Khoảng cách từ điểm đến điểm huấn luyện 45 om Bảng 2-24 Khoảng cách từ điểm đến điểm tạo K=3 47 Lu an Bảng 2-25 Khoảng cách đến điểm lân cận 48 n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an vii DANH MỤC CÁC HÌNH Hình 1-1 Ví dụ phân lớp Hình 2-1 Trọng lƣợng phụ thuộc tuyến tính vào chiều cao 19 Hình 2-2 Mặt phẳng phƣơng trình y=-31.67+0.65X1+0.13X2 22 Hình 2-3 Biểu diển hệ số chuẩn hóa theo k 29 Hình 2-4 Biểu diển VIF theo k 29 Hình 2-5 Cây định Số ngƣời chơi golf 36 Hình 2-6 Các số biến y (Hours) 37 lu Hình 2-7 Phân bố điểm huấn luyện 44 an n va Hình 2-8 Khoảng cách từ điểm đến điểm huấn luyện 46 Hình 2-9 Các điểm huấn luyện lân cận với K=3 46 tn to Hình 2-10 Các điểm huấn luyện lân cận với k=5 47 gh p ie Hình 2-11 Biểu đồ sai số huấn luyện theo giá trị k 48 Hình 2-12 Biểu đồ sai số đánh giá theo giá trị k 49 oa nl w Hình 3-1 Kết dự đốn mặt ngƣời nhờ cơng cụ học máy hồi quy 56 d Hình 3-2 Kết dự đoán ảnh tự thu thập nhờ công cụ học máy hồi quy lu fu n va an 62 oi m ll nh at z z om l.c gm @ Lu an n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an MỞ ĐẦU Lí chọn đề tài Cuộc Cách mạng Công Nghiệp lần thứ diễn ba lĩnh vực gồm Kỹ thuật số, Công nghệ sinh học Vật lý Trong Kỹ thuật số, Trí tuệ nhân tạo (AI), Vạn vật kết nối (IOT) Dữ liệu lớn (BigData) lĩnh vực cốt lõi Những năm gần trí tuệ nhân tạo phát triển trở lại đạt đƣợc nhiều thành tựu bật với đầu chung lập trình giúp máy tính tự động hóa hành vi thông minh nhƣ ngƣời Trợ lý ảo Google, lu chƣơng trình cờ vây AlphaGo, xe tự hành nhiều sản phẩm thông an n va minh khác minh chứng thành cơng Trí tuệ nhân tạo Trí tuệ nhân tạo đƣợc xây dựng từ khoa học tảng khác nhƣ: tn to suy diễn lập luận, biểu diễn tri thức, hiểu ngôn ngữ tự nhiên, nhận dạng gh p ie tổng hợp tiếng nói, thị giác máy, xử lý ảnh, hệ thống gợi ý, robot thông minh, khai phá liệu, học máy,…Trong đó, học máy (Machine Learning) oa nl w nhánh nghiên cứu quan trọng có đối tƣợng nghiên cứu riêng nhƣng kết d đƣợc ứng dụng khoa học tảng Nói cách khác, kết an lu nghiên cứu học máy xuất hầu hết ứng dụng quan trọng fu n va trí tuệ nhân tạo Vì vậy, học máy hƣớng nghiên cứu thu hút m ll quan tâm nhiều nhà khoa học kỹ thuật không riêng cơng nghệ thơng tin oi mà cịn nhiều lĩnh vực khác nhƣ tài chính, y khoa khoa học xã hội nh Hơn tỉ kết tìm kiếm trả sau 0,5 giây từ khóa “Machine at z Learning” Google cho thấy quan tâm đến học máy mức độ phổ biến z gm @ Vậy, học máy đƣợc quan tâm? "Học máy ngành học thuộc khoa học máy tính, giúp máy tính có khả l.c tự học mà khơng phải lập trình cách rõ ràng" (Arthur Samuel – 1959) om Học máy mơ hình hóa liệu máy Học máy phƣơng Lu an pháp phân tích liệu tự động xây dựng mơ hình, sử dụng thuật toán học n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 54 n_cols = + len(ESTIMATORS) # xác định khung tiêu đề plt.figure(figsize=(2 * n_cols, 2.26 * n_faces)) # Viết tiêu đề plt.suptitle("Dự đoán mặt ngƣời nhờ công cụ học máy hồi quy", size=16) # tạo liệu hình thật for i in range(n_faces): lu true_face = np.hstack((X_test[i], y_test[i])) an # tạo khung để trình bày hình thật n va if i: to tn sub = plt.subplot(n_faces, n_cols, i * n_cols + 1) gh p ie else: title="true faces") oa nl w sub = plt.subplot(n_faces, n_cols, i * n_cols + 1, # trình bày hình thật khung d an lu sub.axis("off") n va sub.imshow(true_face.reshape(image_shape), fu cmap=plt.cm.gray, m ll oi interpolation="nearest") nh # trình bày hình với dự đốn at z for j, est in enumerate(sorted(ESTIMATORS)): z if i: om l.c gm @ completed_face = np.hstack((X_test[i], y_test_predict[est][i])) sub = plt.subplot(n_faces, n_cols, i * n_cols + + j) Lu an n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 55 else: sub = plt.subplot(n_faces, n_cols, i * n_cols + + j, title=est) sub.axis("off") sub.imshow(completed_face.reshape(image_shape), cmap=plt.cm.gray, interpolation="nearest") plt.show() lu # kết thể hình an n va tn to gh p ie oa nl w d fu n va an lu oi m ll nh at z z om l.c gm @ Lu an n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 56 Hình 3-1 Kết dự đốn mặt ngƣời nhờ công cụ học máy hồi quy MSE hồi quy Extra trees 0.02371322936395485 MSE hồi quy K-nn 0.031421512 MSE hồi quy Linear regression 0.04658664 MSE hồi quy Ridge lu 0.01857024912938409 an n va Đánh giá độ xác thuật toán to tn Giá trị MSE hồi quy Ridge nhỏ nói thuật tốn gh hồi quy Ridge trong toán cho kết xác p ie Chƣơng trình nội suy ảnh mặt ngƣời với liệu tự thu thập nl w 3.2 oa # Dữ liệu tự thu thập ảnh số nhân viên Trong chương trình d an lu tương tự nội suy điểm nửa ảnh (2048 điểm) từ n va liệu điểm(2048) nửa ảnh Tập huấn luyện gồm 400 ảnh fu liệu Olivetti Tập kiểm tra gồm ảnh nhân viên tự thu thập Ảnh m ll xám thu từ ảnh màu oi nh # -*- coding: utf-8 -*- at z """ z om l.c gm @author: Pham Duy Son @ Created on Sun Jul 12:53:20 2019 """ Lu an print( doc ) n va ac th Stt.010.Mssv.BKD002ac.email.ninhd.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj.dtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn si C.vT.Bg.Jy.Lj.Tai lieu Luan vT.Bg.Jy.Lj van Luan an.vT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.LjvT.Bg.Jy.Lj Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 57 import numpy as np import matplotlib.pyplot as plt import cv2 from sklearn.datasets import fetch_olivetti_faces from sklearn.utils.validation import check_random_state from sklearn.ensemble import ExtraTreesRegressor from sklearn.neighbors import KNeighborsRegressor lu an from sklearn.linear_model import LinearRegression n va from sklearn.linear_model import RidgeCV tn to from sklearn.metrics import mean_squared_error gh p ie # Load tập liệu hình oa nl w data = fetch_olivetti_faces() targets = data.target d lu n va an data = data.images.reshape((len(data.images), -1)) train = data[targets

Ngày đăng: 24/07/2023, 03:17

Xem thêm: