MỞ ĐẦU
Ngày nay với sự phát triển như vũ bão của ngành công nghệ thông tin, cùng với đó là các công
cụ hỗ trợ cho công việc tích lũy thông tin cũng trở lên cực kỳ tiện lợi, dẫn đến khối lượng thông tin
của các kho cơ sở dữ liệu (CSD) tăng lên rất nhanh. Cùng với đó các yêu cầu đối với quá trính phân
tích dữ liệu ngày càng cao, không những phải đáp ứng được tính thời gian thực mà còn phải đưa ra
được các thông tin có ích trong một “biển” dữ liệu thô và không đầy đủ…vv, tất cả các yếu tố đó làm
cho các bài toán phân tích và xử lý dữ liệu truyền thống trở lên không hiệu quả. Như vây, cần có các
công cụ hoặc phương pháp mới để giải quyết vấn đề này. Hiện nay trên thế giới các nhà phát triển
CSDL đang rất quan tâm đến một mô hình CSDL gọi là cở sử dữ liệu chuỗi thời gian (có một số người
gọi là cơ sở dữ liệu thời thời gian). Mô hình cở sở dữ liệu loại này có một số đặc điểm như: khối lượng
CSDL cực lớn, đối tượng quan sát của nó thường là kết quả hoạt động của các hệ thống “nhiễu loạn”,
thay đổi liên tục theo thời gian, thông tin có ích tồn tại dưới dạng phi chuẩn, chứa nhiều tạp chất và
không đầy đủ, vv… Hệ thống “nhiễu loạn” là hệ thống mà các đối tượng trong nó chịu ảnh hưởng của
rất nhiều các yếu tố khác nhau, ngẫu nhiên và không xác định. Khi đó ngay cả các yêu cầu về việc lữu
trữ, thống kê đối với dạng thông tin kiểu này đã là một nhiệm vụ cực kỳ phức tạp khi đối với các hệ
quản trị CSDL hiện nay. Và đa số các nhà phát triển CSDL trên thế giới chọn một giải pháp là xây
dựng một mô hình mới dựa trên các hệ quản trị CSDL sẵn có, như hệ quản trị cơ sở dữ liệu quan hệ để
lưu giữ và quản lý các loại CSDL loại này trong khi chờ các nhà sản xuất đưa ra được một phiên bản
hữu hiệu cho loại dữ liệu trên. Tuy nhiên ngay cả khi đã có những công cụ phù hợp để lưu trữ và quản
lý các dạng thông tin nói trên, thì để nhận được những thông tin có ích đối với dạng CSDL loại này,
các biện pháp phân tích dữ liệu thông thường cũng gặp rất nhiều khó khăn, đôi khi là không thể giải
quyết được. Đó chính là cơ sở cho sự xuất hiện của kỹ thuật “Khám phá tri thức - khai phá dữ liệu”.
Đây là một thuật ngữ tương đối mới mẻ đối với các nhà phan tích CSDL ở Việt nam, trong khi đó thì
nó đã được áp dụng rất là rộng rãi và hiệu quả trên thế giới. Bản chất của khám phá tri thức chính là
việc áp dụng một loạt các bước phân tích và xử lý dữ liệu nhằm tìm ra các thông tin có ích, các quy
luật tiềm ẩn, các mẫu mới trong CSDL. Thường thì kỹ thuật Khám phá tri thức – Khai phá dữ liệu
được áp dụng trên các CSDL lớn, một trong các dạng đó là CSDL chuỗi thời gian. Vì vậy việc nghiên
cứu quy trình Khám phá tri thức áp dụng trong CSDL chuỗi thời gian sẽ có một ý nghĩa nhất định
trong thời đại ngày nay nhất là ở Việt nam khi kỹ thuật này đang còn rất là mới mẻ.
1
CHƯƠNG I : GIỚI THIỆU CHUNG
1.1.SỰ CẦN THIẾT CỦA QUY TRÌNH NGHIÊN CỨU QUY TRÌNH KHÁM PHÁ
TRI THỨC –KHAI PHÁ DỮ LIỆU.
Hiện nay trên thế giới Khám phá tri thức – Khai phá giữ liệu đã và đang được áp dụng một cách
rộng rãi trong rất nhiều lĩnh vực khác nhau như : y tế , marketing , ngân hàng , viễn thông,
internet… .Không ai có thể phủ định được những lợi ích to lớn mà nhờ áp dụng kĩ thuật này đem lại.
Điều đó được minh chứng bằng thực tế: chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp
cho bảo hiểm y tế Australia phát hiện ra nhiều trường hợp xét nghiệm không hợp lí tiết kiệm được 1
triệu $/năm; British Telecom đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng
mobile và thu lợi được hàng triệu USD; IBM Surf – Aid đã áp dụng Khai phá dữ liệu vào phân tích các
lần đăng nhập Web vào các trang có liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó
đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động của các Website; Trang Web mua
bán qua mạng Amazon cũng tăng doanh thu nhờ áp dụng Khai phá dữ liệu trong việc phân tích sở
thích mua bán của khách hàng….Tuy nhiên, ở Việt nam hiện thuật ngữ Khám phá tri thức – Khai phá
dữ liệu đang còn rất là mới mẻ, vì vậy việc đầu tư nghiên cứu một cách tỷ mỷ nhằm nắm rõ được bản
chất của kỹ thuật Khám phá tri thức là gì, các bước chính trong quy trình khám phá tri thức được thực
hiện như thế nào, thực chất của việc khai phá dữ liệu cũng như các giải thuật cúa nó là rất cần thiết đối
với các nhà phát triển công nghệ thông tin Việt nam nói chung, và những người muốn tìm hiểu lĩnh
vực mới mẻ này nói riêng.
1.2. MỤC ĐÍCH NGHIÊN CỨU CỦA ĐỀ TÀI.
Vì kỹ thuật Khám phá tri thức – Khai phá dữ liệu là một lĩnh vực mới, do đó mục đích của đề tài
là nghiên cứu một cách tổng quan quy trình Khám phá tri thức – Khai phá dữ liệu, từ đó có thể nắm
bắt được những luận điểm, giải thuật cơ bản nhất của kỹ thuật này làm tiền đề cho việc nghiên cứu
phát triển các ứng dụng cụ thể nào đó.
1.3. PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI.
Đề tài chỉ dừng ở phạm vi nghiên cứu các bước cơ bản nhất của quy trình Khám phá tri thức, áp
dụng vào việc phân tích CSDL chuỗi thời gian mà cụ thể là CSDL của thị trường chứng khoán. Giới
thiệu kỹ thuật làm sạch giữ liệu bằng việc áp dụng phương pháp trung bình trượt hàm mũ, đồng thời
đưa ra thuật toán phân loại trạng thái của hệ thống “nhiễu loạn” dựa trên cặp chỉ số xu hướng. Từ đó
đưa ra giải thuật dự báo cho trạng thái của thị trường chứng khoán.
2
1.4. CÁCH THIẾT KẾ CÁC PHẦN NỘI DUNG CHÍNH TRONG BẢN THUYẾT
MINH.
- Chương1: Giới thiệu chung. Nói về sự cần thiết của việc nghiên cứu quy trình Khám phá tri
thức – Khai phá dữ liệu, mục đích, phạm vi nghiên cứu, Cuối là phần giới thiệu về các phần chính
trong bản thuyết minh
- Chương2: Giới thiệu tổng quan về khám phá tri thức. Chương này đưa ra các định nghĩa, khái
niệm về Khám phá tri thức – Khai phá dữ liệu, sự cần thiết của Khám phá tri thức – Khai phá dữ liệu,
các lĩnh vực liên quan đến Khám phá tri thức.
- Chương3: Nghiên cứu quy trình khám phá tri thức. Trong chương này giới thiệu các giai đoạn
của quá trình khám phá tri thức, nhiệm vụ của quá trình khám phá tri thức, các bước chính trong quy
trình khám phá tri thức, hướng tiếp cận và các kỹ thuật chính trong Khai phá dữ liệu, so sánh Khai phá
dữ liệu với một số phương pháp cổ điển, hướng nghiên cứu và việc ứng dụng của Khai phá dữ liệu
hiện nay.
- Chương4: ứng dụng quy trình khám phá tri thức vào việc phân tích CSDL chứng khoán.
Chương này sẽ đưa ra các khái niệm và định nghĩa liên quan đến CSDL chuỗi thời gian, các đặc điểm
của thị trường chứng khoán, đưa ra giải thuật lọc dữ liệu tần số thấp bằng phương pháp trung bình
trượt hàm mũ, thuật toán phân loại trạng thái và tích lũy thông tin thống kê dựa trên cặp chỉ số xu
hướng, xây dựng thuật toán dự báo trạng thái tự do của hệ thống.
- Kết luận: Phần này đưa ra các kết luận về kết quả nghiên cứu của luận văn, hướng phát triển
nghiên cứu tiếp theo.
3
CHƯƠNG II : TỔNG QUAN VE KHÁM PHÁ TRI THỨC – KHAI PHÁ
DỮ LIỆU
2.1. THẾ NÀO LÀ KHÁM PHÁ TRI THỨC – KHAI PHÁ DỮ LIỆU.
Nếu cho rằng các điện tử và các sóng điện tử là cốt lõi của kỹ thuật điện tử thì trong ngành công
nghệ thông tin có thể coi dữ liệu, thông tin và tri thức là tiêu điểm của một lĩnh vực mới trong nghiên
cứu và phát triển ứng dụng và được gọi là Khám phá tri thức và Khai phá dữ liệu.
Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thông tin một
cách có hiệu quả. Điều đó có nghĩa là từ các dữ liệu sẵn có, phải tìm ra những thông tin tiềm ẩn có giá
trị mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động lên
chúng. Thực hiện công việc đó chính là thực hiện quá trình Khám phá tri thức trong các cơ sở dữ liệu
mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính là kỹ thuật Khai phá dữ liệu.
Như John Naisbett đã nói “Chúng ta đang chìm ngập trong dữ liệu mà vẫn đói tri thức”. Thông
thường, chúng ta xem dữ liệu như một chuỗi các bits, các số và biểu tượng hoặc các đối tượng với một
ý nghĩa nào đó khi nó được gửi tới một chương trình trong một dạng thức nhất định. Chúng ta sử dụng
các bits để đo thông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức
tối thiểu để đặc trưng một cách cơ bản cho dữ liệu. Dữ liệu thường được cho bởi các giá trị mô tả các
sự kiện, hiện tượng cụ thể. Còn tri thức (knowledge) là gì? Có thể có những định nghĩa rõ ràng để
phân biệt các khái niệm dữ liệu, thông tin và tri thức hay không? Khó mà định nghĩa chính xác nhưng
phân biệt chúng trong những ngữ cảnh nhất định là rất cần thiết và có thể làm được. Thông tin là một
khái niệm rất rộng, khó có thể đưa ra một định nghĩa chính xác cho khái niệm này. Cũng không thể
định nghĩa cho khái niệm tri thức cho dù chỉ hạn chế trong phạm vi những tri thức được chiết xuất từ
các CSDL. Tuy nhiên, chúng ta có thể coi tri thức như là các thông tin được tích hợp, bao gồm các sự
kiện và các mối quan hệ giữa chúng. Các mối quan hệ này có thể được nhận biết, phát hiện hay học
được. Nói cách khác tri thức có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao. Nếu xét trong
ngữ cảnh của ngôn ngữ thì có thể hiểu tri thức là một biểu thức trong một ngôn ngữ nào đó diễn tả một
(hoặc nhiều) mối quan hệ giữa các thuộc tính trong các dữ liệu đó. Các ngôn ngữ thường được dùng để
biểu diễn tri thức (trong việc phát hiện tri thức từ các CSDL) là các khung (frames), các cây và đồ thị,
các luật (rules), các công thức trong ngôn ngữ logic mệnh đề hoặc tân từ cấp một, các hệ thống phương
trình,... Ví dụ như ta có các luật mô tả các thuộc tính của dữ liệu, các mẫu thường xuyên xảy ra, các
nhóm đối tượng trong CSDL…
4
Khám phá tri thức và Khai phá dữ liệu - một lĩnh vực học thuật đang phát triển nhanh chóng kết
hợp với quản trị CSDL, khoa học thống kê, máy học và các lĩnh vực có liên quan mà mục tiêu cuối
cùng của nó là trích rút ra những tri thức hữu ích từ tập các dữ liệu lớn.
Giống như Khai phá dữ liệu, Khám phá tri thức cũng có thể hiểu theo nhiều khía cạnh khác
nhau, nhưng tựu chung lại chúng ta có thể khái niệm Khám phá tri thức như sau:
Khám phá tri thức trong CSDL là một quá trình của việc xác định giá trị, cái mới lạ, tri thức
tiềm ẩn và tri thức cuối cùng của các khuôn mẫu/mô hình trong dữ liệu. Khai phá dữ liệu là một bước
trong quá trình Khám phá tri thức bao gồm các thuật toán Khai phá đặc biệt nằm trong giới hạn khả
năng của máy tính để tìm ra các mẫu và mô hình trong dữ liệu.[8]
2.2. SỰ CẦN THIẾT CỦA KHÁM PHÁ TRI THỨC
Có rất nhiều lý do để giải thích sự cần thiết của việc Khám phá tri thức - Khai phá dữ liệu, điển
hình là:
- Có rất nhiều tổ chức tập hợp quá nhiều dữ liệu, vậy họ phải làm gì với chúng.
- Con người lưu trữ dữ liệu bởi vì họ cho rằng một số giá trị hữu ích được mã hóa hoàn toàn
trong dữ liệu.
- Trong kinh doanh, cần thu thập các thông tin về thị trường, về các đối thủ và về khách hàng.
Trong sản xuất, cần thu thập các dữ liệu về thời điểm hiệu quả và tối ưu nhất phục vụ cho mục
đích cải tiến quy trình và giải quyết các sự cố.
- Chỉ có một phần nhỏ của dữ liệu (khoảng 5 đến 10%) là luôn được phân tích.
- Sự gia tăng của dữ liệu cản trở các phương pháp phân tích truyền thống.
- Giá trị dữ liệu là quá lớn đối với cách thức phân tích cổ điển. Chúng ta có thể không bao giờ
nhìn thấy chúng một cách chọn vẹn hoặc không thể lưu dữ trong bộ nhớ.
- Dữ liệu cần tìm kiếm không tồn tại dưới dạng tường minh mà dưới dạng phi cấu trúc, trong các
quy luật tiềm ẩn.
- Sự phát triển của mạng máy tính đã gia tăng khả năng truy cập vào dữ liệu.
- Người sử dụng cuối không phải là nhà thống kê đơn thuần, họ cần biết tri thức từ CSDL mà họ
đang lưu trữ.
- Sự cần thiết phải nhanh chóng ra quyết định và phản ứng lại những cơ hội xuất hiện trước các
đổi thủ của mình.
5
- Cùng với việc lớn lên của CSDL, khả năng để đưa ra quyết định và hỗ trợ phân tích là không
thể thực hiện được với truy vấn truyền thống (SQL).
- Rất nhiều kiểu câu truy vấn mà con người quan tâm là rất khó thực hiện hay miêu tả trong ngôn
ngữ vấn tin, đại loại như:
o Tìm tất cả các bản ghi nghi là gian lận.
o Tìm tất cả các bản ghi tương tự như các bản ghi trong bảng X.
- Một số vấn đề với dạng thức truy vấn:
o Không thể tối ưu hóa thông qua truy vấn,
o Không có nhiều thông tin trong các trường của CSDL hoặc trong các phương pháp
thống kê cổ điển.
2.3. KHÁM PHÁ TRI THỨC VÀ CÁC LĨNH VỰC LIÊN QUAN.
Khám phá tri thức - Khai phá dữ liệu là một lĩnh vực khoa học liên quan tới nhiều lĩnh vực khác
như: Khoa học thống kê, Máy học, CSDL, thuật toán, trực quan hóa, thực thi cao và tính toán song
song. Tri thức thu được từ các hệ thống chuyên môn thông minh và sự trực quan hóa (hình dung) dữ
liệu. Một hệ thống Khám phá tri thức - Khai phá dữ liệu đặc trưng bởi các phương thức, thuật toán, kỹ
thuật từ các lĩnh vực khác nhau ở trên. Nhưng mục đích chung nhất là chiết xuất ra các tri thức từ dữ
liệu xem xét trong trường hợp CSDL lớn.
Lĩnh vực máy học và nhận dạng mẫu đan xen với Khám phá tri thức - Khai phá dữ liệu trong
hướng nghiên cứu về lý thuyết và thuật toán đối với các hệ thống nhằm trích rút các mẫu, các mô hình
từ dữ liệu (phần chính của nó chính là các kỹ thuật Khai phá dữ liệu). Trọng tâm của Khám phá tri
thức - Khai phá dữ liệu là mở rộng về lý thuyết và các thuật toán đối với vấn đề tìm kiếm ra các mẫu
đặc trưng trong một tập rộng lớn của thế giới dữ liệu thực.
Khám phá tri thức - Khai phá dữ liệu cũng có nhiều điểm chung với khoa học thống kê, đặc biệt
là việc phân tích dữ liệu khám phá (EDA - Exploratory Data Analysis). Một hệ thống Khám phá tri
thức - Khai phá dữ liệu thường gắn liền với các thủ tục thống kê đặc biệt đối với mô hình dữ liệu và
điều quản nhiễu trong khung Khám phá tri thức chung.
Bên cạnh đó Khám phá tri thức - Khai phá dữ liệu cũng liên quan mật thiết với lĩnh vực khoa
học gọi là Kho dữ liệu (Data Warehousing). Kho dữ liệu ám chỉ đến xu hướng thông dụng gần đây là
lựa chọn, giải quyết dữ liệu một cách rõ ràng và làm cho chúng có khả năng phục hồi trực tuyến. Một
phương pháp thông dụng cho việc phân tích kho dữ liệu được gọi là OLAP - xử lý phân tích trực
6
tuyến. Tiêu điểm của các công cụ OLAP là cung cấp cách phân tích dữ liệu đa chiều. Việc phân tích
dữ liệu đa chiều này mạnh hơn so với SQL (Standard Query Language) - Ngôn ngữ vấn tin chuẩn
trong việc xử lý các dữ liệu nhiều chiều. Chúng ta xem cả hai khái niệm Khám phá tri thức và OLAP
là các khía cạnh về một vấn đề mới của trích rút thông tin tri thức và các công cụ quản lý.
2.4 THẾ NÀO LÀ KHÁM PHÁ DỮ LIỆU
Hai thuật ngữ “Khám phá tri thức” và “Khai phá dữ liệu” đã xuất hiện và phổ biến trên thế giới,
tuy nhiên ở việt nam thì những thuật ngữ này còn tương đối là mới mẻ do vậy rất nhiều người đã coi
khai phá dữ liệu và khám phá tri thức trong cơ sở dữ liệu (knowledge discovery in databases - kdd ) là
như nhau. Tuy nhiên thực chất , khai phá dữ liệu chỉ là một khâu trong quá trình khám phá tri thức.
Tiến trình trong thu thập dữ liệu số và công nghệ lưu trữ dẫn đến sự lớn lên của các CSDL đồ
sộ. Điều này đã xuất hiện trong tất cả lĩnh vực từ dữ liệu trong các hoạt động của con người (như dữ
liệu giao dịch thị trường, bản ghi việc sử dụng thẻ tín dụng, thông tin về các cuộc gọi điện thoại, các
thống kê của chính phủ) tới các dữ liệu thu thập được từ bên ngoài (như hình ảnh các thiên thể, CSDL
về phân tử, hoặc bản ghi y tế). Cùng với sự lớn lên của dữ liệu là sự lớn lên của mối quan tâm về các
vấn đề về khả năng sao lưu dữ liệu này (tapping these data), khả năng trích rút từ chúng các thông tin
có giá trị . Khoa học trích ra các thông tin hữu ích từ một tập dữ liệu (các CSDL) lớn được xem là
Khai phá dữ liệu (Data mining). Nó là một khoa học liên ngành mới, giao của thống kê học, học máy,
quản trị dữ liệu và các CSDL, nhận dạng khuôn mẫu, trí tuệ nhân tạo, và các lĩnh vực khác. Tất cả
chúng liên quan đến các khía cạnh cụ thể của phân tích dữ liệu, chúng có nhiều thứ chung, nhưng mỗi
môn có các bài toán và phương pháp giải quyết phân biệt và đặc trưng.
2.5. ĐINH NGHĨA KHÁM PHÁ DỮ LIỆU
Khái niệm Khai phá dữ liệu ra đời vào cuối những năm 80. Nó bao hàm một loạt các kỹ thuật
nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn. Một số tên khác được sử
dụng với ý nghĩa tương tự như lĩnh vực Khai phá dữ liệu như : Khảo cổ dữ liệu, Nạo vét dữ liệu, Phân
tích sự phụ thuộc chức năng, và Thu hoạch dữ liệu, ... Nhưng tựu chung lại, về bản chất, Khai phá dữ
liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật đặc biệt để tìm ra các mẫu đặc
trưng trong một tập dữ liệu khổng lồ. Có rất nhiều định nghĩa về Khai phá dữ liệu đã được các tác giả
khác nhau đưa ra; sau đây là một số định nghĩa tham khảo mà các nhà khoa học nghiên cứu về lĩnh
vực này phát biểu:
Định nghĩa của Ferrurra: “Khai phá dữ liệu là tập hợp các phương pháp được dùng trong tiến
trình Khám phá tri thức để tìm ra sự khác biệt các mối quan hệ và các mẫu chưa biết bên trong dữ liệu”
7
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta
tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”
Định nghĩa của Mitchell: “Khai phá dữ liệu là việc sử dụng các dữ liệu đã có để khám phá các
quy tắc và đưa đến các quyết định”
Định nghĩa của Groth: “Khai phá dữ liệu là một quá trình xác định các mẫu ẩn, xu thế và mối
quan hệ của dữ liệu”.
Định nghĩa của Berry & Linoff: “Khai phá dữ liệu là quá trình khám phá và phân tích tự động
một lượng lớn dữ liệu để khám phá ra các mẫu và các luật”.
Định nghĩa của Wegman: “Khai phá dữ liệu là việc sử dụng các kỹ thuật tính toán để phân tích
dữ liệu với sự tác động rất ít của con người”.
Việc định nghĩa một khoa học liên ngành luôn gây tranh cãi; các nhà nghiên cứu thường không
nhất trí về phạm vi chính xác và giới hạn về lĩnh vực nghiên cứu của họ. Với suy nghĩ như vậy và chấp
nhận rằng có thể những người khác không đồng tình về chi tiết, chúng ta có thể khái niệm về Khai phá
dữ liệu như sau:
Khai phá dữ liệu là sự phân tích của các tập dữ liệu quan sát (thường là lớn) để tìm ra các mối
liên hệ rõ ràng (unsuspected) và để tóm tắt dữ liệu theo các cách mới mà vừa dễ hiểu, vừa hữu ích cho
người sở hữu dữ liệu.
Các mối liên hệ và các tóm tắt thu được thông qua Khai phá dữ liệu thường gọi là các mô hình
(models) hoặc khuôn mẫu (patterns). Ví dụ như các phương trình tuyến tính, các luật, các nhóm, các
đồ thị, các cấu trúc cây, các khuôn mẫu lặp lại theo thời gian.
Khái niệm ở trên nhắc đến “dữ liệu quan sát - observational data”, đối lập với “dữ liệu thực
nghiệm - experimental data). Khai phá dữ liệu thường làm việc trên dữ liệu mà đã thực sự được thu
thập trước đó cho mục đích khác với phân tích của Khai phá dữ liệu (chẳng hạn, chúng được thu thập
nhằm cập nhật tất cả các giao dịch trong một ngân hàng). Điều đó có nghĩa rằng các mục tiêu của Khai
phá dữ liệu không được xác định trong chiến lược thu thập dữ liệu. Điều này là một trong những cái để
phân biệt Khai phá dữ liệu với thống kê học (statistics), đối với thống kê, dữ liệu thường được thu thập
bởi sử dụng các chiến lược hiệu quả để trả lời các câu hỏi xác định trước. Với lý do này, Khai phá dữ
liệu thường được coi là phân tích dữ liệu thứ cấp (“secondary”).
Khái niệm trên cũng đề cập đến các tập dữ liệu trong Khai phá dữ liệu thường là lớn. Nếu chỉ
làm việc trên tập dữ liệu nhỏ, chúng ta hoàn toàn mới chỉ thảo luận phân tích dữ liệu khám phá cổ điển
(classical exploratory data analysis) như công việc của các nhà thống kê. Khi đối mặt với dữ liệu lớn,
các bài toán mới sẽ nảy sinh. Một số bài toán thì liên quan đến các vấn đề lưu trữ và truy cập dữ liệu,
8
một số khác thì liên quan đến các vấn đề cơ bản như là làm thế nào để xác định các đại diện của dữ
liệu, làm thế nào phân tích dữ liệu trong thời gian chấp nhận được, làm thế nào để quyết định xem một
mối liên hệ chỉ đơn thuần là sự xuất hiện ngẫu nhiên không phản ánh một thực tế nào cả. Thông
thường, dữ liệu có sẵn chỉ bao gồm một mẫu (sample) từ một tập đầy đủ dữ liệu; mục đích là khái quát
hóa (generalize) từ mẫu đó cho toàn bộ tập dữ liệu. Chẳng hạn chúng ta mong muốn dự đoán hành vi
của các khách hàng tương lai, hoặc dự đoán các tính chất của cấu trúc proteins mà chúng ta chưa bao
giờ nhìn thấy trước đó. Những khái quát hóa như vậy có thể không thể có được bằng các cách tiếp cận
thống kê chuẩn vì dữ liệu thường không phải là các mẫu “ngẫu nhiên” mà là “mẫu tiện lợi”
(“convenience samples”) hoặc “mẫu cơ hội” (“opportunity samples”). Đôi khi chúng ta muốn tóm tắt
hoặc nén một tập dữ liệu lớn theo một cách sao cho kết quả là dễ hiểu, không có bất cứ một ý niệm
nào của khái quát hóa cả. Vấn đề như vậy sẽ nảy sinh, chẳng hạn, nếu chúng ta đã hoàn thành dữ liệu
điều tra dân số đầy đủ của một quốc gia, hoặc một CSDL gồm hàng triệu giao dịch bán lẻ.
Các mối liên hệ và cấu trúc tìm thấy trong các tập dữ liệu phải là mới, điều đó là tất nhiên. Sẽ có
rất ít giá trị khi tìm ra các mối liên hệ đã thiết lập trước (trừ khi mục đính của công việc là xác nhận
giả thuyết, xác định xem một khuôn mẫu - pattern - tồn tại trong một tập dữ liệu mới không), hoặc các
mối liên hệ cần thiết (ví dụ như tất cả bệnh nhân mang thai là nữ). Rõ ràng, tính mới (novelty) phải
được đo một cách tương đối đối với tri thức đã có trước (tri thức tiên nghiệm) của người sử dụng.
Không may là chỉ có một vài giải thuật Khai phá dữ liệu là đề cập đến tri thức tiên nghiệm.
Trong khi tính mới là một tính chất quan trọng của các mối liên hệ chúng ta tìm kiếm, nó vẫn
không đủ để đánh giá một mối liên hệ là có giá trị. Cụ thể, các mối liên hệ phải có thể hiểu được
(understandable). Ví dụ các mối liên hệ đơn giản là dễ hiểu hơn các mối liên hệ phức tạp, và vì vậy
được ưa thích hơn.
9
CHƯƠNG III : NGHIÊN CỨU QUY TRÌNH KHÁM PHÁ TRI THỨC
3.1. CÁC GIAI ĐOẠN CỦA QUY TRÌNH KHÁM PHÁ TRI THỨC
Quá trình trích rút tri thức từ các CSDL là sự kết hợp giữa các kỹ thuật và công cụ thống kê, máy
học và các CSDL, ... để tìm ra một mô tả logic chính xác, và cuối cùng là từ các mô tả này có thể đưa
ra các mẫu và các quy tắc trong dữ liệu.
Việc trích rút tri thức từ một khối lượng khổng lồ dữ liệu có thể được xem như là một quá trình
tương tác lặp đi lặp lại, và không phải là một hệ thống phân tích tự động. Trong trường hợp này, chúng
ta không thể đơn giản trông chờ một trích rút tri thức hữu ích chỉ bằng việc xem xét một nhóm dữ liệu
trong một hộp đen “black box”.
Việc lặp đi lặp lại của quá trình Khám phá tri thức ám chỉ cách hiểu tổng thể lĩnh vực ứng dụng.
Cách hiểu này bao gồm việc lựa chọn một tập con dữ liệu tiêu biểu, các lớp mẫu thích hợp và các
phương pháp tốt để đánh giá tri thức. Để hiểu rõ hơn các chức năng của người dùng sử dụng quá trình
Khám phá tri thức, chúng ta có thể chia những người dùng thành 3 lớp: Những nhà chuyên môn, là
những người rất am hiểu về lĩnh vực ứng dụng. Tiếp theo là những nhà phân tích, đây là những người
thực hiện quá trình Khám phá tri thức, và do đó họ có rất nhiều kiến thức về các giai đoạn của quá
trình này. Thứ nữa là những người sử dụng cuối cùng, là những người không cần có nhiều kiến thức
về lĩnh vực ứng dụng. Thường thì những người dùng cuối sử dụng tri thức trích rút được từ quá trình
Khám phá tri thức để hỗ trợ cho họ trong việc ra quyết định.
Sự thành công của quá trình Khám phá tri thức phụ thuộc một phần vào sự tác động giữa những
người sử dụng. Điều đó có nghĩa là những nhà phân tích không thể tìm ra các tri thức hữu ích từ dữ
liệu mà không có sự đảm bảo của các chuyên gia. Bên cạnh đó, sự tác động qua lại của quá trình đòi
hỏi người sử dụng cuối và các chuyên gia cần tham gia tích cực trong việc lựa chọn và đưa ra quyết
định của quá trình Khám phá tri thức.
Khám phá tri thức từ dữ liệu có thể được hiểu như một quá trình bao gồm ít nhất các bước sau:
Hiểu lĩnh vực ứng dụng, lựa chọn và tiền xử lý dữ liệu, Khai phá dữ liệu, đánh giá tri thức, củng cố và
sử dụng tri thức đó.
Quá trình Khai phá tri thức bắt đầu bằng việc hiểu lĩnh vực ứng dụng. Tiếp theo, một mẫu đại
diện được lấy từ CSDL, được tiền xử lý và được lựa chọn để sau đó áp dụng các phương pháp và công
cụ của giai đoạn Khai phá dữ liệu với mục tiêu là tìm ra các mẫu/mô hình (tri thức) trong dữ liệu đó.
Tri thức này được đánh giá bằng chất lượng hoặc/và sự hữu ích của nó, và vì vậy nó có thể được sử
dụng để hỗ trợ cho hệ trợ giúp gia quyết định.
10
Một điều cần quan tâm đó là bởi vì đây là một quá trình lặp đi lặp lại, nên các bước của quá trình
Khám phá tri thức không khép kín, điều đó có nghĩa là sự tương quan giữa kỹ thuật và phương pháp
được sử dụng trong một vài giai đoạn là rất quan trọng, và do vậy chỉ cần một sự cố nhỏ trong số
chúng cũng có thể ảnh hưởng một cách căn bản đến thành công của toàn bộ quá trình.
Quá trình Khám phá tri thức có thể tổng quát thành các giai đoạn sau [1,2,3]:
Hình 3.1: Các giai đoạn của quá trình khám phá tri thức
- Giai đoạn thứ nhất: Tìm hiểu lĩnh vực ứng dụng: nhằm tìm hiểu lĩnh vực ứng dụng và phát
biểu vấn đề của bài toán. Giai đoạn này là điều kiện tiên quyết cho việc trích rút tri thức và lựa
chọn phương pháp Khai phá dữ liệu thích hợp với mục đích của ứng dụng và bản chất của dữ
liệu.
- Giai đoạn thứ hai: Thu thập và tiền xử lý dữ liệu. Giai đoạn này có nhiệm vụ thu thập và tiền
xử lý dữ liệu, bao gồm việc lựa chọn dữ liệu nguồn, loại bỏ các nhiễu hay phân tách dữ liệu, xử
lý dữ liệu lỗi, chuyển đổi và rút gọn dữ liệu (nếu cần thiết). Giai đoạn này thường chiếm nhiều
thời gian nhất trong toàn bộ quá trình Khám phá tri thức - Khai phá dữ liệu.
- Giai đoạn thứ ba: Khai phá dữ liệu, trích rút tri thức. Giai đoạn này sử dụng các kỹ thuật Khai
phá dữ liệu để trích rút ra các mẫu, các mô hình ẩn dấu trong dữ liệu hoặc tĩch lũy các thông tin
thống kê có ích dữa trên các thuật toán phân loại rồi sử dụng chúng để thu nhận được các thông
tin có ích dưới một dạng nào đó. Một mô hình có thể được xem như “sự thể hiện một cấu trúc
tóm tắt một cách hệ thống các thành phần nằm dưới dữ liệu hay mô tả cách mà dữ liệu phát
sinh”. Trái ngược với nó, “một mẫu là một cấu trúc cục bộ, có thể chỉ liên quan đến một nhóm
các biến và một ít các trường hợp”. Các lớp chính của kỹ thuật Khai phá dữ liệu là mô hình dự
11
Tỡm hiểu lĩnh
vực ứng dụng
Thu thập và tiền
xử lý dữ liệu
Khai phỏ
trớch rỳt tri
thức
Phân tích và kiểm
định kết quả
Sử dụng tri thức
phát hiện được
CSDL
Dữ liệu đó được
tiền xử lý
Cỏc
mẫu / mụ
hỡnh
Trực quan húa dữ liệu
báo như: phân lớp và hồi quy, phân nhóm (đoạn), mô hình phụ thuộc như: mô hình đồ họa, ước
lượng mật độ, tổng hợp hay tìm mối liên hệ giữa các trường như: luật kết hợp, trực quan hóa,
và mô hình phát hiện sự biến đổi và độ lệch trong dữ liệu và tri thức.
- Giai đoạn thứ tư: phân tích và kiểm định kết quả. Giai đoạn này nhằm làm sáng tỏ các tri thức,
đặc biệt là việc làm sáng tỏ phạm vi của mô tả và dự báo - hai đích chính của hệ thống khám
phá trong thực tế. Các thí nghiệm chỉ ra rằng các khuôn mẫu hoặc các mô hình từ dữ liệu
không phải luôn luôn được quan tâm hay sử dụng trực tiếp, và quá trình Khám phá tri thức cần
phải được lặp đi lặp lại tùy theo đánh giá của tri thức khám phá. Một cách chuẩn để đánh giá
các kết quả là chia dữ liệu thành hai tập, một tập để huấn luyện và một tập để kiểm thử. Một
tập có thể lặp lại quá trình một số lần với sự phân tách khác nhau và kết quả trung bình sẽ dùng
để ước lượng luật thực thi.
- Giai đoạn cuối cùng: Sử dụng các tri thức được phát hiện. Giai đoạn này sẽ đưa các tri thức
khám phá được vào ứng dụng thực tế. Trong một số trường hợp, Giai đoạn này có thể sử dụng
tri thức khám phá được mà không nhúng vào hệ thống máy tính. Về mặt khác, người sử dụng
có thể trông chờ vào tri thức được khám phá trên máy tính hay khai thác bởi một số chương
trình. Việc đưa kết quả vào ứng dụng thực tế là đích cuối cùng của quá trình Khám phá tri
thức.
Chú ý rằng, không gian của các mẫu là vô hạn và việc liệt kê các mẫu đòi hỏi một số dạng thức
của việc tìm kiếm trong không gian này. Khả năng của máy điện toán hạn chế vị trí hạn hẹp giới hạn
của không gian con có thể được khám phá bởi các thuật toán. Thành phần Khai phá dữ liệu của quá
trình Khám phá tri thức có liên quan mật thiết với ý nghĩa của các mẫu được trích rút và liệt kê từ dữ
liệu. Khám phá tri thức bao gồm sự ước lượng và sự giải thích sáng tỏ các khuôn mẫu để đưa ra quyết
định cái gì cấu thành lên tri thức, còn cái gì không cấu thành lên tri thức. Nó cũng bao gồm cách mã
hóa, tiền xử lý, lấy mẫu và phép chiếu của dữ liệu trước các bước Khai phá dữ liệu.
3. 2. NHIỆM VỤ CỦA QUÁ TRÌNH KHÁM PHÁ TRI THỨC
Như trên đã nghiên cứu, các giai đoạn của quá trình Khám phá tri thức, và trên thực tế mỗi giai
đoạn là rất phức tạp. Để hiểu rõ hơn quá trình Khám phá tri thức cần phải làm những việc gì, chúng ta
hãy xem xét những nhiệm vụ mà một quá trình Khám phá tri thức sẽ làm trong hình sau:
12
Hình 3.2: Các nhiệm vụ của quá trình Khám phá tri thức
- Tích hợp dữ liệu: Thu thập dữ liệu từ các nguồn khác nhau.
- Tạo ra tập dữ liệu mục tiêu: Lựa chọn một tập dữ liệu, tập trung vào một tập con các biến hoặc
các mẫu dữ liệu, trên tập dữ liệu mục tiêu đó, việc khám phá sẽ được thực hiện,
- Tiền xử lý và làm sạch dữ liệu: ở đây bao gồm các thao tác cơ bản như loại bỏ các nhiễu, loại
bỏ các giá trị bất thường không hợp lý.
- Rút gọn và chiếu dữ liệu: Tìm ra các đặc trưng hữu dụng để miêu tả dữ liệu phụ thuộc vào mục
tiêu của mỗi nhiệm vụ. Sử dụng việc rút gọn số chiều (kích thước) hoặc các kỹ thuật biến đổi
để giảm bớt số biến có ảnh hưởng hoặc tìm ra cái bất biến đối với dữ liệu,
13
- Lựa chọn nhiệm vụ Khai phá dữ liệu: Quyết định đích của Khám phá tri thức là phân lớp, hồi
quy, phân nhóm, ... Những nhiệm vụ khác nhau của giải thuật Khai phá dữ liệu cũng cần phải
được đề cập ở đây,
- Lựa chọn kỹ thuật Khai phá dữ liệu: Lựa chọn các kỹ thuật cho việc tìm kiếm các mẫu trong
dữ liệu, điều này quyết định mô hình và các tham số nào là thích hợp và kỹ thuật Khai phá dữ
liệu nào phù hợp với tiêu chuẩn của quá trình Khám phá tri thức (ví dụ người sử dụng cuối
cùng sẽ quan tâm đến việc hiểu dữ liệu hơn là mô hình có khả năng dự báo),
- Khai phá dữ liệu để trích rút các khuôn mẫu/mô hình: Tìm kiếm các khuôn mẫu liên quan đến
dạng thức đặc biệt hoặc một tập các đặc trưng như: luật phân lớp, cây quyết định, hồi quy,
phân nhóm ...,
- Giải thích và ước lượng các khuôn mẫu/mô hình,
- Củng cố, thống nhất tri thức khám phá: Hợp nhất các tri thức này vào trong hệ thống thực thi
hoặc đơn giản là đưa ra các tài liệu báo cáo. Điều này cũng bao gồm việc kiểm tra và giải quyết
các xung đột với các tri thức tin tưởng trước đó.
3.3. QUY TRÌNH KHÁM PHÁ TRI THỨC
Rõ ràng, nhiệm vụ của quá trình Khám phá tri thức là rất nặng nề và liên quan đến nhiều vấn đề;
nếu lĩnh vực ứng dụng hay bài toán đặt ra đã được xác định trên các tập dữ liệu lớn như kho dữ liệu,
CSDL, ... cụ thể, thì một quy trình Khám phá tri thức (kết hợp cả việc Khai phá dữ liệu) có thể được
thực hiện theo 5 bước như hình sau:
Hình 3.3 : Quy trình Khám phá tri thức
Trong đó:
- Bước thứ nhất: Trích chọn dữ liệu (Data seclection): là bước chọn ra những tập dữ liệu cần
được khai phá từ các tập dữ liệu lớn (Databases, data warehouse, data repositories) theo một số
tiêu chí nhất định phục vụ cho mục đích, yêu cầu mà ứng dụng đã đặt ra,
14
Dữ liệu
(1)
Lựa chọn
dữ liệu
(2)
Tiền xử
lý dữ liệu
(3)
Biến đổi
dữ liệu
(4)
Khai phá
dữ liệu
(5)
Biểu
diễn/
Đánh giá
tri thức
Dữ liệu
đích
Dữ liệu đã được
tiền xử lý
Dữ liệu đã được
chuyển đổi
Các mẫu,
mô hình
Tri thức
- Bước thứ hai: Tiền xử lý dữ liệu (Data preprocessing): là bước làm sạch dữ liệu (xử lý dữ liệu
không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ...), rút gọn dữ liệu (sử dụng các phương
pháp rút gọn dữ liệu, histograms, lấy mẫu, ...), rời rạc hoá dữ liệu (dựa vào histograms,
entropy, phân khoảng, ...). Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn, và được
rời rạc hoá,
- Bước thứ ba: Biến đổi - chuyển dạng dữ liệu (Data transformation) nếu cần : là bước chuẩn
hoá và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật
khai phá ở bước sau,
- Bước thứ tư: Khai phá dữ liệu (Data mining) : đây là bước quan trọng và tốn nhiều thời gian
nhất của quá trình Khám phá tri thức, áp dụng các kỹ thuật khai phá (phần lớn là các kỹ thuật
của machine learning) để khai phá, trích chọn được các mẫu (patterns) thông tin, các mối liên
hệ đặc biệt trong dữ liệu,
- Bước thứ năm: Biểu diễn và đánh giá tri thức (Knowledge epresentation & evaluation): Dùng
các kỹ thuật hiển thị dữ liệu để trình bày các mẫu hoặc mô hình thông tin (tri thức) và mối liên
hệ đặc biệt trong dữ liệu đã được khai thác ở bước trên biểu diễn theo dạng gần gũi với người
sử dụng như đồ thị, cây, bảng biểu, luật, ... Đồng thời bước này cũng đánh giá những tri thức
khám phá được theo những tiêu chí nhất định.
Một điều cần lưu ý là: Trong bước Khai phá dữ liệu, có thể cần sự tương tác của người dùng để
điều chỉnh và rút ra các tri thức cần thiết nhất. Các tri thức nhận được cũng có thể được lưu và sử dụng
lại.
3.4. HƯỚNG TIẾP CẬN VÀ KỸ THUẬT CHÍNH TRONG KHAI PHÁ DỮ LIỆU.
3.4.1. Các dạng dữ liệu có thể khai phá:
Như chúng ta đã biết, tri thức của nhân loại là tổng hòa của các mối quan hệ, liên quan mật thiết,
logic với nhau và được lưu trữ dưới các dạng dữ liệu này hay dữ liệu kia. Trong thực tế có rất nhiều
mô hình CSDL, tuy nhiên, trong các lĩnh vực ứng dụng cụ thể khác nhau, chúng ta có thể định nghĩa
và phân biệt ra rất nhiều dạng dữ liệu sao cho thuận lợi nhất trong quá trình sử dụng. Khai phá dữ liệu
có khả năng chấp nhận một số kiểu dữ liệu như sau :
Cơ sở dữ liệu quan hệ (relational databases): là các dữ liệu tác nghiệp được tổ chức theo mô
hình dữ liệu quan hệ rất phổ biến trong nhiền ngành, có giá trị lịch sử cũng như thực tiễn rất to lớn, do
đó, hầu hết các HQTCSDL đều hỗ trợ dạng cơ sở dữ liệu quan hệ như Oracle, MS SQL Server, IBM
DB2, MS Access, ...
15
Cơ sở dữ liệu đa chiều (multidimention structures, data warehouses, data mart): là các kho dữ
liệu được tập hợp và chọn lọc từ nhiều nguồn dữ liệu khác nhau. Dạng dữ liệu này chủ yếu phục vụ
cho quá trình phân tích cũng như Khám phá tri thức và hỗ trợ quá trình ra quyết định.
Cơ sở dữ liệu giao tác - giao dịch (transactonal databases): đây cũng là dạng dữ liệu tác nghiệp
có các bản ghi thường là các giao tác. Dạng dữ liệu này cũng phổ biến hiện nay.
Cơ sở dữ liệu quan hệ - hướng đối tượng (object relational databases) : là dạng dữ liệu lai giữa
hai mô hình quan hệ và hướng đối tượng.
Dữ liệu không gian, thời gian và chuỗi thời gian (spatial, temporal, and time-series data): là
dạng dữ liệu có tích hợp thuộc tính về không gian như dữ liệu bản đồ mạng cáp điện thoại hoặc thời
gian như dữ liệu cước điện thoại, phát hành báo chí, chỉ số chứng khoán ...
Cơ sở dữ liệu đa phương tiện (Multimedia database): là dạng dữ liệu âm thanh (audio), hình ảnh
(video), Text & WWW, ... Dạng dữ liệu này đang rất phong phú, đa dạng và được phổ biến rộng rãi
nhất là trên internet.
3.4.2. Các phương pháp, kỹ thuật chính trong Khai phá dữ liệu.
Bởi vì Khai phá dữ liệu và Khám phá tri thức là một lĩnh vực tương đối mới, do vậy có nhiều các
tác giả đã đưa ra các nghiên cứu về phương pháp, kỹ thuật Khai phá dữ liệu theo các cách khác nhau
như:
Đối với Fayyad, các kỹ thuật Khai phá dữ liệu như: Mô hình dự báo (Predictive Modeling), Phân
nhóm (Clustering), Tổng hợp hóa (Summarization), Mô hình sự phụ thuộc (Dependency Modeling),
Phát hiện sự biến đổi và độ lệch (Change and deviation detection).[5]
Đối với Goebel & Gruenwald, các kỹ thuật Khai phá dữ liệu như: Các mô hình thống kê
(Statistical Models), Mạng nơron (Neural Networks), cây quyết định (Decision Trees), Quy nạp luật
(Rule Induction), mạng Bayesian tin cậy (Bayesian Belief Networks), các thuật toán về lập trình Gen
(Genetic algorithms), tập mờ (Fuzzy Sets), tập thô (Rough Sets).[4]
Đối với Aggarwal & Yu, các kỹ thuật Khai phá dữ liệu gồm: Luật kết hợp (Association rules),
Phân nhóm (Clustering), Phân lớp (Classification).
Tựu chung lại, các kỹ thuật Khai phá dữ liệu thực chất không có gì mới. Nó là sự kế thừa, kết
hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như học máy, nhận dạng, thống
kê (hồi quy, phân loại, phân nhóm), các mô hình đồ thị, các mạng Bayes, trí tuệ nhân tạo, thu thập tri
thức hệ chuyên gia,… Tuy nhiên, với sự kết hợp tài tình của Khai phá dữ liệu, kỹ thuật này có ưu thế
16
hơn hẳn các phương pháp trước đó, đem lại nhiều triển vọng trong việc ứng dụng phát triển nghiên
cứu khoa học cũng như áp dụng vào thực tiễn và nó có thể được chia làm 2 nhóm chính sau:
- Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung
của dữ liệu trong CSDL hiện có. Nhóm kỹ thuật này gồm các phương pháp: phân nhóm
(Clustering), tổng hợp hóa (Summerization), Phát hiện sự biến đổi và độ lệch (Change and
deviation detection), phân tích luật kết hợp (Association Rules), ...
- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên
dữ liệu hiện thời. Nhóm kỹ thuật này gồm các phương pháp: phân lớp (Classification), hồi quy
(Regression), ...
3.4.2.1. Phân lớp và dự đoán (Classification & Prediction):
Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết
trước đó. Mục tiêu của việc phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính
phân lớp hay nói cách khác là dự đoán nhãn lớp cho các mẫu dữ liệu. Như thế quá trình phân lớp có
thể sử dụng mối quan hệ này để dự báo cho các mục mới. Các kiến thức được phát hiện biểu diễn dưới
dạng luật theo các cách sau: “Nếu các thuộc tính dự báo của một mục thỏa mãn điều kiện của các tiền
đề thì mục đó nằm trong lớp chỉ ra trong kết luận”. Ví dụ : phân lớp loại cước hoặc loại dịch vụ dựa
trên số máy bị gọi của cuộc gọi, phân lớp khu vực dựa trên số máy chủ gọi, phân lớp giờ cao điểm,
thấp điểm dựa trên giờ bắt đầu đàm thoại, ... Phân lớp là một lĩnh vực rất quan trọng trong khai phá dữ
liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân
lớp dữ liệu.
- Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có. Mỗi
mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp. Các mẫu
dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp của tập dữ
liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này
còn được gọi là học có giám sát (supervised learning) khác với phân nhóm dữ liệu là học
không có giám sát (unsupervised learning).
- Bước 2: sử dụng mô hình để phân lớp dữ liệu. Trước hết chúng ta phải tính độ chính xác của
mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp
cho các mẫu dữ liệu khác trong tương lai.
Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như: Cây quyết định
(Decision Tree), K-Láng giềng gần nhất (k-Nearest Neighbor), Mạng Nơron (Neural networks), Giải
17
thuật di truyền (Genetic algorithms), Mạng Bayesian (Bayesian networks), Tập mờ và tập thô (Rough
and Fuzzy Sets).
a) Cây quyết định (Decision Tree).
Các kỹ thuật phân lớp sử dụng cây quyết định để phân tách các dữ liệu cho đến khi mỗi phần
chứa đựng hầu hết các mẫu từ một lớp đặc trưng, kết quả của quá trình sẽ cho ra một cây quyết định.
Điểm phân tách trong cây quyết định là một nút (không phải là nút lá) sẽ sử dụng một số điều kiện để
quyết định dữ liệu sẽ được phân tách như thế nào. Các nút cuối cùng trong cây quyết định chứa đựng
các bộ mẫu giống nhau. Lợi thế của cây quyết định là các thuật toán chạy khá nhanh, với kết quả khá
tốt và có thể giải thích được rõ ràng. Tuy nhiên, bất lợi mà các thuật toán của cây quyết định có thể
gặp phải đó là chúng có thể tìm ra các điểm tới hạn cục bộ, đưa ra các kết quả không đúng.
b)K-láng giềng gần nhất (k-Nearest Neighbor).
Thuật toán này tìm ra các láng giềng gần nhất của mẫu thử nghiệm và quy về các nhãn lớp của
chúng dựa trên các nhãn đa số, điều đó có nghĩa là các mẫu được quy về cùng lớp khi chúng là lân cận
của nhau. Kỹ thuật này cho rằng vị trí trong không gian đặc trưng hàm ý một quan hệ họ hàng gần gũi
ở giữa các nhãn lớp.
Lợi thế của các thuật toán K-Láng giềng gần nhất là dễ thực thi, và kết quả mà nó đem lại khả
năng dễ dàng giải thích. Nhưng một điểm bất lợi là các thuật toán này đưa ra các mô hình rất lớn với
một tập dữ liệu nhỏ.
c) Mạng nơron (Neural networks).
Mạng nơron là mạng được mô phỏng theo bộ não của con người. Đó là một cấu trúc dữ liệu của
các hàm với một hoặc nhiều trọng số đầu vào, với kết quả đầu ra là một nhãn các lớp. Từng phần riêng
biệt của dữ liệu được đưa vào mạng nơron và các hàm - các trọng số trong mạng nơron bị thay đổi
(học - huấn luyện) tùy theo tỷ lệ lỗi của đầu ra. Phương pháp này thường đưa đến một khoảng thời
gian huấn luyện dài ngay cả khi tập dữ liệu nhỏ.
Lợi thế của mạng nơron là đưa đến các kết quả khá chính xác, nhưng bất lợi của nó là thường
đòi hỏi thời gian huấn luyện dài và đưa ra các kết quả khó hiểu, cứng nhắc, bị bao bọc trong một hộp
đen, khó giải thích tường minh.
d) Giải thuật di truyền (Genetic algorithms).
Các giải thuật di truyền được sử dụng để đưa ra công thức giả thuyết về sự phụ thuộc giữa các
biến. Đối với một giải thuật di truyền phải sử dụng các giải pháp như cạnh tranh, lựa chọn và kết hợp
giữa các tập hợp cá thể.
18