Đã có nhiều công trình nghiên cứu khoa học trên thế giới và trong nước sử dụng kỹ thuật phân loại dữ liệu cho bài toán viễn thông như: dự đoán thuê bao rời mạng, phân loại khách hàng thà
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG
Trang 2Luận văn được hoàn thành tại:
HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
Người hướng dẫn khoa học: TS Nguyễn Đức Dũng
Phản biện 1: PGS.TS Nguyễn Linh Giang
Phản biện 2: TS Nguyễn Văn Linh
Bưu chính Viễn thông
Vào lúc: 9 giờ 00 ngày 27 tháng 02 năm 2016
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MO DAU
Ngành công nghiệp viễn thông ngày nay cần lưu trữ một khối lượng dữ liệu không
lồ, bao gồm chi tiết cuộc gọi, thông tin cảnh báo trình trạng của hệ thống mạng viễnthông và thông tin đữ liệu về khách hàng Ứng dụng kỹ thuật khai phá dữ liệu (datamining) dé phát hiện các quy luật ân chứa trong khối dữ liệu không 16 đó sẽ mang lại chocác doanh nghiệp viễn thông nhiều cơ hội đề phát triển các ứng dụng mang tính thực tiễn
cao Đây là một hướng đi phù hợp và đã sớm được áp dụng phổ biến ở nhiều công ty viễn
thông lớn trên thế giới
Ở Việt Nam, nhu cau dich vụ viễn thông ngày càng gia tăng và mở rộng với nhiều
dich vụ tiện ich, bao gồm cả internet và băng rộng, có thể trở thành truy cập phố cập,
thay thế nhu cầu viễn thông cố định Chính vì vậy, một nhu cầu đặt ra cho các nhà cungcấp các dịch vụ viễn thông là đối mặt được với áp lực cạnh tranh khốc liệt từ các nhà
cung cấp dịch vụ trong nước đến các tập đoàn viễn thông đa quốc gia Vì lý do đó các
công ty viễn thông không ngừng nâng cao, cải tiến các dich vụ của minh và tìm kiếm
dich vụ mới đề đáp ứng nhu cầu ngày càng lớn của khách hàng Khai phá dữ liệu chính là
một trong những kỹ thuật hữu ích nhất dé giải quyết những van đề này
Đã có nhiều công trình nghiên cứu khoa học trên thế giới và trong nước sử dụng
kỹ thuật phân loại dữ liệu cho bài toán viễn thông như: dự đoán thuê bao rời mạng, phân
loại khách hàng thành một nhóm đối tượng, hay tìm hiểu hành vi và thói quen của kháchhàng, thì khác với các công trình nghiên cứu trước, trong luận văn này đi sâu và chỉ tiết
hơn về bài toán viễn thông, đó là dự đoán khách hàng sử dụng dịch vụ viễn thông và sử
dụng nhiều phương pháp để so sánh kết quả Ngày nay ngành viễn thông phát triển rấtmạnh, đòi hỏi các nhà mạng cần phải thêm các dịch vụ mới dé phuc vu khach hang, vivậy việc dự đoán khách hang sử dung dịch vụ là hết sức quan trọng
Luận văn “Ứng dụng Datamining cho bài toán dự đoán khách hàng sử dụngdịch vụ viễn thông” nhằm giúp nhà mạng có thé dự đoán khách hàng sử dụng dich vụ,
từ dự đoán đó nhà mạng có thể đưa ra chính sách quảng cáo, chính sách chăm sóc kháchhàng hợp lý Luận văn gồm các chương sau:
Chương 1: Tổng quan về phân tích và khai phá tri thức từ dir liệu viễn thông
Chương 2: Kỹ thuật phân lớp dữ liệu
Chương 3: Ứng dụng bài toán dự đoán khách hàng sử dụng dịch vụ viễn thông
Trang 4Chương I - TONG QUAN VE PHAN TÍCH VÀ KHAI PHA TRI
THUC TU DU LIEU VIEN THONG
1.1 Tổng quan về Khai phá dữ liệu
1.1.1 Quá trình khám phá tri thức
Quá trình khám phá tri thức gồm các bước sau [1]:
1) Data Cleaning (làm sạch dữ liệu 2) Data Integration (tích hợp dữ liệu)
3) Data Selection (chọn lựa dữ liệu)
4) Data transformation (biến đổi dit liệu)
5) Data mining (khai pha dữ liệu)
6) Pattern evaluation (đánh giá mau)
7) Knowledge presentation (biéu diễn tri thức)
Pattern Evaluation/ dIe++°
Hinh 1.1- Qua trinh kham pha tri thire
1.1.2 Các khái niệm về Khai phá dữ liệu
Khai pha dữ liệu (Data Mining) là một khái niệm ra đời vào khoảng những năm
cuối của thập kỷ 1980 Có rất nhiều định nghĩa khác nhau
Về bản chất thì Khai phá dữ liệu là một quá trình trích xuất thông tin có mối quan
hệ hoặc có mối tương quan nhất định từ một kho đữ liệu cực lớn nhắm mục đích đự đoáncác xu thế, các hành vi trong tương lai hoặc tìm kiếm những tập thông tin hữu ích màbình thường không thể nhận diện được [7] [1]
Trang 5Data Warehouse Server
H data cleaning, integration and selection ¡
V Vv VY WV Pattern Evaluation Module
> User Interface
1.2 Nhiệm vu chính của khai phá dữ liệu
Nhiệm vụ của khai phá đữ liệu có thể phân thành hai loại chính đó là [7]:
Classification Regression Time Series Prediction Clustering Summarization Association Sequence
Analysis Rules Discovery
(characterization and
discrimination)
(trends, regularities, )
Hình 1.3- Nhiệm vụ của khai phá dữ liệu [7]
Trang 61.3 Các kỹ thuật trong khai phá dữ liệu
> Theo quản điểm học máy có các kỹ thuật sau:
+) Hoc có giảm sát (Supervised learning):
+) Học không giảm sat (Unsupervised learning):
+) Học nửa giám sát (Semi-Supervised learning):
> Theo các lớp của bài toán cần giải quyết thì có các kỹ thuật sau:
+) Phân lớp dit liệu (Classification) +) Phân cum (Clustering
+) Hồi qui (Regression)+) Luật kết hợp (Association rules)+) Phân tích chuỗi theo thời gian (Time Series Analysis+) Mô tả khái niệm và tổng hợp hóa
1.4 Ứng dung của khai phá dữ liệu
1.4.1 Lợi ích mang lại của khai pha dữ liệu
Trong thời hiện đại ngày nay, việc nắm bắt được thông tin coi như là nắm bắtđược chìa khoá của thành công Ai thu thập, phân tích và hiểu được thông tin và hành
động được nhờ vào những thông tin đó là kẻ thắng cuộc
1.4.2 Các lĩnh vực được ứng dụng khai pha dữ liệu
Một số ứng dụng cụ thể như sau [7]:
> Khai phá dữ liệu được sử dụng dé phân tích dữ liệu, hỗ trợ ra quyết định.
> Trong sinh học: Khai phá dữ liệu được dùng dé tìm kiếm, so sánh các hệ gen vathông tin di truyền, tìm mối liên hệ giữa các hệ gen và chan đoán một số bệnh di truyền
> Trong y học: giúp tim ra mối liên hệ giữa các triệu chứng lâm sàng, chan đoán
bệnh.
> Tài chính và thị trường chứng khoán: Khai phá dữ liệu dé phân tích tình hình tàichính, phân tích đầu tư, phân tích cổ phiếu
> Khai phá dữ liệu web, thông tin kỹ thuật: Khai phá dit liệu dùng dé phân tích
các sai hỏng, điều khién và lập lịch trình
> Trong lĩnh vực viễn thông
1.5 Ứng dụng của khai phá dữ liệu trong lĩnh vực viễn thông
Trang 71.5.1 Tình hình phát triển của lĩnh vực viễn thông
Ung dung kỹ thuật khai phá dữ liệu dé phát hiện các quy luật ấn chứa trong khối
dữ liệu không lồ đó sẽ mang lại cho các doanh nghiệp viễn thông nhiều cơ hội để pháttriển các ứng dụng mang tính thực tiễn cao Đây là một hướng đi phù hợp và đã sớm
được áp dụng phô biến ở nhiều công ty viễn thông lớn trên thế giới [3][10]
1.5.2 Sự cần thiết của khai phá dữ liệu trong lĩnh vực viễn thông
Bài toán đặt ra cho các nhà mạng di động là thu thập được các tri thức từ các kho
dữ liệu khách hàng không lồ Ứng dụng kỹ thuật khai phá dữ liệu để phát hiện các quy
luật an chứa trong khối dữ liệu khong 16 đó và đưa ra những dự đoán, quyết định đúng, sẽ
mang lại cho các doanh nghiệp viễn thông nhiều cơ hội dé phát triển các ứng dụng mang
tính thực tiễn cao.
1.5.3 Định hình và Phân loại khách hàng viễn thông
Phân loại khách hàng viễn thông là quá trình phân chia nhóm khách hàng thành
các nhóm đồng nhất theo từng thuộc tính chung của họ Những thuộc tính này bao gồmnhư: sở thích, thói quen, hành động thông qua hồ sơ của khách hàng bởi những đặc điểmcủa họ như: độ tuôi, tích cách giới tính, đặc điểm khu vực nơi ở, thu nhập kinh tế
1.5.4 Các loại dữ liệu viễn thông
Có ba loại lữ liệu viễn thông như sau:
> Dữ liệu chỉ tiết cuộc gọi
> Tiếp thị hoặc dự báo hành vi của khách hàng
> Phân tích xác định lỗi mạng và cô lập lỗi mạng.
Trang 8Chương 2 - KY THUẬT PHAN LỚP DU LIEU
2.1.Téng quan về phân lớp dữ liệu
2.1.1 Phân lớp dữ liệu
Quá trình phân lớp dữ liệu gồm hai bước như sau:
s* Bước 1: Hoc (training)
Mô hình phân lớp được đưa ra sau khi đã phân tích xong tap dir liệu huấn luyện
thường có dạng là những quy tắc phân lớp, cây quyết định hay các công thức toán học [6]
Combi or Car Type =Sports
Hình 2.1 - Bước xây dung mô hình phan lớp [4]
*.
s* Bước 2 Phân lớp (Classification)
Bước này sử dụng mô hình phân lớp đã được xây dựng ở bước 1 dé kiểm tra, đánh
giá và thực hiện phân lớp [6] [4].
Classifier (model)
Hình 2.2 - Kiếm tra độ chính xác của mô hình
Trang 9Nếu độ chính xác của một mô hình là chấp nhận được, thì có thể được sử dụng dé
phân lớp những bộ dữ liệu mới hoặc những mẫu dữ liệu mà giá trị nhãn phân lớp là chưa
Hình 2.3 - Phân lớp cho dữ liệu mới [4]
2.1.2 Tiền xử lý dữ liệu cho quá trình phân lóp dữ liệu
Quá trình tiền xử lý dữ liệu gồm có các công việc sau:
> Làm sạch dit liệu
> Phân tích sự can thiết của dữ liệu
> Chuyển đổi dữ liệu
2.1.3 Cac kỹ thuật trong phân lớp dữ liệu
Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp sau:
> Cây quyết định (Decision Tree):
> K-láng giêng gan nhất (k-Nearest Neighbor)
> Mạng noron (Neural networks)
> Giải thuật di truyén (Genetic algorithms)
> Mang Bayesian (Bayesian networks)
> Tập mo và tập thô (Rough and Fuzzy Sets)
2.1.4 Các phương pháp đánh gia độ chính xác của mô hình phân lớp
Hai kỹ thuật đánh giá độ chính xác phổ biến hiện nay là holdout và k-fold validation Cả hai kỹ thuật này đều dựa trên các phân hoạch ngẫu nhiên tập dữ liệu ban
cross-đầu [4] [7]
Trang 102.2 Phân lớp dữ liệu dựa trên kỹ thuật Naive Bayes
2.2.1 Kỹ thuật Naive Bayes
Cho trước tập dữ liệu huấn luyện D với mô tả (nhãn) của các lớp C¡, i=1 m, quátrình phân loại một tuple/đối tượng X = (x), Xa, , xạ) với mang Bayes như sau [20] [1]:
P(X 1C,)=] J Py IC) = PQ IC) * Pl 1C,)* * P(x, 1G)
> P(XIC) được tinh vdi'gia định class conditional independence.
> x,, k = 1 n: trị thuộc tinh A, của X
> P(x,/C;) được tính như sau:
+) A, là thuộc tính rời rac.
P@xlC;) = [{X? |X’, = XK A X” € CHIC, pl +) A, là thuộc tính liên tục.
P(x,IC;) tuân theo một phân bố xác suất nào đó (vi dụ: phân bố Gauss)
> Nếu P(x,lC;) = 0 thì P(XIC;) = 0!!!
+) Ban đầu
P(xJC;) = |{X”|x'x = KK A X” e CHC; pl
+) Laplace (Pierre Laplace, nhà toán học Pháp, 1749-1827)
P(XAIC;) = (| {X? |x’, = XR AX’ e C¡}I+1)/(C;pl + m) +) z-estimate
P(XIC,) = (|{Xˆ|x”x = XK AX’ e Ci} + Z*P(x¿))/(C¡ pl + Z)
2.2.2 Vi dụ minh họa
Bài toán chơi Tennis, có 14 bản ghi, được mô tả như sau [3] [19]:
Quang cảnh | Nhiệt độ | Độ 4m Gió Chơi tennis
Nang Nong Cao Nhe Không
Nắng Nóng Cao Mạnh KhôngÂmu Nóng Cao Nhẹ Có
Mưa Am áp Cao Nhẹ CóMưa Mát TB Nhe Có
Mưa Mát TB Mạnh Không
Âmu Mát TB Mạnh CóNắng Am áp Cao Nhẹ Không
Trang 11Nắng Mát TB Nhẹ Có
Mưa Am áp TB Nhẹ CóNắng Am áp TB Mạnh CóÂmu Am áp Cao Mạnh CóÂmu Nóng TB Nhẹ Có
Mưa Am áp Cao Mạnh Không
Bảng 2.1 Dữ liệu bài toán chơi Tennis
Ta có 14 mẫu trong đó có 9 tập mẫu phân lớp là (+) và 5 tập mẫu là (-), Ta đi tính
xác xuất cho từng thuộc tính như sau:
> Tính xác suất cho thuộc tính phân lớp:
P(Chơi Tennis)”= 9/(9+5) = 9/14
P(Chơi Tennis) =5/(9+5)=5/14
> Tình xác suất cho thuộc tinh Quảng cảnh:
P(Quảng cảnh| nắng) * = 2/(2+3+4) = 2/9P(Quang cảnh| nắng) ˆ = 3/(3+0+2) = 3/9
P(Nhiệt đội mát) * = 3/(2+4+3) = 3/9
P(Nhiét đội mát) ' = 1/(2+24+1) = 1/5
> Tinh nhiệt xác suất cho thuộc tính Độ ẩm:
P(Độ am] cao) * = 3/(3+6) = 1/3P(Độ ẩm| cao) ' = 6/(3+6) = 2/3P(Độ am| TB) * = 4/(4+1) = 4/5
P(Độ am| TB) ' = 1/(4+1) = 1/5
> Tính nhiệt xác suất cho thuộc tinh Gió:
Trang 12Từ xác suất của từng thuộc tinh này ta có thé dự đoán cho từng mẫu cụ thé.
Ví dụ ta muốn tính mẫu D = {Quang cảnh|nắng, Nhiệt độlắm áp, Độ âmlcao,
2.2.3 Đánh giá Naive Bayes trong khai pha dữ liệu
Phân loại Naive Bayes được triển khai rất rộng rãi trong khai pha đữ liệu vi déhiểu, dễ triển khai Tuy nhiên, Bayes giả thiết rằng các biến trong mô hình là độc lậpnhau Nếu các bién không độc lập nhau thì Bayes cho kết quả thiếu chính xác [1][20]
2.3 Phân lớp dữ liệu dựa trên kỹ thuật cây quyết định
2.3.1 Phân lóp dữ liệu dựa trên cây quyết định
Trong cây quyết định gồm có:
> Gốc: là node trên cùng của cây
> Node trong: biéu diễn một kiểm tra trên một thuộc tinh đơn (hình chữ nhật)
> Nhánh: biéu diễn các kết quả của kiểm tra trên node trong (mũi tên)
> Node lá: biểu diễn lớp hay sự phân phối lớp (hình tròn)
2.3.2 Xây dựng cây quyết định
Qua trình xây dựng cây quyết định đều được chia làm ba giai đoạn cơ bản sau [4]:
> Xây dựng cây
> Cắt tỉa cây
> Đánh giá cây
Trang 13Có ba tiêu chuẩn xác định thuộc tính tốt nhất phát triển tại mỗi node [4]:
> Gini-index (Breiman và các đồng sự, 1984):
> Information—gain (Quinlan, 1993)
> x2 -bảng thông kê các sự kiện xảy ra ngẫu nhiên
2.3.3 Sử dụng thuật toán ID3 xây dựng cây quyết định
2.3.3.1 Thuật toán ID3
ID3 xây dựng cây quyết định từ trên- xuống (top -down), ID3 biểu diễn các khái
niệm ở dạng các cây quyết định biểu diễn này cho phép chúng ta xác định phân loại một
đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó [3]
2.3.3.2 Lựa chọn thuộc tính tốt nhất để phân loại
a) Entropy do tính thuần nhat của tập dữ liệu:
- Nếu trong tập S có số mẫu phân bồ đều nhau vào các lớp thì Entropy (S) =1
- Các trường hợp còn lại: 0< Entropy(S) <1
b) Information Gain (viết tắt là Gain):
Gain là đại lượng dùng dé đo tính hiệu quả của một thuộc tính được lựa chọn cho
việc phân lớp Đại lượng này được tính thông qua hai giá trị Information và Entropy.
Gain(A,S)= Eniropy(S)— > LS, |
yeValues(A) 1S | Entropy(S,,)
- § là tập hợp ban đầu với thuộc tinh A Các giá trị của v tương ứng là các giá trị
của thuộc tính A
- Sy bằng tập hợp con của tập S mà có thuộc tinh A mang giá trị v
- [Sy| là số phần tử của tập Sy; |S| là số phan tử của tập S
Trang 14Đầu ra: Cây quyết định có khả năng phân loại
Thuật toán ID3 xây dựng cây quyết định theo giải thuật sau:
Function induce_tree (án ví dụ, tập thuộc_ tính) [4]
begin
if mọi ví dụ trong tập ví dụ déu nam trong cùng một lop then
return một nut lá được gan nhãn bởi lớp đó
else if t@p_thudc_tinh là rong then
return mit lá được gán nhãn bởi tuyển của tat cả các lép trong tập_ ví dụ
else begin
chọn một thuộc tính P, lấy nó làm sốc cho cây hiện tại,
xóa Pra khỏi tập thuộc tính;
với mỗi giá trị V của P
begin
tạo một nhánh cua cây gan nhãn V;
Đặt vào phân_ vùng các ví dụ trong tập ví dụ có gia trị V tại thuộc
tính P;
Goi induce_tree (phân vùng, tập thuộc tính), gắn kết quả vào
nhánh V end
end end
2.3.3.3 Vi dụ minh họa với bài toán chơi Tennis
Giả sử S là một tập 14 mẫu trong đó có 9 (+) và 5(-) ta có:
Entropy (S) = - (9/14) Log, (9/14) - (5/14) Log, (5/14) = 0.940
Từ đó ta tính tiếp Gain cho từng thuộc tinh dé chon làm nút gốc như sau:
Gain (S, Quang cảnh) = Entropy(S) — (5/14) Entropy (Sqáng) — (4/14) Entropy (Samu) —
(5/14) Entropy (Sua) = 0.246
Gain (S, Nhiệt độ) = Entropy (S) - (4/14) x Entropy (Snong) - (6/14) x Entropy (SAm áp) —
(4/14) x Entropy (Sma) = 0.029 Gain (S, Gió) = Entropy (S) - (6/14) x Entroy (Swann) - (8/14) x Entropy (Syne) = 0.04
Gain (S, Độ 4m) = Entropy (S) — (7/14) x Entropy (Scao) — (7/14) x Entropy (S7g)= 0.151
Trang 15Hình 2.4- Cây quyết định có Quang cảnh được chọn làm node gốc
Tương tự sau khi xét được nút gốc thì ta đi xét từng nhánh còn lại ta thu
được cây quyêt định hoàn chỉnh như sau:
| Quang cảnh
¬ Mưa -_ Amu m
⁄
Cao TB Nhẹ Manh
⁄ ` / `
Không Cá Có Không
Hình 2.5 Cây quyết định hoàn chỉnh
2.3.4 Sứ dụng thuật toán C4.5 xây dựng cay quyết định
2.3.4.1 Thuật toán C4.5
Thuật toán C4.5 được cải tiến từ thuật tóan ID3 với việc cho phép xử lý trên tập
đữ liệu có các thuộc tinh số (numeric atributes) và làm việc được với tập dữ liệu bị thiếu
và bị nhiễu Nó thực hiện phan lớp tập mẫu dữ liệu theo chiến lược ưu tiên theo chiều sâu
(Depth - First) Thuật toán xét tat cả các phép thử có thé dé phân chia tập dữ liệu đã cho
va chọn ra một phep thử có giá trị GainRatio tốt nhất
Information Gain theo công thức sau: