Tiểu luận Khai phá dữ liệu: Đề tài: Một số thuật toán trong phương pháp dự đoán Các bài toán phân loại và ứng dụng thực tế

71 7 0
Tiểu luận Khai phá dữ liệu: Đề tài: Một số thuật toán trong phương pháp dự đoán Các bài toán phân loại và ứng dụng thực 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

ĐẠI HỌC CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN Đề tài: Một số thuật toán phương pháp dự đoán Các toán phân loại ứng dụng thực tế Giảng viên: PGS.TS Hà Quang Thụy Nhóm 16 Thành viên: Bùi Hữu An Bùi Công Duy Phạm Việt Đức Trần Tuấn Minh Dương Anh Quân Hà Nội, 12/2018 Danh mục bảng biểu Bảng 10 VD đơn giản tập liệu mạng xã hội gán nhãn Bảng 10 Ưu điểm nhược điểm định 13 Bảng 10 Ưu điểm nhược điểm MARS 17 Bảng 10 Những ưu điểm nhược điểm ANN 27 Bảng 10 Ưu điểm nhược điểm DL .31 Bảng 10 Ưu điểm nhược điểm SVM 36 Danh mục hình ảnh Hình 10 Ví dụ định .7 Hình 10 Phân vùng khơng gian đầu vào định 10 Hình 10 Biểu diễn tập liệu bảng 8.5 dạng đồ thị phân loại CART 11 Hình 10 Biểu diễn quy tắc phân loại CART cho tập liệu bảng 8.5 11 Hình 10 VD: y = x, với p giá trị dự đoán (theo y) tạo CART 14 Hình 10 Giải tập liệu với (a) MLR, (b) CART, (c) model trees (d) MARS 16 Hình 10 Chi tiết mơ hình (model tree) MARS sử dụng tập liệu nhân tạo .17 Hình 10 Mạng nơ-ron MLP với hai lớp ẩn (two hidden layers) .20 Hình 10 Cách MLP training hướng vị trí siêu phẳng tách hướng vị trí vùng tách lồi khơng lồi .24 Hình 10 10 Hướng vị trí siêu phẳng tách, hướng vị trí khu vực cần phải phân loại lồi không lồi mạng MLP training .24 Hình 10 11 Các vùng tách tạo (bên trái) mạng MLP huấn luyện với truyền ngược (phải) thuật toán cảm ứng định cho tập liệu 24 Hình 10 12 Biên độ lớn xác định vectơ hỗ trợ SVM 32 Hình 10 13 Biên giới định tìm thấy (bên trái) perceptron (phải) thuật toán học tập SVM 32 Hình 10 14 Tăng lề tách cách cho phép số đối tượng đặt bên lề tách 33 Hình 10 15 Ví dụ việc sử dụng hàm kernel để chuyển đổi nhiệm vụ phân loại phi tuyến tính khơng gian hai chiều thành nhiệm vụ phân loại tuyến tính khơng gian ba chiều .34 Hình 10 16 Biên độ mềm tốn hồi quy cách tính � .34 Mục lục Chương 10: Phương pháp dự đoán bổ sung 10.1 Thuật tốn dựa tìm kiếm (Search-based algorithms) 10.1.1 Thuật toán Cây Quyết định Suy diễn (Decision Tree Induction Algorithms) 10.1.2 Cây định hồi quy .12 10.1.2.1 Mơ hình – Model trees 13 10.1.2.2 Các biển thể hồi quy thích ứng đa biến (Multivariable Adaptive Regression Splines MARS) .14 10.2 Các thuật tốn dựa tối ưu hóa (Opitimiztion-based Algorithms) 17 10.2.1 Mạng nơ-ron nhân tạo .17 10.2.1.1 Lan truyền ngược (Backpropagation) .19 10.2.1.2 Mạng sâu thuật toán học sâu 26 10.2.2 Hỗ trợ máy Vector .30 10.2.2.1 SVM cho hồi quy .33 10.3 Đánh giá lần cuối .35 Chương 11: Chủ đề tiên đoán tiên tiến 37 11.1 Kết hợp học thuật .37 11.1.1 Đóng gói 39 11.1.2 Cây ngẫu nhiên 40 11.1.3 AdaBoost 41 11.2 Sai lệch thuật toán 42 11.3 Nhiệm vụ phân loại “không” nhị phân 43 11.3.1 Phân loại lớp 44 11.3.2 Phân loại nhiều lớp 45 11.3.3 Phân loại xếp hạng 46 11.3.4 Phân loại nhiều nhãn 46 11.3.5 Phân loại phân cấp 48 11.4 Kỹ thuật chuẩn bị liệu nâng cao để dự đoán 49 11.4.1 Phân loại liệu không cân .50 11.4.2 Đối với nhãn mục tiêu không đầy đủ 50 11.4.2.1 Học tập bán giám sát 51 11.4.2.2 Học tập tích cực (Active learning) 52 11.5 Mô tả dự đốn với kỹ thuật giám sát diễn giải 52 Bài tập: Mơ hình hóa Ngun lý chuồng chim bồ câu Logic mệnh đề .54 Logic bậc 58 Dành cho C # 62 Vấn đề thực tế: Cleaning Robot .64 Tóm lược 71 Phụ lục 72 Tài liệu tham khảo 72 Chương 10: Phương pháp dự đoán bổ sung Những tác vụ dự đốn phức tạp trình bày chương Do đó, cần nhiều thuật toán “học” phức tạp Chương trình bày nhóm học thuật dự đoán – thuật toán dựa tìm kiếm tối ưu hóa, chúng giúp giải hiệu với tác vụ phân loại phức tạp 10.1 Thuật tốn dựa tìm kiếm (Search-based algorithms) Thơng thường, thuật tốn học máy sử dụng thuật toán: Chúng thực lặp lại việc tìm kiếm cục nhằm tạo mơ hình dự báo tốt Đây trường hợp Thuật toán Cây Quyết định Suy diễn (Decision Tree Induction Algorithms – DTIAs), phương pháp thường sử dụng để thiết kế thuật tốn dựa tìm kiếm DTIAs tạo mơ hình với cấu trúc định, node liên kết với nhiều thuộc tính dự đốn node nối với giá trị đích Các DTIAs dành cho tác vụ phân loại gọi Cây phân loại (Classification trees), cho tác vụ hồi quy gọi hồi quy (Regression trees) Để phân loại chúng, DTIAs cịn gọi Thuật tốn Cây Đặc trưng Suy diễn (Characteristic Tree Induction Algorithms - CTIAs), sử dụng tên “cây định” (decision tree) cho tác vụ phân loại tên “cây hồi quy” (regression tree) cho tác vụ hồi quy Trong sách này, xem Phân loại Hồi quy kiểu định áp dụng thuật ngữ “cây định” làm thuật ngữ chung sử dụng thuật ngữ riêng Cây Phân loại Hồi quy cho tác vụ đặc biệt Một thuật toán khác Thuật toán Quy tắc Thiết lập Suy diễn (Rule Set Induction Algorithms – RSIAs), tìm kiếm mơ hình biểu diễn quy luật với khả tìm kiếm hiệu Mỗi quy luật có định dạng “IF-THEN”: (IF) NẾU đối tượng tuân theo tập hợp có điều kiện đó, (THEN) THÌ thuộc lớp định Tất cách tiếp cận tạo mơ hình dự đốn sử dụng logic (concepts from logic – khái niệm từ logic) RSIAs coi trường hợp đặc biệt quy tắc kết hợp (association rules) trình bày chương 10.1.1 Thuật toán Cây Quyết định Suy diễn (Decision Tree Induction Algorithms) Một số ứng dụng phân tích liệu u cầu mơ hình dự đốn dễ hiểu, diễn giải Những người giỏi phân tích sơ đồ, với liệu phân theo nhánh với giá trị cụ thể Một vài sơ đồ dễ hiểu giả định định dạng cây, giống định Cây định thường sử dụng hệ thống hỗ trợ định Chúng cho thấy định có kết định Bảng 10 VD đơn giản tập liệu mạng xã hội gán nhãn Một vài điều tương tự thấy thuật toán học máy tạo định DTIAs tạo cấu trúc phân cấp tương tự, node thường liên kết với thuộc tính dự đốn Xem xét liệu bảng 10.1 Bộ liệu có thuộc tính dự đốn gồm thuộc tính đích thuộc tính cịn lại với hai lớp liên quan đến chuẩn đốn y tế là:  Bệnh nhân có bị “đau” hay “không”  Nhiệt độ bệnh nhân “cao” hay “thấp” Hai lớp (outcome) gồm bệnh nhân viện nhà Hình 10.1 biểu diễn cấu trúc định tạo DTIA cho liệu Và ý nghĩa miêu tả định dễ hiểu Mỗi đường từ node gốc đến node xem quy tắc (điều cho thấy việc chuyển từ định sang tập quy tắc dễ dàng) Và từ đó, thấy quy tắc gồm:  Nếu bệnh nhân bị “đau” sốt “cao” nên đến viện  Nếu bệnh nhân bị “đau” sốt “yếu” nên nhà  Nếu bệnh nhân không bị bệnh nên nhà (khơng cần quan tâm tới nhiệt độ) Hình 10 Ví dụ định Như vậy, giống RSIAs (hồi quy), cuối DTIAs lấy quy tắc từ tập liệu, quy tắc sử dụng để dự đoán nhãn cho đối tượng lớp hay giá trị số Tuy nhiên, DTIA tạo quy tắc cho kết hợp giá trị dự đốn, RSIA lại bao gồm vài kết hợp giá trị Những kết hợp khác thường phủ giá trị mặc định Mỗi mơ hình đơn giản dễ hiểu đặc điểm quan trọng định Có nhiều thuật tốn học máy khác cho định suy diễn Một đề xuất thuật tốn Hunt có ảnh hưởng tới DTIAs khác, bao gồm:     Cây phân loại hồi quy (The Classification and regression tree – CART) Phép biến đổi lặp lặp lại (The iterative dichotomiser – ID3) C4.5 phần mở rộng ID3 Cây định “nhanh” (very fast decision trees – VFDT), phổ biến với tập liệu có tính gia tăng giống luồng liệu Thuật toán: Hunt – DTIA INPUT Dtrain current node training set (tập node training tại) INPUT p the impurity measure (đơn vị không rõ ràng/nhiễu) INPUT n the number of objects in the training set (số lượng đối tượng tập training) If tất tập liệu Dtrain thuộc lớp y then Những node node gán nhãn với lớp y Else Lựa chọn thuộc tính dự đốn để tách Dtrain sử dụng đơn vị p Tách Dtrain thành tập theo giá trị Áp dụng thuật tốn Hunt cho tập Thuật toán Hunt đơn giản, hiển thị mã giả Thuật tốn tự gọi gọi đệ quy Mỗi lần gọi tăng kích thước Đệ quy giải vấn để sử dụng thuật toán “tham lam Greedy”, gọi phân chia-và-giải (divide-and-conquer) Một vấn đề giải cách chia thành vấn đề nhỏ đơn giản hơn, sau áp dụng cách làm tương tự trước cho chúng Việc phân chia tiếp tục vấn đề đơn giản đủ để giải mà không cần phải chia DTIAs thường tuân theo việc phân chia-và-giải Bắt đầu từ node gốc, thuật toán Hunt kiểm tra xem tất đối tượng node có lớp hay không (giá trị nhiễu thấp nhất, theo đơn vị đo giá trị nhiễu dùng) Nếu cùng, node lá, dừng thuật tốn Ngược lại, thuật tốn tiếp tục chia đơi đối tượng node cách sử dụng thuộc tính dự đốn thử nghiệm (test predictive attribute – TPA) TPA thuộc tính dự đốn lựa chọn từ tập liệu training theo tiêu chuẩn cho trước Một tiêu chuẩn thuộc tính dự đốn phân chia đối tượng thành nhóm có tính chất giống (khi đối tượng nhóm thuộc lớp), kết thử nghiệm nối với nhánh từ node tới nhóm trước (gọi node con) Do đó, lựa chọn TPA cho node, với đối tượng thơng qua việc so sánh TPA với thuộc tính dự đoán tương ứng node theo nhánh Tiếp theo, thuật toán áp dụng cho node Thuật toán Hunt chia đối tượng vào nhóm bị nhiễu Đơn giản tất đối tượng node thuộc lớp Khi đó, tất đối tượng node khơng cần phải chia node gán nhãn với lớp đối tượng Có vài DTIAs dựa thuật toán Hunt vài cách tiếp cận khác Sự khác biệt DTIAs gồm vài khía cạnh:  Cách lựa chọn thuộc tính dự đốn cho node  Với thuộc tính chọn, làm để phân chia đối tượng nhánh node  Lúc dừng áp dụng thuật toán cho node TPA chọn thuộc tính nằm tập liệu phân chia đối tượng cách tốt node Việc phân chia lý tưởng phận để tất node với đối tượng lớp Sử dụng đơn vị nhiễu để xác định thuộc tính dự đốn cho việc phân chia tốt Càng nhiều đồng lớp node giá trị nhiễu Do đó, thuộc tính với giá trị nhiễu thấp (nhiều đối tượng có nhãn lớp nhất) chọn Các đơn vị nhiễu thường sử dụng phân chia (Classifications Trees) gọi số Gini (Gini Index), sử dụng thuật toán CART thu thập thông tin, dùng thuật toán ID3 C4.5 Việc phân chia đối tượng phụ thuộc vào số lượng giá trị tỉ lệ thuộc tính dự đốn giá trị Phân chia đơn giản thuộc tính có hai giá trị, hai nhánh xác định giá trị liên kết với nhánh Đối với thuộc tính dự đốn có nhiều hai giá trị, tỉ lệ khía cạnh tập liệu miền xem xét Một số DTIAs CART sử dụng hai nhánh node Do chúng tạo định nhị phân Một số tiêu chí dừng phân chia node:  Các đối tượng node thuộc lớp  Các đối tượng thuộc node có thuộc tính đầu vào với giá trị khác nhãn lớp  Số lượng đối tượng node giá trị cho  Tất thuộc tính dự đoán bao gồm đường từ node gốc đến node Từng node có nhãn đặt theo số “vote” (phiếu bầu), có nghĩa lấy theo phần lớp nhãn lớp đối tượng node Dự đốn cho đối tượng chưa gán nhãn gốc, thực theo quy tắc phân chia dựa theo giá trị thuộc tính dự đốn Giá trị dự đoán nhãn node xác định đối tượng Hình 10 Phân vùng không gian đầu vào định Một khía cạnh quan trọng khác DTIAs phân vùng không gian đầu vào (input space) siêu mặt phẳng song song với trục liên kết thuộc tính dự đốn Với tập liệu có hai thuộc tính dự đốn, định chia không gian đầu vào với trục tung (vertical – dọc) trục hồnh (horizontal - ngang) Hình 10.2 cho thấy cấu trúc định tạo DTIA cho tập liệu Nếu định tạo thuật toán sâu (“deep”), đo số lượng node từ node gốc đến node xa nhất, “overfitting”, ý nhiều đến chi tiết tập liệu thay đối tượng Vấn đề hạn chế việc “cắt tỉa” cây, giống “cắt tỉa” vườn Cắt nhánh khơng có nhiều ảnh hưởng tới việc dự đoán định Việc “cắt tỉa” xảy ra:  Xuyên suốt dự đoán: pre-pruning  Sau dự đoán: post-pruning Đánh giá đoán kết quả: Khả dự đốn mơ hình DTIAs đánh giá việc sử dụng đơn vị dự đoán hiệu suất (được dùng cho tác vụ hồi quy phân chia) Mơ hình định diễn giải Chúng trình bày dạng biểu đồ hình 10.3, tập quy tắc hình 10.4 Kết sau thực thi thuật tốn DPLL cơng thức trước Nhắc lại ngun lý Lồng chim (được mơ tả tốn thực tế cuối cùng), xem xét trường hợp m = 3, n = Trường hợp mã hóa chương trình Liệt kê 2-13 Ngun tắc Lồng chim mơ hình hóa chương trình chúng tơi cho trường hợp m = 3, n = 2; tức là, chim bồ câuns m, n lồng chim Kết cho trường hợp này, mong đợi, Sai khơng thể chiếm lồng chim với chim bồ câuns Trong vài phần cuối nghiên cứu logic mệnh đề số thuật toán phương pháp liên quan đến Chúng tơi phân tích mối quan hệ logic, AI mô tả ATP gì, số lợi ích lợi ích Hãy nhớ ATP khu vực cố gắng tự động hóa cơng việc nhà toán học người giải SAT cơng cụ hữu ích lĩnh vực Trong phần tiếp theo, bắt đầu xem xét logic phức tạp logic mệnh đề, logic bậc nhất, phần mở rộng logic mệnh đề, có nhìn thống qua số lợi ích mà cung cấp logic mệnh đề đơn giản Logic bậc Các đề xuất mà nghiên cứu bao gồm chủ đề (đối tượng cá nhân) vị ngữ Cho tập hợp đối tượng đối tượng, mối quan hệ thuộc tính định nghĩa đối tượng gọi vị từ Ví dụ biến vị ngữ sau: x > x + y - x = x > Sau xem xét ví dụ trước, tự hỏi mình, điều khác biệt mệnh đề vị từ? Trong ví dụ biến vị ngữ có số (1, 2, 5), quan hệ (>, =), hàm (+, -), tất chúng có cách giải thích cố định, khơng xảy với biến số ( x, y) Sự không xác định mà biến giới thiệu liên quan đến giá trị mà chúng làm cho biểu thức khơng coi đề xuất hợp lý Tùy thuộc vào giá trị mà biến x, y thực hiện, biểu thức trước trở thành True False đó, trở thành mệnh đề Trong logic, biểu thức 1, 2, gọi vị từ thứ n; tức biến vị ngữ với biến n Xem xét ví dụ 1, 3, nói biểu thức biến vị ngữ đơn vị từ nhị phân thứ hai Thuộc tính biến vị ngữ đơn nhất, loại mối quan hệ cụ thể với chủ thể đó; đó, coi trường hợp đặc biệt vị ngữ Ghi Vị ngữ đại diện cho mối quan hệ (Predicates represent relations) chủ thể, đối tượng cá nhân (subjects, objects, and individuals).Chúng thiếu giá trị thẩm định; tức là, Chúng khơng có giá trị True False mệnh đề Logic bậc (FOL- First-Order Logic) mở rộnglogic mệnh đề cách cho phép số dạng lý luận định đối tượng câu lệnh logic Trong logic mệnh đề, có biến phù hợp với kiện tun bố khơng, “Chiến tranh giới thứ hai kết thúc vào năm 1952” “Chiến tranh George Lucas đạo diễn”, bạn khơng thể có biến đại diện cho thứ xe hơi, bút chì nhiệt độ Trong FOL, biến đề cập đến thứ giới bút chì nhiệt độ, định lượng chúng, cho phép diễn đạt câu tronglogic mệnh đề phân biệt Nói chung, số lý cần FOL sau: • Chúng tơi cần cách để nói cá nhân chủ thể có tài sản định số cá nhân có liên quan theo cách cụ thể (ví dụ, Zofia độc thân, kết với Albert, Johnny chó Ben) • Chúng tơi cần cách để nói tất đối tượng (thuộc loại định) có tài sản định (ví dụ, tất lồi chim có cánh có người đàn ơng cao feet) • Chúng tơi cần cách đề cập đến thực thể xác định theo chức thực thể khác (ví dụ: chiều cao người; trọng số đối tượng; tổng hai số) Biểu diễn đơn giản mà logic mệnh đề cung cấp làm cho phức tạp để mơ hình hóa nhiều vấn đề thường phát sinh sống bình thường Kết là, phải dựa vào logic phức tạp FOL Những lý mơ tả trước thúc đẩy cú pháp FOL Cú pháp cho phép hình thành (sử dụng ngơn ngữ thức) cơng thức tương tự câu tiếng Anh, chẳng hạn như: IsDog(“Johnny”) (Is Johnny a dog?), Misses(“Katty”, “John”) (Katty misses John) or ∀x (IsDog(x) =>¬CanFly(x)) (For all object x, if x is a dog then x cannot fly) Các thành phần FOL kết nối logic mệnh đề; thuật ngữ, số (a, b, John, Lucas, v.v.), biến (x, y, v.v.) hàm (F, G, H, v.v.) áp dụng cho từ khác; số mệnh đề (True, False), vị từ (IsDog, CanFly, vv), đại diện cho thuộc tính đối tượng mối quan hệ hai nhiều đối tượng, số lượng ('for all ' biểu thị ∀, 'there exists 'được ký hiệu ∃ và'chỉ tồn 'được ký hiệu ∃!) Sự khác biệt lớn FOL không chứa nghi ngờ xuất tốn tử định lượng Một cơng thức vị từ áp dụng cho nhiều thuật ngữ, tính bình đẳng hai từ (tức t1 = t2; ∀ (v) F '(v), ∃ (v) F' (v) v biến F 'là cơng thức), thứ xuất phát từ việc áp dụng kết nối logic logic mệnh đề cho cơng thức khác Trong dịng sau, chi tiết chút cú pháp FOL: constant ::= a | A | b | B | c | C | John | Block1 | Block2 | variable ::= x | y | z | x1| x2 | block1 | function::= f | g | h | weight | sum | mother-of | term ::= constant | variable | function (term , , term) predicate::= A | B | C |IsDog| Loves |IsBrother binary connective ::=˄ | ˅ | => | formula ::= predicate (term , , term) | (term = term) | ¬formula | ((formula) binary connective (formula)) | ∀(variable) formula | ∃(variable) formula số :: = a | A | b | B | c | C | John | Block1 | Block2 | biến :: = x | y | z | x1 | x2 | block1 | chức :: = f | g | h | trọng lượng | tổng hợp | mẹ | thuật ngữ :: = số | biến | chức (thuật ngữ, , hạn) vị ngữ :: = A | B | C | IsDog | Yêu IsBrother kết nối nhị phân :: = ˄ | ˅ | => | công thức :: = vị ngữ (thuật ngữ, , thuật ngữ) | (term = term) | ¬formula | ((cơng thức) nhị phân liên kết (công thức)) | ∀ (biến) công thức | Công thức variable (biến) Trong logic mệnh đề, diễn giải công thức gán giá trị cho biến mệnh đề Trong FOL, việc giới thiệu biến vị ngữ định lượng cung cấp cho công thức mà việc đánh giá phụ thuộc vào cách diễn giải đưa số miền (số nguyên, số thực, tơ, bút chì… nghĩ đến) vũ trụ vật thể; khái niệm giải thích trường hợp phức tạp chút Chú ý:Biểu diễn công thức cặp (D, A) D tên miền A gán cho số, hàm, vị từ, vv Để xác định cách diễn giải I công thức miền tập đối tượng D, phải xem xét quy tắc giải thích sau đây:  Nếu c số c có miền D Ánh xạ cách tên (hằng số tên) kết nối với đối tượng vũ trụ Chúng tơi có Johnny liên tục, việc giải thích Johnny giới chó chó đặc biệt  Nếu P vị từ P có D x D x D domain; tức là, có ánh xạ từ vị từ đến quan hệ D  Nếu f hàm f có miền D, ảnh có D; tức là, có ánh xạ từ hàm đến hàm D Với cách diễn giải I công thức F miền D, tuân theo quy tắc đánh giá sau đây:  Nếu P (v1, v2, , vn) vị từ P True (v1, v2, , vn) quan hệ D; tức là, (v1, v2, , vn) ∈ D x D x x D Hãy nhớ lại quan hệ nary tập hợp n-tuple  Nếu F, F 'là công thức FOL F ∧ F', F ∨ F ', F => F', F F ', ¬F có giá trị xác định miền D chúng sử dụng toán tử logic mệnh đề; tức là, tốn tử có bảng chân lý hai logic  Công thức ∀ (v) F (v) True F (v) True cho tất giá trị v D Công thức ∃ (v) F (v) True F (v) True cho giá trị v D Hãy xem xét ví dụ làm rõ cách thức diễn giải đánh giá hoạt động FOL; xem xét cách giải thích sau tơi công thức miền D: Để xác định giá trị chân lý giải thích trước, có: ∃ (x) IsFriend (x, Arnaldo) - cho x = John True quan hệ (John, Arnaldo) thuộc IsFriend; đó, ∃ (x) IsFriend (x, Arnaldo) True ∃ (y) IsWorkingWith (y, Arnaldo) - cho y = Lucas True quan hệ (Lucas, Arnaldo) thuộc IsWorkingWith; đó, ∃ (y) IsWorkingWith (y, Arnaldo) True Vì hai ∃ (x) IsFriend (x, Arnaldo) và∃ (y) IsWorkingWith (y, Arnaldo) True, kết hợp chúng True, cách diễn giải True Dành cho C # Vì khám phá giới FOL thành phần đáng ý (các biến vị ngữ, định lượng, vv) nên đáng nói C # sử dụng Predicates delegate, cấu trúc cho phép kiểm tra đối tượng kiểu T thỏa mãn điều kiện định Ví dụ, có lớp Dog sau (Liệt kê 2-14) Sau đó, sử dụng vị từ để lọc nhận đối tượng thỏa mãn thuộc tính định, minh họa Liệt kê 2-15, nơi tạo danh sách chó sau sử dụng phương thức Find (), dự kiến biến vị ngữ làm đối số tìm thấy ”tất đối tượng (Dogs) thỏa mãn vị từ cho Liệt kê 2-15 Sử dụng Predicate C # để lọc nhận đối tượng (Dogs trường hợp này) Đó đực chó có trọng lượng > 22 Pounds Tại thời điểm này, bước vào giới logic mệnh đề FOL Trong phần tiếp theo, chúng tơi trình bày vấn đề thực tế thấy số FOL hoạt động Vấn đề thực tế: Cleaning Robot Trong phần này, thấy nhiều khái niệm mơ tả trước (các hàm, vị từ, vv) áp dụng việc tạo Robot làm sạch, mà giới minh họa Hình 2-5 Hình 2-5 Làm robot lưới điện Bụi bẩn đánh dấu bóng màu da cam biểu diễn cách hợp lý lưới số nguyên Theo ý tưởng này, góc bên trái (ơ đầu tiên) có giá trị Robot làm cố gắng loại bỏ bụi bẩn lưới n x m (n hàng, m cột) Mỗi ô lưới số nguyên d, d cho biết số lượng bụi bẩn Khi d = ô coi Robot có tính sau: • Nó di chuyển bước thời điểm theo bốn hướng (trái, lên, phải, xuống) • Nó khơng từ bỏ thành phần hồn tồn sẽ, nhặt bẩn bước thời điểm; tức là, tế bào bẩn làm đơn vị bụi bẩn thời điểm (để lại -1 bụi bẩn) sau tiếp tục đến giai đoạn định • Nó dừng lại tất thứ nhiệm vụ vượt thời gian định mili giây Robot làm dựa vào biến vị ngữ chức sau: • IsDirty () biến vị ngữ xác định xem có robot bị bẩn hay khơng • IsTerrainClean () biến vị ngữ xác định xem địa hình có khơng • MoveAvailable (int x, int y) biến vị ngữ xác định việc di chuyển đến (x, y) địa hình có hợp pháp hay khơng • SelectMove () hàm chọn ngẫu nhiên động tác • Clean () hàm đơn giản làm (-1) vết bẩn từ ô hành; tức là, mà robot thời điểm • Move (Direction m) hàm di chuyển robot theo hướng m • Print () hàm in đồ địa hình • Start (intmilliseconds) chức lệnh cho robot bắt đầu dọn dẹp Mã phương thức khớp với hành vi robot giải thích trước Đối số nguyên mili giây đại diện cho thời gian tối đa mà robot làm sạch, tính mili giây Robot mã hóa lớp C # CleanRobot Danh sách 2-16 Listing 2-16 CleaningRobot Class public class CleaningRobot { private readonlyint[,] _terrain; private static Stopwatch _stopwatch; public int X { get; set; } public int Y { get; set; } private static Random _random; public CleaningRobot(int [,] terrain, int x, int y) { X = x; Y = y; _terrain = new int[terrain.GetLength(0), terrain.GetLength(1)]; Array.Copy(terrain, _terrain, terrain.GetLength(0) * terrain GetLength(1)); _stopwatch = new Stopwatch(); _random = new Random(); } public void Start(int milliseconds) { _stopwatch.Start(); { if (IsDirty()) Clean(); else Move(SelectMove()); } while (!IsTerrainClean() && !(_stopwatch.Elapsed Milliseconds>milliseconds)); } // Function private Direction SelectMove() { var list = new List { Direction.Down, Direction.Up, Direction.Right, Direction.Left }; return list[_random.Next(0, list.Count)]; } // Function public void Clean() { _terrain[X, Y] -= 1; } // Predicate public bool IsDirty() { return _terrain[X, Y] > 0; } // Function private void Move(Direction m) { switch (m) { case Direction.Up: if (MoveAvailable(X - 1, Y)) X -= 1; break; case Direction.Down: if (MoveAvailable(X + 1, Y)) X += 1; break; case Direction.Left: if (MoveAvailable(X, Y - 1)) Y -= 1; break; case Direction.Right: if (MoveAvailable(X, Y + 1)) Y += 1; break; } } // Predicate public bool MoveAvailable(int x, int y) { return x >= && y >= && x < _terrain GetLength(0) && y < _terrain.GetLength(1); } // Predicate public bool IsTerrainClean() { // For all cells in terrain; cell equals foreach (var c in _terrain) if (c > 0) return false; return true; } public void Print() { var col = _terrain.GetLength(1); vari = 0; var line = ""; Console.WriteLine(" "); foreach (var c in _terrain) { line += string.Format(" {0} ", c); i++; if (col == i) { Console.WriteLine(line); line = ""; i = 0; } } } } public enumDirection { Up, Down, Left, Right } Hàm khởi tạo lớp nhận đối số địa hình hai số nguyên x, y đại diện cho vị trí ban đầu robot địa hình Phương thức print () đưa vào cho mục đích thử nghiệm Giả sử có địa hiển thị đoạn mã sau sau chúng tơi chạy robot, tức là, gọi phương thức Start () nó, Liệt kê 2-17 Liệt kê 2-17 Bắt đầu làm Robot var terrain = new [,] { {0, 0, 0}, {1, 1, 1}, {2, 2, 2} }; varcleaningRobot = new CleaningRobot (địa hình, 0, 0); cleanRobot.Print (); cleanRobot.Start (50000); cleanRobot.Print (); Địa hình chứa bụi bẩn thứ hai (1 cột) hàng thứ ba (2 cột), sau robot hồn thành nhiệm vụ mình, theo điều kiện chấm dứt (mọi thứ hết thời gian) nêu trước đây, có kết Hình 2-6 Hình 2-6 Địa hình trước sau làm robot Như xảy trước phát triển thuật toán DPLL, cần heuristic để chọn di chuyển tác nhân Chúng ta vào lĩnh vực đoán metaheuristics Chương Robot làm tác nhân đơn giản, chủ đề đại lý AI giải chương Hiện tại, tạo sở cần thiết để bắt đầu sâu vào chủ đề phần phức tạp, thú vị AI Trong trường hợp, chủ đề tương lai nghiên cứu liên quan đến logic sở nhiều khoa học lĩnh vực tri thức Tóm lược Trong hai chương cuối, chúng tơi phân tích mối quan hệ AI logic Chúng giới thiệu hai loại logic bản: logic mệnh đề logic bậc Chúng kiểm tra mã khác bao gồm hệ thống phân cấp để biểu diễn công thức (các biến, kết nối logic, vv), bổ sung cấu trúc phân cấp với phương thức khác Trong số phương pháp này, chúng tơi trình bày thuật tốn biến đổi NNF, CNF (dựa luật phân phối giới thiệu trước đây), thuật toán DPLL-một thuật toán cổ điển để xác định độ thỏa mãn công thức Ngồi ra, chúng tơi mơ tả định nhị phân để biểu diễn công thức đánh giá có họ vấn đề thực tế mà robot làm đơn giản, sử dụng khái niệm logic bậc để xây dựng trí thơng minh đơn giản Phụ lục A AdaBoost 39, 41 – 42 C Chủ đề tiên đoán tiên tiến (Advanced predictive topics) 37 – 52 D Dạng thức kết hợp chuẩn (Conjunctive Normal Form: CNF) 55 Dạng thức phủ định chuẩn (Negation Normal Form: NNF) H Hàm kích hoạt (Activation function) 17, 18, 20, 25, 27, 29 Học tập tích cực (Active learning) 52 M Mạng nơ-ron nhân tạo ( Artificial neural networks – ANNs) 17 – 31, 35 S Sai lệch thuật toán (Algorithm bias) 42, 43 T Thuộc tính lựa chọn (Attribute selection) 16 Source code nhóm: https://drive.google.com/file/d/1cfj6EA5jlsR6Jb1uajEwV6JjWWrVD4tO Tài liệu tham khảo [2] Jỗo Moreira, Andre Carvalho, Tomás Horvath A General Introduction to Data Analytics Wiley, 2019 [4] Arnaldo Pérez Castaño Practical Artificial Intelligence Machine Learning, Bots and Agent Solutions using C# Apress, 2018 ... phân? ?? bao gồm phân loại đơn lớp, phân loại đa lớp, phân loại xếp hạng, phân loại đa nhãn phân loại phân cấp Các nhiệm vụ phân loại mô tả phần 11.3.1 Phân loại lớp Trong số nhiệm vụ phân loại, mục... phân loại nhiều nhãn [49] Trong ứng dụng phân loại phân cấp, đề cập đến dự đốn hàm protein, phân loại hát theo phong cách, phân loại văn bản, phân loại trang web phân loại hình ảnh 11.4 Kỹ thuật. .. phân loại nhiều nhãn bao gồm phân loại báo, phân loại cảnh, phân loại thể loại nhạc, phân loại chức protein phân loại trang web Phân loại nhiều nhãn liên quan đến phân loại xếp hạng, hai kỹ thuật

Ngày đăng: 17/02/2022, 22:06

Mục lục

  • Chương 10: Phương pháp dự đoán bổ sung

    • 10.1 Thuật toán dựa trên tìm kiếm (Search-based algorithms)

      • 10.1.1 Thuật toán Cây Quyết định Suy diễn (Decision Tree Induction Algorithms)

      • 10.1.2 Cây quyết định hồi quy

        • 10.1.2.1 Mô hình cây – Model trees

        • 10.1.2.2 Các biển thể hồi quy thích ứng đa biến (Multivariable Adaptive Regression Splines - MARS)

        • 10.2 Các thuật toán dựa trên tối ưu hóa (Opitimiztion-based Algorithms)

          • 10.2.1 Mạng nơ-ron nhân tạo

            • 10.2.1.1 Lan truyền ngược (Backpropagation)

            • 10.2.1.2 Mạng sâu và thuật toán học sâu

            • 10.2.2 Hỗ trợ máy Vector

              • 10.2.2.1 SVM cho hồi quy

              • 10.3 Đánh giá lần cuối

              • 11.2 Sai lệch thuật toán

              • 11.3 Nhiệm vụ phân loại “không” nhị phân

                • 11.3.1 Phân loại một lớp

                • 11.3.2 Phân loại nhiều lớp

                • 11.3.3 Phân loại xếp hạng

                • 11.3.4 Phân loại nhiều nhãn

                • 11.3.5 Phân loại phân cấp

                • 11.4 Kỹ thuật chuẩn bị dữ liệu nâng cao để dự đoán

                  • 11.4.1 Phân loại dữ liệu không cân bằng

                  • 11.4.2 Đối với nhãn mục tiêu không đầy đủ

                    • 11.4.2.1 Học tập bán giám sát

                    • 11.4.2.2 Học tập tích cực (Active learning)

                    • 11.5 Mô tả và dự đoán với các kỹ thuật giám sát có thể diễn giải

                    • Bài tập: Mô hình hóa Nguyên lý chuồng chim bồ câu trong Logic mệnh đề

                      • Logic bậc nhất

                      • Vấn đề thực tế: Cleaning Robot

                      • Tài liệu tham khảo

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

Tài liệu liên quan