Nghiên cứu về thuật toán logistic regression trong học máy và ứng dụng phân biệt giới tính dựa vào ảnh khuôn mặt

41 35 0
Nghiên cứu về thuật toán logistic regression trong học máy và ứng dụng phân biệt giới tính dựa vào ảnh khuôn mặt

Đ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

PHẠM VIỆT LINH TRƯỜNG ĐẠI HỌC VINH NGHIÊN CỨU VỀ THUẬT TOÁN LOGISTIC REGRESSION TRONG HỌC MÁY VÀ ỨNG DỤNG PHÂN BIỆT GIỚI TÍNH DỰA VÀO ẢNH KHN MẶT KHĨA 24 PHẠM VIỆT LINH NGHIÊN CỨU VỀ THUẬT TOÁN LOGISTIC REGRESSION TRONG HỌC MÁY VÀ ỨNG DỤNG PHÂN BIỆT GIỚI TÍNH DỰA VÀO ẢNH KHN MẶT LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN VĨNH LONG, 7/2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH PHẠM VIỆT LINH LUẬN VĂN THẠC SỸ Chuyên ngành: Công nghệ thông tin Mã ngành: 8.48.02.01 NGHIÊN CỨU VỀ THUẬT TOÁN LOGISTIC REGRESSION TRONG HỌC MÁY VÀ ỨNG DỤNG PHÂN BIỆT GIỚI TÍNH DỰA VÀO ẢNH KHN MẶT Người hướng dẫn: TS TRẦN XUÂN SANG VĨNH LONG, tháng 7/2018 LỜI CẢM ƠN Trƣớc tiên, tơi xin bày tỏ lịng biết ơn chân thành sâu sắc tới Thầy TS Trần Xuân Sang tận tình hƣớng dẫn tơi suốt suốt q trình thực đề tài Tơi xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô khoa công nghệ thông tin trƣờng Đại học Vinh truyền đạt kiến thức quý báu cho năm học vừa qua Tôi xin gửi lời cảm ơn anh chị nhóm anh Vũ Hữu Tiệp Machine Learning Nhiệt tình giúp đỡ trình tơi làm luận văn Xin chân thành cảm ơn anh chị bạn bè, đặc biệt thành viên lớp K24 Vĩnh Long ủng hộ, giúp đỡ động viên suốt thời gian học tập vừa qua Mặc dù cố gắng hoàn thành luận văn phạm vi khả cho phép nhƣng chắn không tránh khỏi thiếu sót Tơi kính mong nhận đƣợc cảm thơng tận tình bảo q Thầy Cơ bạn Tôi xin chân thành cảm ơn! Vĩnh Long, ngày tháng 06 năm 2018 Học Viên Phạm Việt Linh LỜI CAM ĐOAN Tôi xin cam đoan luận văn tự thân thực sản phẩm riêng Các số liệu tài liệu luận văn trung thực, tin thứ cấp sử dụng luận văn có nguồn gốc đƣợc trích dẫn rõ ràng Tơi hồn tồn chịu trách nhiệm tính xác thực nguyên luận văn Tác giả Phạm Việt Linh MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT MỞ ĐẦU CHƢƠNG BÀI TOÁN PHÂN LỚP TRONG HỌC MÁY 1.1 Giới thiệu 1.2 Các bƣớc thực 10 1.3 Một số thuật toán 11 1.1.3 Phân loại Bayes (Naive Bayes Classification) 11 1.1.3 Hồi quy logistic (Logistic Regression) 11 1.1.3 Support Vector Machines (SVM) 12 1.1.3 Phân tích thành phần (PCA) 12 1.4 Bài tốn nhận dạng giới tính dựa vào ảnh khuôn mặt 13 1.4.1 Giới thiệu toán 13 1.4.2 Giới thiệu mơ hình phân lớp 13 1.4.3 Tình hình nghiên cứu nƣớc 14 1.4.4 Tình hình nghiên cứu ngồi nƣớc 14 CHƢƠNG 15 HỆ THỐNG PHÂN BIỆT GIỚI TÍNH DỰA VÀO ẢNH KHN MẶT 15 2.1 Thuật tốn Logistic Regression 15 2.2 Một số ứng dụng thuật toán Logistic Regression 23 2.3 Hƣớng tiếp cận xây dựng hệ thống 24 2.4 Tiền xử lý 24 2.5 Trích chọn đặc trƣng ảnh khuôn mặt PCA 24 CHƢƠNG 32 THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 32 3.1 Dữ liệu thử nghiệm 32 3.2 Thử nghiệm với lập trình Python 32 KẾT LUẬN 38 TÀI LIỆU THAM KHẢO 39 DANH MỤC HÌNH ẢNH Hình 2.1 Ví dụ kết thi dựa số ôn tập 18 Hình 2 Các activation function khác 18 Hình Tại Linear Regression không phù hợp? 19 Hình Dữ liệu hàm sigmoid tìm 20 Hình 2.5 Hai class với liệu hai chiều 20 Hình Hàm sigmoid với liệu có chiều 21 Hình Logistic Regression với liệu hai chiều 21 Hình 2.8 Ảnh đầu vào 26 Hình Các ví dụ mẫu AR Face database thu gọn 32 Hình Ví dụ kết tìm Logistic Regression 37 DANH MỤC CÁC TỪ VIẾT TẮT Thuật ngữ Viết tắt Machine Learning ML Support Vector Machine SVM Principal Component Analysis PCA MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Machine learning phƣơng pháp phân tích liệu mà tự động hóa việc xây dựng mơ hình phân tích Sử dụng thuật toán lặp để học từ liệu, machine learning cho phép máy tính tìm thấy thơng tin giá trị ẩn sâu mà khơng đƣợc lập trình cách rõ ràng nơi để tìm Khía cạnh lặp lại machine learning quan trọng mơ hình đƣợc tiếp xúc với liệu chúng thích ứng cách độc lập Chúng học từ tính tốn trƣớc để tạo định nhƣ kết lặp lại đáng tin cậy Đó ngành khoa học không - nhƣng dành đƣợc nhiều mối quan tâm để phát triển bùng nổ Những ứng dụng Machine learning đời sống hàng ngày nhƣ:  Phát gian lận  Các kết tìm kiếm web  Quảng cáo theo thời gian thực trang web thiết bị di động  Phân tích tình cảm dựa văn  Điểm số tín dụng lời mời chào tốt  Dự đoán hƣ hỏng thiết bị  Những mơ hình định giá  Phát xâm nhập mạng  Nhận dạng qua pattern (mẫu) hình ảnh  Lọc bỏ email spam Một ứng dụng phổ biến machine learning việc nhận dạng pattern (mẫu) đƣợc sử dụng để nhận nhiều loại hình ảnh khác Ví dụ, Bƣu điện Mỹ sử dụng machine learning để nhận dạng chữ viết tay Cảnh sát nhận dạng đối tƣợng tình nghi qua hình dạng, khn mặt Các thuật tốn học máy đƣợc ứng dụng tốn nhận dạng nhƣ nhận dạng khn mặt, nhận dạng ký tự, nhận dạng chữ ký, nhận dạng ký tụ viết tay, nhận dạng thƣ rác… thuật tốn học máy nhƣ hồi quy tuyến tính, định, hồi quy ridge, K Nearest Neighbor… [1] Nhận dạng khuôn mặt đƣợc ứng dụng nhiều lĩnh vực thƣơng mại, bảo mật, phát tội phạm Có nhiều phƣơng pháp nhận dạng khác đƣợc xây dựng để nhận dạng ngƣời giới Tuy nhiên việc nhận dạng đƣợc ngƣời giới bao la việc vơ khó khăn để nhận dạng đƣợc ta phải xây dựng sở liệu đủ lớn nhận dạng đƣợc với độ xác cao khoảng thời gian ngắn Muốn thực đƣợc với độ xác cao thời gian ngắn ta tích hợp nhận diện giới tính dựa vào ảnh khuôn mặt [1] Mục tiêu nghiên cứu 2.1 Mục tiêu tổng quát Nghiên cứu thuật toán Logistic Regression học máy ứng dụng để giải tốn phân biệt giới tính dựa vào ảnh khn mặt 2.2 Mục tiêu cụ thể Đề tài tập trung vào mục tiêu sau: - Nghiên cứu thuật toán Logistic Regression học máy - Nghiên cứu trích chọn đặc trƣng ảnh khn mặt - Nghiên cứu cài đặt thuật toán Logistic Regression python để phân biệt giới tính dựa vào ảnh khn mặt; so sánh đánh giá hiệu thuật toán tỷ lệ nhận dạng Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.1.1 Nghiên cứu lý thuyết - Nghiên cứu tài liệu tốn nhận dạng mặt ngƣời cơng bố nƣớc; - Nghiên cứu tài liệu trích chọn đặc trƣng ảnh khn mặt cho hệ thống nhận dạng - Nghiên cứu thuật toán Logistic Regression học máy để ứng dụng phân biệt giới tính dựa vào ảnh khn mặt 3.1.2 Nghiên cứu thực nghiệm - Nghiên cứu xây dựng sở liệu thuật toán Logistic Regression học máy - Nghiên cứu ngơn lập trình python cài đặt để ứng dụng phân biệt giới tính dựa vào ảnh khn mặt 3.2 Phạm vi nghiên cứu Bài tốn phân biệt giới tính dựa vào ảnh khn mặt.có thể đƣợc thực thuật toán nhận dạng khác nhƣ Linear Regression Perceptron Learning Algorithm (PLA) Trong phạm vi luận văn này, chúng tơi tập trung giải tốn sử dụng thuật toán Logistic Regression Nội dung nghiên cứu - Nghiên cứu tổng quan toán phân lớp - Nghiên cứu thuật toán tiền xử lý để nâng cao chất lƣợng ảnh - Nghiên cứu phƣơng pháp để trích chọn đặc trƣng ảnh mặt ngƣời - Nghiên cứu thuật toán Logistic Regression - Nghiên cứu ngơn ngữ lập trình python để cài hệ thống nhận dạng Mục tiêu phƣơng pháp PCA “giảm số chiều” tập vector cho đảm bảo đƣợc “tối đa thông tin quan trọng nhất” Tức Feature extraction (giữ k thuộc tính “mới”) khơng phải Feature selection (giữ lại k thuộc tính nguyên gốc ban đầu) Tất nhiên, loại bỏ số thành phần x để thu đƣợc y gây sai số (lỗi) !! Phƣơng pháp PCA cố gắng tìm phép biến đổi tuyến tính T thỏa: y=T.x cho trung bình bình phƣơng lỗi (MSE) bé Cách để tìm T: Gọi M vector trung bình tất vector x tập mẫu Gọi ma trận hiệp phƣơng sai phần tử x tập mẫu C C đƣợc tính theo công thức sau: Ngƣời ta chứng minh đƣợc rằng: “Nếu T ma trận m hàng, hàng vector riêng C, đồng thời m vector riền phải ứng với m trị riêng lớn Khi T phép biến đổi thỏa MSE nhỏ nhất” Nói tóm lại, phƣơng pháp PCA quy việc tìm trị riêng (eigenvalues) vector riêng (eigenvectors) ma trận hiệp phƣơng sai C tập mẫu X Sau đó, ta giữ lại K vector riêng ứng với K trị riêng lớn để làm sở cho không gian Các bước thực hiện: Bước 1: 25 Sử dụng ảnh khuôn mặt I1, I2, … In (tập khuôn mặt huấn luyện) với khuôn mặt phải diện & tất ảnh phải kích thước Hình 2.9 Ảnh đầu vào Bước 2: Biểu diễn ảnh Ii thành vector i Ví dụ: Để đơn giản ta giả sử có ảnh tập huấn luyện (kích thƣớc 3x3) Ta tính tốn đƣợc: Bước 3: 26 Tính vector khn mặt trung bình  theo cơng thức: Cụ thể ta có: Bước 4: Trừ vector khn mặt trung bình: Cụ thể ta có: Bước 5: Tính ma trận hiệp phƣơng sai C: C có kích thƣớc N2xN2 Trong đó: 27 A có kích thƣớc N2xM Cụ thể ta có: Từ ta dễ dàng tính đƣợc ma trận hiệp phƣơng sai C, kết nhƣ sau: C= Ma trận C kích thƣớc N2x N2 (9x9) Quá lớn !! Bước 6: Tính Eigenvector ui (“vector riêng”) ma trận vuông A.AT (C có kích thƣớc N2xN2) Bước 6.1: 28 Xét ma trận AT.A (chú ý ma trận có kích thƣớc MxM) Cụ thể ta có: AT.A = Kích thƣớc MxM (4x4) Bước 6.2: Tính vector riêng vi (eigenvectors) ma trận vuông AT.A Ở ta tìm đƣợc trị riêng ma trận AT.A, nhiên ta xếp lại theo thứ tự giảm dần, lấy trị riêng “non-zero” Kết ta đƣợc trị riêng (từ tính vector riêng tƣơng ứng): Sau tính đƣợc vector vi (có kích thƣớc Mx1), ta dễ dàng suy đƣợc vector riêng ui (kích thƣớc N2x1) mong muốn cần tìm, theo cơng thức: (*) 29 ui u  i Chú ý nên chuẩn hóa vector ui ( ui  ), nghĩa là: ui Sau chuẩn hóa ta thu đƣợc vector ui cuối nhƣ sau: Bước 6.3: Tính M vector riêng ui tốt A.AT theo công thức (*) Bước 7: Chỉ giữ lại K vector riêng số M vector nói (ứng với K trị riêng lớn nhất), tất nhiên K

Ngày đăng: 01/08/2021, 11:39

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan