Xây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ronXây dựng hệ thống dự đoán thuê bao rời mạng của Mobifone dựa vào mạng nơ ron
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-TRẦN THANH GIẢNG
XÂY DỰNG HỆ THỐNG DỰ ĐOÁN THUÊ BAO RỜI MẠNG CỦA MOBIFONE
DỰA VÀO MẠNG NƠ RON
LUẬN VĂN THẠC SĨ KỸ THUẬT
TP HỒ CHÍ MINH – NĂM 2016
Trang 2LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả trình bày trong luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ công trình nào khác
Tp HCM, 20 tháng 06 năm 2016 Học viên thực hiện luận văn
THUÊ BAO RỜI MẠNG CỦA MOBIFONE
DỰA VÀO MẠNG NƠ RON
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS DƯƠNG TUẤN ANH
TP HỒ CHÍ MINH – NĂM 2016
Trang 3LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Dương Tuấn Anh đã hướngdẫn nhiệt tình, tận tâm trong suốt quá trình giúp tôi thực hiện luận văn này Thầy đãgiúp cho tôi định hướng, phương pháp nghiên cứu, các tài liệu bổ ích và đặt biệt làkinh nghiệm quý giá
Tôi xin chân thành cảm ơn Học Viện Công Nghệ Bưu Chính Viễn Thông đãtạo điều kiện và đặc biệt gửi lời cám ơn sâu sắc tới các Thầy, các Cô đã tận tụyhướng dẫn, giúp đỡ và truyền dạy những kiến thức quý báu, bổ ích cho trong suốtkhóa học, để tôi áp dụng vào công việc trong lĩnh vực công nghệ thông tin, cũngnhư hoàn thành luận văn này
Cảm ơn các bạn học viên của lớp Cao học Hệ thống thông tin 2014-2016 đãgắn bó, đoàn kết cùng nhau chia sẻ những kinh nghiệm, và giúp đỡ tôi trong quátrình học tập cũng như trong suốt quá trình thực hiện luận văn
Tp HCM, 20 tháng 06 năm 2016 Học viên thực hiện luận văn
Trần Thanh Giảng
Trang 4MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
SPSS Statistical Product and
Services Solutions
Phần mềm SPSS
CDR
Call Detail Recording Chi tiết cuộc gọi
MLP MultiLayer Perceptron Mạng Nơ ron đa lớp truyền thẳng
Trang 5DANH SÁCH HÌNH VẼ
DANH SÁCHBẢNG
Trang 6MỞ ĐẦU
Nền kinh tế của thế giới đã chuyển qua giai đoạn kinh tế tri thức, trong đó thôngtin đóng một vai trò quan trọng Tất cả các thông tin khách hàng, thông tin giaodịch… đều được số hóa và lưu trữ trong các hệ thống thông tin của các công ty và
tổ chức Thông tin được chiết lọc ra từ các dữ liệu trên đóng một vai trò quan trọngtrong việc các lãnh đạo đưa ra các hoạch định chiến lược của tổ chức, hay đơn giảnchỉ là những điều chỉnh chuyên môn nghiệp vụ sao cho đạt hiệu quả hơn
Dữ liệu từ các hoạt động kinh tế được lưu trữ ngày một phong phú, đa dạng vềnội dung, hình thức và đầy đủ về mặt dung lượng Đó cũng là một ưu thế cho việcchiết lọc, khai phá các dữ liệu thô để đưa ra các thông tin hữu ích, nhưng cũng làmột thách thức lớn đặt ra: làm thế nào để xử lý dữ liệu lớn, phức tạp như vậy, hay
sự phong phú của dữ liệu về nội dung và hình thức cũng khiến chúng ta bối rốitrong việc quyết định bỏ loại dữ liệu gì, lấy dữ liệu gì
Ngành viễn thông không dây (cùng với điện thoại di động không dây) ra đờinhững năm đầu của thập niên 90 thế kỷ 20 đã mở ra một cuộc cách mạng mạnh mẽtrong việc liên lạc nói riêng, và cách thức chúng ta giao tiếp, truyền thông nóichung Và thực sự từ năm 2000 đến nay, với sự tiến bộ rất nhanh của thiết bị mạngviễn thông cho phép truyền dữ liệu với tốt độ cao hơn; tiến bộ về công nghệ thôngtin và sản xuất các thiết bị điện thoại di động cho phép người ta có thể làm rất nhiềuthứ trên điện thoại di động thay vì chỉ có nhắn tin và gọi điện đơn thuần
Sự phát triển của ngành viễn thông, công nghệ thông tin (gọi chung là ngànhICT) đã mở ra một cuộc cạnh tranh khốc liệt giữa các nhà sản xuất thiết bị di động
Trang 7cầm tay – smartphone; giữa các nhà cung cấp dịch vụ thông tin di động Mỗi nhàmạng đều có những chiến lược để: phát triển giành giật khách hàng, cung cấp cácdịch vụ tốt hấp dẫn và đặc biệt là giữ khách hàng.
Một trong những yếu tố quan trọng để giữ khách hàng là cần biết đặc tính củatất cả các khách hàng (thuộc tính), ví dụ khách hàng thuộc độ tuổi nào, giới tính,thói quen sử dụng dịch vụ (sử dụng cước bao nhiêu, thường sử dụng dịch vụ gì…)
Từ những thuộc tính đó còn cần phải xem lại trong dữ liệu lịch sử khách hàng làkhách hàng nào đã rời mạng Từ đó có thể rút ra được những kết luận về tính chấtcủa khách hàng đã rời mạng trong quá khứ, tính chất này được cụ thể hóa bằng môhình dự đoán thuê bao rời mạng Khi biết được thuê bao nào rời mạng thì các nhàmạng có thể có những tác động đến khách hàng để hạn chế các thuê bao đó rờimạng
Trang 8CHƯƠNG 1 - TỔNG QUAN
1.1 Tổng quan vấn đề cần nghiên cứu
Từ khi mạng điện thoại không dây ra đời, khách hàng sử dụng một số thuê bao
để liên lạc thì thói quen sử dụng dịch vụ của họ cũng mang tính cá nhân, do đó việcnghiên cứu thói quen sử dụng dịch vụ càng được các công ty viễn thông chú trọnghơn Hiện nay, trên thế giới có rất nhiều công trình để giải quyết bài toán dự đoánthuê bao rời mạng điện thoại di động không dây Hầu hết các công trình đều sửdụng công nghệ khai phá dữ liệu khai phá dữ liệu là “cây quyết định” (DecisionTree), hoặc “kỹ thuật mạng nơ ron” (Neural Network Techniques)
Dựa vào nghiên cứu thị trường (Berson, Smith & Thearling, năm 2000) [2], tỉ lệrời mạng của công ty điện thoại di động là khoảng 2% mỗi tháng Như vậy mỗi năm
là khoảng 25% (một phần tư) Trong khi đó, tỉ lệ rời mạng ở châu Á là khoảng 48%(theo nghiên cứu của Mattersion, 2001) Nghiên cứu này chỉ rõ, việc tiên đoán cácthuê bao rời mạng cũng là một phần quan trọng của công tác quản lý quan hệ kháchhàng (CRM - Customer Relationship Management)
Tại châu Á, bài báo “Applying data mining to telecom churn management” củacác tác giả tại Đài Loan (Shin-Yuan Hung, David C Yen, Hsiu-Yu Wang, năm2006) đã đề ra mô hình tiên đoán thuê bao rời mạng dựa vào thông tin tổng quancủa khách hàng, thông tin tính cước, trạng thái hợp đồng dịch vụ, chi tiết cuộc gọi
và lịch sử thay đổi dịch vụ của khách hàng [3]
Trong bài báo “A Neural Network based Approach for Predicting CustomerChurn in Cellular Network Services” [4] của đồng tác giả Anuj Sharma và KumarPanigrahi tại Viện quản lý công nghệ Ấn Độ năm 2011 cũng chỉ rõ việc sử dụng kỹthuật mạng nơ ron là một cách tiếp cận cơ bản trong việc dự đoán khách hàng diđộng rời mạng Bài báo cũng chỉ rõ, tỉ lệ dự đoán đúng khách hàng rời mạng làkhoảng 92%
Bài báo “Predicting Customer Churn in Telecom Industry using MultilayerPerceptron Neural Networks Modeling and Analysis” của các tác giả Omar Adwan,
Trang 9Hossam Faris, Khalid Jaradat, Osama Harfoushi, Nazeeh Ghatasheh năm 2014 mộtlần nữa khẳng định dùng mạng nơ ron đa tầng (3 tầng) để xây dựng mô hình bàitoán tiên đoán thuê bao rời mạng [5]
Trong luận văn này sẽ tiến hành nghiên cứu những lý thuyết về khai phá dữ liệu(bao gồm mạng nơ ron và cây quyết định), nghiên cứu các thuộc tính của kháchhàng MobiFone trong quá khứ, xây dựng tập thuộc tính khách hàng trong quá khứ,
từ tập dữ liệu thuê bao trong quá khứ này xây dựng mô hình dự đoán thuê bao nào
đó rời mạng hay không, sau đó dựa vào các tập dữ liệu thuê bao rời mạng kháccũng trong quá khứ để xác định độ chính xác của mô hình và quyết định việc ápdụng có áp dụng mô hình trong thực tế hay không?
Đây là một vấn đề áp dụng các kỹ thuật khai phá dữ liệu vào việc phục vụ cácmục đích kinh doanh nên đề tài có ý nghĩa thực tiễn Cách tiếp cận vấn đề và việcxây dựng mô hình dự đoán là rất quan trọng, quyết định việc nghiên cứu của đề tài
có hữu ích hay khôngCác công trình nghiên cứu liên quan
1.2 Lý do chọn đề tài
Việc sử dụng các kiến thức lý thuyết về khai phá dữ liệu (Data Mining) vào việckhai phá, chắt lọc dữ liệu để rút ra các kết luận định hướng các hoạt động kinhdoanh trong ngành viễn thông đã được áp dụng nhiều ở các công ty viễn thông trênthế giới; các công ty viễn thông cũng đã đổ nhiều công sức và tiền bạc vào vấn đềnày Theo tìm hiểu của chúng tôi thì tại Việt Nam, các công ty viễn thông, nhà cungcấp dịch vụ viễn thông (truyền hình, thông tin di động, Internet…) lớn chưa có mộtcông ty nào thực hiện một hệ thống dự đoán thuê bao (khách hàng) rời mạng (rời bỏdịch vụ) mà công ty đó cung cấp
Xuất phát từ việc đó, chúng tôi mạnh dạn nghiên cứu đề tài “Xây dựng hệ thống
dự đoán thuê bao rời mạng MobiFone dựa vào mạng nơ ron” Tất nhiên hệ thống dựđoán này có thể áp dụng cho bất kỳ công ty viễn thông nào có hệ thống khách hàng,miễn là có những thay đổi cách tiếp cận khách hàng cho phù hợp, nhưng với nguồn
dữ liệu có được khảo sát từ mạng điện thoại di động MobiFone thì chúng tôi xâydựng hệ thống này dựa trên những dữ liệu khách hàng thực tế thu thập được từ công
ty MobiFone
Trang 101.3 Những kết quả đạt được của luận văn
Luận văn này bao gồm 4 chương
Chương 1: Tổng quan vấn đề cần nghiên cứu
Chương này tìm hiểu tổng quan về vấn đề mà luận văn này cần nghiên cứu, cáccông trình có liên quan, và phát biểu bài toán
Chương 2: Các cơ sở lý luận
Các cơ sở lý luận – lý thuyết liên quan để giải quyết luận văn bao gồm: các kiếnthức về khai phá dữ liệu (data mining), mạng nơ ron, mạng nơ ron đa lớp truyềnthẳng, các thuật toán xây dựng mạng nơ ron, mô hình để giải bài toán dự đoán
Chương 3: Khảo sát cơ sở dữ liệu thuê bao của Mobifone
Chương 4: Hiện thực, đánh giá, kết luận và các hướng nghiên cứu trong tương lai
Trang 11CHƯƠNG 2 -CƠ SỞ LÝ LUẬN
Để giải quyết bài toán xây dựng mô hình dự đoán thuê bao rời mạng thì chúngtôi cần các kiến thức tổng quan và chuyên sâu về khai phá dữ liệu (data mining),các kỹ thuật khai phá dữ liệu, mà trong luận văn hướng đến là kỹ thuật phân lớpdùng mạng nơ ron, kỹ thuật lựa chọn thuộc tính Chương này khảo sát tất cả cáckiến thức liên quan đến cách thức giải bài toán
2.1 Giới thiệu về khai phá dữ liệu (Data Mining)
2.1.1 Khai phá dữ liệu là gì?
Khai phá dữ liệu (KPDL) được định nghĩa như là một quá trình chắt lọc haykhai phá tri thức từ một lượng lớn dữ liệu Một ví dụ hay được sử dụng là là việckhai thác vàng từ đá và cát, Dataming được ví như công việc "Đãi cát tìm vàng"trong một tập hợp lớn các dữ liệu cho trước Thuật ngữ Dataming ám chỉ việc tìmkiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô Có nhiều thuậtngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như KnowledgeMining (khai phá tri thức), knowledge extraction(chắt lọc tri thức), data/paternanalysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu),datadredging(nạo vét dữ liệu), [6]
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự
động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữliệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệuđó
Nói một cách đơn giản, KPDL liên quan đến việc “tách” hoặc “dò” tri thức từmột lượng lớn của dữ liệu, khai phá tri thức từ dữ liệu, tách tri thức, phân tíchmẫu/dữ liệu
Quá trình khai phá gồm những bước tuần tự như sau:
1 Làm sạch dữ liệu (loại bỏ những dữ liệu thừa và không có thông tin)
2 Tích hợp dữ liệu (khi nhiều nguồn dữ liệu được kết hợp)
3 Lựa chọn dữ liệu (lựa chọn những dữ liệu thích hợp cho việc phân tích đượcthực hiện lấy từ CSDL)
Trang 124 Chuyển đổi dữ liệu (nơi dữ liệu được chuyển đổi hoặc hợp nhất thành mộtthể thích hợp phù hợp cho việc khai phá bằng cách thực hiện các hoạt độngtóm tắt hoặc tích hợp)
5 Khai phá dữ liệu (là tiến trình quan trọng với những phương thức thông minhđược áp dụng cho việc tách những mẫu dữ liệu)
6 Định giá mẫu (Xác định những mẫu thực sự có ích miêu tả dữ liệu dựa trênmột vài đơn vị đo lường sự có ích)
7 Miêu tả tri thức (khi việc miêu tả mô hình và dữ liệu thu được được sử dụngtrong việc khai phá tri thức cho người dùng)
Hình 2.1 dưới đây minh họa các bước trong khai phá dữ liệu và phát hiện tri thức
Hình 2.1: Các bước trong Data Mining & KDD ([6])
2.1.2 Mô hình khai phá dữ liệu
Kiến trúc của một hệ thống KPDL điển hình chứa các thành phần sau:
Trang 13User Interface
Pattern Evaluation
Data Mining Engine
Database or Data Warehouse Server
Database Data Warehouse World Wide Web Other Info Repositories
Knowledge Base
Data cleaning, integration and selection
CSDL, kho dữ liệu, web hoặc những hệ thống thông tin khác
Máy chủ CSDL hoặc kho dữ liệu
Dựa trên cơ sở tri thức
Cách thức KPDL
Module đánh giá mô hình
Giao diện người sử dụng
Hình 2.2 dưới đây minh họa mô hình khai phá dữ liệu
Hình 2.2: Mô hình khai phá dữ liệu
Trang 142.1.3 Các kỹ thuật khai phá dữ liệu
Theo nguyên lý, khi sử dụng phương thức KPDL để giải quyết một vấn đề cụthể, cần phải hình dung ra loại vấn đề là gì, có thể tổng kết thành hai loại chính,cũng liên quan đến các đối tượng của khai phá dữ liệu:
KPDL dự đoán (predictive method): là đưa ra các dự đoán đựa vàocác suy diễn trên dữ liệu hiện thời KPDL dự đoán bao gồm các kỹthuật phân lớp (classification), hồi quy (regression)
KPDL mô tả (descriptive method): có nhiệm vụ mô tả về các tínhchất hoặc đặc tính chung của dữ liệu trong CSDL hiện có Baogồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp(association rules), mẫu tuần tự (sequential patterns)
2.1.3.1 Phân lớp
Phân lớp là quá trình xây dựng một mô hình để mô tả dữ liệu được phân chianhư thế nào, nói cách khác, phân lớp là quá trình xây dựng một mô hình bằng cácgán các đối tượng dữ liệu (thuộc tính) vào các lớp đã xác định
Tiến trình phân lớp dựa trên 4 thành phần cơ bản:
Lớp (class)
Dự đoán (predictors)
Tập dữ liệu được đào tạo (Training dataset)
Tập dữ liệu kiểm thử (Testing dataset)Đặc trưng của tiến trình phân loại gồm những điểm sau:
Input: tập dữ liệu đào tạo chứa những đối tượng với thuộctính của
nó, với một số thuộc tính đã được gán nhãn;
Output: mô hình(classifier) được gán bởi những nhãn cụ thể chomỗi đối tượng (phân lớp các đối tượng từng các thư mục), dựa trênnhững thuộc tính khác;
Mô hình sử dụng để dự đoán những lớp mới, những đối tượngchưa biết
Tập dữ liệu kiểm thử cũng dùng dể xác định độ chính xác của mô hình
Trang 15Khi một mô hình phân loại được xây dựng, nó sẽ phải so sánh với những môhình khác để lựa chọn mô hình tốt nhất Liên quan đến việc so sánh giữa các môhình phân loại (mô hình phân lớp), sẽ có một số thành phần cần được tính đến.
Khả năng dự đoán (predictive accuracy)
Tốc độ (speed)
Độ mạnh mẽ (robustness)
Độ mềm dẻo (scalability)
Tính dễ diễn giải (interpreability)
Độ đơn giản (simplicity)
2.1.3.2 Phân cụm
Nói đến phân cụm, nghĩa là nói đến chia một tập dữ liệu thành một vài cụm(cluster), dựa trên việc xác định những đặc điểm chung
Các đối tượng thuộc1 cụm là tương tự nhau
Đối tượng ở cụm này sẽ ít tương tự với đối tượng ở cụm khác.Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thịtrường, khân khúc khách hàng, nhận dạng mẫu, phân loại trang web…
Trang 16hệ giữa hai loạt sự kiện, loạt sự kiện này sẽ xảy ra sau loạt sự kiện kia, tuần tự theothời gian, thể hiện tri thức tiềm ẩn của dữ liệu tuần tự [6].
Khai thác mẫu tuần tự được ứng dụng trong nhiều lĩnh vực như: phân tích thịtrường, phân tích mẫu truy cập web, dự đoán nhu cầu mua sắm của khách hàng
2.1.3.5 Hồi quy
Phương pháp hồi quy là học một hàm ánh xạ một mục dữ liệu và một biến dựbáo giá trị thực Phân tích hồi quy sẽ xác định được định lượng quan hệ giữa cácbiến, và quảng bá giá trị một biến phụ thuộc vào giá trị của những biến khác.Phương pháp hồi quy khác với phân lớp dự liệu là hồi quy dùng để dự đoán nhữnggiá trị liên lục, còn phân lớp dữ liệu là dự đoán các giá trị rời rạc
Các ứng dụng của phương thức hồi quy:
Kinh tế
Dự báo thời tiết
2.1.4 Ứng dụng của khai phá dữ liệu
Với mỗi phương thức riêng biệt, rất nhiều ứng dụng thành công sử dụng KPDLtrong cuộc sống thực, sau đây là một số lĩnh vực mà áp dụng thành công kỹ thuậtKPDL:
đến các kiểu gọi điện thoại;
• Xác định các rủi rotrong việc sử dụng đầu tư các công nghệmới;
• Xác định những sự khác nhau giữa các dịch vụ và sản phẩm
Trang 172.2 Giới thiệu về mạng Nơ ron
2.2.1 Mạng nơron là gì?
2.2.1.1 Nơ ron sinh học và nơ ron nhân tạo
Nơ ron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người baogồm khoảng 1011 nơ rontham gia vào khoảng 1015 kết nối trên các đường truyền.Mỗi đường truyền này dài khoảng hơn một mét Các nơ roncó nhiều đặc điểmchung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng màcác tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệuđiện hóa trên các đường mòn nơ ron, các con đường này tạo nên hệ thống giao tiếpcủa bộ não [7]
Nơ ron nhân tạo
Một nơ ronlà một đơn vị xử lý thông tin và là thành phần cơ bản của một mạng
nơ ron Cấu trúc của một nơ ronđược mô tả trên hình 2.3
Hình 2.3:Mô hình mạng Nơ ron nhân tạo
Các thành phần cơ bản của một nơ ronnhân tạo bao gồm:
Trang 18 Tập các đầu vào: Là các tín hiệu vào (input signals) của nơ ron, các tín hiệu nàythường được đưa vào dưới dạng một nơ ronN chiều.
Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số liênkết – Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j với neural thườngđược kí hiệu là w Thông thường, các trọng số này được khởi tạo một cách ngẫunhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình họcmạng
Hàm tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào vớitrọng số liên kết của nó
Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như mộtthành phần của hàm truyền
Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu racủa mỗi nơ ron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thôngthường, phạm vi đầu ra của mỗi nơ ronđược giới hạn trong đoạn [0,1] hoặc [-1, 1].Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựachọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết
kế mạng
Đầu ra: Là tín hiệu đầu ra của một nơ ron, với mỗi nơ ronsẽ có tối đa là một đầu ra
2.2.1.2 Mạng nơ ron nhân tạo là gi?
Định nghĩa: Mạng nơ ron nhân tạo, Artificial Neural Network (ANN) gọi tắt là
mạng nơ ron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức
xử lý thông tin của các hệ nơ ronsinh học Nó được tạo lên từ một số lượng lớn cácphần tử (gọi là phần tử xử lý hay neural) kết nối với nhau thông qua các liên kết(gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề
Trang 19Output
Inputs
Output
2.2.1.3 Các kiểu mô hình mạng nơ ron
Tự kết hợp (autoassociative): là mạng có các neural đầu vào cũng là các nơ ronđầu
ra Mạng Hopfield là một kiểu mạng tự kết hợp Hình 2.1 dưới đây là mô hình củamạng tự kết hợp
Hình 2.4: Mô hìnhmạng tự kết hợp
Kết hợp khác kiểu (heteroassociative): là mạng có tập nơ ronđầu vào và đầu ra riêngbiệt Perceptron, các mạng Perceptron nhiều tầng (MLP: MultiLayer Perceptron),mạng Kohonen, … thuộc loại này Hình 2.5 là mô hình của mạng kết hơp kháckiểu
Trang 20Kiến trúc truyền thẳng (feedforward architechture): là kiểu kiến trúc mạng
không có các kết nối ngược trở lại từ các nơ ronđầu ra về các nơ ronđầu vào; mạngkhông lưu lại các giá trị output trước và các trạng thái kích hoạt của neural Cácmạng nơ rontruyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất; từđầu vào tới đầu ra, đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó Cácmạng kiểu Perceptron là mạng truyền thẳng như hình 2.6
Hình 2.6:Mô hình mạng truyềnthẳng
Trang 21Nơ ron vào Nơ ron ẩn Nơ ron ra
Hình 2.7: Mô hìnhmạng phảnhồi
Kiến trúc phản hồi (Feedback architecture): là kiểu kiến trúc mạng có các kếtnối từ nơ ron đầu ra tới neural đầu vào Mạng lưu lại các trạng thái trước đó, vàtrạng thái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộcvào các trạng thái trước đó của mạng Mạng Hopfield thuộc loại này Hình 2.7 là
mô tả của mạng có kiến trúc phản hồi
2.2.2Mạng nơ ron đa lớp truyền thẳng
Mô hình mạng nơ ronđược sử dụng rộng rãi nhất là mô hình mạng nhiều tầng(đa lớp) truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng quát là
mạng có n (n≥2) tầng (thông thường tầng đầu vào không được tính đến): trong đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn Hình 2.8 mô tả mạng nơ ron đa
lớp truyền thẳng [1][8][9]
Trang 22Nơ ron vào Nơ ron ẩn Nơ ron ra
.
.
.
.
Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
Đầu vào là các vector () trong không gian p chiều, đầu ra là các vector ())
trong không gian q chiều Đối với các bài toán phân loại, p chính là kích thước của mẫu đầu vào, q chính là số lớp cần phân loại Xét ví dụ trong bài toán nhận dạng chữ số: với mỗi mẫu ta lưu tọa độ (x,y) của 8 điểm
trên chữ số đó, và nhiệm vụ của mạng là phân loại các mẫu này vào một
trong 10 lớp tương ứng với 10 chữ số 0, 1, …, 9 Khi đó p là kích thước mẫu và bằng 8 x 2= 16; q là số lớp và bằng 10.
Mỗi nơ ron thuộc tầng sau liên kết với tất cả các nơ ron thuộc tầng liềntrước nó
Đầu ra của nơ ron tầng trước là đầu vào của nơ ron thuộc tầng liền saunó
Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơ ron nhận tín hiệuvào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả củahàm truyền); kết quả này sẽ được truyền tới các nơ ron thuộc tầng ẩn thứ nhất; các
nơ ron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩnthứ 2;…; quá trình tiếp tục cho đến khi các nơ ron thuộc tầng ra cho kết quả
Trang 232.2.3Thuật toán mạng perceptron nhiều lớp
Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP) còn được gọi là mạngtruyền thẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sungthêm những lớp ẩn và các nơ-ron trong các lớp ẩn này có hàm chuyển (hàm kíchhoạt) dạng phi tuyến Mạng MLP có một lớp ẩn là mạng nơ-ron nhân tạo được sửdụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục được định nghĩa trên mộtmiền có giới hạn cũng như những hàm là tập hợp hữu hạn của các điểm rời rạc
Thuật toán học theo phương pháp lan truyền ngược sai số
Thuật toán học theo phương pháp lan truyền ngược sai số do Rumelhart và các cộng
sự đề xuất [6] là một trong số những kết quả nghiên cứu quan trọng nhất đối với sựphát triển của mạng nơ-ron nhân tạo Thuật toán này được áp dụng cho mạng truyềnthẳng nhiều lớp trong đó các nơ-ron có thể sử dụng các hàm chuyển là các hàm liêntục có các dạng khác nhau
Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để luyện
mạng Với mỗi cặp đầu vào - đầu ra (x (k) ,d (k) ) thuật toán lan truyền ngược sai số thực
hiện hai giai đoạn sau:
• Giai đoạn thứ nhất, mẫu đầu vào x (k) được truyền từ lớp vào tới lớp ra, và ta có kết
quả đầu ra tính toán được là y (k) Giai đoạn tiếp theo, tín hiệu lỗi được tính toán từ
sự khác nhau giữa đầu ra quan sát được d (k) với đầu ra tính toán y (k) sẽ được lantruyền ngược lại từ lớp ra đến các lớp trước để điều chỉnh các trọng số của mạng
Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dưới đây, đối với các mạng cókích thước lớn hơn thì thao tác cũng tương tự
Mạng nơ-ron được xét có m nơ-ron ở lớp vào, l nơ-ron trong lớp ẩn và n nơ-ron ở lớp ra.Đường kẻ liền thể hiện luồng tín hiệu được truyền từ đầu vào tới đầu ra còn các đường kẻnét đứt thể hiện luồng tín hiệu lỗi được truyền ngược trở lại từ đầu ra
Chúng ta xét một cặp đầu vào - đầu ra để luyện mạng (x,d), để đơn giản chúng ta bỏ
ký hiệu mũ k thể hiện số thứ tự của cặp mẫu này trong bộ mẫu dùng để luyện mạng Khi đưa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là:
Trang 24Như vậy với một tập gồm p mẫu học, chúng ta lần lượt xây dựng được p hàm
giá như vậy Việc học của mạng hay nhiệm vụ của giải thuật thực chất là tìm kiếm
tập trọng số W trong không gian R M (M là số trọng số có trong mạng) để lần lượt tối
thiểu hoá các hàm giá như vậy Điều đáng chú ý là việc tối thiểu hoá được tiến hànhliên tiếp nhau và theo chu kỳ đối với các hàm giá
Để tối thiểu hoá các hàm giá như vậy, giải thuật lan truyền ngược sai số sửdụng phương pháp giảm gradient để điều chỉnh các trọng số liên kết giữa các nơ-
ron Bản chất của phương pháp này là khi sai số E được vẽ như hàm của tham số
gây ra sai số sẽ phải có một cực tiểu tại bộ giá trị nào đó của tham số Khi quan sát
độ dốc của đường cong, chúng ta quyết định phải thay đổi tham số thế nào để có thểtiến gần đến cực tiểu cần tìm kiếm hơn Trong hình vẽ dưới đây, giá trị của trọng số
phải giảm nếu đạo hàm dE/dW là dương.
Trang 25Bằng biểu thức, chúng ta có thể biểu diễn phương pháp giảm gradient như sau:
Δw= w (new) – w (old) = -η.∂E/∂w
(2.6)
Ở đây η là hằng số dương xác định tốc độ giảm giá trị của w, còn dấu âm chỉ
chiều giảm gradient
Áp dụng phương pháp giảm gradient đối với các trọng số liên kết giữa cácnơron trong lớp ẩn tới các nơ-ron của lớp ra ta có:
(2.7)
Do hàm sai số E là một hàm phức tạp và là hàm gián tiếp của trọng số w iq (côngthức 2.5) Sử dụng nguyên tắc tính đạo hàm của hàm gián tiếp cho ta có:
(2.8)
Trong đó δ oi là tín hiệu sai số và chỉ số oi có nghĩa là nút thứ i trong trên lớp ra.
Tín hiệu sai số được tính như sau:
(2.9)
Trong đó là tín hiệu vào của nơ-ron thứ i trên lớp ra và g’() = ∂g(neti)/∂net.
Kết quả này tương tự luật học delta áp dụng cho mạng perceptron một lớp với đầu
vào bây giờ là đầu ra z qcủa lớp ẩn
Để điều chỉnh trọng số của các liên kết giữa lớp vào tới lớp ẩn ta cũng sửdụng phương pháp giảm gradient và lấy đạo hàm theo các biến trung gian như đã áp
ở trên Xét liên kết giữa nơ-ron thứ j ở lớp vào và nơ-ron thứ q trên lớp ra:
(2.10)
Trang 26Từ công thức (2.5) mỗi thành phần lỗi [] , i=1, 2,…, n, là hàm của z q do vậycông thức trên có thể tiếp tục biến đổi:
Với là tín hiệu vào của nơ-ron thứ q, như vậy tín hiệu lỗi của nơ-ron trên lớp
ẩn khác với tín hiệu lỗi của nơ-ron trên lớp ra (xem công thức 2.9 và 2.13) Vì sựkhác nhau này, thủ tục điều chỉnh trọng số được gọi là luật học delta mở rộng Nhìn
lại công thức (2.13) tín hiệu lỗi của nơ-ron thứ q trong lớp ẩn được xác định từ các
tín hiệu lỗi của các nơ-ron trên lớp ra
Tổng quát đối với lớp bất kỳ, luật lan truyền ngược có dạng:
Xét một mạng nơ-ron truyền thẳng có Q lớp, q = 1, 2, …, Q, và gọi net i và y i
là tín hiệu vào và ra của nơ-ron thứ i trong lớp q Mạng này có m đầu vào và n đầu
Trang 27ra Đặt q w ij là trọng số của liên kết từ nơ-ron thứ j trong lớp q-1 tới nơ-ron thứ i trong lớp q.
Đầu vào: Một tập các cặp mẫu học {(x (k) ,d (k) ) | k= 1, 2, …, p } và véc tơ đầu vào được bổ sung thêm x (k)
m+1 = - 1
Bước 0 (khởi tạo)
Chọn một hằng số η> 0 và E max(dung sai cho phép) Khởi tạo ngẫu nhiên các
trọng số trong khoảng giá trị nhỏ Đặt E =0 và k = 1.
Bước 1 (thực hiện một quá trình lặp cho việc huấn luyện mạng)
Sử dụng mẫu học thứ k:
Tại lớp vào (q =1), với mọi i ta có : q y i = 1 y i = x (k)
i
Bước 2 (Lan truyền tín hiệu từ lớp vào tới lớp ra)
Bước 3 (Xác định tín hiệu lỗi tại lớp ra)
Bước 4 (Lan truyền ngược sai số)
Lan truyền ngược sai số để điều chỉnh các trọng số và tính toán tín hiệu lỗi
Trang 28k=k+1;
Goto bước1;
End Else
Mỗi lần toàn bộ tập mẫu học được lan truyền qua mạng được gọi là một epoch
Số epoch phụ thuộc vào từng trường hợp cụ thể và sự khởi tạo ban đầu Có trường hợpthuật toán phải sau hàng chục nghìn epoch mới hội tụ tới lời giải Nếu tham số khởi tạokhông phù hợp có thể làm cho quá trình học không đạt kết quả mong muốn Đối vớimỗi epoch ta tính sai số trung bình của mạng theo công thức sau:
(2.16)
Trang 29Trong đó p là số mẫu được dùng để luyện mạng, n là số biến của véc-tơ đầu ra.
Sai số RMS thường được dùng để đánh giá kết quả học của mạng nơ-ron
2.3 Lựa chọn đặc trưng (feature selection)
Các tập dữ liệu trong khai phá dữ liệu có thể chứa hàng trăm đặc trưng (feature) hay thuộc tính (attribute), trong đó có nhiều thuộc tính không liên quan đến công
tác khai phá dữ liệu hoặc là dư thừa Thí dụ một công ty bán hàng điện tử gia dụngmuốn phân lớp khách hàng thành hai lớp liệu có mua hay không mua dàn máy nghenhạc của công ty Trong trường hợp này, các thuộc tính của khách hàng thí dụ như
thuộc tính số điện thoại chắc chắn không liên quan bằng các thuộc tính như tuổi và
sở thích âm nhạc[6].
Mặc dù có thể nhờ một chuyên gia trong lãnh vực chuyên biệt để giúp chọn ranhững thuộc tính thực sự có ích cho công tác khai phá dữ liệu, việc lựa chọn thuộctính hay đặc trưng vẫn là một công việc khó khăn và tốn thời gian Loại bỏ đi nhữngthuộc tính có ích và giữ lại những thuộc tính không liên quan sẽ có hại và gây rốicho giải thuật khai phá dữ liệu sẽ áp dụng vào dữ liệu Ngoài ra, khối lượng dữ liệutăng thêm do có những thuộc tính dư thừa hoặc không liên quan sẽ làm cho quátrình khai phá dữ liệu hao tốn thì giờ hơn và tốn chỗ bộ nhớ lưu trữ dữ liệu nhiềuhơn
“Làm thế nào để tìm ra một tập con tốt nhất từ tập thuộc tính ban đầu?” Với một bộ dữ liệu gồm n thuộc tính, sẽ có tất cả 2 n tập con khả hữu Một sự tìm kiếm
vét cạn để tìm ra tập con thuộc tính tốt nhất là điều không thể khả thi khi n khá lớn
và khi số lớp của dữ liệu cũng khá lớn Do đó, các phương pháp mang tính chấtheuristic để thăm dò trên một không gian tìm kiếm thu hẹp thường được dùng nhiềuhơn cho bài toán lựa chọn thuộc tính Các giải thuật này thường là các giải thuật
tham lam (greedy) trong đó khi tìm kiếm trên không gian của các thuộc tính, các
giải thuật thường nhìn vào khả năng lựa chọn mà chúng thấy tốt nhất một cách cục
bộ vào lúc đó Các giải thuật này thực hiện một lựa chọn tối ưu cục bộ với hy vọng vươn tới một lời giải tối ưu toàn cục.
Các thuộc tính tốt nhất để được lựa chọn thường dựa vào tầm quan trọng về mặtthống kê mà thường giả định rằng các thuộc tính là độc lập với nhau Có nhiều độ
Trang 30đo đánh giá thuộc tính khác có thể được dùng, ví dụ như độ lợi thông tin
(information gain), độ đo mà đã được sử dụng khi xây dựng cây quyết định để phânlớp dữ liệu
Các phương pháp lựa chọn thuộc tính dựa vào heuristic bao gồm các kỹ thuậtsau đây, mà ba trong số phương pháp này được minh họa trong hình 2.?
1 Kỹ thuật tiến từng bước (stepwise forward selection): Kỹ thuật này bắt đầu
từ một tập thuộc tính rỗng dùng làm tập thuộc tính thu gọn Thuộc tính tốt nhất
của tập thuộc tính ban đầu sẽ được xác định và thêm vào tập thuộc tính thu gọn.
Tại mỗi bước lặp sau đó, thuộc tính tốt nhất của tập thuộc tính còn lại sẽ đượcchọn và thêm vào tập thuộc tính thu gọn
2 Kỹ thuật loại trừ lùi từng bước (stepwise backward elimination): Kỹ thuật
này bắt đầu từ một tập thuộc tính đầy đủ Tại mỗi bước lặp, giải thuật sẽ loại bỏ
đi thuộc tính kém nhất trong tập thuộc tính còn lại
3 Kỹ thuật phối hợp tiến từng bước và loại trừ lùi từng bước: Kỹ thuật tiến
từng bước và kỹ thuật loại trừ lùi từng bước có thể phối hợp với nhau sao chotại mỗi bước lặp giải thuật chọn một thuộc tính tốt nhất để thêm vào và mộtthuộc tính kém nhất để loại ra
4 Kỹ thuật quy nạp cây quyết định (decision tree induction): qui nạp cây quyết
định xây dựng nên một cấu trúc giống như lưu đồ trong đó mỗi nút nội biểu thịmột phép thử dựa trên một thuộc tính Mỗi nhánh rẽ biểu thị kết quả của mộtphép thử và mỗi nút lá biểu thị một sự phân lớp Tại mỗi nút nội, giải thuật chọnthuộc tính “tốt nhất” để phân hoạch dữ liệu thành những lớp riêng lẻ Khi câyquyết định được dùng để lựa chọn thuộc tính, một cấu trúc cây được xây dựng
từ dữ liệu ban đầu Những thuộc tính mà không được xuất hiện trong cây đượccoi là không liên quan Tập hợp những thuộc tính có xuất hiện trong cây làm
thành tập thuộc tính thu gọn Hình 2.9 mô tả phương pháp heristic để lựa chọn
{A1, A2, A3, A4,
Tập thuộc tính ban đầu:
{A1, A2, A3, A4, A5, A6}
Trang 31Hình 2.9 Các phương pháp heuristic để lựa chọn thuộc tính
Tiêu chuẩn dừng của các giải thuật nêu trên có nhiều cách khác nhau Giải thuật
có thể chọn một giá trị ngưỡng của một độ đo nào đó để xác định thời điểm dừngquá trình lựa chọn thuộc tính
Ngoài các kỹ thuật nêu trên, giải thuật di truyền cũng thường được dùng để lựa
chọn thuộc tính Quần thể của giải thuật di truyền bao gồm những cá thể là những
tràng bit Mỗi tràng bit có chiều dài d, với mỗi bit có giá trị là 1 hay 0 tùy theo
thuộc tính tương ứng có hiện diện trong tập thuộc tính thu gọn hay không Để xác
định giá trị thích nghi (fitness) của mỗi cá thể trong quần thể, mỗi cá thể trong quần
thể được đánh giá dựa vào hiệu suất của nó trong tập dữ liệu huấn luyện
2.4 Giới thiệu bài toán thuê bao rời mạng
Với sự cạnh tranh khóc liệt hiện nay của thị trường viễn thông, thì việc chămsóc khách hàng đóng vai trò quan trọng trong sự phát triển của các công ty viễnthông Để việc chăm sóc được tốt thì việc dự đoán các thuê bao rời mạng cũng làmột công việc quan trọng Để dự đoán được thuê bao rời mạng thì dựa vào tập thuêbao rời mạng đã có từ trước và các thuộc tính của nó để tìm ra quy luật rời mạng,sau đó áp dụng quy luật đó cho tập thuê bao mới để ra kết quả
Đề tài này nghiên cứu cơ sở lý thuyết, đề ra mô hình và hiện thực để giải bàitoán dự đoán thuê bao rời mạng của công ty MobiFone dựa vào mạng Nơ ron
Trang 32Đầu vào: dữ liệu thuê bao rời mạng của vông ty Mobifone
Đầu ra: mô hình dự đoán thuê bao nào rời mạng.
2.5 Mô hình xây dựng hệ thống dự đoán thuê bao rời mạng
Sau khi nghiên cứu lý thuyết khai phá dữ liệu và mạng nơ ron, chúng tôi sẽ sửdụng các lý thuyết về Khai phá dữ liệu và mạng nơ ron đa lớp truyền thẳng để giảibài toán xây dựng hệ thống dự đoán thuê bao rời mạng
Mô hình xây dựng hệ thống thuê bao rời mạng như hình 2.10 Các giai đoạnđược mô tả như sau;
1 Tiền xử lý dữ liệu
Nhận dạng các loại dữ liệu để đưa vào hệ thống
Giai đoạn này, chúng ta cần xác nhận các loại dữ liệu (bảng biểu), các trường
dữ liệu cần đưa vào hệ thống để xử lý Các loại dữ liệu gồm có loại dữ liệuthuộc tính thông tin (ít thay đổi) của đối tượng; loại dữ liệu hành động (giaodịch) hằng ngày của đối tượng
Chiết xuất dữ liệu (Data Extraction)
Có rất nhiều bản ghi dữ liệu được lưu trữ hằng ngày, nhưng chúng tôi chỉchiết xuất dữ liệu trong một khoảng thời gian nhỏ để phục vụ việc giải bài toán
Rút trích dữ liệu
Có rất nhiều trường thông tin dữ liệu được chiết xuất và tổng hợp ở các giaiđoạn trước Nhưng đến giai đoạn này chúng tôi chỉ rút trích một số trường dữliệu nhất định phục vụ cho việc giải bài toán
2 Đưa dữ liệu vào cơ sở dữ liệu