Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
1,2 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN o0o BÁO CÁO BÀI TẬP LỚN Mơn: Lập trình với Python Giảng viên hướng dẫn: Nguyễn Hoàng Anh Sinh viên thực hiện: Nguyễn Tiến Hải - B19DCCN217 Nguyễn Văn Bến - B19DCCN065 Chu Ngọc Quang - B19DCCN519 Nguyễn Quang Thiện - B19DCCN668 Đỗ Như Đức - B19DCCN189 Nhóm lớp: 10 Nhóm tập lớn: 06 Hà Nội – 2021 Mục lục I Danh sách thành viên nhóm nhiệm vụ……………………………………………….3 II Giới thiệu thuật tốn………………………………………………………………… III Tóm tắt thuật tốn…………………………………………………………………… IV Giới thiệu ứng dụng………………………………………………………………… Tổng quan ứng dụng…………………………………………………………… Giao diện ứng dụng…………………………………………………………… Các nút chức chúng……………………………………………………….7 Phân tích thiết kế ứng dụng…………………………………………………… a Sơ đồ khối chức ứng dụng………………………………………….8 b Sơ đồ thuật toán………………………………………………………………… c Sơ đồ thực thể quan hệ (ERD)…………………………………………………… 10 V Kết ứng dụng……………………………………………………………… 11 Sơ đồ tổng quan ứng dụng triển khai ……………………………………… 11 Các kết thực được……………………………………………………… 12 VI Kết luận………………………………………………………………………………15 Hạn chế…………………………………………………………………………….15 a Chúng ta cần biết số lượng cluster cần clustering……………………………….15 b Nghiệm cuối phụ thuộc vào centers khởi tạo ban đầu………… 15 c Các cluster cần có số lượng điểm gần nhau……………………………….16 d Khi cluster nằm phía luster khác…………………………………… 17 Kết luận…………………………………………………………………………….18 VII Tài liệu tham khảo………………………………………………………………… 19 Danh sách bảng biểu Bảng 1: Sơ đồ khối chức ứng dụng……………………………………… Bảng 2: Sơ đồ thuật toán……………………………………………………………… Bảng 3: Sơ đồ thực thể quan hệ (ERD)………………………………………………… Bảng : Sơ đồ tổng quan ứng dụng triển khai……………………………………10 Danh sách hình ảnh Hình 1……………………………………………………………………………………4 Hình 2……………………………………………………………………………………5 Hình 3……………………………………………………………………………………6 Hình 4………………………………………………………………………………… 11 Hình 5………………………………………………………………………………… 12 Hình 6………………………………………………………………………………… 12 Hình 7………………………………………………………………………………… 13 Hình 8………………………………………………………………………………… 14 Hình 9………………………………………………………………………………… 15 Hình 10…………………………………………………………………………………16 Hình 11…………………………………………………………………………………17 Danh sách tài liệu tham khảo Machinelearningcoban Visualizing K-Means Clustering Elbow method - Determining the number of clusters in a data set I Danh sách thành viên nhóm nhiệm vụ Nguyễn Quang Thiện: - Xây dựng ý tưởng - Tìm hiểu, xây dựng, chỉnh sửa code - Làm phần giới thiệu kết ứng dụng Nguyễn Văn Bến: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm biểu đồ tổng quát ứng dụng Nguyễn Tiến Hải: - Xây dựng ý tưởng - Tổng hợp nội dung - Làm báo cáo - Làm slide Chu Ngọc Quang: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm sơ đồ thực thể quan hệ (ERD) Đỗ Như Đức: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm sơ đồ khối chức của ứng dụng - Thuyết trình II Giới thiệu thuật toán Kmeans Trong thuật toán K-means clustering, nhãn (label) điểm liệu Mục đích làm thể để phân liệu thành cụm (cluster) khác cho dữ liệu cụm có tính chất giống Ví dụ: Một cơng ty muốn tạo sách ưu đãi cho nhóm khách hàng khác dựa tương tác khách hàng với công ty (số năm khách hàng; số tiền khách hàng chi trả cho cơng ty; độ tuổi; giới tính; thành phố; nghề nghiệp; …) Giả sử cơng ty có nhiều liệu nhiều khách hàng chưa có cách chia tồn khách hàng thành số nhóm/cụm khác Nếu người biết Machine Learning đặt câu hỏi này, phương pháp anh (chị) ta nghĩ đến K-means Clustering Vì thuật tốn mà anh tìm sách, khóa học Machine Learning Sau phân nhóm, nhân viên cơng ty lựa chọn vài khách hàng nhóm để định xem nhóm tương ứng với nhóm khách hàng Phần việc cuối cần can thiệp người, lượng công việc rút gọn nhiều Ý tưởng đơn giản cluster (cụm) tập hợp điểm ở gần khơng gian đó (khơng gian có nhiều chiều trường hợp thơng tin điểm liệu lớn) Hình bên ví dụ cụm liệu (từ tơi viết gọn là cluster) Hình Giả sử cluster có điểm đại diện (center) màu vàng Và điểm xung quanh center thuộc vào nhóm với center Một cách đơn giản nhất, xét điểm bất kỳ, ta xét xem điểm gần với center thuộc nhóm với center Tới đây, có tốn thú vị: Trên vùng biển hình vng lớn có ba đảo hình vng, tam giác, trịn màu vàng hình Một điểm biển gọi thuộc lãnh hải đảo nằm gần đảo so với hai đảo Hãy xác định ranh giới lãnh hải đảo Hình hình minh họa cho việc phân chia lãnh hải có đảo khác biểu diễn hình trịn màu đen: Hình Chúng ta thấy đường phân định lãnh hải đường thẳng (chính xác chúng đường trung trực cặp điểm gần nhau) Vì vậy, lãnh hải đảo hình đa giác III Tóm tắt thuật tốn Đầu vào: Dữ liệu XX và số lượng cluster cần tìm KK Đầu ra: Các center MM và label vector cho điểm liệu YY Chọn KK điểm làm center ban đầu Phân điểm liệu vào cluster có center gần Nếu việc gán liệu vào cluster bước khơng thay đổi so với vịng lặp trước ta dừng thuật tốn Cập nhật center cho cluster cách lấy trung bình cộng tất các điểm liệu gán vào cluster sau bước Quay lại bước Chúng ta đảm bảo thuật tốn dừng lại sau số hữu hạn vịng lặp Thật vậy, hàm mát số dương sau bước 3, giá trị hàm mát bị giảm Theo kiến thức dãy số chương trình cấp 3: nếu dãy số giảm bị chặn hội tụ! Hơn nữa, số lượng cách phân nhóm cho tồn liệu hữu hạn nên đến lúc đó, hàm mát thay đổi, dừng thuật tốn IV Giới thiệu ứng dụng Tổng quan ứng dụng Ứng dụng áp dụng thuật toán Kmeans để giải vấn đề chia điểm, vật,… Các đối tượng có đặc điểm gần giống nhóm thành nhóm chung Trong ứng dụng đối tượng mô tả điểm chia chúng thành nhóm mà ta cho trước Giao diện ứng dụng Hình 3 Các nút chức chúng K : tương ứng với số nhóm cần thêm(k >0 , k