Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,25 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI - NHÓM ĐỒ ÁN ĐẠI HỌC NGÀNH KĨ THUẬT MÁY TÍNH DỰ ĐỐN GIÁ VÀNG SỬ DỤNG THUẬT TỐN ID3 CBHD: TS Nguyễn Thị Thu SINH VIÊN: Tống Đình Hịa Lã Huy Hoàng Nguyễn Long Nhật NGÀNH KĨ THUẬT MÁY TÍNH Phạm Quang Quyền Phạm Hồng Trung Hà Nội – 2021 LỜI CẢM ƠN Khơng có thành cơng mà không gắn liền với hỗ trợ dù hay nhiều, trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học làm đồ án đến nay, chúng em nhận nhiều giúp đỡ từ bạn bè, người thân thầy cô Chúng em xin chân thành cảm ơn thầy cô giảng viên môn “Kỹ thuật nhận dạng” hướng dẫn, góp ý buổi học lớp thời gian chúng em làm đồ án Trong trình làm đồ án này, khó tránh khỏi sai sót, mong thầy, bỏ qua Đồng thời trình độ kinh nghiệm thực tiễn cịn hạn nên khơng thể tránh thiếu sót, chúng em mong nhận ý kiến đóng góp từ thầy, để tích lũy kinh nghiệm cho sản phẩm mai sau Sau cùng, chúng em xin kính chúc thầy, thật nhiều sức khỏe, thành công nghiệp, truyền đạt kiến thức cho hệ sau Hà Nội, ngày 30 tháng 10 năm 2021 Nhóm sinh viên thực DANH MỤC HÌNH ẢNH Hình 1-1 Bộ liệu hoa tử đằng (Nguồn: Bishwamittra Ghosh) Hình 2-1: Đồ thị hàm Entropy với n=2 14 Hình 3-1: Cây định tạo từ 15 liệu 22 Hình 3-2:Code liệu đầu vào .23 Hình 3-3: Code khai báo liệu đọc liệu đầu vào .23 Hình 3-4: Code chuyển đổi liệu .24 Hình 3-5: Code huấn luyện xây dựng 24 Hình 3-6: Code nhập liệu để dự đoán .25 Hình 3-7: Code dự đốn đầu .25 Hình 3-8: Code vẽ định 25 Hình 3-9: Code vẽ giao diện 26 Hình 3-10: Code vẽ giao diện .26 Hình 4-1: Dữ liệu đầu vào .27 Hình 4-2 :Dữ liệu đầu vào sau xử lí 27 Hình 4-3: Nhập liệu lần 29 Hình 4-4: Nhập liệu lần 30 DANH MỤC BẢNG Bảng 3-1 Thống kê liệu 15 mục lụ LỜI CẢM ƠN DANH MỤC HÌNH ẢNH DANH MỤC BẢNG MỤC LỤC MỞ ĐẦU .5 CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT NHẬN DẠNG .7 1.1 Khái niệm kỹ thuật nhận dạng 1.2 Các phương pháp học 1.2.1 Học có giám sát (Supervised learning) .8 1.2.2 Học không giám sát (Unsupervised learning) 1.2.3 Học tăng cường (Reinforcement Learning) 10 1.3 Giới thiệu thuật toán 11 CHƯƠNG 2: THUẬT TOÁN ID3 13 2.1 Thuật toán ID3 13 2.1.1 Tư tưởng thuật toán 13 2.1.2 Hàm Entropy 14 2.1.3 Thuật toán ID3 14 2.2 Vecto đặc trưng 15 2.3 Độ đo hỗn loạn 16 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG .17 3.1 Phân tích tốn 17 3.1.1 Nghiên cứu yếu tố ảnh hưởng đến giá vàng .17 3.1.2 Sử dụng ID3 giải toán .18 3.2 Xây dựng ứng dụng 23 CHƯƠNG 4: ĐÁNH GIÁ ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN 27 4.1 Kết 27 4.2 Kết luận .30 4.3 Hướng phát triển 31 TÀI LIỆU THAM KHẢO 32 MỞ ĐẦU Tính cấp thiết đề tài Từ xưa đến vàng coi biểu tượng quyền lực cải, lưu giữ khoản tiết kiệm gia đình Mọi người quan tâm đến vàng cơng cụ để bảo vệ tài sản, chống rủi ro kinh tế biến động trị Những năm gần đây, giá vàng liên tục biến đổi theo chiều hướng gia tăng, làm thị trường vàng Việt Nam nói riêng, thị trường vàng Thế giới nói chung trở nên sơi nổi, biến động kéo theo ảnh hưởng không nhỏ đến kinh tế Thị trường vàng với nhiều vấn đề từ vĩ mô đến vi mơ trở thành mối quan tâm lớn, thu hút ý nhiều người, đặc biệt doanh nhân Với nhu cầu vậy, đồ án hướng đến việc nghiên cứu dự đốn giá vàng Có nhiều phương pháp hay thuật tốn nhận dạng tiếp cận, ứng dụng giải tốn nhiều khía cạnh khác Để thực nghiên cứu thuận tiện việc học Chúng em thực phát triển hệ thống Python, hạn hẹp thiết kế giao diện dễ tiếp cận, triển khai đơn giản với người dùng Mục đích nghiên cứu Trong phạm vi báo cáo này, chúng em tập trung nghiên cứu, thử nghiệm thuật toán ID3 để giải vào toán dự đoán giá vàng nhằm đánh giá khả triển khai phát triển ứng dụng đồng thời góp phần đưa tham khảo hay lựa chọn cho người dùng, đặc biệt doanh nhân để có đưa lựa chọn việc mua bán vàng Đối tượng phạm vi nghiên cứu Lý thuyết tổng quan kĩ thuật nhận dạng - Thuật tốn ID3 - Các tiêu chí đánh giá hiệu hệ thống Phương pháp nghiên cứu Bài báo cáo nghiên cứu theo phương pháp thu thập liệu kết hợp lí thuyết thực nghiệm - Thu thập tài liệu nghiên cứu, bao gồm tài liệu lý thuyết thực nghiệm - Tìm hiểu, khảo sát kỹ thuật công nghệ, phần mềm sẵn có, có mặt thị trường - Xây dựng mơ hình tổng quan nhận dạng giá vàng - Viết code, thử nghiệm phần mềm - So sánh với phần mềm hay thư viện sẵn có để đưa đánh giá hiệu hệ thống Tổng quan tài liệu nghiên cứu Bài báo cáo thực dựa nguồn tài liệu tham khảo thu thập từ nhiều nguồn khác trích dẫn suốt báo cáo danh mục tài liệu liệt kê cụ thể phần Tài liệu tham khảo CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT NHẬN DẠNG 1.1 Khái niệm kỹ thuật nhận dạng Nhận dạng trình phân loại đối tượng biểu diễn theo mơ hình gán cho chúng vào lớp (gán đối tượng tên gọi) dựa theo quy luật mẫu chuẩn Quá trình nhận dạng dựa vào mẫu học biết trước gọi nhận dạng có giám sát (supervised learning); trường hợp ngược lại gọi học không giám sát (non supervised learning) Cùng với phát triển không ngừng kinh tế xã hội ngành kỹ thuật Đòi hỏi quản lý xử lý thơng tin xác mà vượt q sức người Vì cần có máy móc hoạt động làm giảm tải thay công việc nặng nhọc, địi hỏi xác cao cho người Việc giúp máy móc nhận dạng (thu thập, phân loại thơng tin) cịn người giúp máy móc hoạt động hiệu giống người với độ xác cao nhiều Q trình nhận dạng gồm giai đoạn chính: - Lựa chọn mơ hình biểu diễn đối tượng - Lựa chọn luật định (phương pháp nhận dạng) suy diễn trình học - Học nhận dạng Khi mơ hình biểu diễn đối tượng xác định, định lượng (mơ hình tham số) hay định tính (mơ hình cấu trúc), trình nhận dạng chuyển sang giai đoạn học Học giai đoạn quan trọng Thao tác học nhằm cải thiện, điều chỉnh việc phân hoạch tập đối tượng thành lớp Việc nhận dạng tìm quy luật thuật tốn để gán đối tượng vào lớp hay nói cách khác gán cho đối tượng tên 1.2 Các phương pháp học 1.2.1 Học có giám sát (Supervised learning) Mơ hình học có giám sát mơ hình học liệu có dãn nhãn, tức mục tiêu toán Machine learning cần học gán nhãn sẵn liệu huấn luyện Dữ liệu đầu vào trình học bao gồm vector đầu vào chứa thuộc tính liệu lẫn giá trị đầu mục tiêu (gọi nhãn liệu) Nói cách khác Supervised learning cho phép dự đoán đầu (outcome) liệu dựa cặp (đầu vào, đầu ra) biết từ trước thu từ liệu huấn luyện Bộ liệu huấn luyện bao gồm cặp (data, label), tức (dữ liệu, nhãn) Chẳng hạn, liệu hoa tử đằng (Iris) chứa thuộc tính chiều dài chiều rộng cánh hoa đài hoa, thuộc tính tạo thành liệu đầu vào (data) Đồng thời, chứa nhãn (class label) mục tiêu dự đốn (dịng hoa ba loại: setosa, versicolor virginica) Hình 1-1 Bộ liệu hoa tử đằng (Nguồn: Bishwamittra Ghosh) 10 Bảng 3-1 Thống kê liệu STT Giá trị đồng USD Lạm phát Nhu cầu tiêu thụ Sản lượng khai thác Dầu Kết Tăng Tăng Cao Cao Tăng Giảm Tăng Tăng Cao Cao Giảm Tăng Giảm Giảm Cao Thấp Tăng Tăng Giảm Giảm Cao Thấp Giảm Tăng Giảm Giảm Thấp Cao Tăng Giảm Giảm Giảm Thấp Cao Giảm Giảm Tăng Tăng Thấp Thấp Tăng Giảm Tăng Giảm Cao Thấp Tăng Tăng Tăng Giảm Cao Thấp Giảm Tăng 10 Tăng Giảm Thấp Cao Tăng Giảm 11 Tăng Giảm Thấp Cao Giảm Tăng 12 Tăng Giảm Thấp Thấp Tăng Tăng 13 Tăng Giảm Thấp Thấp Giảm Tăng 14 Giảm Tăng Cao Cao Tăng Giảm 15 Giảm Tăng Cao Thấp Giảm Tăng 3.1.2 Sử dụng ID3 giải tốn Có Entropy(VANG) = - - = 0.971 Xét value(usd): Entropy(tang)= [3 giam,6 tang] = - - = 0.918 19 Entropy(giam)= [3 giam,3 tang]= - - = Gain(VANG,usd)= Entropy(VANG) -*Entropy(tang) -*Entropy(giam) = 0.971 - *0.918 - *1 = 0.0202 Xét value(lamphat): Entropy(tang) =[3 giam,2 tang]= - - = 0.971 Entropy(giam) =[3 giam,7 tang] = - - = 0.881 Gain(VANG,lamphat) = Entropy(VANG) -*Entropy(tang) - *Entropy(giam) = 0.971 - *0.971 - *0.881 = 0.06 Xét value(nctt): Entropy(cao) = [2 giam,6tang]= - - = 0.811 Entropy(thap) = [4 giam ,3 tang] = - - = 0.985 Gain(VANG,nctt) = Entropy(VANG) - *Entropy(cao) - *Entropy(thap) = 0.971 – *0.811 – *0.985 = 0.0788 Xét value(slkt): Entropy(cao) = [5 giam,2tang] = - - = 0.863 Entropy(thap) = [1 giam ,7 tang] = - - = 0.544 Gain(VANG,slkt) = Entropy(VANG) - *Entropy(cao) - *Entropy(thap) = 0.971 – *0.863 – *0.544 = 0.278 Xét value(dau): Entropy(tang) = [5 giam,3tang] = - - = 0.954 20 Entropy(giam) = [1 giam ,6 tang] = - - = 0.591 Gain(VANG,dau) =Entropy(VANG) - *Entropy(tang) - *Entropy(giam) = 0.971 – *0.954 – *0.591 = 0.1864 => Có Gain (VANG,SLKT) lớn nhất, nên ta chọn SLKT làm nút gốc Entropy(SLKT,Thấp) = - - = 0.544 Entropy(SLKT,Cao) = - - = 0.863 Xét nhánh SLKT Cao =>Có Gain(SLKT,Dau) = 0.469 lớn nhất, nên ta chọn Dau làm nút Entropy(Giam) = - - = 0.918 Entropy(Tang) = - = Gain(SLKT,Dau) = Entropy(SLKT,Cao) - *Entropy(giam) - *Entropy(tang) = 0.863 - = 0.469 Xét nhánh Dau giam =>Có Gain(DAU,USD) = 0.918 lớn nhất, nên ta chọn USD làm nút Entropy(USD) = - - = 0.918 Entropy(Giam) = - = Entropy(Tang) = - = Gain(DAU,USD) = Entropy(S) - *Entropy(giam) - *Entropy(tang) = 0.918 Xét nhánh SLKT Thấp 21 =>Có Gain(SLKT,Lamphat) = 0.613 lớn nhất, nên ta chọn Dau làm nút Entropy(Giam) = Entropy(Tang) = =0 - -=1 Gain(SLKT,Lamphat) = Entropy(SLKT,Thấp) -*Entropy(giam)- *Entropy(tang) = 0.863 - = 0.613 Xét nhánh Lamphat Tăng =>Có Gain(Lamphat,Dau) = 0.918 lớn nhất, nên ta chọn USD làm nút Entropy(Dau) = - - = Entropy(Giam) = - = Entropy(Tang) = - = Gain(Lamphat,Dau) = Entropy(Dau) - *Entropy(giam) - *Entropy(tang) = Ta có sau: 22 Hình 3-3: Cây định tạo từ 15 liệu 3.2 Xây dựng ứng dụng - Tạo liệu: 23 - Hình 3-4:Code liệu đầu vào - Khai báo thư viện đọc liệu : Hình 3-5: Code khai báo liệu đọc liệu đầu vào 24 - Chuyển đổi liệu: Hình 3-6: Code chuyển đổi liệu - Đưa liệu vào để huấn luyện xây dựng cây: Hình 3-7: Code huấn luyện xây dựng 25 -Nhập liệu để dự đốn: Hình 3-8: Code nhập liệu để dự đốn -Dự đốn đầu ra: Hình 3-9: Code dự đốn đầu -Vẽ định: Hình 3-10: Code vẽ định 26 - Giao diện Hình 3-11: Code vẽ giao diện Hình 3-12: Code vẽ giao diện 27 CHƯƠNG 4: ĐÁNH GIÁ ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết - Dữ liệu đầu vào Hình 4-13: Dữ liệu đầu vào - Dữ liệu đầu vào sau xử lí Hình 4-14 :Dữ liệu đầu vào sau xử lí - Cây 28 - Nhập liệu cần dự đoán kết dự đoán lần thứ nhất: 29 Hình 4-15: Nhập liệu lần => Đây kết đầu với liệu đầu vào ( USD: tăng ; Lạm phát: Tăng ; Nhu cầu thị trường: giảm ; Sản lượng khai thác: tăng ; Dầu( dầu khí) : Giảm ) => Kết giá vàng: Tăng, với độ xác trung bình 75% So sánh với kết tính tay xác 30 - Nhập liệu cần dự đốn kết dự đốn lần thứ hai: Hình 4-16: Nhập liệu lần => Đây kết đầu với liệu đầu vào ( USD: giảm ; Lạm phát: Tăng ; Nhu cầu thị trường: tăng ; Sản lượng khai thác: tăng ; Dầu( dầu khí) : tăng ) => Kết giá vàng: Giảm, với độ xác trung bình 75% So sánh với với kết tính tay xác 4.2 Kết luận Nhìn chung, sau kết thúc đề tài chúng em đạt điều sau đây: 31 - Tìm hiểu kỹ thuật, thuật tốn nhận dạng, đặc biệt thuật toán ID3 - Xây dựng thành cơng ứng dụng dự đốn giá vàng - Độ xác liệu vào khoảng 70% - Tốc độ xử lí ứng dụng nhanh Bên cạnh đó, có số hạn chế sau: - Dữ liệu huấn luyện số đầu cịn - Giao diện ứng dụng sơ sài 4.3 Hướng phát triển - Thu thập thêm mẫu liệu - Tìm thêm thuộc tính yếu tố ảnh hưởng đến giá vàng - Cải thiện giao diện ứng dụng - Xây dựng ứng dụng tảng khác để tiếp cận người dùng 32 TÀI LIỆU THAM KHẢO Tek4.vn Phân loại mơ hình học máy 1upnote.me Cây định 33 ... 1.2.3 Học tăng cường (Reinforcement Learning) 10 1.3 Giới thiệu thuật toán 11 CHƯƠNG 2: THUẬT TOÁN ID3 13 2.1 Thuật toán ID3 13 2.1.1 Tư tưởng thuật toán ... này, chúng em tập trung nghiên cứu, thử nghiệm thuật toán ID3 để giải vào toán dự đoán giá vàng nhằm đánh giá khả triển khai phát triển ứng dụng đồng thời góp phần đưa tham khảo hay lựa chọn cho... liệu, kĩ thuật đơn giản thuộc tính bạn có kích cỡ (ví dụ tất inch) sử dụng khoảng cách Euclide, số tính tốn trực tiếp dựa khác biệt biến đầu vào 13 CHƯƠNG 2: THUẬT TOÁN ID3 2.1 Thuật toán ID3 2.1.1