TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Đề tài MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP NÂNG CAO Giảng viên hướng dẫn LÊ CHÍ NGỌC MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG I[.]
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Đề tài: MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP NÂNG CAO Giảng viên hướng dẫn: LÊ CHÍ NGỌC MỤC LỤC LỜI NÓI ĐẦU .2 CHƯƠNG I MẠNG NIỀM TIN BAYES 1.1 Khái niệm chế hoạt động 1.2 Luyện mạng niềm tin Bayes CHƯƠNG II SUPPORT VECTOR MACHINES 2.1 Trường hợp liệu phân tách tuyến tính 2.1 Trường hợp liệu khơng thể phân tách tuyến tính .11 CHƯƠNG III PHÂN LỚP SỬ DỤNG MẪU PHỔ BIẾN .13 3.1 Phân lớp liên kết 13 3.1 Phân lớp dựa mơ hình phân biệt phổ biến .17 CHƯƠNG IV LAZY LEANERS .19 4.1 Bộ phân lớp k-Nearest-Neighbor 19 4.2 Phân lớp lập luận theo trường hợp 21 TỔNG KẾT 23 LỜI NÓI ĐẦU Trong thời đại bùng nổ thông tin, việc tạo thu thập liệu dễ dàng thuận đáng kể từ nhiều nguồn khác Một lượng liệu khổng lồ tràn ngập khía cạnh sống Sự tăng trưởng đột biến tạo nhu cầu cấp thiết cho kỹ thuật công cụ hỗ trợ giúp việc phân tích trích xuất thơng tin hữu ích từ liệu cách hiệu Điều tạo hệ đầy hứa hẹn ngành khoa luyện máy tính gọi khai phá liệu Trong báo cáo này, em trình bày số kỹ thuật nâng cao để phân lớp liệu Các nội dung trình bày bao gồm: mạng niềm tin Bayes (không giả định điều kiện độc lập naïve Bayes); SVM (support vector machine); phân lớp sử dụng mẫu phổ biến (frequent patterns) vài thuật toán lazy learner KNN (k nearest-neighbor) CBR (case-based reasoning) CHƯƠNG I MẠNG NIỀM TIN BAYES 1.1 Khái niệm chế hoạt động Bộ phân lớp naive Bayes cần giả định độc lập có điều kiện lớp, nghĩa là, đưa nhãn thành tập hợp, giá trị thuộc tính giả sử có điều kiện độc lập với Điều giúp đơn giản hóa tính tốn Khi mà giả định đúng, phân lớp naive Bayes phân lớp xác so với tất phân lớp khác Tuy nhiên, thực tế, phụ thuộc tồn biến Mạng niềm tin Bayes định phân phối xác suất có điều kiện chung Nó cho phép lớp độc lập xác định tập hợp biến Mạng niềm tin Bayes sau train sử dụng để phân lớp Mạng niềm tin Bayes gọi mạng niềm tin, mạng Bayes mạng xác suất Trong nội dung báo cáo này, em gọi chung mạng niềm tin Một mạng niềm tin xác định hai thành phần, đồ thị chu kỳ có hướng bảng xác suất có điều kiện (Hình 1.1) Mỗi nút biểu đồ chu kỳ có hướng đại diện cho biến ngẫu nhiên Các biến có giá trị rời rạc có giá trị liên tục Mỗi đườnng nối đại diện cho phụ thuộc xác suất Nếu đường nối vẽ từ nút Y đến nút Z, Y nút cha nút tiền thân trực tiếp Z Z nút Y Mỗi biến độc lập có điều kiện với nút mà khơng phải nút đồ thị Hình 1.1: Mạng niềm tin Bayes đơn giản Một mạng niềm tin có bảng xác suất có điều kiện (conditional probability table) cho biến Bảng xác suất có điều kiện cho biến Y định phân phối có điều kiện P (Y | Parents(Y)), Parents (Y) nút cha Y Hình 1.1 (b) hiển thị bảng xác suất có điều kiện cho biến LungCancer Xác suất có điều kiện cho giá trị biết LungCancer đưa cho kết hợp có giá trị nút cha Chẳng hạn, từ phía bên trái mục bên phải, tương ứng, ta có: P (LungCancer = có | FamilyHistory = có, Người hút thuốc = có) = 0.8 P (LungCancer = không | FamilyHistory = không, Người hút thuốc = không) = 0.9 Đặt X = (x1, , xn) liệu mô tả biến thuộc tính tương ứng Y1, , Yn Nhớ lại biến độc lập có điều kiện với nút mà khơng phải nút đồ thị, cung cấp nút cha Điều cho phép mạng cung cấp đại diện đầy đủ phân phối xác suất chung có với phương trình sau: Hình 1.2 Trong P (x1, , xn) xác suất kết hợp cụ thể giá trị X giá trị cho P (xi | Parents(Yi)) tương ứng với mục bảng xác suất có điều kiện cho Yi Một nút mạng chọn làm nút đầu đại diện cho lớp thuộc tính nhãn Có thể có nhiều nút đầu Các thuật toán khác để suy luận luyện áp dụng cho mạng Thay trả lại nhãn nhất, trình phân lớp trả phân phối xác suất đưa xác suất lớp Mạng tin tưởng sử dụng để đưa xác suất cho truy vấn chứng (ví dụ: xác suất mà cá nhân có LungCancer bao nhiêu, biết họ bị positiveXRay Dyspnea) hầu hết truy vấn giải thích xảy (ví dụ: nhóm dân cư có nhiều khả bị positiveXRay Dyspnea) 1.2 Luyện mạng niềm tin Bayes Đặt D tập huấn luyện liệu, X1, X2, , X | D | Luyện mạng niềm tin có nghĩa ta phải luyện giá trị mục bảng xác suất có điều kiện Đặt wijk khởi tạo bảng xác suất có điều kiện cho biến Yi = yij có nút cha Ui = uik, wijk P (Yi = yij | Ui = uik) Ví dụ, wijk đầu vào bảng xác suất có điều kiện ngồi bên trái Hình 1.1 (b), Yi LungCancer; yij giá trị nó, Ui liệt kê nút cha Yi, cụ thể {FamilyHistory, Smoker}; uik liệt kê giá trị nút cha, cụ thể là, {yes, yes} Các wijk xem trọng số mô hình Tập hợp trọng số gọi chung W Ban đầu trọng số khởi tạo thành giá trị xác suất ngẫu nhiên Thuật toán gradient descent (gradient hướng giảm) thể thuật toán leo đồi tham lam Tại lần lặp, trọng số cập nhật cuối hội tụ đến điểm tối ưu cục Gradient descent sử dụng để tìm kiếm giá trị wijk tốt theo liệu, dựa giả định có wijk có khả tương tự Để bắt đầu, trọng số khởi tạo thành giá trị xác suất ngẫu nhiên Phương pháp Gradient descent thực phương pháp leo đồi tham lam, lặp lại bước, thuật tốn di chuyển phía xem giải pháp tốt thời điểm tại, mà không cần quay lui Các trọng số cập nhật bước lặp cuối cùng, hội tụ đến điểm tối ưu cục Trong toán này, ta cần tối đa hàm Điều thực theo gradient lnPw (S), vấn đề đơn giản hơn, đưa mạng cấu trúc liên kết khởi tạo wijk, thuật tốn tiến hành sau: Tính tốn gradient: Với i, j, k ta tính Cập nhập trọng số theo hướng gradient Trong l learning rate cho bước lặp Learning rate thường để số nhỏ Chuẩn hoá trọng số Vì trọng số wijk giá trị xác suất, chúng phải có giá trị từ đến tổng wijk phải Những điều kiện thu sau chuẩn hoá trọng số sau chúng cập nhật thuật toán CHƯƠNG II SUPPORT VECTOR MACHINES Trong phần nghiên cứu support vector machines (SVM), phương pháp để phân lớp liệu tuyến tính phi tuyến SVM thuật toán hoạt động sau: Nó sử dụng ánh xạ phi tuyến để biến đổi liệu huấn luyện ban đầu vào chiều cao Trong kích thước này, tìm kiếm siêu phẳng phân tách tuyến tối ưu Với ánh xạ phi tuyến thích hợp đến kích thước đủ cao, liệu từ hai lớp ln phân tách siêu phẳng SVM tìm thấy siêu phẳng sử dụng vectơ hỗ trợ lề (được xác định vectơ hỗ trợ) Mặc dù thời gian luyện dù nhanh SVM chậm, chúng có độ xác cao, nhờ khả mơ hình hóa ranh giới định phi tuyến phức tạp Các vectơ hỗ trợ tìm thấy cung cấp mơ tả nhỏ gọn luyện mơ hình Các SVM sử dụng để dự đoán số tốn phân lớp Nó áp dụng cho số lĩnh vực, bao gồm: nhận dạng chữ số viết tay, đối tượng nhận dạng nhận dạng người nói, dự đốn chuỗi thời gian 2.1 Trường hợp liệu phân tách tuyến tính Đặt tập liệu D (X1, y1), (X2, y2), , (X | D |, y | D |), Xi tập hợp liệu luyện liên kết với nhãn yi Mỗi yi lấy hai giá trị, tương ứng +1 −1 (tức là, yi ∈ {+1, - 1}), tương ứng với lớp mua máy tính = có mua máy tính = khơng Để hỗ trợ trực quan hóa, xét ví dụ dựa hai thuộc tính đầu vào A1 A2, Hình 2.1 Từ đồ thị, ta thấy liệu chiều phân tách tuyến tính (hoặc viết tắt tuyến tính, viết tắt là), đường thẳng vẽ để tách tất liệu lớp +1 từ tất liệu lớp −1 Hình 2.1: Ví dụ SVM Có vơ số dịng phân cách tìm Ta muốn tìm dịng tốt nhất, điều mà ta hi vọng có lỗi phân lớp liệu Vậy làm để tìm thấy dịng tốt này? Lưu ý liệu 3-D (tức là, với ba thuộc tính), ta muốn tìm mặt phẳng phân tách tốt Tổng quát hóa đến n kích thước, ta muốn tìm siêu phẳng tốt Vì vậy, nói cách tổng quát, làm ta tìm thấy siêu phẳng tốt nhất? SVM tiếp cận vấn đề cách tìm kiếm siêu phẳng cận biên tối đa Xét hình 2.2, cho thấy hai siêu phẳng khả thi lề (margins) chúng Ta thấy hai siêu phẳng phân lớp xác tất liệu cho Tuy nhiên, theo trực giác, ta hy vọng siêu phẳng có lề lớn mang lại độ xác cao phân lớp liệu tương lai so với siêu phẳng với lề nhỏ Đây lí (trong giai đoạn luyện mơ hình), SVM tìm siêu phẳng với lề lớn nhất, nghĩa siêu phẳng biên tối đa (MMH) Liên kết lề cho phân tách lớn lớp Hình 2.2 Một siêu phẳng phân tách viết dạng: W.X + b = 0, (2.3) Trong W vectơ trọng số, cụ thể là, W = {w1, w2, , wn}; n số lượng thuộc tính; b vơ hướng, thường gọi hệ số tự Để hỗ trợ trực quan hóa, để Hãy xem xét hai đầu vào thuộc tính, A1 A2, Hình 2.2 (b) Các liệu luyện 2-D (ví dụ: X = (x1, x2)), x1 x2 giá trị thuộc tính A1 A2 cho X Nếu ta nghĩ b trọng lượng bổ sung, w0, viết lại phương trình sau: 10 w0 + w1x1 + w2x2 = (2.4) Do đó, điểm nằm siêu phẳng phân tách thỏa mãn w0 + w1x1 + w2x2 > (2.5) Tương tự, điểm nằm siêu phẳng phân tách thỏa mãn w0 + w1x1 + w2x2 < (2.6) Các trọng số điều chỉnh cho siêu phẳng xác định cạnh bên lề viết sau: H1: w0 + w1x1 + w2x2 >= với yi = +1, (2.7) H2: w0 + w1x1 + w2x2