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

Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng luận

90 509 1

Đ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

Định dạng
Số trang 90
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ NHƯ NA VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG LU

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ NHƯ NA

VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2015

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ NHƯ NA

VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG

Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Lê Hoàng Sơn

Hà Nội – 2015

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu độc lập của riêng tôi, không sao chép ở bất kỳ một công trình hoặc một luận văn, luận án của các tác giả khác Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố trong bất kỳ công trình nào khác Các trích dẫn, các số liệu và kết quả tham khảo dùng để so sánh đều có nguồn trích dẫn rõ ràng

Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình

Hà Nội, tháng 5 năm 2015

Tác giả luận văn

Nguyễn Thị Như Na

Trang 4

LỜI CẢM ƠN

Để hoàn thành tốt luận văn này, đầu tiên em xin bày tỏ lòng biết ơn chân thành

và sâu sắc đến Tiến sĩ Lê Hoàng Sơn, người đã tận tình và trực tiếp hướng dẫn em trong suốt quá trình triển khai và nghiên cứu đề tài, tạo điều kiện để em hoàn thành luận văn này

Thứ hai, em xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy cô giáo trong khoa Công nghệ thông tin, trường Đại học Công nghệ Hà Nội, Đại học Quốc gia Hà Nội đã dạy bảo tận tình em trong suốt quá trình em học tập tại khoa

Thứ ba, em xin được gửi lời cảm ơn tới các thầy cô, các anh chị và các bạn trong Trung tâm Tính toán Hiệu năng cao, trường Đại học Khoa học tự nhiên đã giúp đỡ em trong suốt thời gian làm luận văn này

Cuối cùng em xin chân thành cảm ơn tới gia đình, bạn bè, đồng nghiệp đã luôn bên em cổ vũ, động viên, giúp đỡ em trong suốt quá trình học tập và thực hiện luận văn Luận văn này được thực hiện dưới sự tài trợ của đề tài NAFOSTED, mã số: 102.05-2014.01

Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong được sự góp ý chân thành của thầy cô và các bạn để em hoàn thiện luận văn của mình

Xin chân thành cảm ơn!

Hà Nội, ngày 5 tháng 5 năm 2015

Học viên

Nguyễn Thị Như Na

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH SÁCH HÌNH VẼ vi

DANH SÁCH BẢNG vi

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT vii

1/ ĐẶT VẤN ĐỀ 1

2/ MỤC ĐÍCH CỦA LUẬN VĂN 2

3/ BỐ CỤC CỦA LUẬN VĂN 3

CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM MỜ 5

1.1 Tập mờ 5

1.1.1 Lý thuyết mờ 5

1.1.2 Tập mờ 5

1.2 Giới thiệu về phân cụm mờ 8

1.2.1 Khái quát phân cụm 8

1.2.2 Độ đo gần gũi 10

1.2.3 Các bước phân cụm 12

1.2.4 Phân cụm mờ 13

1.3 Thuật toán Fuzzy C – Means (FCM) 15

1.3.1 Thuật toán Fuzzy C - Means 16

1.3.2 Cài đặt chương trình 18

1.4 Kết luận chương 24

Trang 6

CHƯƠNG 2: CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM

MỜ 25

2.1 Tính toán tiến hóa 25

2.2 Các dạng của thuật toán tiến hóa 27

2.2.1 Thuật toán lập trình tiến hóa 28

2.2.2 Chiến lược tiến hóa 29

2.2.3 Thuật toán di truyền 29

2.2.4 Lập trình di truyền 31

2.2.5 Tiến hóa vi phân 32

2.2.6 Thuật toán văn hóa 32

2.3 Một số thuật toán cụ thể 33

2.3.1.Tìm kiếm cục bộ 33

2.3.2 Thuật toán tìm kiếm Tabu 37

2.3.3 Tìm kiếm lân cận biến đổi (VNS) 40

2.3.4 Tối ưu bầy đàn PSO 42

2.4 Áp dụng thuật toán tối ưu tiến hóa cho phân cụm mờ 46

2.4.1 Thuật toán Fuzzy J – Means heuristic (FJM) 46

2.4.2 Thuật toán VNS 54

2.4.3 Thuật toán tối ưu bầy đàn cho phân cụm mờ (FPSO) 56

Cài đặt chương trình 58

2.5 Kết luận chương 61

CHƯƠNG 3: SO SÁNH HIỆU NĂNG THUẬT TOÁN TỐI ƯU TIẾN HÓA 62 3.1 Thiết lập môi trường thực nghiệm 62

Trang 7

3.1.1 Dữ liệu 62

3.1.2 Cấu hình cài đặt 62

3.1.3 Kết quả thực nghiệm 63

3.1.4 So sánh hiệu năng thuật toán 65

3.2 Ứng dụng 66

3.2.1 Bài toán 66

3.2.2 Dữ liệu 66

3.2.3 Kết quả chạy thực nghiệm bài toán 68

3.3 Kết luận chương 75

KẾT LUẬN 76

TÀI LIỆU THAM KHẢO 78

Trang 8

Hình 3.1 Minh họa dữ liệu đầu vào thử nghiệm lưu trên tệp excel

Hình 3 2 Tóm tắt trường dữ liệu đầu vào

Hình 3 3 Tóm tắt trường dữ liệu đầu vào

Hình 3 4 Tóm tắt trường dữ liệu đầu vào

Hình 3.5 Minh họa dữ liệu đầu vào cho bài toán ứng dụng lưu trên tệp exel Hình 3.6 Ma trận mờ thuộc

DANH SÁCH BẢNG Bảng 3.1: Kêt quả thực nghiệm trường hợp 1

Bảng 3.2: Kêt quả thực nghiệm trường hợp 2

Bảng 3.3: Kêt quả thực nghiệm trường hợp 3

Bảng 3.4: Kêt quả thực nghiệm trường hợp 4

Trang 9

Bảng 3.5: Bệnh viện thuộc cụm 1

Bảng 3.6: Bệnh viện thuộc cụm 2

Bảng 3.7: Bệnh viện thuộc cụm 3

Bảng 3.8: Không gian tham chiếu của các thuộc tính

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT

viết tắt

Từ Tiếng Anh

search

Trang 10

Optimization

Trang 11

MỞ ĐẦU 1/ ĐẶT VẤN ĐỀ

Trong những năm gần đây, công nghệ thông tin đã có những chuyển biến mạnh mẽ, tác động lớn đến sự phát triển của xã hội Sự bùng nổ thông tin đã đem đến lượng dữ liệu khổng lồ Chúng ta càng có nhu cầu khám phá kho dữ liệu đó phục vụ cho nhu cầu con người, điều đó đòi hỏi con người phải biết khai thác dữ liệu và xử lý thông tin đó thành tri thức có ích

Một trong những kỹ thuật quan trọng trong quá trình khai phá dữ liệu và xử

lý dữ liệu lớn là kỹ thuật phân cụm dữ liệu Phân cụm đặc biệt hiệu quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó Phân cụm được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong lập quy hoạch

đô thị, nghiên cứu trái đất, địa lý, khai phá Web v.v

Ngày nay, cùng với kỹ thuật phân cụm kết hợp với lý thuyết mờ của Zadeh phương pháp phân cụm mờ đã và đang phát triển và được ứng dụng rộng rãi trong thực thực tiễn, ví dụ như phân tích nhu cầu khách hàng, phân đoạn ảnh, nhận dạng mặt người, nhận dạng cử chỉ và điệu bộ, phân tích rủi ro, dự báo nguy cơ phá sản cho ngân hàng và nhiều bài toán khác Những vấn đề chính được quan tâm nhiều trong phân cụm nói chung và phân mờ nói riêng là nâng cao chất lượng phân cụm, tính toán thông qua một số độ đo chất lượng cụ thể Những nhược điểm của phân cụm mờ liên quan đến việc xác định số cụm tự động, học đo khoảng cách thích nghi, lựa chọn tham số tối ưu, xây dựng tập mờ trên các tập mờ mở rộng, v.v đã được quan tâm nghiên cứu nhiều trong thời gian gần đây Tuy nhiên, các nghiên cứu này chưa quan tâm đến việc xác định nghiệm tối ưu toàn cục của bài toán phân cụm, và hàm mục tiêu của bài toán hay cách thức phân chia dữ liệu vẫn được sử

Trang 12

dụng chung cho mọi bài toán Để xác định nghiệm tối ưu toàn cục của bài toán phân cụm, các thuật toán tối ưu tiến hóa như thuật toán di truyền, tối ưu bầy đàn, v.v được áp dụng trong việc tìm nghiệm tối ưu toàn cục của bài toán tối ưu Và trong khuôn khổ luận văn này sẽ tìm hiểu vấn đề đó trên cơ sở khảo sát một số thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J - Means, Variable Neighbourhood Search và Fuzzy Particle Swarm Optimization

2/ MỤC ĐÍCH CỦA LUẬN VĂN

Trong luận văn này chúng tôi khảo sát môt số thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J – Means (FJM), Variable Neighbourhood Search (VNS) và Fuzzy Particle Swarm Optimization (FPSO) Các thuật toán này sẽ được áp dụng cho bài toán phân tích nhu cầu khách hàng – là mục tiêu quan trọng của bất kỳ doanh nghiệp nào trong việc xác định các khách hàng tiềm năng, nhu cầu của nhóm khách hàng đó và mức độ hài lòng về sản phẩm và dịch vụ Từ đó hỗ trợ doanh nghiệp đưa ra quyết định trong chiếm lược kinh doanh trong tương lai dựa vào kết quả của quá trình phân tích khách hàng tiềm năng, nhu cầu của nhóm khách hàng và mức độ hài lòng về sản phẩm và dịch vụ của doanh nghiệp

Cụ thể với một cơ sở dữ liệu mẫu về thống kê doanh doanh số bán hàng của một công ty kinh doanh thiết bị y tế cho khoảng 500 bệnh viện [26] được sử dụng làm dữ liệu đầu vào cho các thuật toán trên Qua đây, tính hiệu quả của các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ theo các tiêu chí về chất lượng và thời gian tính toán được làm rõ đồng thời phác họa chi tiết về các chức năng chính của bài toán phân tích nhu cầu khách hàng

Trang 13

3/ BỐ CỤC CỦA LUẬN VĂN

Luận văn gồm 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:

Chương 1: Tổng quan về phân cụm mờ

Trong chương này, luận văn sẽ trình bày tổng quan về tập mờ, bài toán phân cụm và phân cụm mờ và thuật toán cơ bản giải quyết vấn đề phân cụm trên tập mờ

đó là thuật toán Fuzzy C – Means (FCM) Từ thuật toán này chúng tôi sẽ khảo sát các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ

Chương 2: Các thuật toán tối ưu tiến hóa cho phân cụm mờ

Trong chương này, các khái niệm cơ bản về tối ưu tiến hóa sẽ được nhắc lại ở đầu chương Tiếp theo, chúng tôi sẽ trình bày thuật toán Fuzzy J – Means (FJM) được phát triển từ thuật toán Fuzzy C – Means (FCM) trong việc tìm nghiệm tối ưu cho bài toán, từ đó có nhận xét về hiệu quả của bài toán phân cụm mờ được áp dụng thuật toán trên Tiếp theo, chúng tôi khảo sát thuật toán Variable Neighbourhood Search (VNS) được phát triển tiếp từ thuật toán Fuzzy J – Means

và phần cuối của chương này trình bày về thuật toán Fuzzy Particle Swarm Optimization (FPSO) lai của hai phương pháp Fuzzy C – Means và Particle Swarm Optimization (PSO) Nhận xét chung các thuật toán cũng được nhắc trong chương này

Chương 3: So sánh hiệu năng thuật toán tối ưu tiến hoá

Trong chương này, chúng tôi cài đặt và đánh giá hiệu năng các thuật toán: FCM, FJM, VNS và FPSO theo các tiêu chí về chất lượng phân cụm thông qua giá trị hàm mục tiêu và thời gian tính toán Từ đây, hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ được khẳng định

Trang 14

4

Trang 15

Lotfi A Zadeh và Dieter Klaua là người sáng lập ra lý thuyết tập mờ [25], mở đầu bằng bài báo “Fuzzy Sets” trên tạp chí “Information and Control” năm 1965 Ý tưởng lý thuyết tập mờ của Zadeh là từ những khái niệm trừu tượng, không chắc chắn của thông tin như độ tuổi (trẻ – già), chiều cao (cao – thấp), nhiệt độ (nóng – lạnh), v.v ông đã tìm ra cách biểu diễn bằng một khái niệm toán học được gọi là tập mờ FS, như là một sự khái quát của khái niệm tập hợp

Bằng các phương pháp tiếp cận khác nhau, các nhà nghiên cứu như Dubois, Prade, Mamdani, Tagaki, Sugeno, Ishibuchi, Herrera, v.v đã đưa ra những kết quả

cả về lý thuyết và ứng dụng trong các bài toán điều khiển mờ, khai phá dữ liệu mờ,

cơ sở dữ liệu mờ, các hệ hỗ trợ quyết định

Tập mờ FS được định nghĩa như sau:

1.1.2 Tập mờ

Định nghĩa 1.2 [25]: Cho tập nền Xx là phần tử của tập X Một tập mờ

 

F x

mãn điều kiện với xX, 0 F  x 1

 

 

Trang 16

Khi F x = 0 thì x F hoàn toàn Khi F x = 1 thì xF hoàn toàn

Như vậy, khái niệm tập mờ là sự tổng quát hóa khái niệm tập rõ bởi hàm thuộc của nó có thể lấy giá trị bất kỳ trong khoảng [0, 1], tập rõ chỉ là một tập mờ đặc biệt

vì hàm thuộc F x chỉ nhận hai giá trị 0 hoặc 1

Ví dụ 1.3: X = {X1, X2, X3, X4}

Hàm thuộc không còn mang 2

giá trị tuyệt đối 0 hay 1, mà là giá trị

Trang 17

Khi đó tập mờ F = {(50, 0.35) (10, 0.95) (15, 0.75) (55, 0.30)(70, 0.05)} và F được biểu diễn như Hình 1.2 sau:

Hình 1.2: Ví dụ một tập mờ

* Số mờ

Xét tập mờ F trên tập các số thực R Về nguyên tắc, không có ràng buộc chặt

đối với việc xây dựng các tập mờ để biểu thị ngữ nghĩa của các khái niệm ngôn ngữ Tuy nhiên, để đơn giản trong xây dựng các tập mờ và trong tính toán trên các tập mờ, người ta đưa ra khái niệm tập mờ có dạng đặc biệt, gọi là số mờ để biểu thị

các khái niệm mờ về số như gần 10, khoảng 15, lớn hơn nhiều so với 10,v.v

Trong điều khiển, với mục đích sử dụng các hàm thuộc sao cho khả năng tích hợp chúng là đơn giản, người ta thường chỉ quan tâm đến hai dạng số mờ hình thang và số mờ hình tam giác

Số mờ hình thang

Hàm thành viên có dạng sau [1]:

Trang 18

1.2.1 Khái quát phân cụm

Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp học không giám sát trong học máy, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định

Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm,

Trang 19

sao cho các đối tượng trong cùng một cụm tương tự nhau và các đối tượng khác

cụm thì không tương tự nhau [23]

Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm nội tại bên trong của bộ dữ liệu không có nhãn Tuy nhiên, không có tiêu chí nào là được xem

là tốt nhất để đánh giá hiệu quả của phân tích phân cụm, điều này phụ thuộc vào mục đích cuối cùng của phân cụm dữ liệu Do đó, người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm sẽ phù hợp với nhu cầu của người sử dụng cần



z iz   j với ij; i j,  1, 2, ,c

Phân cụm được đóng vai trò quan trọng trong các nghành khoa học:

hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các mẫu trong

cơ sở dữ liệu khách hàng

- Sinh học: Phân cụm dữ liệu được sử dụng để xác định các loại sinh vật, phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu

liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống thông tin địa lý (GIS), v.v, làm cho người dùng rất khó để kiểm tra các dữ liệu không gian một cách chi tiết Phân cụm dữ liệu có thể trợ giúp người dùng tự động

Trang 20

phân tích và xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian

v.v, nhằm cung cấp thông tin cho quy hoạch đô thị

thông tin cho nhận dạng các vùng nguy hiểm

trọng, có nhiều ý nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá ra cộng đồng Web, v.v

Trang 21

thấy rằng, độ đo không tương tự nhỏ nhất khi hai vector đồng nhất hay tương tự nhau

Một số độ đo không tương tự:

q

i i i

Một số phương pháp phân cụm điển hình

Dựa trên cách tiếp cận và thuật toán sử dụng, người ta phân các thuật toán phân cụm theo các phương pháp chính sau:

Trang 22

1.2.3 Các bước phân cụm

- Chọn lựa đặc trưng: Các đặc trưng phải được chọn lựa một cách hợp lý để

có thể “mã hoá” nhiều nhất thông tin liên quan đến công việc Mục tiêu chính của bước này là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng chúng trong các bước sau

- Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không

tương tự giữa hai véc tơ đặc trưng Phải đảm bảo rằng tất cả các véc tơ đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át hẳn đặc trưng nào Điều này được đảm nhận bởi quá trình tiền xử lý

- Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của chuyên

gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn dấu dưới tập dữ liệu Chẳng hạn, cụm trong không gian một chiều sẽ

có tiêu chuẩn khác với cụm trong không gian nhiều chiều

- Thuật toán phân cụm: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm

làm sáng tỏ cấu trúc cụm của tập dữ liệu

- Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính

đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định thích hợp

- Giải thích kết quả: Trong rất nhiều trường hợp, chuyên gia trong lĩnh vực

ứng dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm và phân tích để đưa ra được kết quả đúng đắn

Tóm lại, phân cụm dữ liệu là một vấn đề đòi hỏi chúng ta phải giải quyết những công việc sau đây:

Trang 23

1.2.4 Phân cụm mờ

Nhiều vấn đề đã dẫn đến bài toán phân cụm mờ và ứng dụng được nói nhiều trong bài toán phân cụm mờ là: nhận dạng ảnh, xử lý thông tin, phân loại khách hàng trong ngân hàng Đã có rất nhiều nghiên cứu chuyên sâu trong 2 thập kỷ qua Điểm quan trọng là sự khác nhau của hai hướng tiếp cận, theo hướng mờ thì một vector thuộc đồng thời vào nhiều cụm, ngược lại theo hướng xác suất thì một vector chỉ được thuộc vào duy nhất chỉ một cụm Ưu điểm của phân cụm mờ so với phân cụm rõ được thể hiện trong thực tế khi mà không thể chỉ ra ranh giới rõ ràng giữa các cụm Phân cụm rõ bắt buộc các điểm chỉ được phép thuộc vào duy nhất một cụm Còn phân cụm mờ cho phép các điểm dữ liệu linh hoạt hơn, một điểm dữ liệu có thể thuộc vào nhiều cụm và ta đưa ra khái niệm độ thuộc để chỉ mức độ liên quan của điểm dữ liệu vào cụm mà nó thuộc Giá trị độ thuộc nằm trong khoảng (0,1), trường hợp điểm dữ liệu không thuộc một cụm nào hay chỉ thuộc vào duy nhất một cụm là rất hiếm

1.2.4.1 Tập dữ liệu trong phân cụm mờ

Kỹ thuật phân cụm có thể được áp dụng cho dữ liệu được định lượng (kiểu số), định lượng (phân loại) hoặc có thể kết hợp cả hai

được biểu diễn thành vector cột n chiều x k x1k,x2k, ,x nkT,x kR n. Tập A của

Nquan sát được biểu diễn X x k k  1, 2 ,N, và biểu diễn như một ma trận n N :

Trang 24

Trong thuật ngữ nhận dạng mẫu, các cột của ma trận được gọi là các mẫu hay

cảnh Ví dụ, trong hoạt động sản xuất kinh doanh các cột của X có thể chứa các mẫu như là: doanh số, lợi nhuận, thanh toán, nợ quá hạn

1.2.4.2 Các cụm và các mẫu trong phân cụm mờ

Chúng ta đã biết một cụm là một nhóm các đối tượng tương tự nhiều hơn các đối tượng trong những cụm khác [23] Thuật ngữ “tương tự” cần được hiểu như tương tự toán học Trong không gian metric, tương tự được xác định bằng độ đo khoảng cách

Dữ liệu cho thấy thấy các cụm có dạng hình học khác nhau, kích thước và mật

chồng lên nhau

Trang 25

1.2.4.3 Phương pháp phân cụm mờ

Bài toán phân cụm Nvector X x1 ,x2 , ,x N thành c cụm dựa trên tính toán tối thiểu hóa hàm mục tiêu để đo chất lượng của cụm và tìm tâm cụm sao cho hàm

nhóm và được xác định bằng giá trị hàm thuộc u Ma trận giá trị hàm thuộc có dạng như sau:

Giải bài toán J m( , )u z min với ràng buộc sau:

1.3 Thuật toán Fuzzy C – Means (FCM)

Phân cụm dữ liệu đóng vai trò quan trọng trong giải quyết bài toán nhân biết mẫu và xác định mô hình mờ Thuật toán FCM phù hợp hơn với dữ liệu lớn hoặc nhỏ phân bố quanh tâm cụm

Trang 26

Có thể tổng quát bài toán bằng công thức (p) như [8]

(p)

ij ,Z

ij 1

i j c

dij x iz j là khoảng cách Euclide

m m ( 1)tham số mờ (Đối với m 1 thì Fuzzy C – Means trở thành thuật

ij 1 j

ij 1

N m

i i

N m i

1.3.1 Thuật toán Fuzzy C - Means

FCM được đề xuất bởi Bezdek năm 1974:

- X x1 ,x2 , ,x N

Trang 27

ij 1

N m

i i

N m i

1

m c

k ik

d d

Bước 5: Nếu không hội tụ, lặp lại bước 2

Một vài luật dừng có thể được sử dụng Thứ nhất các giá trị đầu và giá trị cuối nhận giá trị nhỏ hơn khi thay đổi giá trị tâm cụm Hoặc hàm mục tiêu (1.1)

2 ij

với giá trị khởi tạo và có thể sảy ra tối ưu cục bộ

* Ưu và nhược điểm:

Ưu điểm:

Trang 28

điểm được phân vào cụm dựa trên kết quả tính hàm thuộc Vì vậy, một điểm có thể thuộc về nhiều hơn một cụm

Nhược điểm:

-  càng thấp kết quả nhận được càng tốt nhưng chi phí tính toán càng nhiều

1.3.2 Cài đặt chương trình

Thuật toán được cài đặt trên Matlab, với các hàm phụ:

- Hàm đọc dữ liệu đầu vào lưu với tên file là ReadData.m

- Hàm chuẩn hóa dữ liệu đầu vào về dạng [0,1] lưu với tên file là

Chuan_hoa.m

- Hàm tính giá trị hàm mục tiêu lưu với tên file ObjFunc2.m

- Hàm tính giá trị Fuzzy C - Means được lưu với tên file FCM.m

Trong hàm chính hàm main( ) gọi các hàm phụ và đo thời gian của thuật toán

Hàm đọc dữ liệu đầu vào

function X = ReadData(Str)

X = xlsread(Str);

end

Trang 31

if (mauso ~= 0)

W(j,i) = tuso / mauso;

else

W(j,i) = 0;

Trang 33

disp('Du lieu dau vao');

%1 Doc du lieu dau vao

Trang 34

Trong chương 2 luận văn sẽ trình bày các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ xuất phát từ cơ sở lý thuyết chương 1

Trang 35

CHƯƠNG 2: CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN

CỤM MỜ 2.1 Tính toán tiến hóa

Trên trái đất sự sống rất đa dạng có hàng triệu loài, mỗi loài có những hành vi

và đặc điểm riêng Tất cả từ những thực vật, động vật, con chim, con cá và các sinh vật khác đều đã tiến hóa, tiếp tục tiến hóa và phát triển qua hàng triệu năm Chúng

đã thích nghi với môi trường thay đổi liên tục, chúng thay đổi liên tục để sinh tồn Những thành viên nào yếu và không thích ứng được với loài có xu hướng chết đi, những thành viên khỏe hơn sẽ tiếp tục tồn tại và sinh sản để bảo tồn giống loài Cuộc sống bị chi phối bởi quy luật chọn lọc tự nhiên và tiến hóa của Darwin - cuộc đấu tranh sống còn [22]

Và từ quy luật sự sống các loài ở trên người ta có những ý tưởng về tính toán tiến hóa (EC) Tính toán tiến hóa là mô phỏng của quá trình chọn lọc tự nhiên trong thủ tục tìm kiếm Trong tự nhiên, các sinh vật có đặc trưng nhất định tác động đến

sự sống và sinh sản của chúng Những đặc trưng này được mã hóa thành những thông tin trên nhiễm sắc thể Nhiễm sắc thể con mới được tạo ra bằng cách ghép đôi và sinh sản Kết quả cuối cùng có được nhiễm sắc thể con có chứa đặc tính tốt nhất từ nhiễm sắc thể của bố mẹ cho phép chúng sống sót trong môi trường không thuận lợi Với quá trình chọn lọc tự nhiên chắc chắn những cá thể tốt sẽ có cơ hội được kết hợp với nhau, cho ra những con tương ứng hoặc có thể tốt hơn

Trong quần thể, khi mỗi thế hệ xuất hiện và mất đi, những cá thể yếu hơn có

xu hướng chết đi mà không sinh sản ra con, cá thể khỏe hơn còn lại sẽ lại kết hợp với cá thể khác để tiếp tục sinh sản ra con, con mới có thể có những thuộc tính của

cả cha lẫn mẹ và tiếp tục tiến hóa

Trang 36

Các phép sử dụng trong EC bao gồm: Phép lai ghép, phép đột biến và phép chọn lọc Các phép này có thể kết hợp với nhau trong một mô hình tiến hóa

Định nghĩa tính toán tiến hóa:

kiếm, f được gọi là hàm thích nghi chứa đựng các thông tin đặc trưng cho bài toán Mỗi vòng lặp của tính toán tiến hóa có thể định nghĩa bởi công thức:

dụng, cách chọn quần thể mới từ quần thể cũ và các con mới sinh ra cùng

Tính toán tiến hóa như là một khái niệm chung cho giải quyết bài toán, đặc biệt đối với bài toán tối ưu hóa và áp dụng các thuật toán tiến hóa đã giải quyết được các bài toán tối ưu khó Ngày nay thuật toán trên thu hút rất nhiều nhà nghiên cứu tham gia nghiên cứu

Các khái niệm liên quan:

với một giải pháp của bài toán

hay mỗi giải pháp đối với môi trường, môi trường tương ứng với bài toán đang cần giải quyết Xây dựng độ thích nghi cũng là một bước quan trọng trong thuật toán di truyền Để đánh giá được độ thích nghi của các cá thể giải thuật di truyền sử dụng một hàm đo độ thích nghi

là cá thể cha - mẹ

Trang 37

- Đột biến: Là quá trình tạo ra cá thể mới từ một cá thể ban đầu bằng cách thay đổi một số gen của nó

từ quần thể hiện tại để tạo ra thế hệ sau của nó Trong quá trình này diễn ra sự đào thải những cá thể yếu, chỉ giữ lại những cá thể tốt Những cá thể có độ thích nghi lớn hơn hoặc bằng với độ thích nghi tiêu chuẩn sẽ được giữ lại và độ thích nghi của

cá cá thể trong quần thể sẽ tốt hơn sau nhiều thế hệ

Điều kiện dừng: Thuật toán di truyền là một quá trình ngẫu nhiên, nên không thể đảm bảo chắc chắn thuật toán sẽ dừng sau hữu hạn bước Vì vậy, để đảm bảo thuật toán di truyền kết thúc, người dùng thường phải định nghĩa điều kiện dừng cho thuật toán di truyền

2.2 Các dạng của thuật toán tiến hóa

Có rất nhiều biến thể khác của thuật toán tiến hóa EA, song ý tưởng chung của các thuật toán này là giống nhau Với một quần thể các cá thể, quá trình chọn lọc tự nhiên cho ra nhóm các cá thể riêng hay cho ra một loài, sự sống của chúng phụ thuộc vào khả năng thích nghi của chúng Các biến thể phổ biến của thuật toán tiến hóa:

Trang 38

2.2.1 Thuật toán lập trình tiến hóa

Được đề xuất bởi Lawrence J Fogel trong những năm 1960, là chiến lược tối

ưu hóa ngẫu nhiên EP sau đó được phát triển thêm bởi David Fogel trong năm

1990

Thuật toán lập trình tiến hóa EP khác thuật toán tiến hóa khác là không có lai ghép mà chỉ thực hiện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mới

EP tập trung vào sự phát triển của các hành vi và những mẫu không di truyền

EP có nguồn gốc từ mô phỏng các hành vi tiến hóa tương ứng Do đó, EP như là một tiến hóa kiểu hình Quá trình tiến hóa là quá trình tìm tập các hành vi tối ưu từ tập các hành vi quan sát được Với thuật toán này, độ đo thích nghi đo hành vi lỗi của cá thể trong quần thể trong môi trường của cá thể đó

Mục tiêu của thuật toán có thể là tìm giải pháp tối ưu hoặc tìm giải pháp nhanh nhất

Thuật giải EP

Gồm 4 bước (EP được lặp cho đến khi một vượt qua một ngưỡng cho trước hoặc thu được một giáp pháp thích hợp):

Bước 1: Khởi tạo quần thể

Một quần thể được khởi tạo ngẫu nhiên, bao gồm không gian tìm kiếm của bài toán tối ưu

Số lượng các cá thể trong quần thể phù hợp với tốc độ tối ưu hóa, nhưng không xác định được bao nhiêu cá thể là đủ và bao nhiêu cá thể là lãng phí

Bước 2: Đột biến

Các cá thể con được sinh ra bằng thực hiện phép đột biến ngẫu nhiên trên quần thể cha mẹ Mức độ của đột biến được đánh giá dựa trên thay đổi chức năng

so với cha mẹ

Trang 39

Bước 3: Đánh giá

Mỗi cá thể được đánh giá bằng tính giá trị hàm mục tiêu

Quá trình chọn lọc tự nhiên trong EP thường dựa trên độ đo thích nghi Cá thể được lựa chọn cho thế hệ tiếp theo dưa trên độ đo thích nghi tương đối

Bước 4: Lựa chọn

Mục tiêu lựa chọn cá thể từ cha mẹ và con cháu cho thế hệ sau Thông thường,

có sự đấu tranh ngẫu nhiên để xác định N cá thể được giữ lại cho thế hệ sau EP thực hện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mới

2.2.2 Chiến lược tiến hóa

ES được đề xuất để giải quyết bài toán tối ưu hóa các tham số do Rechenberg năm 1960 và tiếp tục phát triển bởi Schwefel Tối ưu hóa dựa trên giả thuyết quy luật tiến hóa sinh học

Các giả định để mã hóa các biến trong ES là thực hiện mối quan hệ nhân quả

đủ mạnh, tức là những nguyên nhân thay đổi nhỏ cũng phải tạo ra những thay đổi nhỏ về hiệu quả

ESs đầu tiên là một quần thể chỉ có một cá thể ES cũng chỉ thực hiện phép một di truyền là đột biến trong quá trình tiến hóa

Thuật toán này cho phép từ một số chiếm lược ban đầu tạo ra những chiến lược mới phù hợp với môi trường thực tế một cách tốt nhất

2.2.3 Thuật toán di truyền

GA được áp dụng rộng rãi và phổ biến nhất ngày nay Do John Holland đã mở rộng nghiên cứu trong những 1960 và 1970

GA cá thể được biểu diễn bằng các chuỗi (Tương tự như thông tin di truyền được mã hóa trong sinh vật như nhiễm sắc thể) Mỗi cá thể trong quần thể cho thấy một giải pháp tiềm năng cho bài toán

Trang 40

GA có thể tìm thế hệ mới có độ thích nghi tốt hơn GA giải quyết các bài toán

quy hoạch toán học thông qua các phép di truyền cơ bản: lai tạo, đột biến và chọn

lọc cho các cá thể trong quần thể Dùng GA đòi hỏi phải xác định được: khởi tạo

quần thể ban đầu, hàm đánh giá các giải pháp theo mức độ thích nghi – hàm mục tiêu, các toán tử di truyền tạo hàm sinh sản

Giải thuật của GA

Bước 1 Khởi tạo:

Sinh ngẫu nhiên một quần thể gồm các cá thể

Bước 2: Quần thể mới:

Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành

a.Thích nghi: Ước lượng độ thích nghi của mỗi cá thể

b Kiểm tra: Kiểm tra điều kiện kết thúc giải thuật

c Chọn lọc: Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng, cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn

d Lai ghép: Với một xác suất lai ghép được chọn, lai ghép hai cá thể

bố mẹ để tạo ra một cá thể mới

e Đột biến: Với một xác suất đột biến được chọn, biến đổi cá thể mới

Ngày đăng: 19/12/2015, 00:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[10] Du Merle, O., Hansen, P., Jaumard, B., & Mladenovic, N. (1999). An interior point algorithm for minimum sum-of-squares clustering. SIAM Journal on Scientific Computing, 21(4), 1485-1505 Sách, tạp chí
Tiêu đề: An interior point algorithm for minimum sum-of-squares clustering
Tác giả: Du Merle, O., Hansen, P., Jaumard, B., Mladenovic, N
Nhà XB: SIAM Journal on Scientific Computing
Năm: 1999
[11] Fischetti, M., Lancia, G., & Serafini, P. (2002). Exact algorithms for minimum routing cost trees. Networks, 39(3), 161-173 Sách, tạp chí
Tiêu đề: Exact algorithms for minimum routing cost trees
Tác giả: Fischetti, M., Lancia, G., Serafini, P
Nhà XB: Networks
Năm: 2002
[12] Hall, L. O., Ozyurt, I. B., & Bezdek, J. C. (1999). Clustering with a genetically optimized approach. Evolutionary Computation, IEEE Transactions on, 3(2), 103-112 Sách, tạp chí
Tiêu đề: Clustering with a genetically optimized approach
Tác giả: Hall, L. O., Ozyurt, I. B., Bezdek, J. C
Nhà XB: IEEE Transactions on Evolutionary Computation
Năm: 1999
[13] Hansen, P., & Jaumard, B. (1997). Cluster analysis and mathematical programming. Mathematical programming, 79(1-3), 191-215 Sách, tạp chí
Tiêu đề: Cluster analysis and mathematical programming
Tác giả: P. Hansen, B. Jaumard
Nhà XB: Mathematical programming
Năm: 1997
[14] Hansen, P., & Mladenović, N. (1999). An introduction to variable neighborhood search (pp. 433-458). Springer US Sách, tạp chí
Tiêu đề: An introduction to variable neighborhood search
Tác giả: P. Hansen, N. Mladenović
Nhà XB: Springer US
Năm: 1999
[15] Hansen, P., & Mladenović, N. (2001). J-means: a new local search heuristic for minimum sum of squares clustering. Pattern recognition, 34(2), 405- 413 Sách, tạp chí
Tiêu đề: Pattern recognition, 34
Tác giả: Hansen, P., & Mladenović, N
Năm: 2001
[16] Hansen, P., & Mladenović, N. (2001). Variable neighborhood search: Principles and applications. European journal of operational research, 130(3), 449-467 Sách, tạp chí
Tiêu đề: European journal of operational research, 130
Tác giả: Hansen, P., & Mladenović, N
Năm: 2001
[17] Ho, N. C., & Wechler, W. (1990). Hedge algebras: an algebraic approach to structure of sets of linguistic truth values. Fuzzy sets and systems, 35(3), 281- 293 Sách, tạp chí
Tiêu đề: Fuzzy sets and systems, 35
Tác giả: Ho, N. C., & Wechler, W
Năm: 1990
[18] Ho, N. C., & Wechler, W. (1992). Extended hedge algebras and their application to fuzzy logic. Fuzzy sets and systems, 52(3), 259-281 Sách, tạp chí
Tiêu đề: Fuzzy sets and systems, 52
Tác giả: Ho, N. C., & Wechler, W
Năm: 1992
[19] Horst, R., & Tuy, H. (1996). Global optimization: Deterministic approaches. Springer Science & Business Media Sách, tạp chí
Tiêu đề: Global optimization: Deterministic approaches
Tác giả: Horst, R., Tuy, H
Nhà XB: Springer Science & Business Media
Năm: 1996
[20] Mladenović, N., & Hansen, P. (1997). Variable neighborhood search.Computers & Operations Research, 24(11), 1097-1100 Sách, tạp chí
Tiêu đề: Computers & Operations Research, 24
Tác giả: Mladenović, N., & Hansen, P
Năm: 1997
[22] Siddique, N., & Adeli, H. (2013). Computational intelligence: synergies of fuzzy logic, neural networks and evolutionary computing. John Wiley & Sons Sách, tạp chí
Tiêu đề: Computational intelligence: synergies of fuzzy logic, neural networks and evolutionary computing
Tác giả: Siddique, N., & Adeli, H
Năm: 2013
[23] Stefanowski, J. (2009). Data Mining-Clustering. University of Technology, Poland Sách, tạp chí
Tiêu đề: Data Mining-Clustering
Tác giả: Stefanowski, J
Nhà XB: University of Technology, Poland
Năm: 2009
[25] Zadeh, L. A. (1965). Fuzzy sets. Information and control, 8(3), 338-353 Sách, tạp chí
Tiêu đề: Information and control, 8
Tác giả: Zadeh, L. A
Năm: 1965
[21] Mustafa Mohammed Rashid (2013), Tabu search, University of Gaziantep Khác
[24] Sri Phani Venkata Siva Krishna Madani (2010), Fuzzy Clustering Analysis, Blekinge Institute of Technology Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Ví dụ một tập mờ - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 1.2 Ví dụ một tập mờ (Trang 17)
Hình 1.3. Số mờ hình thang. - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 1.3. Số mờ hình thang (Trang 18)
Hình 1.5. Các dạng hình học khác nhau của cụm trong không gian  R 2 - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 1.5. Các dạng hình học khác nhau của cụm trong không gian R 2 (Trang 24)
2.3.2.3. Sơ đồ thuật toán tìm kiếm Tabu cơ bản - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
2.3.2.3. Sơ đồ thuật toán tìm kiếm Tabu cơ bản (Trang 49)
Hình 2.1: Cá thể cập nhật vị trí - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 2.1 Cá thể cập nhật vị trí (Trang 53)
Hình 3.1. Minh họa dữ liệu đầu vào thử nghiệm lưu trên tệp excel - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3.1. Minh họa dữ liệu đầu vào thử nghiệm lưu trên tệp excel (Trang 72)
Hình 3. 2. Tóm tắt trường dữ liệu đầu vào - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3. 2. Tóm tắt trường dữ liệu đầu vào (Trang 77)
Hình 3. 3. Tóm tắt trường dữ liệu đầu vào (tiếp) - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3. 3. Tóm tắt trường dữ liệu đầu vào (tiếp) (Trang 77)
Hình 3.5. Minh họa dữ liệu đầu vào cho bài toán ứng dụng lưu trên tệp exel - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3.5. Minh họa dữ liệu đầu vào cho bài toán ứng dụng lưu trên tệp exel (Trang 78)
Hình 3. 4. Tóm tắt trường dữ liệu đầu vào (tiếp) - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3. 4. Tóm tắt trường dữ liệu đầu vào (tiếp) (Trang 78)
Hình 3.6. Ma trận mờ thuộc - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Hình 3.6. Ma trận mờ thuộc (Trang 79)
Bảng 3.5. Bệnh viện thuộc cụm 1 - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Bảng 3.5. Bệnh viện thuộc cụm 1 (Trang 79)
Bảng 3.6. Bệnh viện thuộc cụm 2 - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Bảng 3.6. Bệnh viện thuộc cụm 2 (Trang 80)
Bảng 3.7. Bệnh viện thuộc cụm 3  Xây dựng hàm thuộc cho các biến ngôn ngữ: - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Bảng 3.7. Bệnh viện thuộc cụm 3 Xây dựng hàm thuộc cho các biến ngôn ngữ: (Trang 81)
Bảng 3.8. Không gian tham chiếu của các thuộc tính - Về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng  luận
Bảng 3.8. Không gian tham chiếu của các thuộc tính (Trang 82)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w