intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tiểu luận môn khai phá dữ liệu: Phương pháp Support Vector Machines

Chia sẻ: Thiên Thiên | Ngày: | Loại File: DOCX | Số trang:18

250
lượt xem
43
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong thời đại công nghệ thông tin hiện nay, sự phát triển của công nghệ kéo theo sự gia tăng rất lớn của lưu lượng thông tin lưu trữ và trao đổi. Do đó, yêu cầu về tổ chức lưu trữ và truy cập thông tin sao cho hiệu quả được đặt lên hàng đầu. Hướng giải quyết được đưa ra là tổ chức, tìm kiếm và phân loại thông tin một cách hiệu quả.

Chủ đề:
Lưu

Nội dung Text: Tiểu luận môn khai phá dữ liệu: Phương pháp Support Vector Machines

  1. TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA CÔNG NGHỆ THÔNG TIN Môn: KHAI PHÁ DỮ LIỆU ĐỀ TÀI: Phương pháp Support Vector Machines                Danh sách sinh viên      : ­ Trần Thị Thơm 14110192 ­ Huỳnh Nhật Thành 14110178 ­ Nguyễn Quang Nhật 14110137
  2.            TP.HCM, ngày 26 tháng 04 năm 2017
  3. 1. Nội dung chung  Tên đề tài:  2. Phương pháp Support Vector Machines  Giảng viên hướng dẫn: 3. Quách Đình Hoàng  Sinh viên thực hiện: ­ Trần Thị Thơm ­ Huỳnh Nhật Thành ­ Nguyễn Quang Nhật  Thông tin liên lạc của sinh viên 4. 5. 6. 7. Email St Tên MSSV t 8. 9. 10. 11.  14110192  1 Trần Thị Thơm  14110192 @student.hcmute.edu.vn 12. 13. 14. 15.  14110178  2 Huỳnh Nhật Thành 14110178 @student.hcmute.edu.vn 16. 17. 18. 19. 14110137 3 Nguyễn Quang  14110137 @student.hcmute.edu.vn Nhật 20.  Chương trình, ứng dụng sử dụng: ­ Chương trình sử dụng: R studio ­ Ứng dụng:  21. Phân công thực hiện 2 23. Thực  24. 2 hiện
  4. P 2 26. Tìm  31. 5 kiếm,  . tổng hợp  C tài liệu 27. Lên nội  dung cần  làm cho  đề tài,  thời gian  thực  hiện. 28. Trình bày  slide 29. Sửa lỗi 30. 3 33. Tìm hiểu,  34. 2 xây dựng  . nội dung  N cơ bản  3 36. Triển  37. 5 khai nội  . dung chi  H tiết từng  phần 3 39. Tổng  40. 8 hợp, viết  . bài báo  T cáo.
  5. 41. MỞ ĐẦU 42. Trong thời đại công nghệ thông tin hiện nay, sự phát triển của công  nghệ kéo theo sự gia tăng rất lớn của lưu lượng thông tin lưu trữ và trao đổi. Do  đó, yêu cầu về tổ chức lưu trữ và truy cập thông tin sao cho hiệu quả được đặt  lên hàng đầu. Hướng giải quyết được đưa ra là tổ chức, tìm kiếm và phân loại  thông tin một cách hiệu quả. Bản thân con người trong đời sống cũng tiếp nhận  thế giới xung quanh thông qua sự phân loại và tổ chức ghi nhớ tri thức một cách  hiệu quả. Phân loại thông qua các lớp và mô tả các lớp giúp cho tri thức được  định dạng và lưu trữ trong đó. 43. Có nhiều phương pháp phân loại đã được nghiên cứu và được áp  dụng. Hiện nay, phương pháp phân loại Support Vector Machines là một trong  những phương pháp mạnh và hiệu quả để giải quyết các bài toán lớp phi tuyến  được Vapnik và Chervonenkis giới thiệu vào năm 1995. Vì vậy, nhóm em chọn  đề tài “Nghiên cứu thuật toán máy SVM”. 44. Lý do chọn đề tài 45. Vấn đề phân lớp và dự đoán là khâu rất quan trọng trong học máy  và khai phá dữ liệu, phát triển tri thức. Kỹ thuật Support Vector Machines  (SVM) được đánh giá là công cụ mạnh và tinh vi nhất hiện nay cho những bài  toán phân lớp phi tuyến. Nhiều ứng dụng đã và đang được xây dựng dựa trên kỹ  thuật SVM rất hiệu quả. 46. Nội dung cơ bản bao gồm 47. Chương 1: Giới thiệu Support Vector Machines 48. Chương 2: Tại sao chọn Support Vector Machines 49. Chương 3: Đặt vấn đề 50. Chương 4: Bài toán phân 2 lớp với SVM 51. Chương 5: So sánh và cải tiến SVM  52. Phần kết luận 53. Phần Demo
  6. 54. Phần tài liệu tham khảo 55. 56. CHƯƠNG 1: GIỚI THIỆU VỀ SUPPORT  VECTOR MACHINE 57. 1. Giới thiệu 58. Bài toán phân lớp (Classification) và dự đoán (Prediction) là  hai bài toán cơ bản và có rất nhiều ứng dụng trong tất cả các lĩnh vực  như: học máy, nhận dạng, trí tuệ nhân tạo , . v. v. Trong đề tài này, chúng  em sẽ đi sâu nghiên cứu phương pháp Support Vector Machines (SVM),  một phương pháp rất hiệu quả hiện nay. 59. Phương pháp SVM được coi là công cụ mạnh  cho những bài toán phân lớp phi tuyến tính được các  tác giải Vapnik và Chervonenkis phát triển mạnh mẽ  năm 1995. Phương pháp này thực hiện phân lớp dựa  trên nguyên lý Cực tiểu hóa rủi ro có Cấu trúc SRM  (Structural Risk Minimization), được xem là một  trong các phương pháp phân lớp giám sát không tham  số tinh vi nhất cho đến nay. Các hàm công cụ đa  dạng của SVM cho phép tạo không gian chuyển đổi  để xây dựng mặt phẳng phân lớp. 60. 2. Lịch sử 61. Thuật toán Support Vector Machines (SVM) ban đầu tìm ra  bởi Vladimir N.Vapnik và dạng chuẩn hiện nay sử dụng lề mềm được  tìm ra bởi Vapnik và Corinna Cortes năm 1995. 62. 3. Định nghĩa
  7. 63. Là phương pháp dựa trên nền tảng của lý thuyết thống kê nên  có một nền tảng toán học chặt chẽ để đảm bảo rằng kết quả tìm được là  chính xác. 64. Là thuật toán học giám sát (supervied learning)  được sử dụng cho phân lớp dữ liệu. 65. Là một phương pháp thử nghiệm, đưa ra 1 trong  những phương pháp mạnh và chính xác nhất trong  số các thuật toán nổi tiếng về phân lớp dữ liệu. 66. SVM là một phương pháp có tính tổng quát cao  nên có thể được áp dụng cho nhiều loại bài toán  nhận dạng và phân loại. 67. 68. 4. Ứng dụng ­ Nhận dạng: tiếng nói, ảnh, chữ viết tay (hơn mạng nơron) ­ Phân loại văn bản, khai mỏ dữ liệu văn bản ­ Phân tích dữ liệu theo thời gian ­ Phân tích dữ liệu gien, nhận dạng bệnh, công nghệ bào chế thuốc ­ Phân tích dữ liệu marketing 69. 70. 71. CHƯƠNG 2: TẠI SAO CHỌN SUPPORT  VECTOR MACHINES 72. 73. Sử dụng thuật toán Support vector machines có  nhiều lơi ích:
  8.  SVM rất hiệu quae để giải quyết bài toán dữ liệu có số chiều lớn  (ảnh của dữ liệu biểu diễn gien, protein, tế bào)  SVM giải quyết vấn đề overfitting rất tốt (dữ liệu có nhiễu và tách  rời nhóm hoặc dữ liệu huấn luyện quá ít)  Là phương pháp phân lớp nhanh  Có hiệu suất tổng hợp tốt và hiệu suất tính toán cao. 74. 75. CHƯƠNG 3: ĐẶT VẤN ĐỀ 1. Ý tưởng 76. Cho trước một tập huấn luyện, được biểu diễn trong không  gian vector, trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra  một siêu phẳng f quyết định tốt nhất có thể chia các điểm trên không  gian này thành hai lớp riêng biệt tương ứng là lớp “+” và lớp “­”. Chất  lượng của siêu phẳng này được quyết định bởi khoảng cách (gọi là  biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khi  đó, khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng  thời việc phân loại càng chính xác. 77.Ý tưởng của nó là ánh xạ (tuyến tính hoặc phi tuyến) dữ liệu  vào không gian các vector đặc trưng (space of feature vectors) mà ở đó  một siêu phẳng tối ưu được tìm ra để tách dữ liệu thuộc hai lớp khác  nhau. 78.Mục đích của phương pháp SVM là tìm được khoảng cách  biên lớn nhất.
  9. 79. 80. Đường tô đậm là siêu phẳng tốt nhất và các điểm được bao  bởi hình chữ nhật là những điểm gần siêu phẳng nhất, chúng được gọi  là các vector hỗ trợ (support vector). Các đường nét đứt mà các support  vector nằm trên đó được gọi là lề (margin). 81. 2. Cơ sở lý thuyết 82. SVM thực chất là một bài toán tối ưu, mục tiêu của thuật  toán này là tìm được một không gian F và siêu phẳng quyết định f trên  F sao cho sai số phân loại là thấp nhất. 83. Cho tập mẫu D = {(x1, y1), (x2,y2), …, (xl, yl)} với xi   , thuộc  vào hai lớp nhãn yi  {­1,1} là tập nhãn lớp tương ứng của các xi (­1 biểu  thị lớp I, 1 biểu thị lớp II). 84. Ta có, phương trình siêu phẳng chứa vector  trong không gian: 85. 86. .+ b = 0 87.
  10. 88. Đặt f() = sign(.+ b) ={  89. Như vậy, f() biểu diễn sự phân lớp của  vào hai lớp như nêu trên. 90. Ta nói yi = +1 nếu thuộc lớp I và yi = ­1 nếu  thuộc lớp II. 91. 92. 93. CHƯƠNG 4: BÀI TOÁN PHÂN 2 LỚP VỚI SVM 94. 95.Bài toán đặt ra là: Xác định hàm phân lớp lớp để phân lớp các  mẫu trong tương lai, nghĩa là với một mẫu dữ liệu mới xi thì cần phải  xác định xi được phân lớp +1 hay lớp ­1. Ta xét 3 trường hợp, mỗi trường hợp sẽ có 1 bài toán tối ưu,  96. giải được bài toán tối ưu đó sẽ tìm được siêu phẳng cần tìm. 97. 1. Trường hợp 1 98. 99. Tập D có thể phân chia tuyến tính được mà không  có nhiễu (tất cả các điểm được gán nhãn +1 thuộc  về phía dương của siêu phẳng, tất cả các điểm  được gán nhãn ­1 thuộc về phía âm của siêu phẳng) 100.
  11. 101. 102. Hình 2. Tập dữ liệu được phân chia tuyến tính 103. 104. Ta sẽ tìm siêu phẳng tách với w   là vector trọng  số, b   là hệ số tự do, sao cho: 105. Đặt f() = sign(.+ b) ={     D 106. Lúc này ta cần giải toán tối ưu: 107. {  108. 109. 2. Trường hợp 2 110. 111. Tập dữ liệu D có thể phân chia tuyến tính được  nhưng có nhiễu. Trong trường hợp này, hầu hết các  điểm đều được phân chia đúng bởi siêu phẳng. Tuy  nhiên có 1 số điểm bị nhiễu, nghĩa là: điểm có nhãn  dương nhưng lại thuộc phía âm của siêu phẳng, 
  12. điểm có nhãn âm nhưng lại thuộc phía dương của  siêu phẳng. 112. 113. Hình 3. Tập dữ liệu phân chia tuyến tính nhưng   có nhiễu 114. 115. Trong trường hợp này, ta sử dụng 1 biến mềm  sao cho: yi.(.+  b) , i=1,…,l 116. Bài toán tối ưu trở thành :  117. {  118. Trong đó C là tham số xác định trước, định nghĩa giá trị ràng  buộc, C càng lớn thì mức độ phạm vi đối với những lỗi thực nghiệm (là  lỗi xảy ra lúc huấn luyện, tính bằng thương số của số phần tử lỗi và tổng  số phần tử huấn luyện) càng cao. 3. Trường hợp 3 119.
  13. 120. Ta dữ liệu D không thể phân chia tuyến tính  được, ta sẽ ánh xạ các vector dữ liệu x từ không  gian n chiều vào một không gian m chiều (m > n),  sao cho trong không gian m chiều, D có thể phân  chia tuyến tính được. 121. 122. Hình 4. Tập dữ liệu không phân chia tuyến tính. 123. 124. Gọi  là ánh xạ phi tuyến từ không gian  vào không giam  125.  →  126. Bài toán tối ưu trở thành: 127. { 4. Bài toán phân đa lớp của SVM 128. Để phân đa lớp thì kỹ thuật SVM sẽ chia không  gian dữ liệu thành 2 phần và tiếp tục với không gian 
  14. đã được phân chia. Khi đó hàm quyết định phân dữ  liệu vào lớp thứ I sẽ là: 129. 130. 131. Những phần tử x là support vector nếu thỏa điều kiện: 132. 133. Giả sử bài toán phân loại k lớp (k ), ta sẽ tiến hành k(k­1)/2  lần phân lớp nhị phân sử dụng phương pháp SVM. Mỗi lớp sẽ tiến  hành phân tách với k­1 lớp còn lại để xác định k­1 hàm phân tách  (chiến lược “một­đối­một” (one­against­one).  134. Kỹ thuật phân đa lớp bằng phương pháp hiện vẫn đang  được tiếp tục nghiên cứu và phát triển.  LƯU Ý :   CÁC BƯỚC CHÍNH CỦA PHƯƠNG PHÁP SVM 135.  Tiền xử lý dữ liệu: Phương pháp SVM yêu cầu được diễn tả  như các vector của các số thực. Như vậy nếu đầu vào chưa phải  là số thực thì ta cần tìm cách chuyển chúng về dạng số SVM.  Tránh các số quá lớn, thường nên co giãn dữ liệu để chuyển  đoạn [­1,1] hoặc [0,1].  Chọn hàm hạt nhân: cần chọn hàm hạt nhân phù hợp tương  ứng cho từng bài toán cụ thể để đạt được độ chính xác cao trong  quá trình học tập.  Thực hiện việc kiểm tra chéo để xác định các tham số cho  ứng dụng.  Sử dụng các tham số cho việc huấn luyện tập mẫu.  Kiểm thử tập dữ liệu Test. 136.
  15. 137. CHƯƠNG 5: SO SÁNH VÀ MỘT SỐ CẢI TIỀN 138. 139.Một số phương pháp như neuron, fuzy logic, mạng fuzzy­ neuron,…, cũng được sử dụng thành công để giải quyết bài toán phân lớp.  Ưu điểm của phương pháp này là không cần xác định mô hình đối của đối  tượng. 140. SVM có 2 đặc trưng cơ bản: ­ Nó luôn kết hợp với các dữ liệu có ý nghĩa về mặt vật lý, do vậy  dễ dàng giải thích được một cách tường minh, ­ Cần một tập các mẫu huấn luyện rất nhỏ. 141. Phương pháp SVM hiện nay được xem là một công cụ mạnh và tinh  vi nhất hiện any cho những bài toán phân lớp phi tuyến. Nó có một số  biến thể như C­SVC, v­SVC. Cải tiến mới nhất hiện nay của phương  pháp SVM đã được công bố là thuật toán NNSRM (Nearest Neighbor  Structural Risk Minimization) là sự kết hợp giữa 2 kỹ thuật SVM và  Nearest Neighbor. 142. 143. KẾT LUẬN 1. Ưu điểm và nhược điểm của phương pháp Support Vector Machines 144. 1.1. Ưu điểm 145. Là một kĩ thuật phân lớp khá phổ biến, SVM thể hiện được nhiều  ưu điểm trong số đó có việc tính toán hiệu quả trên các tập dữ liệu lớn.  Có thể kể thêm một số ưu điểm của phương pháp này như: Xử lý trên không gian số chiều cao: SVM là một công cụ  tính toán hiệu quả trong không gian chiều cao, trong đó đặc biệt áp  dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi  chiều có thể cực kỳ lớn
  16. Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm  được sử dụng trong quá trình huấn luyện và ra quyết định thực tế  cho các điểm dữ liệu mới nên chỉ có những điểm cần thiết mới  được lưu trữ trong bộ nhớ khi ra quyết dịnh Tính linh hoạt ­ phân lớp thường là phi tuyến tính. Khả năng  áp dụng Kernel mới cho phép linh động giữa các phương pháp  tuyến tính và phi tuyến tính từ đó khiến cho hiệu suất phân loại lớn  hơn. 146. 1.2. Nhược điểm Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính  (p) của tập dữ liệu lớn hơn rất nhiều so với số lượng dữ liệu (n)  thì SVM cho kết quả khá tồi Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ  là việc cố gắng tách các đối tượng vào hai lớp được phân tách bởi  siêu phẳng SVM. Điều này chưa giải thích được xác suất xuất hiện  của một thành viên trong một nhóm là như thế nào. Tuy nhiên hiệu  quả của việc phân lớp có thể được xác định dựa vào khái  niệm margin từ điểm dữ liệu mới đến siêu phẳng phân lớp mà  chúng ta đã bàn luận ở trên. 147. 2. Những kết quả đạt được 148. ­ Nghiên cứu và trình bày cơ sở của lý thuyết của phương pháp học  máy. ­ Trình bày phương pháp SVM. Đây là một phương pháp phân lớp  hiệu quả được nghiên cứu nhiều nhất trong thời gian qua. ­ Phân tích những giải pháp cho phép mở rộng và cải tiến để nâng  cao hiệu quả ứng dụng của SVM: Kết hợp phương pháp SVM với một số phương pháp  khác như phương pháp người láng giếng gần nhất (nearest 
  17. neighbor),… để làm tăng hơn nữa tốc độ tính toán, cũng như  độ chính xác cho SVM. Cải tiến SVM cho phép phân chia không gian dữ liệu  một cách tốt hơn, nhằm loại bỏ những vùng không được  phân lớp bằng cách đưa kỹ thuật mờ vào SVM. 149. 3. Hướng phát triển của đề tài 150. ­ Thông qua các ứng dụng thực tiễn đã và đang nghiên cứu sử dụng  phương pháp SVM, có thể thấy được những khả năng to lớn của nó,  đồng thời mở ra những ứng dụng mới. ­ Kết hợp phương pháp SVM với những phương pháp khác phù hợp  với từng đối tượng cụ thể nhằm làm tăng hơn nữa hiệu quả phân lớp,  tốc độ tính toán cũng như độ chính xác cho SVM. 151. DEMO 152. 153. TÀI LIỆU THAM KHẢO 154. 155. [1] Thái Sơn: Luận văn thạc sỹ khoa học: Kỹ thuật Support Vector  Machines và ứng dụng. Ngành toán tin ứng dụng: Đại học Bách khoa Hà Nội,  2006. 156. [2] PGS.TS Vũ Thành Nguyên, Thi Minh Nguyễn: Một số cải tiến của bài  toán phân lớp văn bản sử dụng thuật toán SVM và áp dụng trong phân tích tiếng  Việt. Đại học Công nghệ thông tin – ĐHQG, 2011.
  18. 157. [3] Phạm Văn Sơn: Đồ án tốt nghiệp đại học hệ chính quy: Tìm hiểu về  Support Vector Machines cho bài toán phân lớp quan điểm.Đại học dân lập Hải  Phòng,2012. 158. [4]Jiawei Han, Micheline Kamber, Jian Pei Data Mining. Concepts and  Techniques, 3rd Edition. 159.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0