Ứng dụng kỹ thuật KPDL để phát hiện các quy luật ẩn chứa trong khối dữ liệu khổng lồ đó 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
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN LÊ PHƯƠNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU TÌM HIỂU THÔNG TIN
Trang 2MỞ ĐẦU
Khai phá dữ liệu (KPDL) là một tiến trình khai phá tự động những tri thức tiềm ẩn trong cơ sở dữ liệu, cụ thể hơn là tiến trình lọc sản sinh những tri thức hoặc mẫu tiềm ẩn chứa thông tin hữu ích từ số lượng dữ liệu lớn KPDL là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính quy luật, hỗ trợ tích cực cho việc đưa ra các quyết định Khi việc lưu trữ dữ liệu không còn quá đắt
đỏ, phần cứng có cấu hình cao, khối lượng dữ liệu khổng lồ, và có nhiều công cụ hỗ trợ cho việc phát triển khai phá dữ liệu, tất cả đã giúp KDPL trở thành lĩnh vực mang tính thời sự trong ngành công nghệ thông tin
Ngày nay, các công ty coi khách hàng là trung tâm Họ cần có một môi trường cho phép hiểu rõ những yêu cầu của khách hàng Ngành công nghiệp viễn thông 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ễn thông và thông tin dữ liệu về khách hàng Các công ty viễn thông nắm bắt rất rõ các thông tin về khách hàng của mình
Họ biết những khách hàng của họ là ai, dễ dàng theo dõi những hành vi, thói quen của khách hàng Một tập các hoạt động cho thực hiện công việc để xác định, điều kiện, bổ sung, phát triển, giữ lại những khách hàng trung thành và lợi nhuận bằng cách cung cấp sản phẩm hoặc dịch vụ, tới đúng khách hàng, đúng kênh, đúng thời điểm và giá thành Khi đó một sản phẩm đúng hoặc dịch vụ đúng nghĩa là chỉ có sản phẩm hoặc dịch vụ đó phù hợp với cái khách hàng đang cần được xem xét Ứng dụng kỹ thuật KPDL để phát hiện các quy luật ẩn chứa trong khối dữ liệu khổng lồ đó 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 để phát triển các ứng dụng mang tính thực tiễn cao
Lý do cho việc ứng dụng KPDL cho công việc chăm sóc khách hàng trong thị trường viễn thông:
Thị trường cạnh tranh: sau nhiều năm là thị trường độc quyền, thị trường
viễn thông ngày nay trở nên rất cạnh tranh Khi thị trường là độc quyền thì hầu như không có biến động, nhưng khi thị trường cạnh tranh quyết liệt thì mọi thứ sẽ thay đổi liên tục Khách hàng có thể chuyển đổi nhà
Trang 3cung cấp dễ dàng, vì có rất nhiều sự lựa chọn Vì lý do đó, những công ty viễn thông cần ứng dụng giải pháp KPDL để đạt những lợi thế cạnh tranh Bằng cách hiểu những hành vi và thói quen của khách hàng, những công ty viễn thông sẽ đưa ra những chiến lược quảng bá hiệu quả để đưa
ra những sản phẩm mà khách hàng yêu thích, phát triển khách hàng trung thành, và tăng lợi ích cho khách hàng
Tốc độ phát triển thuê bao: số lượng thuê bao đề cập đến doanh thu hàng
năm hoặc hàng tháng dựa trên cơ sở khách hàng Việc canh tranh dẫn đến
tỉ lệ phát triển thuê bao cao Ban đầu, việc tăng trưởng trong thị trường viễn thông tăng theo cấp số nhân, do có rất nhiều khách hàng mới, tốc độ phát triển thuê bao không phải là vấn đề Khi thị trường trở nên bão hòa, tốc độ phát triển thuê bao giảm Việc bão hòa của các thuê bao và sự cạnh tranh ngày càng gay gắt dẫn đến việc những công ty viễn thông sẽ phải hướng tới vào những khách hàng đã có và tìm cách giữ họ lại KPDLcó thể dùng trong việc phân tích tốc độ phát triển thuê bao để dự đoán dựa trên dữ liệu cụ thể là khách hàng sẽ không hoặc vẫn dùng sản phẩm của công ty và tại sao
Bộ dữ liệu đồ sộ: các công ty viễn thông có một khối lượng dữ liệu đồ sộ
Khi những sản phẩm chính của các công ty được sử dụng, mỗi khách hàng đã tạo ra hàng trăm giao dịch trên một ngày Một bản ghi cuộc gọi được lưu trữ trong cơ sở dữ liệu và nó là một nguồn dữ liệu rất lớn Các công ty viễn thông cũng lưu trữ dữ liệu khách hàng, miêu tả khách hàng,
dữ liệu mạng, và miêu tả họ sử dụng những dịch vụ nào
Luận văn: “Ứng dụng khai phá dữ liệu để tìm hiểu thông tin khách hàng
viễn thông” nhằm góp phần nghiên cứu các mục tiêu nêu ra ở trên Luận văn gồm
các chương sau:
Chương 1: Tổng quan về khai phá dữ liệu
Chương 2: Khai phá dữ liệu bằng cây quyết định
Chương 3: Xây dựng hệ thống tìm hiểu thông tin khách hàng
Trang 4Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Tìm hiểu khai phá dữ liệu
Sự phát triển của công nghệ phần cứng máy tính trong thời gian qua đã dẫn đến nguồn cung cấp các phương tiện lưu trữ dữ liệu tốt với giá cả phải chăng Song song với điều đó, những tiến bộ trong quá trình thu thập đã dẫn tới sự tăng trưởng với số lượng lớn của dữ liệu
Công cụ KPDL thực thi việc phân tích dữ liệu và khám phá ra những mẫu quan trọng bị ẩn giấu Việc mở rộng giữa dữ liệu và thông tin được gọi là công cụ phát triển khai thác hệ thống - công cụ khai phá dữ liệu
1.1.1 Mục tiêu, nguồn gốc của khai phá dữ liệu
KPDL là quá trình tìm kiếm các mẫu mới, những thông tin tiềm ẩn mang tính
dự đoán trong các khối dữ liệu lớn Những công cụ KPDL có thể phát hiện những
xu hướng trong tương lai, các tri thức mà KPDL giúp doanh nghiệp sẽ đưa ra các quyết định kịp thời Với ưu điểm trên, KPDL đã chứng tỏ được tính hữu dụng của
nó trong môi trường kinh doanh đầy tính cạnh tranh và được ứng dụng rộng rãi trong các lĩnh vực thương mại, tài chính, y học, giáo dục, viễn thông v.v
Hình 1.1:Nguồn gốc của khai phá dữ liệu
Khai phá dữ liệu liên quan chặt chẽ đến những lĩnh vực sau: thống kê, máy học, cơ sở dữ liệu
Thống kê
Trí tuệ nhân tạo( Artificial Intelligence - AI)
Hệ thống CSDL
Trang 51.1.2 Lý do khai phá dữ liệu
Dựa trên thực tế, trên một khía cạnh nào đó, là đang tồn tại một lượng dữ liệu hệ thống khổng lồ mà chưa được khám phá một cách cụ thể Nghĩa là đang có rất nhiều thông tin “ẩn giấu” và đã nằm ngoài khả năng phát hiện ra bởi những phương thức truyền thống và dựa trên khả năng phân tích của con người.Sự cần thiết của “khai phá” dữ liệu có thể miêu tả bằng sự cần thiết trong lĩnh vực cuộc sống thực:
Kinh tế, tài chính
Chăm sóc sức khỏe
Nghiên cứu khoa học
Vậy, KPDL là gì? Tuy nhiên rất khó khăn để đưa ra một định nghĩa duy nhất
mà phản ánh toàn sự kiện của hiện tượng Vì thế, với từng cách tiếp cận khác nhau
Kỹ thuật tách thông tin hữu dụng từ một tập dữ liệu lớn hoặc CSDL;
Việc thăm dò tự động hoặc bán tự động và phân tích một lượng lớn của
dữ liệu, nhằm phát hiện những mô hình có ý nghĩa;
Tiến trình tự động khám phá thông tin, việc xác định mô hình và mối quan hệ ẩn giấu trong dữ liệu
Tóm lại, KPDL là quá trình phân tích của một tập dữ liệu quan sát (thường là rất lớn) để tìm ra những mối quan hệ ẩn giấu và tổng kết dữ liệu theo nhiều cách nhằm dễ hiểu và dễ sử dụng cho người sở hữu dữ liệu đó
1.2 Quá trình khai phá 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ích mẫu/dữ liệu
Trang 6Quá 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 được thực hiện lấy từ CSDL)
4 Chuyển đổi dữ liệu (nơi dữ liệu được chuyển đổi hoặc hợp nhất thành một thể thích hợp phù hợp cho việc khai phá bằng cách thực hiện các hoạt động tó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ên mộ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ụng trong việc khai phá tri thức cho người dùng)
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:
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
Tập hợp (Aggregation)
Lấy mẫu (Sampling)
Trang 7 Giảm chiều thông tin (Dimensionality reduction)
Chọn tính năng (Feature selection)
Tạo ra các tính năng (Feature creation)
Rời rạc và nhị phân (Discretization and binarization)
Chuyển đổi thuộc tính (Atrribute transformation)
1.2.2 Xây dựng và xác nhận mô hình
Xây dựng và xác nhận mô hình là một bước của tiến trình KPDL sau tiến trình tiền xử lý Chú ý rằng, trong một tiến trình KPDL, trạng thái dữ liệu xử lý sẽ lặp lại nếu cần thiết Một khi dữ liệu “khai phá” được chọn, cần phải quyết định lấy mẫu dữ liệu như thế nào khi không làm việc với toàn bộ CSDL
Một khi dữ liệu đã phân tích được xác định, khi đó sẽ quan tâm đến mục đích của tiến trình KPDL
Hiểu các giới hạn
Chọn hướng nghiên cứu thích hợp
Kiểu nghiên cứu
Độ chính xác của mô hình (model accuracy)
Độ dễ hiểu của mô hình (model intelligibility)
Khả năng thực thi (performance)
Nhiễu (noise)
Mỗi mô hình sẽ có một ngưỡng để chấp nhận nhiễu và đó là lý do cần của tiền xử lý dữ liệu
Trang 81.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ào cá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
loại (classification), hồi quy (regression)
KPDL mô tả (descriptive method): có nhiệm vụ mô tả về các tính chất
hoặc đặc tính chung của dữ liệu trong CSDL hiện có Bao gồ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)
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 chia như 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ác gá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ộc tí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ể cho mỗi đối
tượng (phân lớp các đối tượng từng các thư mục), dựa trên nhữ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ượng chư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 9Khi 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)
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ộc 1 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…
Sinh ra các luật kết hợp từ các mục phổ biến, các luật phải thỏa mãn độ
hỗ trợ cực tiểu và độ tin cậy cực tiểu
Phương pháp này được sử dụng hiệu quả trong các lĩnh vực như quảng cáo
có chủ đích, phân tích quyết định, quản lý kinh doanh
1.3.4 Mẫu tuần tự
Mẫu tuần tự là xác định những mẫu mà sự xuất hiện của chúng trong CSDL thỏa mãn ngưỡng tối thiểu Luật tuần tự được sinh ra từ mẫu tuần tự, biểu diễn mối
Trang 10quan hệ 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ự theo thời gian, thể hiện tri thức tiềm ẩn của dữ liệu tuần tự
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
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ác biế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ững giá 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
1.4 Ứng dụng, thách thức và hướng phát triển của KPDL
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 KPDL trong 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ật KPDL:
o Xác định các rủi ro trong việc sử dụng đầu tư các công nghệ mới;
o Xác định những sự khác nhau giữa các dịch vụ và sản phẩm giữa các đối thủ cạnh tranh
Trang 11Chương 2 KHAI PHÁ DỮ LIỆU BẰNG CÂY QUYẾT ĐỊNH
2.1 Cây quyết định
2.1.1 Vấn đề phân lớp
Dữ liệu vào của một nhiệm vụ phân lớp là một tập hợp những bản ghi Mỗi
bản ghi, cũng được biết đến như một thể hiện hoặc ví dụ, được miêu tả bởi (x,y)= (x 1 , x 2 , x 3 , x k , y) với x là tập thuộc tính, còn y là biến phụ thuộc (dependantvariable) cần tìm hiểu, phân loại hay tổng quát hóa, (x 1 , x 2 , x 3 , x k , y) là
các biến sẽ giúp thực hiện công việc đó, được gán như là nhãn của một lớp
(category hoặc target attribute)
Hình 2.1: Mô hình phân lớp
Định nghĩa phân lớp: là hàm chức năng f mà ánh xạ mỗi thuộc tính từ tập x đến một trong những lớp đã được xác định trước của lớp dán nhãn y
Mô hình dự đoán: một mô hình phân lớp có thể được sử dụng để dự đoán
những lớp mà chưa được dán nhãn Như hình 2.1 mô hình phân lớp có thể được coi
như là một hộp đen (black-box) tự động gán những nhãn cho lớp khi miêu tả những
tập thuộc tính chưa rõ
Để so sánh mức độ hiệu quả của các phương pháp, sẽ sử dụng ma trận thực
thi (perfomance metric) như là accuracy, được định nghĩa như sau:
Accuracy =
Tương tự, khả năng thực thi chính xác của mô hình có thể biểu diễn dưới
dạng error rate, được cung cấp bởi điều kiện sau:
Error rate =
= (2.2) Hầu hết các thuật toán tìm kiếm trong phân lớp được chọn khi đạt được độ chính xác cao nhất hoặc hiệu quả, và tỉ lệ lỗi thấp
Trang 122.1.2 Giới thiệu cây quyết định
Một trong những phương pháp phân loại phổ biến là mô hình cây quyết định Theo nguyên tắc, cây quyết định được sử dụng để dự đoán những thành viên của đối tượng theo những đề mục khác nhau (lớp), đưa vào các giá trị mà có liên quan đến thuộc tính (biến dự đoán), phương thức cây quyết định là một trong những kỹ thuật KPDL chính
Việc phân loại được xây dựng bằng cây quyết định dựa trên đặc trưng:
Mỗi cây(nội bộ) (ví dụ nút riêng rẽ) miêu tả những thử nghiệm dựa trên một thuộc tính nhất định
Mỗi nhánh cây thể hiện kết quả của thử nghiệm
Mỗi nút lá (nút cuối cùng) miêu tả lớp (quyết định)
Cây quyết định có ba cách tiếp cận cơ bản:
Cây phân loại: sử dụng khi kết quả dự đoán là một lớp trong thành phần
dữ liệu
Cây hồi quy: khi kết quả dự đoán có thể liên quan tới một số thực sự (giá
dầu, giá trị ngôi nhà )
CART (classification and regression tree) liên quan đến cả hai trường
hợp trên
2.1.3 Xây dựng cây quyết định
Một cây gồm ba kiểu của nút:
Nút gốc(Root node) không có cạnh đến và không hoặc nhiều cạnh đi ra;
Nút trung chuyển (Internal node): mỗi một nút sẽ có chính xác 1 cạnh
đến và hai hoặc nhiều cạnh đi ra;
Lá hoặc nút đích (Leaf of terminal nodes): mỗi nút có chính xác 1 cạnh
đến và không có cạnh đi ra