Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,06 MB
Nội dung
ðẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ðẠI HỌC CÔNG NGHỆ NGUYỄN HOÀNG DƯƠNG MÁY VECTƠ TỰA (SUPPORT VECTOR MACHINE - SVM) VÀ ỨNG DỤNG TRONG VIỆC XÁC ðỊNH THAM SỐ ðỘ THẤM TRONG NGÀNH ðỊA CHẤT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ðẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ðẠI HỌC CƠNG NGHỆ NGUYỄN HỒNG DƯƠNG MÁY VECTƠ TỰA (SUPPORT VECTOR MACHINE - SVM) VÀ ỨNG DỤNG TRONG VIỆC XÁC ðỊNH THAM SỐ ðỘ THẤM TRONG NGÀNH ðỊA CHẤT Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ Phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TSKH Phạm Huy ðiển Hà Nội – 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III MỤC LỤC Lời cam ñoan I Lời cảm ơn II MỤC LỤC .III Danh mục ký hiệu, chữ viết tắt V Danh mục hình vẽ VI MỞ ðẦU Chương TỔNG QUAN VỀ MÁY VECTƠ TỰA SVM .4 1.1 ðặt vấn ñề 1.2 Số chiều Vapnik Chervonenkis 1.2.1 Chiều VC họ hàm [14, trang 80-83] 1.2.2 Shatter (nuốt) [19] ñiểm siêu phẳng ñịnh hướng ℝn 1.2.3 Số chiều VC số lượng tham số .9 1.3 Máy SVM tuyến tính .10 1.3.1 Siêu phẳng tách tối ưu [14, trang 133-135] .11 1.3.2 Một ví dụ tìm siêu phẳng tách tối ưu 16 1.3.3 Siêu phẳng tối ưu tổng quát [14, trang 136-138] 20 1.4 Máy SVM phi tuyến .23 1.4.1 Nguyên lý thực [14, trang 140-146] 23 1.4.2 Ví dụ hàm hạch 25 1.4.3 Một số hàm hạch hay dùng [14, trang 190-193] .26 1.5 Bài toán phân loại ña lớp 27 1.5.1 Chiến lược chọi phần lại (OVR: One – Versus – Rest) 27 1.5.2 Chiến lược chọi (OVO: One – Versus – One) 28 1.6 Hồi quy SVM (Support Vector Regression) 29 1.6.1 Hồi quy SVM tuyến tính [14, trang 183-190] 30 1.6.2 Hồi quy SVM phi tuyến 33 1.7 Một số ứng dụng SVM toán phân lớp 34 1.7.1 Chẩn đốn bệnh ung thư vú SVM phân loại hai lớp 34 1.7.2 Nhận dạng số viết tay SVM phân loại nhiều lớp .38 1.8 Kết luận 41 Chương TRIỂN KHAI TÍNH TỐN ðỘ THẤM TRONG NGÀNH ðỊA CHẤT 43 2.1 Dẫn nhập 43 2.2 Bài toán mơ vỉa chứa dầu khí [9,11] .44 2.2.1 Khái niệm chung mô 44 2.2.2 Các định nghĩa ký hiệu tốn học 45 2.2.3 Các thuộc tính đá chứa .46 2.2.4 Mơ hình tốn pha [9] 48 2.3 Vấn đề tính độ thấm 50 2.3.1 Phương pháp xác ñịnh ñộ thấm mẫu 50 2.3.2 Các ñặc trưng liên quan ñến ñộ thấm [9,11] .51 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com IV 2.4 Dự báo ñộ thấm sử dụng hồi quy SVM 53 2.4.1 Xác ñịnh ñộ thấm giếng khoan chưa có tài liệu khảo sát thử vỉa 53 2.4.2 Xác ñịnh ñộ thấm điểm khác (chỉ có tài liệu địa chấn) 54 2.5 Triển khai MatLab 54 2.5.1 Cách cài đặt gói cơng cụ 54 2.5.2 Chương trình thực .54 2.6 So sánh kết thực nghiệm 57 2.6.1 Quá trình huấn luyện 58 2.6.2 Dự đốn độ thấm .59 2.7 Kết luận 60 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO .63 PHỤ LỤC 65 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com V Danh mục ký hiệu, chữ viết tắt Thuật ngữ, chữ viết tắt Giải thích ANN Artificial Neural Network Mạng nơron nhân tạo Emp Empirical Risk Sai số thực nghiệm KKT Karush-Kuhn-Tucker OCR Optical Character Recognition Nhận dạng ký tự quang QP Quadratic Programing Quy hoạch toàn phương RBF Radial Basis Function Hàm bán kính SVM Support Vector Machine Máy vectơ tựa SVR Support Vector Regression Hồi quy SVM VC Vapnik Chervonenkis LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com VI Danh mục hình vẽ Hình 0-1 Siêu phẳng phân hoạch tập mẫu không gian ℝd Hình 1-1 Ba điểm thẳng hàng khơng bị nuốt ℝ2 Hình 1-2 Với điểm khơng thẳng hàng ℝ2 ln tồn siêu phẳng tách Hình 1-3 Siêu phẳng phân hoạch đơi tập mẫu khơng gian ℝn 11 Hình 1-4 Siêu phẳng tối ưu phân lớp tập mẫu 12 Hình 1-5 Tập mẫu khơng tách ñược siêu phẳng tối ưu .20 Hình 1-6 Siêu phẳng tối ưu tổng quát phân hoạch tập mẫu 23 Hình 1-7 Mặt phân hoạch phi tuyến khơng gian ℝn 24 Hình 1-8 Mặt phẳng ℝ2 thành mặt cong ℝ 26 Hình 1-9 SVM loại trừ phân lớp chọi 28 Hình 1-10 Chiến lược chọi loại trừ trường hợp xảy 29 Hình 1-11 Sai số hồi quy SVM tuyến tính 33 Hình 1-12 Màn hình hiển thị cấu trúc biến svmStruct 37 Hình 1-13 Kết kiểm tra chéo SVM chẩn đốn ung thư với λ = 0.1 (lần 1) .37 Hình 1-14 Kết kiểm tra chéo SVM chẩn đốn ung thư với λ = 0.1 (lần 2) .38 Hình 1-15 Ảnh mẫu biểu diễn số cần nhận dạng 41 Hình 1-16 Kết nhận dạng sử dụng SVM phân loại 10 lớp 41 Hình 2-1 Sơ đồ hệ thống mơ mỏ .44 Hình 2-2 Kết huấn luyện sử dụng ANN với 70 mẫu luyện 58 Hình 2-3 Kết huấn luyện sử dụng hồi quy SVM với 70 mẫu luyện 58 Hình 2-4 Kết sử dụng ANN dự báo ñộ thấm 59 Hình 2-5 Kết sử dụng SVR dự báo ñộ thấm 59 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỞ ðẦU Với tốc ñộ phát triển vũ bão thông tin nay, việc khai thác, sử dụng thơng tin dựa để đưa dự báo tốn có ứng dụng rộng rãi ñược nhiều người quan tâm nghiên cứu Nhiều kỹ thuật mơ hình hóa dự báo, gồm mạng thần kinh, phận cụm, ñịnh, suy luận quy nạp, mạng Beyesian, máy vectơ tựa SVM (Support Vector Machine), ñời giúp cho việc dự báo (prediction), phân loại (classification) thơng tin ngày tốt xác Các mơ hình dự báo sinh sử dụng liệu ñể huấn luyện kỹ thuật mơ hình hóa dự báo hay nói cách khác: liệu + kỹ thuật mơ hình hóa dự báo = mơ hình Do mơ hình dự báo kết việc kết hợp liệu tốn học, việc huấn luyện coi việc xác ñịnh ánh xạ từ tập hợp mẫu luyện (hay cịn gọi đầu vào) vào nhiều biến đích (hay cịn gọi biến đầu ra) Trong kỹ thuật đó, máy vectơ tựa SVM ñược Vapnik ñề xuất vào năm 1995 phương pháp học có giám sát dựa lý thuyết tối ưu hóa, thống kê, giải tích dùng toán phân loại mở rộng (cịn gọi hồi quy SVM) dùng tốn dự báo ứng dụng nhiều lĩnh vực coi cơng cụ mạnh, phổ biến đặc biệt thích hợp cho tốn với liệu lớn nhiều chiều Phân lớp (classification) tiến trình xử lý nhằm xếp mẫu liệu hay ñối tượng vào lớp ñã ñược ñịnh nghĩa trước Các mẫu liệu hay ñối tượng ñược xếp vào lớp dựa vào giá trị thuộc tính (attributes) cho mẫu liệu hay ñối tượng Sau ñã xếp tất ñối tượng ñã biết trước vào lớp tương ứng lớp đặc trưng tập thuộc tính đối tượng chứa lớp Q trình phân lớp cịn gọi q trình gán nhãn cho tập liệu Nhiệm vụ toán phân lớp liệu cần xây dựng mơ hình (bộ) phân lớp để có liệu vào mơ hình phân lớp cho biết liệu thuộc lớp Bài tốn phân lớp mơ tả sau: Xét tập hợp gồm N đối tượng, đối tượng đặc trưng thuộc tính (có thể mơ tả vectơ khơng gian n chiều) Theo ngun tắc “chun gia” đó, người ta định (một cách thủ cơng) cho đối tượng thuộc vào lớp k lớp xác định trước Nói chung, ngun tắc phân lớp khơng mơ tả cách tường minh dạng quy tắc, cơng thức hay thuật tốn xác ñịnh Vấn ñề ñặt ra: Khi số N lớn, khiến cho việc phân lớp thủ công khơng thể thực được, có hay khơng công cụ thực việc phân lớp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com cách tự ñộng, với khả sai sót xảy khơng vượt q tiêu xác định cho trước? Mơ hình tốn học cho tốn: Ta giả thiết, đối tượng xem vectơ A = (a1, a2, , an ) ∈ ℝn , tọa độ a j đặc trưng cho thuộc tính thứ j đối tượng Ta ký hiệu lớp ñối tượng thứ i Li (i = 1,2, , k ) ký hiệu L = { Li | i = 1, , k } tập tất lớp Như vậy, phép phân lớp xem ánh xạ từ tập tất ñối tượng D := { Ai | i = 1, , l ;l ≤ N } vào tập L , vấn ñề ñặt thiết lập ánh xạ F thực việc phân lớp cho sai sót (nếu có) khơng vượt q tiêu xác định cho trước ðể xây dựng thuật tốn phân lớp đối tượng theo phương pháp máy vectơ tựa SVM, người ta sử dụng tập ñối tượng ñã ñược phân lớp sẵn, ñể làm sở cho việc thiết lập tốn tối ưu nói Ý tưởng SVM chuyển tập mẫu từ không gian biểu diễn ℝn sang không gian ℝd ( d > n ) Trong không gian này, tìm siêu mặt tối ưu để tách tập mẫu dựa phân lớp chúng ñể từ ñó xác ñịnh ñược phân lớp mẫu cần nhận dạng (trong không gian ℝn ) ℝn ℝd ( d > n ) Mẫu cần nhận dạng Ánh xạ Siêu phẳng Mặt phân hoạch Hình 0-1 Siêu phẳng phân hoạch tập mẫu không gian ℝd Phương pháp máy vectơ tựa SVM đưa cơng thức cụ thể cho việc đánh giá khả sai sót (theo nghĩa xác suất), theo tập phân lớp sẵn (cịn gọi tập hợp luyện tập mẫu luyện) nhiều khả sai sót xảy với việc phân lớp thấp Luận văn bố cục sau, Chương tìm hiểu tổng quan máy vectơ tựa SVM, toán phân loại ña lớp, chiến thuật toán phân lớp mở rộng máy vectơ tựa SVM (hay gọi hồi quy SVM) dùng toán dự đốn Phần cuối chương trình bày số ứng dụng SVM thực tiễn ñược áp dụng dựa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com tốn phân loại hai nhiều lớp triển khai phần mềm MatLab Chương tìm hiểu máy “học” dùng hồi quy SVM để xác định thơng tin độ thấm – thơng số quan trọng tốn mơ vỉa dầu khí ngành địa chất thông qua thông tin liên quan khác (tại ñiểm ñã biết thông tin cụ thể ñộ thấm) Sau máy học, có khả ñưa thông tin ñộ thấm ñiểm cần dự báo kết thực nghiệm ñạt ñược Cuối kết luận hướng phát triển tương lai cho nghiên cứu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương TỔNG QUAN VỀ MÁY VECTƠ TỰA SVM Chương nghiên cứu số vấn đề SVM: phân lớp tuyến tính với siêu phẳng tối ưu, sử dụng hàm hạch ñể phân lớp gián tiếp thơng qua khơng gian đặc trưng với số chiều cao phân lớp phi tuyến, số chiến lược SVM cho toán phân loại ña lớp toán hồi quy SVM 1.1 ðặt vấn đề Xét khơng gian X ×Y với X = ℝn (với chuẩn Euclid thông thường), Y = {-1;1} có trang bị độ đo xác suất P (x , y ) đó, ta giả thiết thêm ñiểm ( x , y ) ∈ X ×Y biến ngẫu nhiên độc lập phân bố Giả sử ta có tập mẫu luyện tập X ×Y , x i vectơ ℝn tương ứng có yi ∈ { −1;1} , gọi yi nhãn x i liên kết với nó, ∀i ∈ {1, , l } Như vậy, từ tập mẫu luyện ta có hàm số từ tập liệu { x1, x 2, , xl } vào tập nhãn Y = {-1;1} Vấn đề đặt ra, tìm hàm số họ hàm { fα : X → Y } ( α tham số) cho ñộ rủi ro lý thuyết [14, trang 18] R(α) = ∫ X ×Y y − fα ( x ) P ( x , y )dxdy (1.1.1) nhỏ Tức là, ta phải tìm α để R(α) nhỏ Tuy nhiên, thực tế R(α) khơng tính cách cụ thể Do đó, ta dựa vào thơng tin tập mẫu luyện để giải tốn Gọi đại lượng [14, trang 20-21] l 1 Remp (α) = ∑ yi − fα (x i ) l i =1 (1.1.2) ñộ rủi ro thực nghiệm hàm fα : X → Y với tập mẫu luyện ñã cho Vapnik năm 1995 ñã chứng minh ñược với số η ∈ ( 0, bất đẳng thức [14, trang 76-80] R(α) ≤ Remp (α) + 2l η h log + − log h l (1.1.3) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 54 Dùng SVR luyện, từ xác định thơng tin SVR Bước 2: Xác ñịnh ñộ thấm giếng khoan chưa có tài liệu khảo sát thử vỉa Tại điểm dùng đặc trưng mơ tả tài liệu ñịa vật lý giếng khoan SVR ñể dự ñoán ñộ thấm 2.4.2 Xác ñ nh ñ th m t i m khác (ch có tài li u đ a ch n) Bước 1: Phân tích lựa chọn mẫu luyện Chọn giếng khoan vỉa làm mẫu luyện ðặc trưng (các tham số ñầu vào) ñể xây dựng SVR tham số ñược mô tả tài liệu ñịa chấn ñộ thấm giếng (một số giếng ñã biết qua ño ñạc số xác ñịnh ñược từ mục 2.4.1); Dùng SVR luyện, từ xác định thơng tin SVR Bước 2: Xác ñịnh ñộ thấm ñiểm khác Tại điểm cần tính độ thấm dùng đặc trưng mơ tả tài liệu địa chấn SVR để dự đốn độ thấm 2.5 Triển khai MatLab Với việc sử dụng hàm gói cơng cụ LIBSVM (A Library for Support Vector Machines) MatLab làm hỗ trợ, luận văn ñã xây dựng chương trình dự đốn theo hai phương pháp: hồi quy SVM mạng nơron nhân tạo ANN Trên sở luyện chạy thử mẫu dự đốn để ñưa kết luận so sánh tính hiệu hai phương pháp 2.5.1 Cách cài đ t gói cơng c Tải chương trình địa http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Biên dịch chương trình MatLab: o Mở tệp make.m thư mục libsvm-ver/matlab o Chạy lệnh mex –setup ñể “liên kết chương trình” vào MatLab Lệnh địi hỏi máy tính phải cài sẵn dịch chương trình viết ngôn ngữ C o 2.5.2 Biên dịch chương trình lệnh make Chơng trình th c hi n Theo phương pháp hồi quy SVM % Build Training set dulieu = dlmread('dvlgkX1.las','', 11,0); LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 55 % - So mau luyen toi da -u = dulieu(:,2:8); y = dulieu(:,9); % - define svm options %svm_type = 3; % epsilon SVM svm_type = 3; % nu-SVR kernel_type = 2; % RBF kernel: exp(-gamma*|u-v|^2) gamma = 10; % 'width' of the Gaussian basis function cost = 100; % C parameter in loss function epsilon = 0.01; % epsilon parameter in loss function options = ['-s ', num2str(svm_type), ' -t ', num2str(kernel_type), ' -g ', num2str(gamma), ' -c ', num2str(cost),' -p ', num2str(epsilon)]; % - solve the problem fprintf('Starting LIBSVM\n'); tic; train = dulieu(:,1:1)