TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO BÀI TẬP LỚN HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài Tìm hiểu cây quyết định và ứng dụng dự đoán phá sản Hà Nội, năm 2023 1 M[.]
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO BÀI TẬP LỚN HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài: Tìm hiểu định ứng dụng dự đoán phá sản Hà Nội, năm 2023 MỤC LỤC Chương Tìm hiểu Cây định phương pháp xây dựng 1.1 Cây định .7 Hình 1.1 định dự đoán phá sản Ưu/nhược điểm thuật toán định 1.1.1 Tạo định .8 1.2 Thuật toán quinlan .10 1.2.1 Giới thiệu thuật toán 10 1.2.2 Mơ tả thuật tốn 10 Hình 1.2.1 Cây danh cuối 14 1.3 Thuật toán ID3 14 1.3.1 Giới thiệu giải thuật ID3 .15 1.3.2 Giải thuật ID3 xây dựng định .15 1.3.3 Ví dụ minh họa 16 Hình 1.3.1 Cây định sau lần phân hoạch đầu tiên 18 Hình 1.3.2 Cây định tốn dự đoán phá sản 19 Chương Dự đoán phá sản 20 2.1 Bài toán .20 2.1.1 Mô tả .20 2.1.2 Bài toán ứng dụng dự đoán phá sản 20 2.2 Cơ sở liệu .20 2.3 Kết 21 2.3.1 Chương trình: 21 2.3.2 Kết 26 Kết luận 27 Tài liệu tham khảo 28 Chương Tìm hiểu Cây định phương pháp xây dựng 1.1 Cây định Cây định dùng để đưa tập luật if – then nhằm mục đích dự báo, giúp người nhận biết tập liệu Cây định cho phép phân loại đối tượng tùy thuộc vào điều kiện tại nút cây, bắt đầu từ gốc tới nút sát lá-Nút xác định phân loại đối tượng Mỗi nút xác định điều kiện thuộc tính mơ tả đối tượng Mỗi nhánh tương ứng với điều kiện: Nút (thuộc tính) giá trị Đối tượng phân loại nhờ tích hợp điều kiện bắt đầu từ nút gốc thuộc tính mơ tả với giá trị thuộc tính đối tượng Hình 1.1 định dự đốn phá sản Ưu/nhược điểm thuật toán định Ưu điểm Cây định thuật toán đơn giản phổ biến Thuật toán sử dụng rộng rãi lợi ích nó: ● Mơ hình sinh quy tắc dễ hiểu cho người đọc, tạo luật với nhánh luật ● Dữ liệu đầu vào là liệu missing, khơng cần chuẩn hóa tạo biến giả ● Có thể làm việc với liệu số liệu phân loại ● Có thể xác thực mơ hình cách sử dụng kiểm tra thống kê ● Có khả việc với liệu lớn Nhược điểm Kèm với đó, định có nhược điểm cụ thể: ● Mơ hình định phụ thuộc lớn vào liệu bạn Thậm chí, với thay đổi nhỏ liệu, cấu trúc mơ hình định thay đổi hồn tồn ● Cây định hay gặp vấn đề overfitting 1.1.1 Tạo định Xét bảng liệu T = (A, D) A = {A 1, A2, , An } tập thuộc tính dẫn xuất, D = {r1, r2, , rn} thuộc tính mục tiêu Vấn đề đặt tập thuộc tính A ta phải chọn thuộc tính để phân hoạch? Một phương pháp dựa vào độ lợi thơng tin Hay gọi thuật giải ID3 Lựa chọn chủ yếu giải thuật ID3 chọn thuộc tính để đưa vào nút Ta chọn thuộc tính phân rã tập mẫu tốt Thước đo độ tốt việc chọn lựa thuộc tính gì? Ta cần xác định độ đo thống kê, gọi thơng tin thu được, đánh giá thuộc tính chọn tốt phụ thuộc vào việc phân loại mục tiêu tập mẫu ID3 sử dụng thông tin thu đánh giá để chọn thuộc tính cho bước thuộc tính ứng viên, trình phát triển Để đánh giá xác thơng tin thu được, dùng Entropy(S): Độ bất định (độ pha trộn/độ hỗn tạp) S liên quan đến phân loại xét Trong pi xác suất xuất trạng thái i hệ thống Theo lý thuyết thơng tin: mã có độ dài tối ưu mã gán −log p bits cho thông điệp có xác suất p S tập huấn luyện Nếu gọi p❑ xác suất xuất ví dụ dương tập S, p❑ xác suất xuất ví dụ âm tập S Entropy đo độ bất định tập S là: Entropy (S) = − p❑ log p❑ − p❑ log p Quy định 0.log = Chẳng hạn với tập S gồm 14 mẫu có chung vài giá trị logic gồm mẫu dương mẫu âm Khi đại lượng Entropy tập S liên quan đến phân loại logic là: Entropy([9+, 5-]) = - (9/14) log (9/14) - (5/14)log (5/14) = 0,940 Chú ý : Đại lượng Entropy = tất thành viên tập S thuộc lớp (vì tất dương (P+ = 1), P- = 0, Entropy(S) = −1 log 1− 0log = ) Đại lượng Entropy(S) = tập S chứa tỉ lệ tập mẫu âm mẫu dương Nếu tập S chứa tập mẫu âm tập mẫu dương có tỉ lệ P+ khác P- Entropy(S) ∈ (0,1) Dựa xác định entropy, ta tính Gain(S, A) = Lượng giảm entropy mong đợi qua việc chia ví dụ theo thuộc tính A Gain(S, A) = Entropy(S) - ∑ values (A ) ❑¿ S v ∨ ¿ ¿ Entropy( Sv ¿ ¿ S∨¿¿ 1.2 Thuật toán quinlan 1.2.1 Giới thiệu thuật toán Thuật toán quinlan định thuộc tính phân hoạch cách xây dựng vector đặc trưng cho giá trị thuộc tính dẫn xuất thuộc tính mục tiêu 1.2.2 Mơ tả thuật tốn Thuật tốn Quinlan định thuộc tính phân hoạch cách xây dựng vector đặc trưng cho giá trị thuộc tính dẫn xuất thuộc tính mục tiêu Bước 1: Phân loại thuộc tính dẫn xuất thuộc tính mục tiêu Thuộc tính mục tiêu: thuộc tính quan tâm Thuộc tính dẫn xuất: thuộc tính quan quan sát Bước 2: Với thuộc tính dẫn xuất A, tính vector đặc trưng VA(j) = ( T(j , r1), T(j , r2) , …, T(j , rn) ) T(j, ri) = (tổng số phần tử phân hoạch có giá trị thuộc tính dẫn xuất A j có giá trị thuộc tính mục tiêu ri ) / ( tổng số phần tử phân hoạch có giá trị thuộc tính dẫn xuất A j ) * r1, r2, … , rn giá trị thuộc tính mục tiêu Bước 3: Chọn thuộc tính có nhiều vector đơn vị để phân hoạch Vector đơn vị vector có thành phần có giá trị thành phần khác có giá trị Bước 4: Loại bỏ thuộc tính phân hoạch Nếu cịn thuộc tính đẫn xuất quay lại bước để tính vector đặc trưng cho thuộc tính dẫn xuất Ngược lại, kết thúc thuật tốn Ví dụ Vector đặc trưng cho thuộc tính: Thuộc tính: Màu tóc VTóc (vàng) = (T(vàng,cháy nắng),T(vàng, khơng cháy nắng)) Số người tóc vàng : Số người tóc vàng cháy nắng : Số người tóc vàng khơng cháy nắng : Do VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5) VTóc(nâu) = (T(nâu,cháy nắng),T(nâu khơng cháy nắng))=(0/3, 3/3) = (0,1) VTóc(đỏ) =(T(đỏ,cháy nắng),T(đỏ, không cháy nắng))= (1/1, 0/1) = (1,0) => Tổng số vector đơn vị thuộc tính màu tóc Các thuộc tính khác tính tương tự, kết sau : Thuộc tính: Chiều cao VC.Cao(Cao) = (T(cao,cháy nắng),T(cao, không cháy nắng))=(0/2,2/2) = (0,1) VC.Cao(T.B) =(T(T.B,cháy nắng),T(T.B, không cháy nắng))= (2/3,1/3) VC.Cao(Thấp) = nắng))=(1/3,2/3) (T(Thấp,cháy nắng),T(Thấp, không cháy => Tổng số vector đơn vị thuộc tính chiều cao Thuộc tính: Cân nặng VC.Nặng (Nhẹ) nắng))=(1/2,1/2) = (T(Nhẹ,cháy nắng),T(Nhẹ không cháy VC.Nặng (T.B) = (T(T.B,cháy nắng),T(T.B không cháy nắng))=(1/3,2/3) VC.Nặng (Nặng) =(T(Nặng,cháy nắng),T(Nặng, không cháy nắng))= (1/3,2/3) => Tổng số vector đơn vị thuộc tính cân nặng Thuộc tính: Dùng kem VKem (Có) = (T(Có,cháy nắng),T(Có, khơng cháy nắng))=(3/3,0/3) = (1,0) VKem (Không) nắng))=(3/5,2/5) = (T(Không,cháy nắng),T(Không, không cháy => Tổng số vector đơn vị thuộc tính dùng kem Như thuộc tính màu tóc có số vector đơn vị nhiều nên chọn để phân hoạch 10 Hình 1.2.1 Cây danh cuối 1.3 Thuật toán ID3 1.3.1 Giới thiệu giải thuật ID3 Giải thuật ID3 (gọi tắt ID3) Được phát triển đồng thời Quinlan AI Breiman, Friedman, Olsen Stone thống kê ID3 giải thuật học đơn giản tỏ thành công nhiều lĩnh vực ID3 giải thuật hay cách biểu diễn tri thức học nó, tiếp cận việc quản lý tính phức tạp, heuristic dùng cho việc chọn lựa khái niệm ứng viên, tiềm việc xử lý liệu nhiễu ID3 biểu diễn khái niệm (concept) dạng định (decision tree) Biểu diễn cho phép xác định phân loại đối tượng cách kiểm tra giá trị số thuộc tính Như vậy, nhiệm vụ giải thuật ID3 học định từ tập ví dụ rèn luyện (training example) hay gọi liệu rèn luyện (training data) Input: Một tập hợp ví dụ Mỗi ví dụ bao gồm thuộc tính mơ tả tình huống, hay đối tượng đó, giá trị phân loại Output: Cây định có khả phân loại đắn ví dụ tập liệu rèn luyện, hy vọng phân loại cho ví dụ chưa gặp tương lai 1.3.2 Giải thuật ID3 xây dựng định 13 Lặp: Chọn A