Trong đồ án này, em sẽ chỉ ra các yếu tố ảnh hưởng hành vi của khách hàng đến đếndịch vụ viễn thông từ đó ta có thể đưa ra các giải pháp cụ thê thông qua 3 bài toán con gồm: e Phân tích
Trang 1BO THONG TIN VA TRUYEN THONG
HỌC VIEN CONG NGHỆ BƯU CHÍNH VIEN THONG
KHOA LUAN
TOT NGHIEP DAI HOC
DE TAI: “UNG DUNG PHAN TICH HANH VI KHACH HANG
Trang 2BO THONG TIN VÀ TRUYEN THONG
KHOA LUAN
TOT NGHIỆP DAI HỌC
DE TAI: “UNG DUNG PHAN TÍCH HANH VI KHÁCH HÀNG VIÊN
Trang 3NHAN XET, DANH GIA, CHO DIEM
(Của giảng viên hướng dan)
Trang 4NHAN XÉT, DANH GIÁ, CHO DIEM
(Cua Giang vién phan bién)
Điểm: (Bằng chữ: )
Hà Nội, ngày thang năm 2019CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN
(Ký, họ tên)
Trang 5Khoá luận tốt nghiệp đại học Lời cảm ơn
LỜI CẢM ƠN
Đề có thể hoàn thành đề tài khóa luận tốt nghiệp một cách hoàn chỉnh, bên cạnh sự nỗ lực cố gắng của bản thân còn có sự hướng dẫn nhiệt tình của quý Thầy Cô, cũng như sự động viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập nghiên cứu và thực hiện khóa luận tốt nghiệp.
Em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Nguyễn Văn Thủy, là người đã trực tiếp hướng dẫn, định hướng và giúp đỡ em trong suốt quá trình làm khóa luận tốt nghiệp Em cũng xin gửi lời cảm ơn sâu sắc đến toàn thé thầy cô giáo của Học Viện Công Nghệ Bưu Chính Viễn Thông đã mang tâm huyết cũng như kinh nghiệm của mình đề dạy dỗ, chỉ bảo, hướng dẫn em tròn suốt thời gian học tập tại trường Em cũng xin cảm ơn gia đình, bạn bẻ đã luôn ủng hộ,
động viên tôi trong suốt quá trình học tập tại Học Viện Công Nghệ Bưu Chính Viễn Thông.
Do kiến thức và kinh nghiệm nghiên cứu còn hạn chế nên khóa luận không thể tránh khỏi sai sót, mong các Thay, Cô góp ý dé em hoàn thiện hơn.
Em xin chân thành cảm ơn.
Nguyễn Khánh Nam_E17CNO1 i
Trang 6Khoá luận tốt nghiệp đại học Mục lục
MỤC LỤC
LOI CAM 090 iMUC LUC oun — iiDANH MỤC CÁC KY HIEU VÀ CHU VIET TẮTT -ccccceccxccee iiDANH MỤC CAC BẢNG - 55+ 22v tre iiiDANH MỤC CAC HINH VE u sesssseessssseccssseecssseecssseesssneecssneecssneessnneeesnneessnees iv90.1000 1
CHUONG 1: GIỚI THIEU BÀI TOÁN ccc¿+ccvvvrrtrrrverrrrrrrrrrrrre 2
1.1 Phan tich mat d6 str dung Internet tai thanh phố Thuong Hải 21.1.1 Giới thiệu bài fOán - - 5 5 s13 9T TH HH HH gu nh nh 2 1.1.2 Bộ dữ liệu sử dụng - - s11 HH ng kg 2 1.2 Phân tích hành vi rời khỏi dich vụ sau 1 khoảng thời gian 3 1.2.1 GiGi thidu bai OA oo 3 1.2.2 Bộ dữ liệu sử dụng - s11 HH ng ng ng ng 41.3 Kết luận chương -2- 22 +¿©2+©E++Ex+£EE£2EEEEEEE7112212112712271211 21 re cre 4
CHƯƠNG 2: NGHIÊN CUU CÁC PHƯƠNG PHAP PHAN TÍCH DU LIEU DE
XÁC ĐỊNH HANH VI KHACH HÀNG - - Gà SH HH HH Hư nưệt 6
2.1 Tổng quan về Machine learning - + 2 2 x+x+E2£E+Exezxrzxerrserxeee 62.1.1 D)ioiii oi 6 2.1.2 Phân loại Machine Ïearn1ng - + + ++** + *+vvEeeerseeerseseereere 6
2.2 Phân tích mật độ sử dụng Internet tại thành phố Thuong Hải 7 2.2.1 Tổng quan về học không giám sát -2- 2 2 £+s+£x+£++£+z+zz+zse2 7
2.2.2 Thuật toán K-means - 55 5S 23333333 E39 S923 3555555315111 re 72.2.3 Thuật toán bậc hai số nguyên tố hỗn hợp (MIQP) - 132.2.4 Các công việc EN Quan - - - G5 2c 132111311 83911111 11 vườn 222.2.5 Định nghĩa mô hình hệ thống và các vấn đề :- 52 24
2.2.6 Phương pháp giải qUyẾt - 2-5 2+S++EE‡EE2EEEEEEEEEECEErrkerkerkeee 27
2.2.7 Đánh giá hiệu Suất - 2-22 +¿22E2EE£EEESEEEEEEEEEEEEErkrrrrerkrrrei 292.2.8 Kết luận 2222 tt tt tri 372.3 Phân tích hành vi rời khỏi dich vụ sau | khoảng thời gian 382.3.1 Tổng quan về Thuật toán Ensemble learning -. : s2 38
Trang 7Khoá luận tốt nghiệp đại học Mục lục
2.3.2 Lightgbm :-©22- 22 E2 E2 E2711271127121171121121111111 11x cre 43
2.4 Kết luận chương - 2-2-5 ©S£+SE+EE£EECEEEEEEEEE2E21121121171711211 21121 53CHƯƠNG 3: PHAN TICH CHỨC NANG VA THIET KE HỆ THONG 553.1 Mô tả hệ thống bằng ngôn ngữ tự nhiên ¿- 5¿5sz©z++cxz+cxe2 553.2 Phan tich hé thong 008 .Ả 553.2.1 Biểu đồ UseCase c.cccccccsessssssessessesssessessessesssssessesssssssessessessesssesseesess 553.2.2 Kịch bản Chuan c.ccsccccsessessssssecsessssssssessessssusssessessssusssessessessessseeseesess 563.3 Kết luận chương - ¿5 +tSE+SESEEE 211211 21711171211111 71111111 cre 57CHƯƠNG 4 : CAI DAT HE THỒNG -2- 2-2 2+ +EE+£EeEEczErExerxerreee 584.1 Giới thiệu về Django cescceccecsessesssessessesssssessessessesssessessessusssessessessessueeseeses 584.2 Giới thiệu về IBM CPLEX 2-2: 5£ ©5£+S££EE£EEEEEEEEEEEEEErEerrrrrkerree 584.3 Giới thiệu về LightŒbm - 2-2 2£ ©+£+EE£+EE£2EE£EEEEEEEEEECEEEEEkerrkrrrrree 584.4 Một số giao kết quả đầu ra của hệ thống - 2-2 2 +s>x+£xerxrrszrez 599000/9002 ::::ÖŒ1 62DANH MỤC TAI LIEU THAM KHẢO 2-2 5¿©2+¿2£22E+2£xz2£x+zxesrxs 63
11
Trang 8Khoá luận tốt nghiệp đại học
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIÉT TẮT
IoT Internet of things Internet van vat
MIQP Mixed-Interger quadaric programing Lập trình bậc hai số nguyên hỗn hợp
MILP Mixed-Integer Linear Programming Lập trình tuyến tính số nguyên hỗn
hợpMINLP Mixed-Integer NonlinearProgramming Lập trình phi tuyến tính số nguyên
hon hợp
NP Nondeterministic polynomial-time Thời gian đa thức không xác định
QP Quadratic Programming Lập trình bậc 2
GO Global Optimization Tối ưu toàn cục
OA Outer Approximation Xap xỉ ngoài
NLP Nonlinear Programming Lap trinh phi tuyén tinh
CPLEX — IBM ILOG CPLEX Optimization Gói phan mềm tối ưu của IBM
SGB Stochastic gradient boosting Tăng cường độ dốc Stochastic
AUC The Area Under the Curve Diện tích dưới đường cong
NDCG Normalized Discounted Cumulative Thu nhập tích lũy chiết khấu được
Gain chuân hóa
LETOR LEarning TO Rank Hoc dé xép hang
OOM Out of memory Hết bộ nhớ
MTV model-template—views Mau view
DSF Django Software Foundation Tổ chức phần mềm Django
AI Artificial Intelligence Trí tuệ nhân tạo
KDE Key data element Các thuộc tính chính
il
Trang 9Khoá luận tốt nghiệp đại học
DANH MỤC CÁC BÁNG
Bảng 1.1 Bảng miêu tả bộ dữ liệu của thành phố Thượng Hải 3Bảng 1.2 Bảng miêu tả bộ dữ liệu Churn 5 5 5 S5 **+*££+*eexseeseeerss 4 Bảng 2.1 Các kí hiệu và CHU BI1ải - c1 331113 1119 1181111111 krrre 25Bảng 2.2 Thông tin của một phan các trạm gốc - 2 + +£s+zs+zszsz 30
Bang 2.3 Các tông mục tiêu giá trị của từng phương pháp tiếp cận vị trí đám mây
cạnh tranh với các khối lượng cạnh tranh - + c1 * 3 vs irrrrrerrree 31
Bảng 2.4 Các giá trị mục tiêu tổng thé của từng phương pháp tiếp cận vi trí dammây cạnh đối với số lượng các đám mây cạnh - - ¿+ +++x+2x++zx++zxzzxeez 33
11
Trang 10Khoá luận tốt nghiệp đại học
DANH MỤC CÁC HÌNH VE
Hình 1.1 Sự phân bố của các trạm gỐc -¿ 2 + x+++++x++£++zxerxezxxerxerxee 3 Hình 1.2 Sự phân bố mức độ sử dung Internet tại 2/7/2014 +++-<+ 5 Hình 2.1 Bài toán với 3 C ÏUSf€T - - 56 s1 190 930 191199119 1 1v ng ni rưy 7
Hình 2.2 K-means clustering không thé phân cụm dữ liệu - 12
Hình 2.3 Các ví dụ về tập lỖi ¿2 +SE2EE2EE2EEEEE2E12E12E171211211 1x re, 13 Hình 2.4 Convex ẨUnCfIOT - - - 5 s11 19H nh HH ng Hết 14 Hình 2.5 The Outer Approximation MILP equivalÌent - -«<<<<«++ 18 Hình 2.6 Rang buộc bậc hai không lồi -2- 2 + 2££+E£+E££E+zEeExerxerssrx 20 Hình 2.7 Giãn lỗi cơ bản của ràng buộc bậc hai secan( -«++-<<<<<<+ 20 Hình 2.8 Thừa số hóa Q trong CPL/EX 2-2 £+E£+EE+£E+EEt£E+zEEerxerxezes 21 Hình 2.9 Phân nhánh không gian trên do lường Secant - - -+-«+ 22
Hình 2.10 Mô hình vi trí dam mây cạnh trong điện toán cạnh trên thiết bị đi động ddddẳaddỒỶỔỒỶỒỒỖỒỖỒỖỒỖỒỖỒỖŨ 25
Hình 2.11 So sánh cân bằng khối lượng công việc với số dam mây biên 31
Hình 2.12 So sánh cân bằng độ trễ truy cập với số đám mây biên 31
Hình 2.13 Mức cân bằng khối lượng công việc liên quan đến số trạm gó 32
Hình 2.14 Mức cân bằng khối lượng công việc liên quan đến số trạm gốc 33
Hình 2.15 Mức cân băng khối lượng công việc cho kết quả khác nhau với các tỷ TG VE UIE 34
Hình 2.16 Độ trễ truy cập cho kết quả khác nhau với các ty lệ Vi trí 35
Hinh 2.17 Bias va Variance 39
Hình 2.18 Underfitting và OVeTrẨIfEINE - - - ch ng rg 39 Hình 2.19 Single weak Ïe€aTTT - - 5 c1 nghệ 40 Hình 2.20 Cau trúc leaf-wise -: +¿©5++2+++2x2EEtEEE22E221 2112112212112 crk.44 Hình 2.21 Biéu đồ UseCase Tổng quan của hệ thống . :2 5¿ 55 Hình 2.22 UseCase cho chức năng Phân tích mật độ sử dụng Internet 55 Hình 2.23 Biểu đồ UseCase cho Khách hàng Churn 2 ¿52 scs+£s+sz 56
iv
Trang 11Khoá luận tốt nghiệp đại học Mở đầu
MỞ ĐẦU
Trong thập ky qua, Internet đã trải qua ba bước chuyên đổi lớn: việc sử dụng rộngrãi các thiết bị di động, tốc độ phát trién nhanh chóng của điện toán đám mây và Internet
of Things (IoT) Điện toán đám mây là một mô hình điện toán thương mại mới cho phép
người dùng truy cập vào một nhóm chia sẻ tài nguyên máy tính có thé định cấu hình
(chang hạn như mang máy tính, máy chủ, lưu trữ, ứng dụng và dịch vụ) theo yêu cầu.Với sự tiến bộ của điện toán đám mây, nó đã mở rộng phạm vi tiếp cận từ các doanhnghiệp đến người tiêu dùng cá nhân
Trong khi đó, các thiết bị đi động như điện thoại thông minh và máy tính bảng,được cung cấp bởi mang di động dang phát triển nhanh chóng, ngày càng trở nên phổbiến Theo dự báo của Cisco ( 1 công ty viễn thông tại Hoa Kỷ), vào năm 2021, sẽ có1.5 thiết bị di động được sửa dụng tính trên đầu người, trong đó điện thoại thông minhchiếm hon một nửa tong số thiết bi và kết nối toàn cầu
Nhận thấy thị trường không 16 và tiềm năng, các công ty về viễn thông nhanh
chóng ra đời dé đáp ứng nhu cầu sử dụng như VNPT, Viettel, FPT Telecom, Bài toánđặt ra là làm sao có thể tổ chức vận hành một cách tối ưu, giữ chân khách hàng
Trong đồ án này, em sẽ chỉ ra các yếu tố ảnh hưởng hành vi của khách hàng đến đếndịch vụ viễn thông từ đó ta có thể đưa ra các giải pháp cụ thê thông qua 3 bài toán con
gồm:
e Phân tích hành vi rời khỏi dịch vụ sau 1 khoảng thời gian (Churn)
e Phan tích mật độ sử dụng Internet tại thành phố Thượng Hải
Với bộ dữ liệu đã chuẩn bị sẵn với các bài toán trên, em sử dụng các một số thuậttoán của Machine Learning dé đưa ra các kết quả là biểu đồ thê hiện, và sử dụng thêmcác thuật toán tôi ưu dé đưa ra giải pháp
Ngôn ngữ sử dụng: Python vì nó hỗ trợ các thư viện về Machine Learning vàGraph
Kết cầu đồ án:
- - Chương | : Giới thiệu bài toán
- _ Chương 2 : Nghiên cứu các phương pháp phân tích dữ liệu dé xác định hành vi
khách hàng
- _ Chương 3 : Phân tích chức năng và thiết kế hệ thống
- _ Chương 4: Cài đặt hệ thống
Nguyễn Khánh Nam_E17CNO1 1
Trang 12Khoá luận tốt nghiệp đại học Giới thiệu bài toán
CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN
1.1 Phân tích mật độ sử dụng Internet tại thành phố Thượng Hải
1.1.1 Giới thiệu bài toán
Mặc dù thực tế là các ứng dụng di động ngày càng trở nên tiên tiến , nhiều thiết bịvẫn bị hạn chế về năng lượng pin và khả năng xử lý, khiến các tác vụ đòi hỏi tính toánnhiều không thê hoàn thành Dé giải quyết van dé này, các nhà nghiên cứu đề xuất điệntoán đám mây di động, cho phép các thiết bị đi động chuyên một số nhiệm vụ của chúngsang các đám mây lưu trũ ở xa và giàu tài nguyên Tuy nhiên, do có khoảng cách địa lývới người dùng di động va do đó không thé đảm bảo cho người dùng cuối trong môi
trường di động khả năng truy cập dịch vụ nhanh chóng và đáng tin cậy.
Do hiện tượng “tắc nghẽn cô chai” băng thông trong mạng lõi, các luồng dữ liệu
cảm biến không lồ được tạo ra, phân tán theo không gian địa lý và khiến các mô hình
điện toán đám mây tiêu chuẩn bị chậm trễ đáng kể
Dé giải quyết cho van dé này, điện toán biên di động đang dan trở nên phổ biến
Trái ngược với điện toán đám mây tập trung hoặc điện toán đám mây di động thông
thường, điện toán biên di động có thể cung cấp một môi trường điện toán với sự phântán cao Hệ thống máy tính phân tán này có thé được sử dụng dé cung cấp các ứng dụng
và dịch vụ, cũng như lưu trữ và xử lý tài liệu gần gũi với người tiêu dung di động Trong
hệ thống này, có cách đám mây biên Đám mây biên được triển khai ở biên mạng đóngvai trò là cầu nối giữa người dùng và các đám mây từ xa, giúp giảm thiểu độ trễ và băngthông được sử dụng.
Trong mô hình điện toán biên di động này, việc đặt các đám mây biên là van đềcốt lõi Chiến lược bố trí đám mây cạnh hiệu quả có thé đảm bảo rằng tài nguyên tínhtoán của mỗi đám mây cạnh được sử dụng đầy đủ, các dịch vụ đám mây cạnh được phân
phối trong thời gian thực và người dùng di động có trải nghiệm tốt.
Mục tiêu dé giải quyết bài toán này là vấn đề đặt các đám mây biên phù hợp Cụ
thể là đòi hỏi việc đặt các đám mây biên tại các vị trí được đề xuất và phân bổ ngườidùng di động vào các đám mây biên với mục tiêu cân bằng khối lượng công việc giữacác đám mây biên và giảm sự chậm trễ giao tiếp giữa người dùng di động và các đámmây biên phục vụ họ Một lưu ý rằng các đám mây biên sẽ được đặt tại một số trạm gốc
với các cơ sở hạ tầng hiện có và thuận tiện cho việc triển khai chi phí phù hợp
Dé giải quyết van đề đặt vị trí tối ưu cho các đám mây biên, ta sẽ kết hợp sử dungthuật toán K-means và thuật toán bậc hai sé nguyén tố hỗn hợp
1.1.2 Bộ dữ liệu sử dụng
Bộ dữ liệu do Công ty Viễn thông Thượng Hải cung cấp chứa hơn 7,2 triệu bảnghi về việc truy cập vào Internet thông qua 3.233 trạm gốc từ 9.481 điện thoại di động
Nguyễn Khánh Nam_E17CNO1 2
Trang 13Khoá luận tốt nghiệp đại học Giới thiệu bài toán
trong sáu tháng Ví dụ, hình sau cho thấy sự phân bố của các trạm gốc Mỗi nút biểu thịmột trạm gốc ở Thượng Hải, Trung Quốc
RA
PB te oe
Thông tin của bộ đữ liệu bao gồm 6 trường:
1 Month Tháng mà bản ghi xảy ra
2 Date Ngay ma 1 ban ghi dién ra
3 Start Time Thời gian cuộc gọi bắt đầu
4_ End Time Thời gian cuộc gọi kết thúc
5_ Base Station Kinh độ va vĩ độ của trạm gốc, nơi mà truy cập internet
Location
6 UserID Mobile phone
Bang 1.1 Bang miêu ta bộ dữ liệu của thành phố Thượng Hải
1.2 Phân tích hành vi rời khỏi dịch vụ sau 1 khoảng thời gian
1.2.1 Giới thiệu bài toán
Nói một cách đơn giản, Churn rate là chỉ số cho số lượng người hoặc sự vật rời
khỏi một nhóm tập thể trong khoảng một khoản thời gian Đối với các công ty viễn thôngnói riêng, đây là một trong các yêu tô ảnh hưởng đến số lượng khách hàng mà một công
ty có thê hỗ trợ trong thời điểm nhất định
Việc xác định đúng Churn sẽ giúp các công ty cải thiện dịch vụ, giảm tỷ lệ matkhách hàng
Nguyễn Khánh Nam_E17CNO1 3
Trang 14Khoá luận tốt nghiệp đại học
1.2.2 Bộ dữ liệu sử dụng
chứa các biến khác nhau giải thích các thuộc tính của ngành viễn thông và các yếu tố
khác nhau được coi là quan trọng khi giao dịch với khách hàng của ngành viễn thông.
Biến mục tiêu ở đây là churn giải thích liệu khách hàng có bỏ cuộc hay không Chúng
ta có thé sử dung tập dữ liệu nay dé dự đoán khách hàng sẽ bỏ cuộc hoặc không bỏ cuộc
Tập dữ liệu này bao gồm 20 biến và khoảng 10 nghìn bản ghi Tập dữ liệu này
tùy thuộc vào các biên khác nhau có săn.
dụng dịch vụ Ta sử dụng các biểu dé, đồ thị để diễn tả cho sự khác nhau giữa 2 tậpretained va churned Ngoài ra, dé so sánh sự phân tán của các biến numerical giữa 2 tậpthì ta sử dụng phép thử two sample Kolmogorov-Smirov Hơn nữa, để xác định biến sốnào ảnh hưởng lớn đến churn, ta sẽ sử dụng cây quyết định tree model là lightgbm
Ta sẽ chia bộ dữ liệu thành 2 phần: khách hàng churned và khách hàng còn sử
Thông tin của bộ dữ liệu bao gồm:
Gender Giới tính
SeniorCitizen Người cáo tuôi
Dependents Độc lập tài chính tenure Nhiém ki
PhoneService Co dung Dich vu dién thoai MultipleLines Sử dung 2 mạng trở lên
InternetService Có dùng dich vụ internet OnlineSecurity
Hỗ trợ kĩ thuật ; Truyén hình trực tuyên
Truyén hình trực tuyên phim
Contract Hợp đồng
PaperlessBilling Thanh toán không giấy tờ
” = — = m—ÍI Ì¡ ƒ¡ ]ỉ ĩ¡Í ¡Á
MonthlyCharges Cước phi hàng thang
TotalCharges Tống phí cước
Marrige Hôn nhân Churn Churn hay không customerlD
Bảng 1.2 Bảng miêu tả bộ dữ liệu Churn
1.3 Kết luận chương
Ở chương này, em đã đưa ra 2 bài toán gồm:
o Phân tích mật độ sử dụng Internet tại thành phố Thượng Hải
o Phân tích hành vi rời khỏi dịch vụ sau 1 khoảng thời gian
Nguyễn Khánh Nam_E17CNO1
Giới thiệu bài toán
Trang 15Khoá luận tốt nghiệp đại học Giới thiệu bài toán
Với bai toán đầu tiên, ta có thé thấy được sự phân bố về việc sử dụng Internet của 1thành phố (ở đây là Thượng Hải) qua các mộc thời gian nhất định
_2014/7/2 =e OX ha“ 27
bộ = | es 3 x ¬ \ ủ
#- HÍ:
Hình 1.2 Sự phân bố mức độ sử dụng Internet tại 2/7/2014
Từ đó có thể tính toán xem vị trị nào nên đặt các trạm sốc, server cho phù hợp, tối ưu,
với chi phí phải chăng.
Với bài toán 2, churn có lẽ không còn là 1 điều xa lạ với các công ty viễn thông, xácđịnh đúng churn sẽ giúp các công ty đưa ra giải pháp dé giữ chân khách hàng, bảo dam
nguôn khách hàng và doanh thu ôn định và nâng cao chất lượng dich vụ
Nguyễn Khánh Nam_E17CNO1 5
Trang 16Khóa luận tốt nghiệp đại học Phân tích chức năng và thiết kế hệ thống
CHƯƠNG 2: NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN
TICH DU LIEU DE XÁC ĐỊNH HANH VI KHACH HÀNG
2.1 Téng quan vé Machine learning
2.1.1 Dinh nghia
Những năm gan day, thuật ngữ AI (Artificial Intelligence),Machine Learning đã
gây nên con sốt công nghệ trên toàn thé giới.Từ các công ty lớn như Google,
Facebook,Microsoft cho đến các công ty khởi nghiệp đều đầu tư vào machine learning.Hàng loạt các ứng dụng sử dụng machine learning ra đời trên mọi linh vực của cuộc
sông, từ khoa học máy tính đến những ngành ít liên quan hơn như vật lý, hóa học, y học,
chính trị
Theo định nghĩa cua Wikipedia, Machine learning là “các thuật toán được nghiên
cứu giúp máy tính có thê cải thiện tự động thông qua kinh nghiệm và băng cách sử dụng
dữ liệu được cung cấp mà không cần lập trình cụ thể.”
2.1.2 Phân loại Machine learning
Có hai cách phô biến phân nhóm các thuật toán Machine learning:
e Phân nhóm dựa trên phương thức học
o Học có giám sat
= Phân loại (Classification)
= Hồi quy (Regression)
e Phân nhóm dựa trên chức năng
Thuật toán Regression Thuật toán Classification
Thuật toán Instance-based Thuật toán Regularization
Thuật toán Bayesian Thuật toán Clustering Thuật toán Artificial Neural Network
Thuật toán Dimensionality Reduction
© 000 00 0 0 0 Thuật toán Ensemble
Trong phạm vi của đồ án, em sẽ trình bày về Phân cụm của Học không giám sát
và thuật toán Ensemble.
Nguyễn Khánh Nam_E17CNO1 6
Trang 17Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
2.2 Phân tích mật độ sử dụng Internet tại thành phố Thượng Hải
2.2.1 Tổng quan về học không giám sát
2.2.1.1 Định nghĩa
Khác với Học có giám sát, Học không giám sát là ta không biết được đầu ra haynhãn (label) mà chỉ biết duoc dit liệu đầu vào Thuật toán sẽ dựa vào cấu trúc của dữliệu mà thực hiện một công việc nảo đó.
Một cách toán học, chúng ta chỉ biết đầu vào X mà không biết nhãn Y tương ứng
2.2.1.2 Phân cụm (Clustering)
Đây là một bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ dự trên sự
liên quan về tính chất, cấu trúc của dữ liệu trong mỗi nhóm
Ví dụ như một thùng gồm các hạt gạo và thóc, ta sẽ phân loại thành 2 nhóm gạo
và thóc với tính chất là thóc có vỏ màu vàng, V.V
2.2.2 Thuật toán K-means
2.2.2.1 Giới thiệu
K-means là một trong những thuật toán cơ bản nhất trong Unsupervised learning
Đối với thuật toán K-means, các điểm dữ liệu sẽ không có nhãn (label) Mục tiêu
ma ta hướng tới là phân loại dữ liệu thành các cụm khác nhau sao cho trong cùng cụmthi các di liệu có tinh chất, đặc điểm giống nhau
Đề có cách hiểu đơn giản nhất về cụm (Cluster) là tập hợp các điểm có các đặctính giống nhau hay ở gần nhau trong một hệ không gian nhất định
Trang 18Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Nhìn hình trên, dé thấy các cluster có 1 điểm đại điện màu vàng gọi là Center.Những điểm xung quanh và gần center sẽ có các đặc điểm giống với nó
2.2.2.2 Phân tích toán học
2.1.2.2.1 Các ký hiệu toán học
Mục đích sau cùng của thuật toán phân nhóm này sẽ là từ dữ liệu đầu vào và sốlượng nhóm chúng ta muốn tìm, hãy xác định ra center của mỗi nhóm và phân loại các
điểm đữ liệu vào các nhóm tương ứng với các center vừa xác định Giả sử thêm răng
mỗi điểm dữ liệu chỉ thuộc vào đúng một nhóm
Giả thuyết là ta có N các điểm dit liệu gồm X=[X,,x., ,.Xx] € Rd*Nvà K là số
lượng cluster chúng ta muốn phân chia với điều kiện K < N Chúng ta cần tìm các
center là m:,mz, ,mx € R*! và label của mỗi điểm dữ liệu
Với mỗi điểm dữ liệu x; đặt y¡=[yii,Via, Vik] là label vector của nó, trong đó
nếu x; được phân vào cluster k thì yix=1 và y¡;=0, Vị # k Điều này có nghĩa là có đúng
một phan tử của vector y¡ là bằng 1 (tương ứng với cluster của xi), các phan tử còn lạibang 0 Vi dụ: nếu một điểm dit liệu có label vector là [1,0,0, ,0][1,0,0, ,0] thì nó
thuộc vào cluster 1, là [0,1,0, ,0][0,1,0, ,0] thì nó thuộc vào cluster 2, Cách mã
hóa label của dit liệu như thé này được goi là biểu diễn one-hot Day là một nhóm cácbit trong đó các kết hợp hợp pháp của các giá trị chỉ là những giá trị có một bit cao (1)duy nhất và tất cả các bit khác thấp (0) Một cách triển khai tương tự trong đó tất cả các
bit là '1' ngoại trừ một '0' đôi khi được gọi là một lạnh Trong thống kê, các biến giả đại
diện cho một kỹ thuật tương tự dé biểu diễn dữ liệu phân loại
Rang buộc của yj có thê viết dưới dạng toán học như sau:
các điểm được phân vào cluster này bởi mx, thì một điểm dữ liệu x¡i được phân vào
cluster k sẽ bị sai số là (xi-m,) Chúng ta mong muốn sai số này có trị tuyệt đối nhỏ
nhất nên ta sẽ tìm cách dé đại lượng sau đây đạt giá trị nhỏ nhất:
2
| xX; —IM, II;
Hơn nữa, vi x: được phan vào cluster k nên y„=1,y;=0, Vj# k Khi đó, biểu
thức bên trên sẽ được viết lại là:
Nguyễn Khánh Nam_E17CNO1 8
Trang 19Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Tóm lại chúng ta cân tôi ưu bài toán sau:
có thé tìm được phương pháp dé tim được nghiệm gần đúng hoặc điểm cực tiểu
Một cách đơn giản dé giải bài toán (4) là xen kẽ giải Y và M khi biến còn lại được
có định Đây là một thuật toán lặp, cũng là kỹ thuật phố biến khi giải bài toán tối ưu
Chúng ta sẽ lần lượt giải quyết hai bài toán sau đây:
Nguyễn Khánh Nam_E17CNO1 9
Trang 20Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Có định M, tim Y
Giả thuyết rằng ta đã tìm được các center, hãy tìm các label vector để hàm mắt mát
đạt giá trị nhỏ nhât Điêu này tương đương với việc tìm cluster cho môi điêm dữ liệu.
Khi các centers là cố định, bài toán tìm label vector cho toàn bộ dữ liệu có thé được chianhỏ thành bài toán tim label vector cho từng diém đữ liệu x; như sau:
Vì chi có một phan tử của label vector yi bằng 1 nên bài toán (5) có thé tiếp tục được
viét dưới dạng đơn giản hơn:
j = argmin [I x; — mị I (6)
Vì Il X; — m; 113 chính là bình phương khoảng cách tính từ điềm x; tới center mj, ta có
thé kết luận rang mỗi điểm x; thuộc vào cluster có center gần nó nhất! Từ đó ta có thé
dễ dàng suy ra label vector của từng điểm dit liệu.
Cô định Y, tim M.
Gia sử đã tìm được cluster cho từng điêm, hãy tim center mới cho mỗi cluster đê hàm mat mat đạt giá trị nhỏ nhat.
Một khi chúng ta đã xác định được label vector cho từng điểm di liệu, bài toán tim
center cho mỗi cluster được rút gọn thành:
K
mị = arg min ) yy | x; — m; 113
mj
i=1
Tới đây, ta có thé tìm nghiệm bằng phương pháp giải dao hàm bang 0, vì hàm cần tối
ưu là một hàm liên tục và có đạo hàm xác định tại mọi điểm Và quan trọng hơn, hàm
này là hàm convex (lồi) theo mj nên chúng ta sẽ tìm được giá trị nhỏ nhất và điêm tối
ưu tương ứng.
Nguyễn Khánh Nam_E17CNO1 10
Trang 21Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Đặt 1(mj) là hàm bên trong dấu argmin, ta có đạo hàm:
ôl(mj) _ sờ “(m-x) dm;
Giải phương trình dao ham bang 0 ta có:
Đâu ra: Các center M và label vector cho từng điêm dữ liệu Y.
1 Chon K điểm bat kỳ làm các center ban đầu
2 Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất
3 Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với vòng lặp
trước nó thì ta dừng thuật toán.
4 Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tất các các
điểm dữ liệu đã được gán vào cluster đó sau bước 2.
5 Quay lại bước 2.
Chúng ta có thê chắc chắn rằng thuật toán sẽ dừng lại sau một số vòng lặp hữu hạn Thật
vậy, vì hàm mắt mát là một sô dương và sau môi bước 2 hoặc 3, giá trị của hàm mat mát
bị giảm đi Theo kiến thức về dãy số trong chương trình cấp 3: nếu một dãy số giảm và
bị chặn dưới thì no hội tu! Hơn nữa, sô lượng cách phân nhóm cho toàn bộ dữ liệu là
hữu hạn nên đến một lúc nào đó, hàm mat mát sẽ không thé thay đồi, và chúng ta có thédùng thuật toán tại đây
2.1.2.2.5 Hạn chếDưới đây là hạn chế của thuật toán K-means clustering:
e Chúng ta cân biết sô lượng cụm cân phân cụm
Nguyễn Khánh Nam_E17CNO1 11
Trang 22Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Trong thực tế, sẽ nhiều trường hợp chúng ta mà ta không thê xác định được giá trị này
Có một sô phương pháp giúp xác định sô lượng clusters như Elbow method
-Determining the number of clusters in a data set.
e Nghiệm cuôi cùng phụ thuộc vào các centers được khởi tạo ban dau
Do phụ thuộc vào các center ban đầu mà thuật toán có thể có tốc độ hội tụ rất
chậm hoặc thay vì nhận được giá trị nhỏ nhất thì ta sẽ có được điểm cực tiêu , dẫn đến
nghiệm không chính xác Dé khắc phục điều này, ta thực hiện Chạy K-means clusteringnhiều lần với các center ban đầu khác nhau rồi chọn cách có hàm mat mát cuối cùng đạtgiá trị nhỏ nhất
e Các cluster cần có só lượng điểm gần bằng nhau
Dé thay răng qua ví dụ 3 cluster có với 10, 60 , 120 điểm Kết quả đầu ra của ta
sẽ không chính xác.
e Các cluster cần có dạng hình tròn
Có nghĩa là các cluster tuân theo phân phối chuẩn và ma trận hiệp phương sai là
ma trận đường chéo có các điêm trên đường chéo giống nhau
¢ Một cluster năm phía trong 1 cluster khác
Nguyễn Khánh Nam_E17CNO1 12
Trang 23Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Như hình vẽ, ta sẽ phân ra thành 4 cụm: mắt trái, mắt phải, miệng, xunh quanh
mặt Nhưng vì mắt và miệng nằm trong khuôn mặt nên K-means clustering không thực
2.1.2.1.3 Hàm lồi (Convex functions)
Hàm lồi có mối quan hệ tới đạo hàm bậc hai và bất đăng thức Jensen.
Một hàm số f : R"—›R được gọi là hàm lồi nếu dom f là 1 tập lỗi và
ƒ(x+ (1— 0)y) < 9ƒ(x) + (1 — 9)ƒ(y)
với mọi x;y € domƒ,0 < 8< 1.
Trong đó dom f là tập xác định của hàm số f
Nguyễn Khánh Nam_E17CNO1 13
Trang 24Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
0ƒ(x) +(1—9)ƒ(y) = ƒ(0x + (1— 9)y)
Hình 2.4 Convex function
Hàm số f được gọi là concave nếu —f là convex2.1.2.1.4 Affine functions
Các ham số dang f(x) =aTx +b vừa là convex, vừa là concave
Khi biến là một ma trận X, các hàm affine được định nghĩa có dạng:
ƒ(Ä) = trace(A?X) +b
trong đó trace là hàm số tính tổng các giá trị trên đường chéo của một ma trậnvuông, A là một ma trận có cùng chiều với X
2.1.2.1.5 Quadratic forms Hàm bậc hai một biên có dạng f(x) = ax*+bx+c là covex nêu a > 0, là concave
nêu a< 0.
Với biên là 1 vector x = [X1, X2, ,Xn] , một quadratic form có dạng
f(x) =xTAx+bfx+e
Với A thường là một ma trận đối xứng, tức aj = aji, Ví j có số hàng bằng số phân
tử của x, b là một ma trận bat ky cùng chiều với x và c là một hằng số bat kỳ
Nếu A là một ma trận (nửa) xác định dương thi f(x) là một convex function
Nếu A là một ma trận (nửa) xác định âm, tức xTAx, V x thì f(x) là một concavefunction
Nguyễn Khánh Nam_E17CNO1 14
Trang 25Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
2.1.2.1.6 a— Sublevel sets
Ca = {x € domƒ | f(x) < a}
Tuc tap hop cac diém trong tập xác định của f mà tai đó, f dat giá tri nhỏ honhoặc bang a
Dinh ly: Nếu một ham sé là lồi thì moi a-sublevel sets của nó là lồi Ngược lại
chưa chắc đã đúng, tức nếu các œ—sublevel sets của một hàm số là lồi thì hàm số đó
chưa chắc đã lôi
2.1.2.1.7 Bài toán tối ưu lồi (convex optimization problem)
Như chúng ta đã biết, bài toán tối ưu lỗi có dạng làx*- arg min fo(x) subject to: f(x) <0, 2=1,2, ,m (16) ayXx —b =0,j=1, ,
e x€R" là biến tối ưu
e Hàm dang thức ràng buộc hj là affine
thông thường, là một tập con của D được gọi là feasible set hoặc constraint set.
Khi feasible set là một tập rỗng thì ta nói bài toán tối ưu là infeasible Nếu một
điểm nằm trong feasible set, ta gọi điểm đó là feasible
Một dạng của bài toán tối ưu lỗi là Quadratic Programming Don giản vì hàm mụctiêu có dang là Quadratic forms và nếu ta dé ý dạng của bài toán
3z7Qz +cTz
Dễ thấy biến tối ưu ở đây là 1 hỗn só
Nguyễn Khánh Nam_E17CNO1 15
Trang 26Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Từ đó, ta có tên gọi Mixed-Integer Quadratic Programming hay lập trình hỗn số
nguyên bậc 2.
Chi tiết dé giải bài toán này, em xin phép trình bày trong phan tiếp theo và tíchhợp với phần mềm bộ quyết định CPLEX của IBM
2.2.3.2 Giới thiệu về MIQP
Thuật toán MIQP được định nghĩa như sau
Tính quan trọng của MIQP trong các vấn đề toán học về tối ưu gồm 2 phía cạnh
Ở phía đầu tiên, số lượng các ứng dụng nảy sinh trong một hoàn cảnh thực tế bắt đầu từkịch bản cô điển nhất trong tối ưu hóa danh mục đầu tư Mặt khác, MIQP rõ ràng là
bước đầu tiên cho sự khái quát về phương pháp luận của Lập trình tuyến tính số nguyênhỗn hợp (MILP) dé sinh ra Lập trình phi tuyến tính số nguyên hỗn hợp (MINLP)
Người ta biết rang MIQP là NP-Hard vì nó chứa MILP như một trường hợp đặcbiệt Tuy nhiên, điều quan trọng cần lưu ý là, khác với MILP, nguồn phức tạp của MIQPkhông bị giới hạn bởi yêu cầu tích phân đối với (một số) biến ở (3) Trên thực tế, trườnghợp đặc biệt (liên tục) của Lập trình bậc hai (QP) nói chung là NP-hard Gọi G = (N, E)
là đồ thị và Q là ma trận liên thuộc của G
Giá trị tối ưu của
Với x là chi số clique của G, được biết đến là khó NP-hard dé tính toán
Do đó, chúng ta sẽ phân biệt giữa trường hợp trong đó phần giãn thu được bằng cách bỏ
các yêu cầu tích phân (3) (nếu có) là lỗi (do đó, có thé giải được trong thời gian đa thức)
và trường hợp trong đó nó không lồi Nói một cách đại khái, MIQP lồi hiện được giải
quyết băng cách dựa nhiều vào các kỹ thuật MILP băng cách thay thế trong lược đồphân nhánh và ràng buộc cô điền bộ giải Lập trình tuyến tính (LP) bằng bộ giải QP hoặc
giải các MILP dưới dạng các bài toán con Thay vào đó, MIQP không lồi đòi hỏi các kỹ
thuật phức tạp hơn bang cách nào đó, cu thé là Tối ưu hóa toàn cầu (GO) Trường hợptrung gian giữa hai trường hợp này là trường hợp Q không lỗi nhưng MIQP có thể dễ
Nguyễn Khánh Nam_E17CNO1 16
Trang 27Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
dàng được định dạng lại thành MIQP lồi Điều này đúng, ví dụ: khi tất cả các biến bị
giới hạn là 0-1 hoặc nói chung là khi tat cả các sản pham nằm giữa biến 0-1 và biến bigiới hạn
2.2.3.3 Các MIQPs lồi
Giải pháp của MINLPs lồi đã đạt đến một công nghệ thuật toán khá 6n định vàtrưởng thành trong thập kỷ qua Về cơ bản, hai nền tảng của thuật toán và phần mềm làlập trình phi tuyến tính (NLP) dựa trên nhánh và giới hạn và các thuật toán xap xi bénngoài (OA) Mặc dù nhánh và ràng buộc dựa trên NLP là liên quan duy nhất đối vớiCPLEX (phần mềm quyết định) đối với trường hợp đặc biệt của MIQP (ôi), chúng tacũng xem xét OA Điều này là do thủ thuật tiêu chuan nhất trong MINLP là thêm mộtbiến a với œ € R., thay thé hàm mục tiêu ban đầu với “min a” và thêm điều kiện làf(x) < a Tất nhiên, điều này cũng có thể được thực hiện cho MIQP, do đó biến đổi
van dé trong một bài toán Lập trình có giới hạn bậc hai (MIQCP) lỗi và đôi khi nó có ý
nghĩa trong thực tế
Nhánh và ràng buộc dựa trên NLP là sự tổng quát hóa đơn giản của thuật toán liệt
kê chính cho MILP Sự khác biệt chính là NLP, một QP trong trường hợp đặc biệt củachúng ta, được giải quyết ở mọi nút của cây nhánh và cây liên kết để cung cấp giới hạndưới hợp lệ, thay vì vấn đề LP Các thành phần chính khác của lược đồ MILP vẫn giữnguyên: phân nhánh trên các biến giới hạn số nguyên và lược bỏ các nút dựa trên
e Tính phi khả thi: việc giãn nút là không khả thi
e Tính ràng buộc: giá tri giới hạn dưới của nút không nhỏ hơn giá tri giải pháp hiện
tại
e Tính khả thi số nguyên: sự giãn nút thừa nhận một giải pháp số nguyên
Nguồn gốc chính của sự kém hiệu quả của tiện ích mở rộng đơn giản này, nóichung là MINLP lồi, tính lưỡng cực của các bộ giải NLP khởi động ấm, tức là sử dụnglại thông tin về giải pháp giãn từ nút này sang nút khác Tuy nhiên, đối với trường hợpMIQP lồi, van dé này tương đối được kiểm soát khi QP đơn giản được sử dụng dé giảiquyết việc giãn nút
Ý tưởng cơ bản của phân rã OA là lay xấp xi bậc nhất của các ràng buộc tại cácđiểm khác nhau và xây dựng một MILP tương đương với MINLP ban đầu Điều nàytương ứng với một hàm phi tuyến g(x) và cho một tập hợp K các điểm củanox-* vak K dé tạo điều kiện
g(t") + Vg(#È)”(zT— ø*) <0 kEK (5)
Dé dàng nhận thay rang MILP được xây dựng thông qua một tập hợp các điểmtuyến tính hóa ban đầu là một phan thư giãn của MINLP lỗi ban đầu Sau đó, nếu đượcgiải quyết đến mức tối ưu, nó cung cấp giá trị giới hạn đưới hợp lệ cho van dé ban đầu
và một giải pháp x voix; € Z,j =1, p.
Nguyễn Khánh Nam_E17CNO1 17
Trang 28Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Tuy nhiên, giải pháp này có thé không khả thi NLP (vì sử dụng xấp xi bậc nhất)
và NLP(x) thu được bằng cách sửa thành phần nguyên của bài toán ban đầu được giải
quyết Nếu NLP (x) khả thi, thì đến lượt nó, nó cung cấp một giá tri giới hạn trên Nếu
không, phần mềm NLP có mục đích chung thường sẽ trả về mức giảm thiêu có trọng sốcủa việc vi phạm các ràng buộc Trong cả hai trường hợp, một điểm mới xX*1 có thé
được thêm vào tập hợp K, và phương pháp được lặp lại bằng cách áp dụng phép gần
đúng bậc nhất cho nó, do đó nâng cao chất lượng của MILP tương đương
Hình 2.5 The Outer Approximation MILP equivalent
Người ta đã chi ra rằng quy trình lặp hội tụ đến giá trị nghiệm tối ưu của bài toánban đầu trong một số bước hữu hạn, với điều kiện là các hàm phi tuyến là lồi và liên tụcnghịch đảo, và điều kiện ràng buộc được giữ cho mỗi điểm xF* ,k EK
Thuật toán OA được nêu ở trên yêu cầu giải một MILP ở mỗi lần lặp Điều này
có thê khá tốn thời gian nêu MILP ban đầu không cung cấp một giá trị gần đúng của van
dé ban đầu Tuy nhiên, OA có thé được nhúng trong một tìm kiếm cây đơn lẻ Cụ thé,
bắt đầu giải cùng một MILP ban đầu theo nhánh và ràng buộc và tại mỗi nút khả thi sốnguyên: (i) Giải NLP (x), và làm phong phú tập hợp các điểm tuyến tính hóa, (ii) Giải
quyết độ giãn LP của nút bang nắm dam mới -Ràng buộc về thứ tự, va (iii) Lap lại miễn
là nút là số nguyên khả thi Tat nhiên, không được phép cắt tia bởi tính khả thi của số
nguyên.
Do tính phô biến của thuật toán đơn giản QP kép của nó, CPLEX không trién khaithuật toán OA cho MIQP nhưng nó có một thuật toán cho trường hợp các van đề với cácràng buộc bậc hai lồi, MIQCP
2.2.3.4 0-1 QP không lồi
Ở đây, chúng ta xem xét cách xử lý lớp con của MIQP không lồi mà CPLEX cóthé dé dàng biến thành MIQP lỗi Trường hợp phù hợp nhất là QP không lồi chỉ có cácbiến nhị phân và trước tiên ta sẽ hạn chế thảo luận về nó Chính xác, chúng ta thảo luận
Nguyễn Khánh Nam_E17CNO1 18
Trang 29Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
về hai cách tiếp cận khác nhau để giải quyết MIQP không lỗi khi tat cả các biến là nhị
phân.
Phương thức đầu tiên, được sử dụng trong các phiên bản cũ hơn của CPLEX, bao
gồm biến đổi MIQP nhị phân không lồi thành MIQP lồi tương đương Dé làm điều này,
người ta sử dụng thực tế là khi một biến x là nhị phân x = xTIx Phan bậc hai của đốitượng x7Qx có thé được thay đổi trong xT(Q + pl)x — px Do đó, bằng cách xác định
giá trị của p > 0 khiến cho Q + pl tích cực vô định, MIQP không lồi được chuyênthành MIQP lỗi mà CPLEX có thé dé dàng giải quyết Một sự lựa chọn đơn giản chogiá trị cua fl là lấy giá trị tuyệt đối của giá trị Eigenvalue (âm) nhỏ nhất của Q Nhiềuphương án phức tạp hơn đã được đề xuất và được chứng minh là có khả năng
Cách tiếp cận thứ hai, được sử dụng trong các phiên bản CPLEX gần đây hơn, làbiến MIQP không lồi nhị phân thành một MILP tương đương Bằng lập luận được sửdụng ở trên, các số hạng bậc hai q;;xŸ có thé được thay thế bang các số hạng tuyến tính
q¡¡x¡ Đối với các thuật ngữ song tuyến q; jXixj, một biến mới vy; j > 0 được giới thiệucùng với các bat đẳng thức xi + xj # 1 < yy nếu qij > 0, hoặc yi; < xi và yij < xj nếu qi < 0
Lưu ý rang cách tiếp cận thứ hai này thực sự tổng quát hơn và cũng có thé được
áp dụng khi chỉ một trong hai biến trong thuật ngữ hai tuyến tính là nhị phân trong khibiến kia có giới hạn hữu hạn Cuối cùng, phương pháp tuyến tính hóa cũng có lợi chocác MIQP lồi, vì nếu mọi thứ có thê được tuyến tính hóa, vấn đề có thê được giải quyếttrực tiếp bằng kỹ thuật MILP
Giải quyết QPs và MIQPs không lồi chung trong CPLEX là một khả năng tươngđối Cụ thể, một trình giải cục bộ cho các QP không lồi đã có sẵn ké từ phiên ban 12.3(2011) và nó là một thuật toán Primal-Dual Interior Point Thật vậy, các thuật toán điểmbên trong chính xác cho QP lôi tự nhiên có thể được mở rộng dé cung cấp các giải pháp
tối ưu cục bộ cho trường hợp không lồi Đây là cách tiếp cận của Ipopt, tuy nhiên nótổng quát hơn nhiều vì nó giải quyết các vấn dé chung về NLP Do đó, một số bước bổ
sung như khôi phục tính khả thi, hiệu chỉnh bậc hai, bộ lọc, v.v là không cần thiết Nhưmột lưu ý kỹ thuật, hãy quan sát rằng giải pháp QP cục bộ không được tính toán theomặc định Trong thực tế, nếu Q là không xác định CPLEX trả về (một loại) thông báolỗi, cụ thể là CPXERR_Q_NOT_POS_ DEE, dé cảnh báo người dùng Sau đó, việc tínhtoán giải pháp cục bộ được kích hoạt bằng cách đặt mục tiêu giải pháp tùy chọn thành 2(hoặc CPX_SOLUTIONTARGET_FIRSTORDER).
Liên quan đến việc giải quyết các QP và MIQP không lồi tới mức tối ưu toàn cầu,điều này có thé thực hiện được trong CPLEX kề từ phiên ban 12.6 (2013) bằng cách đặtmục tiêu giải pháp thành 3 (hoặc CPX_SOLUTIONTARGET_OPTIMALGLOBAL).
Dé giải quyết các QP và MIQP nói chung, tức là, các QP không có cau trúc đặc biệt dé
khai thác, CPLEX dựa vào các phương pháp GO và đặc biệt, dựa trên cái gọi là thuật
Nguyễn Khánh Nam_E17CNO1 19
Trang 30Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
toán nhánh và ràng buộc không gian Nói một cách đại khái, nhánh Không gian và ràng
buộc thiết lập độ giãn lồi (có thể giải quyết dé dang) của QP ban đầu (hoặc bản thân van
đề hoặc thư giãn liên tục của nó), và thực hiện phân nhánh trên các giải pháp của giãnnày với mục đích gấp đôi là phân vùng không gian tìm kiếm (như bình thường) và cảithiện độ giãn lồi Càng nhiều càng tốt Một ví dụ về giãn lỗi cơ bản được áp dung choràng buộc không lồi đơn giản y < x? được mô tả trong Hình 2.3 được thể hiện trong
Hình 2.4 Về cơ bản, ý tưởng chung là thay thế mỗi "phần" không lồi băng một phần
lỗi thư giãn của nó, dé tạo ra một thư giãn lỗi tong thé của vấn dé ban đầu có thé giảiquyết được với tính tối ưu toàn cục, do đó cung cấp một giới hạn dưới hợp lệ Tat nhiên,
có thé sử dụng các phép giãn phức tạp hơn so với hình 2.4, do đó cung cấp giá trị xap xi
chặt chẽ hơn, ví dụ là độ giãn thân lỗi của một sản phẩm, giả sử x1X2, ,được đưa ra bởi
cái gọi là Sự bat bình đắng McCormick
{y <x?}
bộ xt < và := (h + m)xi — hin
Hình 2.6 Rang buộc bậc hai không lỗi Hình 2.7 Giãn lồi cơ bản
của ràng buộc bậc hai secant
Sự bat bình đắng McCormick có liên quan cơ bản đối với QPs
CPLEX sử dung hai cách khác nhau dé xây dựng độ giãn lồi ban đầu của QP
2.2.3.4.1 Dinh dang lại không gian Q và độ gian
Cho Q = P + Q với P là ma trận bán hạn dương theo đường chéo chứa qii > 0.
Thêm một biến yi; = xix; cho mỗi mục nhập khác 0 vào qi của Q Giãn yij = XiXị
bằng cách sử dụng các phép gần đúng McCormick (6) - (7) và Secant, dé có được hệthống
Nguyễn Khánh Nam_E17CNO1 20
Trang 31Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
min da? Px + 4(Q, Y)+cTz (8)
Ar =b (9) LÊN -Y/ J=I1, , p (10)
Vij € Mụ S YH (11)
Mũ S Vij (12)
l<z2<u (13) where (Q, Y) = Doi; gig ¥iz-
2.2.3.4.2 Cai tổ không gian Eigenvector
Sử dụng ham phân rã dé có được z = Lx vazTMDx = xTQ„ và thực hiện các bước
như trước (nhưng đơn giản hơn) Ví dụ như, D = Dt - D' với D” là các ma trận bán hạn
dương Thêm một điều kiện là y¡ < z2 cho mỗi biến giá trị khác 0 của D-.Suy ra giới hanhữu han, |’, u” cho z và xả hơi yii <z? bằng cách đo lường Secant , dé có được hệ thống
Hình 2.8 Thừa số hóa Q trong CPLEX
Một khi việc nới lỏng QP đã chọn đã được giải quyết, tính tích phân vẫn phải được
thực thi Nhưng, như đã trình bày trong các đoạn trước, các yêu cầu về tính tích phân
(3) không phải là những yêu cầu duy nhất được noi lỏng Cho (#,ÿ) là kết quả đượcchọn của phép nới lỏng QP (sau khi xử lý trước / cắt) và giả định rằng xj €Z,J = 1, ,pphân nhánh tiêu chuẩn trên số nguyên các thành phần đã được thực thi Nếu có trườnghợp ton tại 7, j3“ XX , rồi (X, y) không phải kết qua của bai toán và chúng ta cần phân
Nguyễn Khánh Nam_E17CNO1 21
Trang 32Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
nhánh Đây là cái gọi là phân nhánh không gian bao gồm việc chọn một chỉ số ¡ (của
l+ tị ` = A ⁄ Ỳ z Rsitt và x; , phân nhánh bang cách thay doi
một biến liên tục x¡), chọn a giá trị Ø giữa
giới hạn thành Ø và cập nhật tat cả các cách đo lường Secant và McCormick liên quanđến giới hạn này Điều này được mô tả trong Hình 2.6 cho phép đo lường gần đúng
Secant Dễ dàng nhận thấy tác dụng của sự phân nhánh không gian là thắt chặt giãn lồi,
do đó nói chung dẫn đến giới hạn tốt hơn
Hình 2.9 Phân nhánh không gian trên do lường Secant
Tat nhiên, độ giãn lồi ban đầu và bước phân nhánh không phải là thành phan cơ
bản duy nhất của bộ giải MIQP nói chung và của CPLEX nói riêng Đặc biệt, một thành
phần quan trọng của thuật toán GO hiệu quả là thắt chặt giới hạn
2.2.3.5 Kết luận
Chúng ta đã xem xét ngắn gọn các thành phần thuật toán chính dé giải quyết lồi
và không lồi MIQP đặc biệt chú trọng đến cách IBM-CPLEX triển khai chúng Ảnh
chụp nhanh của hiệu suất tính toán của CPLEX trên cả hai lớp đã được báo cáo băngcách nhân mạnh vào sự phát triển phiên bản này sang phiên bản khác của bộ giải trong
trường hợp lỗi và khả năng mở rộng của nó về mặt số lượng các chủ dé trong một không
lôi
2.2.4 Các công việc liên quan
Trước khi xuất hiện điện toán biên di động, có một số vấn đề về vị trí tương tự đã
được nghiên cứu trong các mạng khác Ví dụ như, vấn đề đặt bản sao máy chủ Web
trong các mạng phân phối nội dung cung cấp dịch vụ lưu trữ cho các nhà cung cấp nộidung Web Họ đã giảm vị trí bản sao của máy chủ Web như một vấn đề K-median, đó
là chọn M bản sao (hoặc dịch vụ lưu trữ) trong số N trang web ứng cử viên (N > M), vasau đó mô ta công thức lý thuyết đồ thị của bài toán đặt ban sao Dé giải quyết van dé
Nguyễn Khánh Nam_E17CNO1 22
Trang 33Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
này, họ đã phát triển một số thuật toán, chăng hạn như thuật toán dựa trên cây, thuật
toán tham lam, ngẫu nhiên và một thuật toán siêu tối ưu dựa trên sự nới lỏng Lagrangianvới tối ưu hóa bậc đại hoc Yin et đã áp dụng một thuật toán dựa trên K-mean-clusteringmới dé chọn phương tiện vị trí máy chủ và xác định sự phù hợp tối ưu giữa máy khách
và máy chủ phương tiện trong môi trường đa phương tiện.Họ cũng tận dụng kỹ thuật tọa
độ mạng mới nhất dé giảm khối lượng công việc khi lay thông tin mạng toàn cầu dé đặt
máy chủ Bên cạnh đó, họ đã tối ưu hóa sự cân bằng giữa hiệu suất độ trễ của dịch vụ
và chi phí triển khai dui những ràng buộc của phân phối vị trí khách hàng
Mặc dù các bài toán về vị trí trong các môi trường khác nhau có thể được rút gọnthành bài toán trung vị K tổng quát, nhưng về cơ bản chúng khác nhau Trong các mạng
phân phối nội dung, máy chủ bản sao hoặc máy chủ bộ đệm là một bản sao của máy chủ
từ xa và nó cung cấp phân phối nội dung cho các máy khách trong khi vẫn duy trì mức
tiêu thụ tài nguyên cân bằng và hiệu quả Người dùng từ xa nhận được dịch vụ từ máy
chủ cache / bản sao, mô hình này làm giảm băng thông của truy cập từ xa, chia sẻ mạng
lưu lượng truy cập và giảm tải máy chủ trong trang Web góc Tuy nhiên, đám mây cạnh
trong điện toán cạnh di động mạnh hơn Nó là một đám mây ở rìa mạng và nó có thécung cấp nhiều tài nguyên tính toán hơn cho người dùng từ xa, chang hạn như các ứng
dụng và dịch vụ, lưu trữ và quy trình nội dung Do đó, các máy chủ khác nhau trong các
môi trường mạng khác nhau dẫn đến các vấn đề về vị trí khác nhau Ví dụ: chức năngmục tiêu trong mạng phân phối nội dung là giảm thiểu độ trễ, tiêu thụ băng thông, tiêuthụ năng lượng và chỉ phí, nhưng không phải là cân bằng khối lượng công việc hoặc cáchạn chế về dung lượng của các đám mây cạnh
Mặc dù có rất ít nghiên cứu liên quan về vị trí đám mây cạnh trong môi trườngđiện toán cạnh trên thiết bị di động, nhưng có một số công trình nghiên cứu về vị trí củacloudlets trong những năm gan đây trong một mạng khu vực đô thị không dây Họ đã
đề xuất hai thuật toán heuristic cho vấn đề vị trí K cloudlet, một là thuật toán đầu tiênnặng nhất-AP đơn giản và thuật toán kia là thuật toán phân cụm dựa trên mật độ khắcphục những thiếu sót của thuật toán đầu tiên AP nặng nhất Xu và cộng sự đã nghiêncứu van đề về vị trí đám mây trong một mạng khu vực đô thị không dây quy mô lớn Ho
đưa ra van đề như một bài toán về vị trí dam mây dung lượng đặt K cloudlets đến một
số vị trí chiến lược trong mạng khu vực đô thị không dây Lưu ý rằng đám mây nhỏ vàdam mây cạnh có thé được nhìn thay giống nhau ở vi trí van đề như đã dé cập trước đó
Mặc dù các cách tiếp cận nói trên có hiệu quả, chúng không xem xét sự cân bằngkhối lượng công việc của các đám mây biên trong mạng biên di động hoặc độ trễ giaotiếp của người dùng từ xa Lấy cảm hứng từ điều này, cách tiếp cận của ta coi độ trễ giao
tiếp và cân bang khối lượng công việc và hình thành van đề đám mây cạnh là một van
dé đa phương
Nguyễn Khánh Nam_E17CNO1 23
Trang 34Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
2.2.5 Định nghĩa mô hình hệ thống và các vấn đề
2.1.4.1 Mô hình hệ thống
Mạng di động biên có thể được coi là mang hai bên G = (V US,E) bao gomnhiều trạm gốc và tap hợp các vi trí ứng viên cho các đám mây cạnh, trong đó V là tập
các trạm gốc, S là tập các vị trí ứng viên của các đám mây biên và E là tập các liên kết
giữa hai trạm gốc hoặc giữa một cơ sở nhà ga và một đám mây cạnh Dé đơn giản, tat
cả các vi trí của các trạm sốc được coi là các vi trí ứng cử viên cho các dam mây cạnh,tức là, S = V, và mỗi đám mây biên được định vị với một trạm gốc Ngoài ra, giả thiết
rằng có k đám mây cạnh được đặt đến k vị trí trong S và khả năng tính toán của mỗi
đám mây cạnh là như nhau Lưu ý rằng cách tiếp cận được đề xuất cũng có thể được áp
dụng cho bài toán vị trí, trong đó tài nguyên tính toán của mỗi đám mây biên là khác
nhau, bang cách xác định lại cân băng khối lượng công việc
Người dùng di động nhận được các dịch vụ bằng cách gửi yêu cầu đến các trạmsốc và các trạm sốc tải nhiệm vụ của họ lên các đám mây biên dé cung cap dich vu chongười dùng di động một cách nhanh chóng Một đám mây cạnh chịu trách nhiệm về một
tập hợp con các trạm gốc và một cơ sở trạm chỉ liên kết với một đám mây cạnh duy nhất.
Có hai van dé cụ thé cần được giải quyết trong khía cạnh nhận biết phân bổ của ngườidung đề về vị trí đám mây, một là vi trí của các đám mây cạnh và vấn đề khác là phân
bổ người dùng di động, nghĩa là sự phân b6 của các trạm góc
Đối với vấn đề vị trí đám mây cạnh, ta tập trung vào hiệu quả lâu dài của sơ đồ vịtrí đám mây cạnh Cả hai các chỉ số đánh giá được sử dụng trong bài báo này là cân bằng
khối lượng công việc và độ trễ giao tiếp.Người dùng yêu cầu cơ sở trạm là khối lượngcông việc của trạm gốc và tông số yêu cầu của người dùng được tải xuống một đám mây
biên thông qua các trạm gốc là khối lượng công việc của đám mây cạnh Sự cân bằngcủa khối lượng công việc đảm bảo rằng không có tình trạng một số cạnh các đám mây
bị quá tải trong khi các đám mây khác bị tải thấp hơn hoặc thậm chí không hoạt động
Khối lượng công việc cân bằng cũng đảm bảo tương tự độ trễ tính toán và độ trễ xếphàng đối với người dùng được cung cấp bởi mỗi đám mây cạnh vì kha năng tính toáncủa mỗi đám mây cạnh cũng vậy Trong đồ án, độ trễ truyền thông là độ trễ của tải từ
trạm gốc và cạnh của nó đám mây Lưu ý rằng, nếu một đám mây cạnh được sắp xếptheo vị trí với một trạm góc, thì người dùng ở trạm gốc sẽ có giao tiếp chậm trễ Bảng
2.3 cho thấy các ký hiệu được sử dụng
Trang 35Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
Số lương đám mây biên trong D
1 trạm gốc trong V
1 đám mây biên trong D
Khối lượng công việc cua | trạm gốc hoặc đám mây biên
Vi trị của | trạm sốc hoặc đám mây biên
Sơ đồ vị trí đám mây cạnh trong đó có k vi trí của các đám mây cạnh
Bw Sự cân bằng khối lượng công việc của một giải pháp vấn đề vị trí đám mây cạnhBw’ Su cân bang khối lượng công việc của một giải pháp van đề phân bồ trạm gốc
p Độ trễ giao tiếp giữa trạm gốc và đám mây biên được liên kết
Da Độ trễ giao tiếp của giải pháp van đề vị trí đám mây cạnh
Da’ Độ trễ giao tiếp của giải pháp van đề phân bồ tram gốc
Bảng 2.1 Các kí hiệu và chú giải
Camera
Hình 2.10 Mô hình vi trí đám mây cạnh trong điện toán cạnh trên thiết bị di động
Đề minh họa trực tiếp vấn đề đặt đám mây cạnh, ta giới thiệu một ví dụ trong Hình2.10 Lay đám mây cạnh DI làm vi dụ, nó chịu trách nhiệm về sấu trạm cơ sở xung
quanhchính nó và các môi quan hệ được thê hiện bằng các liên kết giữa DĨ và các trạm
gôc Người dùng di động kết nối trực tiếp với một trạm gốc và kết nối này được sử dụng
như một nút trung gian để truy cập các dịch vụ từ một đám mây cạnh Lưu ý rằng các
Nguyễn Khánh Nam_E17CNO1 25
Trang 36Khoá luận tốt nghiệp đại học Các phương pháp phân tích dữ liệu
liên kết giữa hai trạm gốc không được hiền thị trong Hình 2.6 vì những liên kết này
không phải là trọng tâm của ta.
2.1.5 Giới thiệu bài toán
Van đề về vị trí dam mây cạnh trong môi trường cạnh di động G = (V US,E) sẽ
được định nghĩa như sau Gọi n và m là số trạm cơ sở và liên kết trong V và E, IVI =n,
|El = m, va ISI = n Cho {v1,v2, ,Vn} là các tram sốc và mỗi trạm sốc vi (1<1<n), W(vi)
sẽ đại diện cho khối lượng công việc của trạm gốc và I(v¡) đại diện cho vị trị đặt trạm
gốc Cho e,; € E là độ trễ truyền thông của mỗi liên kết giữa hai trạm gốc vị và vị
Cho D = {di,d›, ,dà} là k dam mây biên dé được đặt tại các vị trí ứng cử viên ở
S Hién nhiên, k < n, va, với mỗi đám mây biên dj (1 <j <k ), w(d;) đại diện cho khối
lượng của đám mây biên, l(d;) đại diện cho vi trí đặt các đám mây biên, va c¡ dại điện
cho tập hợp con các trạm gốc, liên kết với đám mây biên Cho T = {I(di) , , 1(dj),I(d) }
là một sơ đồ vị trí đám mây cạnh, C = {ci, ,Cj, ,ck } là một sơ đồ phân bô tram sốc,
do đó, (T, C) là một giải pháp của bài toán sắp xếp đám mây cạnh Vì khối lượng công
việc của đám mây cạnh là người dùng yêu cầu giảm tải thông qua các trạm cơ sở, liên
kết với đám mây cạnh w(d,) = Yoe cj w(v,)
Mục tiêu tối ưu hóa của van đề vị trí đám mây cạnh nhận biết phân bồ người dùng
là sự cân bằng khối lượng công việc giữa các đám mây biên và độ trễ giao tiếp tối thiểu
giữa các đám mây biên và các trạm gốc
Do khả năng tính toán của mỗi đám mây cạnh giống nhau, sự cân băng khối lượng
công việc có thé được biéu thị bang phương sai khối lượng công việc của các đám mây
cạnh Gọi Bw (T, C) là khối lượng công việc cân bang giữa các dam mây cạnh trong
một vị trí đám mây cạnh giải pháp, và nó có thể được xây dựng như sau:
Với w(d) là giá trị trung bình của khối lượng công việc của tất cả các đám mây cạnh
Định nghĩa chỉ ra rằng giá trị càng nhỏ của Bw (T, C) thì khối lượng công việc của các
đám mây cạnh càng cân bằng.
Mỗi đám mây biên được đặt tại vi trí của một trạm sốc trong cau trúc liên kếtmạng hiện có, vì vậy đường truyền giữa một trạm gốc và đám mây biên của nó bao gồm
các liên kết trong E Gọi ø (v, đ) là độ trễ giao tiếp giữa một trạm gốc v và đám mây
cạnh được liên kết d, nó là giá trị của đường đi ngắn nhất giữa trạm gốc v và trạm gốc
tai vi tri | (d) trong đồ thị có trọng số E Gọi Da (T, C) là độ trễ liên lạc giữa các tram
Nguyễn Khánh Nam_E17CNO1 26
q)
(2)