Tải bản đầy đủ (.docx) (51 trang)

Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG CÂY QUYẾT ĐỊNH VÀ HỖ TRỢ RA QUYẾT ĐỊNH TÍN DỤNG NGÂN HÀNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (527.78 KB, 51 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

PHÒNG ĐÀO TẠO SAU ĐẠI HỌC
TIỂU LUẬN
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
CÂY QUYẾT ĐỊNH VÀ HỖ TRỢ RA QUYẾT ĐỊNH
TÍN DỤNG NGÂN HÀNG
Giảng viên hướng dẫn: GS. TSKH. HOÀNG VĂN KIẾM
Học viên thực hiện: NGUYỄN VĂN KIỆT
Mã số học viên: CH1301095
HVTH: NGUYỄN VĂN KIỆT Trang 1
TP. Hồ Chí Minh, tháng 10 năm 2014
Công nghệ tri thức và ứng dụng GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Mục Lục
HVTH: NGUYỄN VĂN KIỆT Trang 2
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
DANH MỤC HÌNH
HVTH: NGUYỄN VĂN KIỆT Trang 3
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
DANH MỤC BẢNG
HVTH: NGUYỄN VĂN KIỆT Trang 4
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
LỜI MỞ ĐẦU
Tôi xin chân thành gửi lời cám ơn chân thành đến GS. TSKH. Hoàng Văn
Kiếm, người thầy hướng dẫn khoa học nghiêm túc và nhiệt tâm. Thầy là người đã
truyền đạt cho tôi những kiến thức quý báu trong môn học “Công nghệ tri thức và
ứng dụng”. Nhờ có những kiến thức của thầy mà tôi có thể có đủ kiến thức cùng
những công cụ cần thiết để thực hiện được bài tiểu luận của môn học này.
Sau một thời gian học tập môn Công nghệ tri thức và ứng dụng, cùng với sự
tìm hiểu từ các tài liệu từ các bài báo khoa học và các luận văn trên Internet. Tôi


chọn nghiên cứu Cây quyết định và hỗ trợ ra quyết định tín dụng ngân hàng để làm
tiểu luận cho môn học này.
Nội dung của tiểu luận này gồm:
Chương 1: Tổng quan về khám phá tri thức và khai phá dữ liệu
Chương 2: Cây quyết định và khai phá dữ liệu
Chương 3: Ứng dụng cây quyết định vào bài toán hỗ trợ ra quyết định tín
dụng trong ngân hàng
Chương 4: Cài đặt, thử nghiệm và đánh giá
Chương 5: Kết luận
Do thời gian nghiên cứu có hạn và bản thân tôi cũng có một số hạn chế nên
không tránh khỏi những thiếu sót trong báo cáo này. Kính mong nhận được sự thông
cảm và góp ý của GS. TSKH. Hoàng Kiếm để hướng nghiên cứu của tôi sắp tới sẽ
hoàn thiện và đạt hiểu quả hơn. Tôi xin chân thành cảm ơn!
HVTH: NGUYỄN VĂN KIỆT Trang 5
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Chương 1
TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI
PHÁ DỮ LIỆU
Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT và ngành công
nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ
thống thông tin tăng nhanh một cách nhanh chóng. Bên cạnh đó, việc tin học hoá
một cách ồ ạt của các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt
động khác đã tạo ra cho chúng ta một lượng dữ liệu (DL) lưu trữ khổng lồ. Hàng
triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí ,
trong đó có nhiều CSDL cực lớn cỡ Gigabyte, thậm chí là Terabyte. Sự bùng nổ này
đã dẫn tới một yêu cầu cấp thiết là cần có những kĩ thuật và công cụ mới để tự động
chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích. Từ đó, các kĩ thuật
khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay.
1.1. Khai phá dữ liệu là gì?
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm cuối

của thập kỷ 1980. Nó là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong
lượng lớn DL được lưu trữ trong các CSDL, kho dữ liệu Hiện nay, ngoài thuật ngữ
khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như:
khai phá tri thức từ CSDL, trích lọc DL, phân tích DL/ mẫu, khảo cổ DL, nạo vét
DL.
Nhiều người coi khai phá dữ liệu và một thuật ngữ thông dụng khác là phát
hiện tri thức trong CSDL (Knowlegde Discovery in Databases - KDD) là như nhau.
Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu trong quá trình
phát hiện tri thức trong CSDL. Có thể nói Data Mining là giai đoạn quan trọng nhất
HVTH: NGUYỄN VĂN KIỆT Trang 6
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
trong tiến trình phát hiện tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra
quyết định trong khoa học và kinh doanh.
1.2. Quá trình khám phá tri thức
Hình 1.1: Quá trình khám phá tri thức
1.2.1. Hình thành và định nghĩa bài toán
Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán. Bước này sẽ
quyết định cho việc rút ra những tri thức hữu ích, đồng thời lựa chọn các 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.
1.2.2. Thu thập và tiền xử lý dữ liệu
Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu thập có
thể là từ các khi dữ liệu hay nguồn thông tin Internet). Trong giai đoạn này dữ liệu
cũng được tiền xử lí để biến đổi và cải thiện chất lượng dữ liệu cho phù hợp với
phương pháp khai phá dữ liệu được chọn lựa trong bước trên. Bước này thường
chiếm nhiều thời gian nhất trong quá trình khám phá tri thức.
Các thuật giải tiền xử lí dữ liệu bao gồm:
HVTH: NGUYỄN VĂN KIỆT Trang 7
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
1 Xử lí dữ liệu bị mất/ thiếu: Các dạng dữ liệu bị thiếu sẽ được thay thế bởi các giá trị
thích hợp;

2 Khử sự trùng lắp: Các đối tượng dữ liệu trùng lắp sẽ bị loại bỏ đi. Kỹ thuật này
không được sử dụng cho các tác vụ có quan tâm đến phân bố dữ liệu.
3 Giảm nhiễu: Nhiễu và các đối tượng tách rời khỏi phân bố chung sẽ bị loại đi khỏi
dữ liệu.
4 Chuẩn hóa: Miền giá trị của dữ liệu sẽ được chuẩn hóa.
5 Rời rạc hóa: các dạng dữ liệu số sẽ được biến đổi ra các giá trị rời rạc.
6 Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã có.
7 Giảm chiều: Các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt.
1.2.3. Khai phá dữ liệu và rút ra các tri thức
Đây là bước quan trọng nhất trong tiến trình khám phá tri thức. Kết quả của
bước này là trích ra được các mẫu và/ hoặc các mô hình ẩn duwowisc các dữ liệu.
Một mô hình có thể là một biểu diễn cấu trúc tổng thể một thành phần của hệ thống
hay cả hệ thống trong CSDL, hay miêu tả cách dữ liệu được nảy sinh. Còn một mẫu
là cấu trúc cục bộ có liên quan đến vài biến và vài trường hợp trong CSDL.
1.2.4. Phân tích và kiểm định kết quả
Bước này là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả
và dự đoán. Trong bước này, kết quả tìm được sẽ được biến đổi sang dạng phù hợp
với lĩnh vực ứng dụng và dễ hiểu hơn cho người dung.
1.2.5. Sử dụng các tri thức phát hiện được
HVTH: NGUYỄN VĂN KIỆT Trang 8
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Trong bước này, các tri thức khám phá được sẽ được củng cố, kết hợp lại
thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng trong các tri thức
đó. Các mô hình rút ra được đưa vào những hệ thống thông tin thực tế dưới dạng các
moodun hỗ trợ việc đưa ra quyết định.
Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt chẽ với
nhau trong bối cảnh chung của hệ thống. Các kỹ thuật được sử dụng trong giai đoạn
trước có thể ảnh hưởng đến hiệu quả của các giải thuật được sử dụng trong các giai
đoạn tiếp theo. Các bước của quá trình khám phá tri thức có thể được lặp đi lặp lại
một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện.

1.3. Quá trình khai phá dữ liệu
Khai phá dữ liệu là hoạt động trọng tâm của quá trình khám phá tri thức.
Thuật ngữ khai phá dữ liệu còn được một số nhà khoa học gọi là phát hiện tri thức
trong CSDL (Knowledge Discovery in Database – KDD) (Theo Fayyad Smyth and
Piatestky – Shapiro 1989). Quá trình này gồm 6 bước:
HVTH: NGUYỄN VĂN KIỆT Trang 9
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Hình 1.2: Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu bắt đầu với kho dữ liệu thô và kết thúc với tri thức
được chiết xuất ra. Nội dung của quá trình như sau:
1.3.1. Gom dữ liệu (Gatherin)
Tập hợp dữ liệu là bước đầu tiên trong khai phá dữ liệu. Bước này lấy dữ liệu
từ trong một cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu từ những nguồn cung
ứng web.
1.3.2. Trích lọc dữ liệu (Selection)
Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một số tiêu chuẩn
nào đó.
1.3.3. Làm sạch và tiền xử lý dữ liệu (Cleansing Preprocessing)
Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một
bước rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải
trong khi gom dữ liệu là dữ liệu không đầy đủ hoặc không thống nhất, thiếu chặt
chẽ. Vì vậy dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối
dữ liệu. Ví dụ Sinh viên có tuổi=200. Giai đoạn thứ ba này nhằm xử lý các dữ liệu
như trên(dữ liệu vô nghĩa, dữ liệu không có khả năng kết nối). Những dữ liệu dạng
này thường được xem là thông tin dư thừa, không có giá trị. Bởi vậy đây là một quá
trình rất quan trọng. Nếu dữ liệu không được làm sạch- tiền xử lý - chuẩn bị trước
thì sẽ gây nên những kết quả sai lệch nghiêm trọng về sau.
1.3.4. Chuyển đổi dữ liệu (Transformation)
Trong giai đoạn này, dữ liệu có thể được tổ chức và sử dụng lại. Mục đích
của việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn với mục đích khai

phá dữ liệu.
1.3.5. Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery)
Đây là bước tư duy trong khai phá dữ liệu. Ở trong giai đoạn này nhiều thuật
toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thường
HVTH: NGUYỄN VĂN KIỆT Trang 10
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
dùng để trích mẫu dữ liệu là thuật toán phân loại dữ liệu, kết hợp dữ liệu, thuật toán
mô hình hoá dữ liệu tuần tự.
1.3.6. Đánh giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối cùng trong quá trình khai phá dữ liệu, ở giai đoạn này
các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải mẫu
dữ liệu nào cũng hữu ích, đôi khi nó còn bị sai lệch. Vì vậy cần phải đưa ra những
tiêu chuẩn đánh giá độ ưu tiên cho các mẫu dữ liệu để rút ra được những tri thức cần
thiết.
1.4. Chức năng của khai phá dữ liệu
Khai phá dữ liệu có hai chức năng cơ bản đó là: chức năng dự đoán và chức
năng mô tả.
1.5. Các kỹ thuật khai phá dữ liệu
Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau nhằm thực hiện hai
chức năng mô tả và dự đoán.
− Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả các tính chất hoặc các đặc tính
chung của dữ liệu trong CSDL hiện có. Một số kỹ thuật khai phá trong nhóm này là:
phân cụm dữ liệu (Clustering), tổng hợp (Summarisation), trực quan hoá
(Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analyst),
….
− 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 cơ sở dữ liệu hiện thời. Một số kỹ thuật khai phá trong nhóm này là: phân
lớp (Classification), hồi quy (Regression), cây quyết định (Decision tree), thống kê
(statictics), mạng nơron (neural network), luật kết hợp,….
Một số kỹ thuật phổ biến thường được sử dụng để khai phá dữ liệu hiện nay

là:
1.5.1. Phân lớp (phân loại) dữ liệu
HVTH: NGUYỄN VĂN KIỆT Trang 11
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Mục tiêu của phân lớp dữ liệu đó là dự đoán nhãn lớp cho các mẫu dữ liệu.
Quá trình gồm hai bước: xây dựng mô hình, sử dụng mô hình để phân lớp dữ liệu
(mỗi mẫu 1 lớp). Mô hình được sử dụng để dự đoán nhãn lớp khi mà độ chính xác
của mô hình chấp nhận được.
Có thể sử dụng sự phân loại để xây dựng một ý tưởng về kiểu khách hàng,
kiểu mặt hàng hoặc kiểu đối tượng bằng cách mô tả nhiều thuộc tính để nhận biết
một lớp cụ thể.
Ví dụ, ta có thể dễ dàng phân loại các xe ô tô thành các kiểu xe khác nhau (xe
mui kín, 4x4, xe có thể bỏ mui) bằng cách xác định các thuộc tính khác nhau (số chỗ
ngồi, hình dạng xe, các bánh xe điều khiển). Với một chiếc xe mới, ta có thể đặt nó
vào một lớp cụ thể bằng cách so sánh các thuộc tính với định nghĩa đã biết. Ta có
thể áp dụng các nguyên tắc tương tự ấy cho các khách hàng, ví dụ bằng cách phân
loại khách hàng theo độ tuổi và nhóm xã hội.
Hơn nữa, ta có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là
kết quả của các kỹ thuật khác.
Ví dụ, có thể sử dụng các cây quyết định để xác định một cách phân loại.
Việc phân cụm sẽ cho phép sử dụng các thuộc tính chung theo các cách phân loại
khác nhau để nhận biết các cụm.
1.5.2. Phân cụm dữ liệu
Mục tiêu của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập
dữ liệu vào các cụm, sao cho các đối tượng thuộc cùng một lớp là tương đồng.
Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, ta có thể nhóm các phần
dữ liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc. Ở mức đơn giản, việc
phân cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở để nhận ra một nhóm
các kết quả tương quan. Việc phân cụm giúp nhận biết các thông tin khác nhau vì nó
HVTH: NGUYỄN VĂN KIỆT Trang 12

CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
tương quan với các ví dụ khác, nên có thể thấy ở đâu có những điểm tương đồng và
các phạm vi phù hợp.
Việc phân cụm có thể làm theo hai cách:
− Có thể giả sử rằng có một cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí
nhận dạng để xem liệu có đúng không. Đồ thị trong Hình 1.3 là một ví dụ hay.
Trong ví dụ này, một ví dụ mẫu về dữ liệu kinh doanh so sánh tuổi của khách hàng
với quy mô bán hàng. Thật hợp lý khi thấy rằng những người ở độ tuổi hai mươi
(trước khi kết hôn và còn nhỏ), ở độ tuổi năm mươi và sáu mươi (khi không còn con
cái ở nhà), có nhiều tiền tiêu hơn.
Hình 1.3: Việc phân cụm
Trong ví dụ này, chúng ta có thể nhận ra hai cụm, một cụm xung quanh nhóm
2.000 Đô la Mỹ/ 20-30 tuổi và một cụm ở nhóm 7.000-8.000 Đô la Mỹ/ 50-65 tuổi.
Trong trường hợp này, ta đã giả thuyết hai cụm và đã chứng minh giả thuyết bằng
một đồ thị đơn giản mà ta có thể tạo ra bằng cách sử dụng bất kỳ phần mềm đồ họa
thích hợp nào để có được cái nhìn nhanh chóng. Các quyết định phức tạp hơn cần
phải có một gói phần mềm phân tích đầy đủ, đặc biệt là nếu muốn các quyết định tự
động dựa vào thông tin lân cận gần nhất.
HVTH: NGUYỄN VĂN KIỆT Trang 13
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Việc vẽ đồ thị phân cụm theo cách này là một ví dụ đơn giản về cái gọi là nhận
ra sự lân cận gần nhất. Ta có thể nhận ra các khách hàng riêng lẻ bằng sự gần gũi
theo nghĩa đen của họ với nhau trên đồ thị. Có nhiều khả năng là các khách hàng
trong cùng một cụm cũng dùng chung các thuộc tính khác và ta có thể sử dụng sự
mong đợi đó để giúp hướng dẫn, phân loại và nếu không thì phân tích những người
khác trong tập hợp dữ liệu của mình.
− Cũng có thể áp dụng việc phân cụm theo quan điểm ngược lại; dựa vào một số thuộc
tính đầu vào, ta có thể nhận ra các tạo phẩm khác nhau. Ví dụ, một nghiên cứu gần
đây về các số PIN 4-chữ số đã tìm ra các cụm giữa các chữ số trong phạm vi 1-12 và
1-31 cho các cặp đầu tiên và thứ hai. Bằng cách vẽ các cặp này, ta có thể nhận ra và

xác định các cụm liên quan đến ngày tháng (các ngày sinh nhật, các ngày kỷ niệm).
1.5.3. Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các
giá trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật luật kết hợp là tập luật kết
hợp tìm được. Phương pháp khai phá luật kết hợp gồm có hai bước:
Bước 1: Tìm ra tất cả các tập mục phổ biến. Một tập mục phổ biến được xác
định thông qua tính độ hỗ trợ và thoả mãn độ hỗ trợ cực tiểu.
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thoả
mãn độ hỗ trợ và độ tin cậy cực tiểu.
1.5.4. Hồi quy
Phương pháp hồi quy tương tự như là phân lớp dữ liệu. Nhưng khác ở chỗ nó
dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu dùng để dự đoán các giá trị
rời rạc.
1.5.5. Giải thuật di truyền
Là quá trình mô phỏng theo tiến hoá của tự nhiên. Ý tưởng chính của giải
thuật là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự nhiên và tiến hoá
trong sinh học.
1.5.6. Mạng nơron
HVTH: NGUYỄN VĂN KIỆT Trang 14
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Đây là một trong những kỹ thuật khai phá dữ liệu được ứng dụng phổ biến
hiện nay. Kỹ thuật này phát triển dựa trên một nền tảng toán học vững vàng, khả năng
huấn luyện trong kỹ thuật này dựa trên mô hình thần kinh trung ương của con người.
Kết quả mà mạng nơron học được có khả năng tạo ra các mô hình dự báo, dự
đoán với độ chính xác và độ tin cậy cao. Nó có khả năng phát hiện ra được các xu
hướng phức tạp mà kỹ thuật thông thường khác khó có thể phát hiện ra được. Tuy
nhiên phương pháp mạng nơron rất phức tạp và quá trình tiến hành nó gặp rất nhiều
khó khăn: đòi hỏi mất nhiều thời gian, nhiều dữ liệu, nhiều lần kiểm tra thử nghiệm.
1.5.7. Cây quyết định
Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp

và dự báo. Các đối tượng dữ liệu được phân thành các lớp. Các giá trị của đối tượng
dữ liệu chưa biết sẽ được dự đoán, dự báo. Tri thức được rút ra trong kỹ thuật này
thường được mô tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối với
người sử dụng
1.6. Các dạng dữ liệu có thể khai phá được
− CSDL quan hệ
− CSDL đa chiều
− CSDL giao dịch
− CSDL quan hệ - đối tượng
− CSDL không gian và thời gian
− CSDL đa phương tiện
1.7. Các lĩnh vực liên quan đến khai phá dữ liệu và ứng dụng của khai
phá dữ liệu
1.7.1. Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ liệu
HVTH: NGUYỄN VĂN KIỆT Trang 15
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Phát hiện tri thức và khai phá dữ liệu được ứng dụng trong nhiều ngành và
lĩnh vực khác nhau như: tài chính ngân hàng, thương mại, y tế, giáo dục, thống kê,
máy học, trí tuệ nhân tạo, csdl, thuật toán toán học, tính toán song song với tốc độ
cao, thu thập cơ sở tri thức cho hệ chuyên gia,…
1.7.2. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được vận dụng để giải quyết các vấn đề thuộc nhiều lĩnh
vực khác nhau. Chẳng hạn như giải quyết các bài toán phức tạp trong các ngành đòi
hỏi kỹ thuật cao, như tìm kiếm mỏ dầu, từ ảnh viễn thám, cảnh báo hỏng hóc trong
các hệ thống sản xuất; Được ứng dụng cho việc quy hoạch và phát triển các hệ thống
quản lý và sản xuất trong thực tế như dự đoán tải sử dụng điện, mức độ tiêu thụ sản
phẩm, phân nhóm khách hàng; Áp dụng cho các vấn đề xã hội như phát hiện tội
phạm, tăng cường an ninh…
Một số ứng dụng cụ thể như sau :
− Khai phá dữ liệu được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định.

− Trong sinh học: nó dùng để tìm kiếm , so sánh các hệ gen và thông tin di
chuyền, tìm mối liên hệ giữa các hệ gen và chuẩn đoán một số bệnh di
chuyền
− Trong y học: khai phá dữ liệu giúp tìm ra mối liên hệ giữa các triệu chứng,
chuẩn đoán bệnh.
− Tài chính và thị trường chứng khoán: Khai phá dữ liệu để phân tích tình hình
tài chính, phân tích đầu tư, phân tích cổ phiếu
− Khai thác dữ liệu web.
− Trong thông tin kỹ thuật: khai phá dữ liệu dùng để phân tích các sai hỏng,
điều khiển và lập lịch trình…
− Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích
dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận
HVTH: NGUYỄN VĂN KIỆT Trang 16
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
1.8. Các thách thức và hướng phát triển của phát hiện tri thức và khai
phá dữ liệu
Sự phát triển của phát hiện tri thức và khai phá dữ liệu gặp phải một số thách
thức sau:
− CSDL lớn (số lượng bản ghi, số bảng)
− Số chiều lớn
− Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn
phù hợp nữa.
− Dữ liệu bị thiếu hoặc bị nhiễu.
− Quan hệ giữa các trường phức tạp
− Vấn đề giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
− Tích hợp với các hệ thống khác.
− …
Hướng phát triển của khám phá tri thức và khai phá dữ liệu là vượt qua được
tất cả những thách thức trên. Chú trọng vào việc mở rộng ứng dụng để đáp ứng cho
mọi lĩnh vực trong đời sống xã hội, và tăng tính hữu ích của việc khai phá dữ liệu

trong những lĩnh vực đã có khai phá dữ liệu. Tạo ra các phương pháp khai phá dữ
liệu linh động, uyển chuyển để xử lý số lượng dữ liệu lớn một cách hiệu quả. Tạo ra
tương tác người sử dụng tốt, giúp người sử dụng tham gia điều khiển quá trình khai
phá dữ liệu, định hướng hệ thống khai phá dữ liệu trong việc phát hiện các mẫu đáng
quan tâm. Tích hợp khai phá dữ liệu vào trong các hệ cơ sở dữ liệu. Ứng dụng khai
phá dữ liệu để khai phá dữ liệu web trực tuyến. Một vấn đề quan trọng trong việc
phát triển khám phá tri thức và khai phá dữ liệu đó là vấn đề an toàn và bảo mật
thông tin trong khai phá dữ liệu.
HVTH: NGUYỄN VĂN KIỆT Trang 17
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Chương 2
CÂY QUYẾT ĐỊNH VÀ KHAI PHÁ DỮ LIỆU
2. 1. Cây quyết định
2.1.1. Giới thiệu chung
Cây quyết định (decision tree) là một phương pháp rất mạnh và phổ biến cho
cả hai nhiệm vụ của khai phá dữ liệu là phân loại và dự báo. Mặt khác, cây quyết
định còn có thể chuyển sang dạng biểu diễn tương đương dưới dạng tri thức là các
luật If-Then.
Cây quyết định là cấu trúc biểu diễn dưới dạng cây. Trong đó, mỗi nút trong
(internal node) biễu diễn một thuộc tính, nhánh (branch) biễu diễn giá trị có thể có
của thuộc tính, mỗi lá (leaf node) biểu diễn các lớp quyết định và đỉnh trên cùng của
cây gọi là gốc (root). Cây quyết định có thể được dùng để phân lớp bằng cách xuất
phát từ gốc của cây và di chuyển theo các nhánh cho đến khi gặp nút lá. Trên cơ sở
phân lớp này chúng ta có thể chuyển đổi về các luật quyết định.
Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục
tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định.
Cây quyết định là một dạng đặc biệt của cấu trúc cây.
Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và đưa
ra dự đoán. Cây quyết định được tạo thành bằng cách lần lượt chia (đệ quy) một tập
dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từ các phần tử

của cùng một lớp. Lựa chọn thuộc tính để tạo nhánh thông qua Entropy và Gain.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá
dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho
các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại
HVTH: NGUYỄN VĂN KIỆT Trang 18
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập
con dựa theo một kiểm tra giá trị thuộc tính . Quá trình này được lặp lại một cách đệ
qui cho mỗi tập con dẫn xuất. Quá trình đệ qui hoàn thành khi không thể tiếp tục
thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho
từng phần tử của tập con dẫn xuất.
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học
và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho
trước.
Dữ liệu được cho dưới dạng các bản ghi có dạng: (x,y) = (x
1
, x
2
, x
3
, …,x
k
, y).
Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại
hay tổng quát hóa. x
1
, x
2
, x
3

, … là các biến sẽ giúp ta thực hiện công việc đó.
Ví dụ: Cây quyết định phân lớp mức lương
Hình 2.1: Cây quyết định phân lớp mức lương
2.1.2. Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định có một số ưu
điểm sau:
HVTH: NGUYỄN VĂN KIỆT Trang 19
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
− Cây quyết định tương đối dể hiểu.
− Đòi hỏi mức tiền xử lý dữ liệu đơn giản.
− Có thể xử lý với cả các dữ liệu rời rạc và liên tục.
− Cây quyết định là một mô hình hộp trắng.
− Kết quả dự đoán bằng cây quyết định có thể thẩm định lại bằng cách kiểm tra thống
kê.
2.1.3. Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
− Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực thay vì
được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá một ngôi nhà hoặc
khoảng thời gian một bệnh nhân nằm viện)
− Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính (nam
hay nữ), kết quả của một trận đấu (thắng hay thua).
2.1.4. Vấn đề xây dựng cây quyết định
Có nhiều thuật toán khác nhau để xây dựng cây quyết định như: CLS, ID3,
C4.5, SLIQ, SPRINT, EC4.5, C5.0…Nhưng nói chung quá trình xây dựng cây quyết
định đều được chia ra làm 3 giai đoạn cơ bản:
a Xây dựng cây: Thực hiện chia một cách đệ quy tập mẫu dữ liệu huấn luyện cho đến
khi các mẫu ở mối nút lá thuộc cùng một lớp
b Cắt tỉa cây: Là việc làm dùng để tối ưu hoá cây. Cắt tỉa cây chính là việc trộn một
cây con vào trong một nút lá.
c Đánh giá cây: Dùng để đánh giá độ chính xác của cây kết quả. Tiêu chí đánh giá là

tổng số mẫu được phân lớp chính xác trên tổng số mẫu đưa vào.
2.1.5. Rút ra các luật từ cây quyết định
HVTH: NGUYỄN VĂN KIỆT Trang 20
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Có thể chuyển đổi qua lại giữa mô hình cây quyết định và mô hình dạng luật
(IF …THEN…). Hai mô hình này là tương đương nhau.
Ví dụ từ cây ở Hình 2.1, ta có thể rút ra được các luật sau:
IF (Age <= 35) AND (salary<=40) THEN class = bad
IF (Age<=35) AND (salary>40) THEN class = good
IF (Age>35) AND (salary <=50 ) THEN class = bad
IF (Age > 35) AND(salary>50) THEN class = good
2. 2. Các thuật toán khai phá dữ liệu bằng cây quyết định
2.2.1. Thuật toán CLS
Thuật toán này được Hovland và Hint giới thiệu trong Concept learning
System (CLS) vào những năm 50 của thế kỷ 20. Sau đó gọi tắt là thuật toán CLS.
Thuật toán CLS được thiết kế theo chiến lược chia để trị từ trên xuống. Nó gồm các
bước sau:
1 Tạo một nút T, nút này gồm tất cả các mẫu của tập huấn luyện.
2 Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị "yes" (hay thuộc
cùng một lớp), thì gán nhãn cho nút T là "yes" và dừng lại. T lúc này là nút lá.
3 Nếu tất cả các mẫu trong T có thuộc tính quyết định mang giá trị "no" (hay thuộc
cùng một lớp), thì gán nhãn cho nút T là "no" và dừng lại. T lúc này là nút lá.
4 Trường hợp ngược lại các mẫu của tập huấn luyện thuộc cả hai lớp "yes" và
"no" thì:
+ Chọn một thuộc tính X trong tập thuộc tính của tập mẫu dữ liệu, X có các
giá trị v
1
,v
2
, …v

n
.
+ Chia tập mẫu trong T thành các tập con T
1
, T
2
,….,T
n
theo giá trị của X.
+ Tạo n nút con T
i
(i=1,2…n) với nút cha là nút T.
HVTH: NGUYỄN VĂN KIỆT Trang 21
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
+ Tạo các nhánh nối từ nút T đến các nút T
i
(i=1,2…n) là các thuộc tính của
X.
5 Thực hiện lặp cho các nút con Ti(i =1,2 n) và quay lại bước 2.
Ta nhận thấy trong bước 4 của thuật toán, thuộc tính được chọn để triển khai
cây là tuỳ ý. Do vậy cùng với một tập mẫu dữ liệu huấn luyện nếu áp dụng thuật
toán CLS với thứ tự chọn thuộc tính triển khai cây khác nhau, sẽ cho ra các cây có
hình dạng khác nhau. Việc lựa chọn thuộc tính sẽ ảnh hưởng tới độ rộng, độ sâu, độ
phức tạp của cây. Vì vậy một câu hỏi đặt ra là thứ tự thuộc tính nào được chọn để
triển khai cây sẽ là tốt nhất. Vấn đề này sẽ được giải quyết trong thuật toán ID3 dưới
đây.
2.2.2. Thuật toán ID3
Thuật toán ID3 được phát biểu bởi Quinlan (trường đại học Syney, Australia)
và được công bố vào cuối thập niên 70 của thế kỷ 20. Sau đó, thuật toán ID3 được
giới thiệu và trình bày trong mục Induction on decision trees, machine learning năm

1986. ID3 được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính
tốt nhất để tiếp tục triển khai cây tại mỗi bước. ID3 xây dựng cây quyết định từ trên-
xuống (top -down).
Entropy: dùng để đo tính thuần nhất của một tập dữ liệu. Entropy của một tập
S được tính theo công thức:
+ -
2 2
Entropy(S)= - P log ( ) P log ( )P P
+ −

Trong trường hợp các mẫu dữ liệu có hai thuộc tính phân lớp "yes" (+), "no"
(-). Ký hiệu p
+
là để chỉ tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "yes", và
p
-
là tỷ lệ các mẫu có giá trị của thuộc tính quyết định là "no" trong tập S.
Trường hợp tổng quát, đối với tập con S có n phân lớp thì ta có công thức sau:
HVTH: NGUYỄN VĂN KIỆT Trang 22
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
n
i 2
i=1
Entropy(S)= (- P log ( ))
i
P

Trong đó: P
i
là tỷ lệ các mẫu thuộc lớp i trên tập hợp S các mẫu kiểm tra.

Các trường hợp đặc biệt
− Nếu tất cả các mẫu thành viên trong tập S đều thuộc cùng một lớp thì Entropy(S)=0
− 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
Information Gain (viết tắt là Gain): Gain là đại lượng dùng để đ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.
− Cho tập dữ liệu S gồm có n thuộc tính Ai (i=1,2…n) giá trị Information của thuộc
tính Ai ký hiệu là Information(Ai) được xác định bởi công thức .
n
i 2
i=1
Information(A ) = - log ( ) Entropy(S)
i
p
=

Giá trị Gain của thuộc tính A trong tập S ký hiệu là Gain(S,A) và được tính
theo công thức sau:
v
v
v value(A)
S
( , ) Information(A) - Entropy(A)= Entropy(S)- Entropy(S )
S
Gain S A

=

Trong đó :

 S là tập hợp ban đầu với thuộc tính A. Các giá trị của v tương ứng là
các giá trị của thuộc tính A.
 S
v
bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v.
 |S
v
| là số phần tử của tập S
v
.
 |S| là số phần tử của tập S.
HVTH: NGUYỄN VĂN KIỆT Trang 23
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển
khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất.
Hàm xây dựng cây quyết định trong thuật toán ID3
Function induce_tree(tập_ví_dụ, tập_thuộc_tính)
begin
if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó
else if tập_thuộc_tính là rỗng then
return nút lá được gán nhãn bởi tuyển của tất 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 gốc cho cây hiện tại;
xóa P ra 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 của cây gán nhãn V;
Đặt vào phân_vùng

V
các ví dụ trong tập_ví_dụ có giá trị V
tại thuộc tính P;
Gọi induce_tree(phân_vùng
V
, tập_thuộc_tính), gắn kết quả
vào nhánh V
HVTH: NGUYỄN VĂN KIỆT Trang 24
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GVHD: GS. TSKH. HOÀNG VĂN KIẾM
end
end
end
Với việc tính toán giá trị Gain để lựa chọn thuộc tính tối ưu cho việc triển khai
cây, thuật toán ID3 được xem là một cải tiến của thuật toán CLS. Tuy nhiên thuật
toán ID3 không có khả năng xử lý đối với những dữ liệu có chứa thuộc tính số -
thuộc tính liên tục (numeric attribute) và khó khăn trong việc xử lý các dữ liệu thiếu
(missing data)và dữ liệu nhiễu (noisy data). Vấn đề này sẽ được giải quyết trong
thuật toán C4.5 sau đây.
2.2.3. Thuật toán C4.5
Thuật toán C4.5 được phát triển và công bố bởi Quinlan vào năm 1996. Thuật
toán C4.5 là một thuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý
trên tập dữ liệu có các thuộc tính số (numeric atributes) và 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 phân 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 tất cả các phép thử có thể để
phân chia tập dữ liệu đã cho và chọn ra một phép thử có giá trị GainRatio tốt nhất.
GainRatio là một đại lượng để đánh giá độ hiệu quả của thuộc tính dùng để thực
hiện phép tách trong thuật toán để phát triển cây quyết định. GainRatio được tính
dựa trên kết quả tính toán đại lượng Information Gain theo công thức sau:
( , )
( , )

(X,T)
Gain X T
GainRation X T
SplitInfo
=
Với:
i i
2
i Value(X)
|T | |T |
info(X,T) = - log
| | | |
Split
T T


HVTH: NGUYỄN VĂN KIỆT Trang 25

×