1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng phân tích hành vi khách hàng viễn thông

73 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Phân Tích Hành Vi Khách Hàng Viễn Thông
Tác giả Nguyễn Khỏnh Nam
Người hướng dẫn TS. Nguyễn Văn Thủy
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Khoa học dữ liệu
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 73
Dung lượng 22,24 MB

Nội dung

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 1

BO 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 2

BO 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 3

NHAN XET, DANH GIA, CHO DIEM

(Của giảng viên hướng dan)

Trang 4

NHAN 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 5

Khoá 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 6

Khoá 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 7

Khoá 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 8

Khoá 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 9

Khoá 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 10

Khoá 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 11

Khoá 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 12

Khoá 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 13

Khoá 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 14

Khoá 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 15

Khoá 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 16

Khó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 17

Khoá 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 18

Khoá 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 19

Khoá 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 20

Khoá 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 21

Khoá 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 22

Khoá 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 23

Khoá 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 24

Khoá 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 25

Khoá 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 26

Khoá 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 27

Khoá 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 28

Khoá 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 29

Khoá 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 30

Khoá 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 31

Khoá 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 32

Khoá 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 33

Khoá 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 34

Khoá 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 35

Khoá 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 36

Khoá 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)

Ngày đăng: 08/03/2024, 16:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN