TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC NGHIỆM HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài Tìm hiểu thuật toán Quilan (vector đặc trưng) và ứng dụng dự báo thời tiết Hà Nội[.]
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC NGHIỆM HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài: Tìm hiểu thuật tốn Quilan (vector đặc trưng) ứng dụng dự báo thời tiết Hà Nội, MỤC LỤC LỜI MỞ ĐẦU PHẦN 1: CÁC THUẬT TỐN HỌC MÁY CƠ BẢN 1.1 Thuật tốn Quilan (vector đặc trưng) .4 1.2 Giải thuật ID3 xây dựng định từ xuống? 1.3 Thuộc tính thuộc tính dùng để phân loại tốt nhất? 1.3.1 Entropy đo tính tập ví dụ 1.3.2 Lượng thơng tin thu đƣợc đo mức độ giảm entropy mong đợi 1.3.3 Tìm kiếm không gian giả thuyết ID3 1.3.4 Đánh giá hiệu suất định .9 1.3.5 Chuyển luật .9 1.3.6 Khi nên sử dụng ID3 PHẦN 2: XÂY DỰNG ỨNG DỤNG BÀI TOÁN DỰ ĐOÁN THỜI TIẾT 11 2.1 Giới thiệu Python 11 2.2 Mơ tả tốn .11 2.3 Cài đặt chương trình .12 2.4 Kết 15 PHẦN 3: TÀI LIỆU THAM KHẢO 16 LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi lời cảm ơn đến cô Lê Thị Thủy trực tiếp giảng dạy hướng dẫn cho chúng em thực đề tài báo cáo thực nghiệm Trong trình học tập làm đề tài thầy dẫn dắt hướng dẫn nhóm làm tốt đề tài truyền đạt kiến thức trọng tâm học phần Cô giúp chúng em tích lũy thêm nhiều kiến thức bổ ích, trau dồi kỹ cần có lĩnh vực cơng nghệ thơng tin Giúp chúng em có định hướng công việc tốt sau trường Có lẽ kiến thức vơ hạn mà tiếp nhận kiến thức thân người tồn hạn chế định Do đó, trình hồn thành báo cáo thực nghiệm chúng em khơng thể tránh khỏi thiếu sót Vậy nên chúng em mong nhận đóng góp ý kiến để tập chúng em hồn thiện tốt Kính chúc mạnh khỏe, thành công đường nghiệp giảng dạy Chúng em xin chân thành cảm ơn! Người thực Nhóm LỜI MỞ ĐẦU Những năm gần đây, AI lên chứng cách mạng cơng nghiệp lần thứ tư Trí tuệ nhân tạo định nghĩa ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh Trí tuệ nhân tạo phận khoa học máy tính phải đặt nguyên lý, lý thuyết vững chắc, có khả ứng dụng lĩnh vực Ở thời điểm tại, thuật ngữ thường dùng để nói đến máy tính có mục đích khơng định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Theo đà phát triển công nghệ, ứng dụng trí tuệ nhân tạo ln xu hướng công nghệ tương lai mà hãng công nghệ tồn giới đua sáng tạo, tảng cốt lõi cách mạng công nghệ 4.0 PHẦN 1: CÁC THUẬT TOÁN HỌC MÁY CƠ BẢN 1.1 Thuật toán Quilan (vector đặc trưng) Giải thuật quy nạp ID3 (gọi tắt 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) Hay nói khác hơn, giải thuật có: Đầu vào: 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 Đầu ra: 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 Ví dụ, thử tốn phân loại xem ta “có chơi tennis” match với thời điểm không Giải pháp ID3 học định từ tập hợp ví dụ ví dụ sau: Ngày D1 D2 Quang Cảnh Nắng Nắng Nhiệt độ Độ ẩm Nóng Nóng Cao Cao Gió Nhẹ Mạnh Chơi Tennis Khơng Khơng D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 Âm u Mưa Mưa Mưa Âm u Nắng Nắng Mưa Nắng Âm u Âm u Mưa Nóng Ấm áp Mát Mát Mát Ấm áp Mát Ấm áp Ấm áp Ấm áp Nóng Ấm áp Cao Cao TB TB TB Cao TB TB TB Cao TB Cao Nhẹ Nhẹ Nhẹ Mạnh Mạnh Nhẹ Nhẹ Nhẹ Mạnh Mạnh Nhẹ Mạnh Có Có Có Khơng Có Khơng Có Có Có Có Có Khơng Bao liệu bao gồm 14 ví dụ Mỗi ví dụ biểu diễn cho trạng thái thời tiết bao gồm thuộc tính quang cảnh, nhiệt độ, độ ẩm gió; có thuộc tính phân loại 'chơi Tennis' (có, khơng) “Khơng” nghĩa khơng chơi tennis ứng với thời điểm đó, “Có” nghĩa ngược lại Phân loại giá trị có hai loại (có, khơng), hay cịn ta nói loại phân loại ví dụ đau khổ niệm thành hai lớp (classes) Thuộc tính "Chơi tennis" cịn gọi đích thuộc tính (thuộc tính đích) Mỗi thuộc tính có giới hạn giá trị tập tin Thuộc tính quang học cảnh có ba giá trị (âm u, mưa, nắng), nhiệt độ có ba giá trị (nóng, mát, ấm áp), độ ẩm có hai giá trị (cao,TB) gió có hai giá trị (mạnh, nhẹ nhàng) Giá this value ký hiệu (ký hiệu) dùng để biểu diễn viết math Từ tập liệu rèn luyện này, giải thuật ID3 học định có khả phân loại ví dụ tập này, đồng thời hy vọng tương lai, phân loại ví dụ khơng nằm tập tin này.Một xác định ví dụ mà giải thuật ID3 tải là: Các nút định biểu tượng cho kiểm tra thuộc tính nào, giá trị có thuộc tính tương ứng với nhánh Nút phân loại ví dụ thuộc nhánh, giá trị loại thuộc tính Sau giải thuật thuật định ổn định sử dụng để phân loại tất ví dụ (ví dụ) tương lai Và định không thay đổi ta thực lại giải pháp ID3 thuật toán tập luyện liệu khác.Ứng dụng tập liệu rèn luyện có nhiều định phân tích loại ngựa ví dụ ví dụ vỗ nhẹ liệu thay rènpet Kích thước định thứ tự tùy thuộc khác thuộc tính kiểm tra tính Vì vậy, để học định phân loại tất ví dụ luyện tập? Một cách đơn giản học thuộc tất ví dụ cách xây dựng có cho ví dụ Với cách tiếp cận điều này, bạn định khơng phân loại cho ví dụ Vì phương pháp giống hình thức “học tả’, không học khái niệm cần học Vì vậy, ta nên học định tốt? Occam's dao cạo số lập luận khác cho “giả thuyết có khả năng”năng lực giả thuyết đơn giản thống với tất khảo sát, ta nên chấp nhận câu trả lời đơn giản đáp ứng cách liệu Trong trường hợp cố gắng tạo định nhỏ phân loại cách đắn tất ví dụ chọn Trong phần tiếp theo, vào giải thuật ID3, giải pháp thuật toán nạp định đơn giản giải vấn đề vừa nêu 1.2 Giải thuật ID3 xây dựng định từ xuống? ID3 xây dựng định (cây QĐ) theo cách từ xuống Lưu ý thuộc tính nào, phân vùng tập hợp ví dụ rèn luyện thành tập tách rời, mà ví dụ phân vùng (partition) có giá trị chung cho thuộc tính ID3 chọn thuộc tính để kiểm tra nút dùng trắc nghiệm để phân vùng tập hợp ví dụ; thuật tốn xây dựng theo cách đệ quy cho phân vùng Việc tiếp tục thành viên phân vùng nằm lớp; lớp trở thành nút Vì thứ tự trắc nghiệm quan trọng việc xây dựng QĐ đơn giản, ID3 phụ thuộc nhiều vào tiêu chuẩn chọn lựa trắc nghiệm để làm gốc Để đơn giản, phần mô tả giải thuật dùng để xây dựng QĐ, với việc giả định hàm chọn trắc nghiệm thích hợp.Phần trình bày heuristic chọn lựa ID3 Ví dụ, xem xét cách xây dựng QĐ ID3 từ ví dụ trước Bắt đầu với bảng đầy đủ gồm 14 ví dụ rèn luyện, ID3 chọn thuộc tính quang cảnh để làm thuộc tính gốc sử dụng hàm chọn lựa thuộc tính mơ tả phần *ID3 xây dựng định theo giải thuật sau: Function induce_tree(tập_ví_dụ, tập_thuộc_tính) begin if ví dụ tập_ví_dụ nằm lớp then return nút gán nhãn lớp else if tập_thuộc_tính rỗng then return nút gán nhãn tuyển tất lớp tập_ví_dụ else begin chọn thuộc tính P, lấy làm gốc cho tại; xóa P khỏi tập_thuộc_tính; với giá trị V P begin tạo nhánh gán nhãn V; Đặt vào phân_vùngV ví dụ tập_ví_dụ có giá trị V thuộc tính P; Gọi induce_tree(phân_vùngV, tập_thuộc_tính), gắn kết vào nhánh V end end end ID3 áp dụng hàm induce_tree cách đệ quy cho phân vùng Ví dụ, phân vùng nhánh “Âm u” có ví dụ tồn dương, hay thuộc lớp “Có”,nên ID3 tạo nút với nhãn lớp “Có” Cịn phân vùng hai nhánh cịn lại vừa có ví dụ âm, vừa có ví dụ dương Nên tiếp tục chọn thuộc tính“Độ ẩm” để làm trắc nghiệm cho nhánh Nắng, thuộc tính Gió cho nhánh Mưa, ví dụ phân vùng nhánh thuộc lớp, nên giải thuật ID3 kết thúc ta có QĐ sau: ví dụ ban đầu thành tập ví dụ nhanh tốt Vậy trước hết, ta cần có phép đo để đo độ tập hợp, từ so sánh tập ví dụ tốt Phần trình bày cơng thức tính entropy tập hợp 1.3.1 Entropy đo tính tập ví dụ Khái niệm entropy tập S định nghĩa Lý thuyết thông tin số lượng mong đợi bít cần thiết để mã hóa thơng tin lớp thành viên rút cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn Theo lý thuyết thơng tin, mã có độ dài tối ưu mã gán–log2p bits cho thơng điệp có xác suất p Trong trường hợp S tập ví dụ, thành viên S ví dụ, ví dụ thuộc lớp hay có giá trị phân loại Entropy có giá trị nằm khoảng [0 1], Entropy(S) = tập ví dụ S tồn ví dụ thuộc loại, hay S Entropy(S) = tập ví dụ S có ví dụ thuộc loại khác với độ pha trộn cao < Entropy(S) < tập ví dụ S có số lượng ví dụ thuộc loại khác khơng Để đơn giản ta xét trường hợp ví dụ S thuộc loại âm (-) dương (+) 12 Cho trước:• Tập S tập liệu rèn luyện, thuộc tính phân loại có hai giá trị, giả sử âm (-) dương (+) • p+ phần ví dụ dương tập S • p- phần ví dụ âm tập S.Khi đó, entropy đo độ pha trộn tập S theo công thức sau: Entropy(S) = -p+log2p+ -p-log2 pMột cách tổng quát hơn, ví dụ tập S thuộc nhiều hai loại, giả sử có c giá trị phân loại cơng thức entropy tổng quát là: C Entropy(S) = ∑ − p i log2 pi i=1 1.3.2 Lượng thông tin thu đo mức độ giảm entropy mong đợi Entropy số đo đo độ pha trộn tập ví dụ, định nghĩa phép đo hiệu suất phân loại ví dụ thuộc tính.Phép đo gọi lượng thơng tin thu được, đơn giản lượng giảm entropy mong đợi gây việc phân chia ví dụ theo thuộc tính Một cách xác hơn, Gain(S,A) thuộc tính A, tập S, 13 định nghĩa sau: Gain ( S , A )=Entropy ( S ) − ∑ v ϵ Values ( A ) |S v| |S| Entropy (S v ) Trong Values(A) tập hợp có giá trị thuộc tính A, Sv tập S chứa ví dụ có thuộc tính A mang giá trị v Trở lại ví dụ ban đầu, khơng sử dụng Entropy để xác định độ ví dụ xảy trường hợp định có chiều cao lớn Ta áp dụng phương thức tính Entropy để xác định chắn thuộc tính chọn trình tạo định Đầu tiên ta tính độ tập liệu: Entropy(S) = - (9/14) Log2(9/14) - (5/14) Log2(5/14) = 0.940 Từ ta tính tiếp Gain cho thuộc tính để suy thuộc tính chọn làm nút gốc Gain(S, Quang cảnh) = Entropy(S) – (5/14)Entropy(SNắng) – (4/14)Entropy(SÂm u) – (5/14) Entropy(SMưa) = 0.246 Tương tự cho Gain khác: Gain(S, Nhiệt độ) = 0.029 Gain(S, Độ ẩm) = 0.151 Gain(S, Gió) = 0.048 Ta thấy Gain(S, Quang cảnh) lớn => lấy thuộc tính quang cảnh làm nút gốc 14 Sau lập cấp định ta lại xét nhánh Nắng Tiếp tục lấy Entropy Gain cho nhánh Nắng ta hiệu suất sau: Gain(SNắng, Độ ẩm) = 0.970 Gain(SNắng, Nhiệt độ) = 0.570 Gain(SNắng, Gió) = 0.019 Như thuộc tính độ ẩm có hiệu suất phân loại cao nhánh Nắng => ta chọn thuộc tính Độ ẩm làm nút … Tương tự nhánh lại định ta định hồn chỉnh sau: 15 1.3.3 Tìm kiếm không gian giả thuyết ID3 Cũng phương pháp học quy nạp khác, ID3 tìm kiếm không gian giả thuyết giả thuyết phù hợp với tập liệu rèn luyện Không gian giả thuyết mà ID3 tìm kiếm tập hợp định có ID3 thực phép tìm kiếm từ đơn giản đến phức tạp,theo giải thuật leo-núi (hill climbing), rỗng, sau xem xét giả thuyết phức tạp mà phân loại ví dụ rèn luyện Hàm đánh giá dùng để hướng dẫn tìm kiếm leo núi phép đo lượng thơng tin thu Từ cách nhìn ID3 giải thuật tìm kiếm khơng gian giả thuyết, ta có số nhận xét sau: Không gian giả thuyết định ID3 không gian đầy đủ định thuộc tính cho tập rèn luyện Điều có nghĩa khơng gian mà 16 ID3 tìm kiếm chắn có chứa định cần tìm Trong tìm kiếm, ID3 trì giả thuyết Vì vậy, giải thuật khơng có khả biểu diễn tất định khác có khả phân loại liệu có Giải thuật ID3 khơng có khả quay lui tìm kiếm Vì vậy, gặp phải hạn chế giống giải thuật leo núi, hội tụ cực tiểu địa phương Vì ID3 sử dụng tất ví dụ bước để đưa định dựa thống kê, nên kết tìm kiếm ID3 bị ảnh hưởng vài liệu sai (hay liệu nhiễu) Trong trình tìm kiếm, giải thuật ID3 có xu hướng chọn định ngắn định dài Đây tính chất thiên lệch quy nạp ID3 1.3.4 Đánh giá hiệu suất định Một định sinh ID3 đánh giá tốt có khả phân loại trường hợp hay ví dụ gặp 17 tương lai, hay cụ thể có khả phân loại ví dụ khơng nằm tập liệu rèn luyện Để đánh giá hiệu suất định người ta thường sử dụng tập ví dụ tách rời, tập khác với tập liệu rèn luyện, để đánh giá khả phân loại ví dụ tập Tập liệu gọi tập kiểm tra (validation set) Thông thường, tập liệu sẵn có chia thành hai tập: tập rèn luyện thường chiếm 2/3 số ví dụ tập kiểm tra chiếm 1/3 1.3.5 Chuyển luật Thông thường, định chuyển dạng luật để thuận tiện cho việc cài đặt sử dụng If (Quang-cảnh =nắng) ^ (Độ ẩm = Cao) Then Chơi-Tennis = No If (Quang-cảnh =nắng) ^ (Độ ẩm = TB) Then Chơi-Tennis = Yes If (Quang-cảnh =Âm u) Then Chơi-Tennis = Yes 18 … 1.3.6 Khi nên sử dụng ID3 Giải thuật ID3 giải thuật học đơn giản phù hợp với lớp toán hay vấn đề biểu diễn ký hiệu Chính vậy, giải thuật thuộc tiếp cận giải vấn đề dựa ký hiệu (symbol – based approach) Tập liệu rèn luyện bao gồm ví dụ mơ tả cặp “Thuộc tính – giá trị”, ví dụ “Chơi tennis” trình bày suốt chương này, “Gió – mạnh”, hay “Gió – nhẹ”,… ví dụ có thuộc tính phân loại, ví dụ “chơi_tennis‟, thuộc tính phải có giá trị rời rạc, có, khơng Tuy nhiên, khác với số giải thuật khác thuộc tiếp cận này, ID3 sử dụng ví dụ rèn luyện dạng xác suất nên có ưu điểm bị ảnh hưởng vài liệu nhiễu Vì vậy, tập liệu rèn luyện chứa lỗi thiếu vài giá trị số thuộc tính Một giải pháp thường áp dụng liệu bị thiếu sử dụng luật đa số,chương trình tiền xử lý liệu điền vào vị trí cịn trống giá trị có tần số xuất cao thuộc tính Bên cạnh vấn đề trình bày phần này, ID3 thảo luận nhiều vấn đề liên quan để tránh cho định không bị ảnh hưởng nhiều (overfitting) vào liệu rèn luyện, để tổng quát hơn, phân loại cho trường hợp chưa gặp Có nhiều giải pháp đưa cắt tỉa lại định sau học, cắt tỉa luật sau chuyển dạng luật Một vấn đề khác vài thuộc tính có giá trị liên tục Giải vấn đề dẫn đến việc sinh nhiều hệ sau ID3, giải thuật bật số C4.5 (Quinlan 1996) Ngồi ra, số kỹ thuật tạo để thao tác liệu nhằm tạo định 19