1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng thuật toán tối ưu tiến hóa lai trong phân tích nhu cầu khách hàng (Tóm tắt trích đoạn)

18 273 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

Định dạng
Số trang 18
Dung lượng 450,35 KB

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 VĂN NGÀ ỨNG DỤNG THUẬT TOÁN TỐI ƯU TIẾN HÓA LAI 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 -

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN NGÀ

ỨNG DỤNG THUẬT TOÁN TỐI ƯU TIẾN HÓA LAI 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 - 2016

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN NGÀ

ỨNG DỤNG THUẬT TOÁN TỐI ƯU TIẾN HÓA LAI 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

Ngành: Công nghệ thông tin Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: Chuyên ngành thí điểm

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

HÀ NỘI - 2016

Trang 3

MỤC LỤC

MỤC LỤC 1 DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 2

DANH MỤC HÌNH VẼ Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined

LỜI CẢM ƠN 3

MỞ ĐẦU 4 CHƯƠNG I TỔNG QUAN TỐI ƯU TIẾN HÓA VÀ BÀI TOÁN PHÂN CỤM MỜ 7 1.1Tối ưu tiến hóa 7

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

1.1.2 Chiến lược tiến hóa Error! Bookmark not defined 1.1.3 Thuật toán di truyền Error! Bookmark not defined 1.1.4 Lập trình di truyền Error! Bookmark not defined 1.1.5 Tiến hóa vi phân Error! Bookmark not defined 1.1.6 Thuật toán văn hóa Error! Bookmark not defined 1.2 Bài toán phân cụm mờ Error! Bookmark not defined 1.2.1 Khái quát phân cụm Error! Bookmark not defined 1.2.2 Độ đo Error! Bookmark not defined 1.2.3 Các thuật toán phân cụm tiêu biểu Error! Bookmark not defined 1.2.4 Thuật toán phân cụm mờ Error! Bookmark not defined 1.3 Kết luận chương Error! Bookmark not defined CHƯƠNG 2 THIẾT KẾ THUẬT TOÁN TỐI ƯU TIẾN HÓA LAI CHO PHÂN CỤM MỜ Error! Bookmark not defined 2.1 Thuật toán Black Hole Error! Bookmark not defined 2.1.1 Khái quát Error! Bookmark not defined 2.1.2 Mô tả thuật toán Error! Bookmark not defined 2.1.3 Cài đặt thuật toán Error! Bookmark not defined

Trang 4

2.2 Thuật toán Harmony Search Error! Bookmark not defined

2.2.1 Khái quát Error! Bookmark not defined

2.2.2 Mô tả thuật toán Error! Bookmark not defined

2.2.3 Cài đặt thuật toán Error! Bookmark not defined

2.2.4 Nhược điểm Error! Bookmark not defined

2.3 Thuật toán tối ưu tiến hóa lai BHHS Error! Bookmark not defined

2.3.1 Ý tưởng Error! Bookmark not defined

2.3.2 Mô tả thuật toán Error! Bookmark not defined

2.3.3 Cài đặt thuật toán Error! Bookmark not defined

2.4 Đánh giá ưu, nhược điểm của thuật toán lai ghép BHHSError! Bookmark not defined 2.4.1 Ưu điểm Error! Bookmark not defined

2.4.2 Nhược điểm Error! Bookmark not defined

2.5 Kết luận chương Error! Bookmark not defined

CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG PHÂN TÍCH NHU CẦU

KHÁCH HÀNG Error! Bookmark not defined

3.1 Mô tả yêu cầu Error! Bookmark not defined

3.2 Dữ liệu thực nghiệm Error! Bookmark not defined

3.3 Thiết kế hệ thống Error! Bookmark not defined

3.4 Cài đặt thuật toán BHHS Error! Bookmark not defined

3.5 Kết quả thực nghiệm thuật toán và demo chương trìnhError! Bookmark not defined 3.6 Kết luận chương Error! Bookmark not defined

KẾT LUẬN Error! Bookmark not defined

HƯỚNG PHÁT TRIỂN Error! Bookmark not defined

PHỤ LỤC Error! Bookmark not defined

TÀI LIỆU THAM KHẢO 10

Trang 5

LỜI CẢM Ơ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, Trung tâm Tính toán Hiệu năng cao - Trường Đại học Khoa học tự nhiên, thầy đã dành nhiều thời gian tận tình chỉ bảo, hướng dẫn em trong suốt quá trình tìm hiểu, triển khai và nghiên cứu đề tài Thầy là người đã định hướng và đưa ra nhiều góp

ý quý báu trong quá trình em thực hiện luận văn này

Em xin chân thành cảm ơ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, trang bị cho em những kiến thức quý báu, bổ ích và tạo điều kiện thuận lợi trong suốt quá trình em học tập và nghiên cứu tại trường

Em cũng 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

Em cũng 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

Do có nhiều hạn chế về thời gian và kiến thức nên luận văn không tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp quý báu của quý thầy cô và các bạn cùng quan tâm

Luận văn được thực hiện dưới sự tài trợ của đề tài nghiên cứu cơ bản mã số: 102.05-2014.01 của Quỹ phát triển khoa học và công nghệ quốc gia (NAFOSTED)

Cuối cùng em xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý thầy

cô, quý đồng nghiệp cùng toàn thể gia đình và bạn bè

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

Trang 6

MỞ ĐẦU

1 Đặt vấn đề

Ngày nay, công nghệ thông tin có nhiều chuyển biến mạnh mẽ, cả về số lượng và chất lượng trên cả hai lĩnh vực phần cứng và phần mềm, điều đó đã 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ồ cho nhân loại, do đó đòi hỏi con người phải biết khai thác dữ liệu và

xử lý thông tin phục vụ cho mục đích của mình

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

Trong kinh doanh, yếu tố khách hàng quyết định đến sự thành bại của doanh nghiệp Khi thông tin đang trở thành yếu tố quyết định trong kinh doanh thì vấn đề tìm ra các thông tin hữu ích trong các cơ sở dữ liệu khổng lồ ngày càng trở thành mục tiêu quan trọng của các doanh nghiệp Khai phá dữ liệu là một những hướng nghiên cứu phổ biến về việc tổ chức các kho dữ liệu và kho thông tin Đã

có nhiều nghiên cứu trong và ngoài nước quan tâm tới việc hình thành luật từ dữ liệu không chỉ được thực hiện trong các phương pháp của khai phá dữ liệu nói chung mà còn được xây dựng trên lý thuyết cụm mờ Phân cụm mờ là công cụ hữu hiệu trong các bài toán khai phá dữ liệu, phân tích khách hàng Thuật toán phân cụm mờ là một phương pháp thường được sử dụng trong nhận dạng mẫu và cho kết quả mô hình tốt trong nhiều trường hợp Tuy nhiên, điểm yếu của phân cụm mờ là nghiệm tối ưu là cực trị địa phương Do vậy, xu hướng là sử dụng các

Trang 7

thuật toán tối thiểu tối ưu tiến hóa cho phân cụm mờ để tìm ra nghiệm tối ưu toàn cục, nâng cao chất lượng phân cụm

Tối ưu hóa, được khởi nguồn như một ngành của Toán học, có rất nhiều ứng dụng rộng rãi trong quy hoạch tài nguyên, thiết kế chế tạo máy, điều khiển tự động, quản trị kinh doanh, kiến trúc đô thị, công nghệ thông tin, trong việc tạo nên các hệ hỗ trợ ra quyết định trong quản lý và phát triển các hệ thống lớn Chính vì vậy, các lĩnh vực của tối ưu hóa ngày càng trở nên đa dạng Trong thực

tế, việc tìm giải pháp tối ưu cho một vấn đề nào đó chiếm một vai trò hết sức quan trọng Phương án tối ưu là phương án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài nguyên, nguồn lực mà lại đem lại hiệu quả Có rất nhiều thuật toán đã và đang được sử dụng để tối ưu hóa Một trong những bước phát triển trong lĩnh vực này đặc biệt phải kể đến là thuật toán tối ưu tiến hóa

2 Mục đích của luận văn

Luận văn sẽ trình bày về một phương pháp tối ưu cho phân cụm mờ, cụ thể

là thuật toán lai ghép giữa Black Hole và Harmony Search 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, 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ến 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

Một cơ sở dữ liệu mẫu về thống kê 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 [6] được sử dụng để làm đầu vào cho hệ thống phân tích nhu cầu khách hàng có cài đặt 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 8

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 tối ưu tiến hóa và bài toán phân cụm mờ

Trong chương này, luận văn sẽ trình bày tổng quan về tối ưu tiến hóa, thuật toán lập trình tiến hóa (EP), chiến lược tiến hóa, thuật toán di truyền với thuật giải

GA, lập trình di truyền, tiến hóa vi phân với thuật toán DE và thuật toán văn hóa

Từ các thuật toán tối ưu tiến hóa, luận văn sẽ trình bày trình bày về khái niệm tập

mờ, phân cụm mờ, thuật toán phân cụm mờ và thuật toán kinh điển FCM Từ cơ

sở đó kế thừa, dẫn chứng, phân tích hai thuật toán Black Hole và Hamorny Search

để thiết kế một thuật toán lai khác tối ưu cho phân cụm mờ

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

Trong chương này, tác giả giới thiệu hai thuật toán tối ưu tìm kiếm đó là thuật toán Back Hole (BH) của John Wheeler, để mô tả hiện tượng của một khối sụp đổ với ý tưởng lực hút tương tác trong vũ trụ của các vật thể và Hamorny Search (HS) với ý tưởng tối ưu thuật giải như người nhạc công chơi một bản nhạc tuyệt vời Từ đó kết hợp 2 thuật toán lại thành thuật toán khác để tối ưu tiến hóa trong không gian tìm kiếm đó là thuật toán lai ghép BHHS Các nhận xét, đánh giá ưu, nhược điểm của 3 thuật toán trên cũng được nhắc đến trong chương này

Chương 3 Xây dựng ứng dụng phân tích nhu cầu khách hàng

Trong chương này, tác giả cài đặt thuật toán lai ghép BHHS và xây dựng phần mềm phân tích nhu cầu của khách hàng để giúp công ty sản xuất kinh doanh

có những quyết định sản xuất, lựa chọn sản phẩm tốt nhất phù hợp với các quyết

Trang 9

CHƯƠNG I TỔNG QUAN TỐI ƯU TIẾN HÓA VÀ BÀI TOÁN

PHÂN CỤM MỜ

1.1 Tối ưu tiến hóa

Tối ưu hóa được khởi nguồn như một ngành của Toán học, có rất nhiều ứng dụng rộng rãi trong quy hoạch tài nguyên, thiết kế chế tạo máy, điều khiển tự động, quản trị kinh doanh, kiến trúc đô thị, công nghệ thông tin, trong việc tạo nên các hệ hỗ trợ ra quyết định trong quản lý và phát triển các hệ thống lớn Chính vì vậy, các lĩnh vực của tối ưu hóa ngày càng trở nên đa dạng Trong thực

tế, việc tìm giải pháp tối ưu cho một vấn đề nào đó chiếm một vai trò hết sức quan trọng Phương án tối ưu là phương án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài nguyên, nguồn lực mà lại đem lại hiệu quả Có rất nhiều thuật toán đã và đang được sử dụng để tối ưu hóa Một trong những bước phát triển trong lĩnh vực này

đặc biệt phải kể đến là thuật toán tối ưu tiến hóa [1]

Từ khi trái đất được hình thành, mọi sự sống trên trái đất trải qua hàng triệu triệu năm đều đã và đang tiếp tục tiến hóa và phát triển để thích nghi với điều kiện, môi trường sống Chúng phát triển, thay đổi liên tục để sinh tồn Những cá thể nào yếu và không thích nghi được thì sẽ bị chết hoặc không phát triển, những

cá thể thích nghi với môi trường sống sẽ phát triển mạnh mẽ để tiếp tục sinh tồn, duy trì và phát triển giống nòi [2]

Trong sinh học, tiến hóa là quá trình mà qua đó các sinh vật nhận được và truyền lại các đặc tính từ thế hệ này sang thế hệ khác (lai tạo) Việc diễn ra trong một thời gian rất dài của nó giải thích nguồn gốc của các loài mới và sự đa dạng của sinh vật Các loài cùng nhau liên quan đến nhau bởi cùng gốc, sản phẩm của

sự tiến hóa và sự hình thành loài qua hàng tỉ năm

Trang 10

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 quá trình (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 các 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 tự nhiên sự tiến hóa là một quá trình không điều khiển, các sinh vật tốt hơn sẽ thích nghi nhiều hơn với môi trường, sinh vật sống sót sẽ sinh sản, phát triển… Đó là quá trình chọn lọc và tiến hóa tự nhiên

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

Tính toán tiến hóa là kỹ thuật tính toán dựa trên nguyên lý tiến hóa của quá trình chọn lọc tự nhiên trong thuyết tiến hóa của Darwin Các kỹ thuật tiến hóa bao gồm: Chiến lược tiến hóa, lập trình tiến hóa, thuật giải di truyền và lập trình

di truyền

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

Thuật toán mô phỏng [4] một hàm f V: R, trong đó V là không gian tìm 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:

 

Trong đó: :V R Vlà một hàm tạo ra một vector mới, nghĩa là một quần thể mới v i1 từ quần thể cũ v i,  thường được xác định bởi dạng tính toán đang

sử 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

Trang 11

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:

- Biểu diễn cá thể: Mỗi cá thể biểu diễn trong thuật giải di truyền tương ứng với một giải pháp của bài toán

- Đánh giá độ thích nghi: Độ thích nghi là khả năng phù hợp của mỗi cá thể hay mỗi giải pháp đối với môi trường, môi trường tương ứng với bai 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 dộ thích nghi

- Lai ghép: Là quá trình tạo ra các cá thể mới dựa trên nhiều cá thể đã có, gọi

là cá thể cha - mẹ Hai cá thể con được

- Độ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ó

- Chọn lọc và thay thế: Chọn lọc và thay thế là quá trình chọn những cá thể

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

1.1.1 Thuật toán lập trình tiến hóa (EP)

Ngày đăng: 10/05/2017, 11:07

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