Khai phá dữ liệu là khâu cơ bản trong quá trình phát hiện tri thức từ dữ liệu. Để thực hiện nhiệm vụ này người ta thường sử dụng nhiều phương pháp khác nhau từ các phương pháp hồi quy, tương quan, kiểm định giả thuyết,… là các phương pháp quen thuộc của phân tích thống kê đến các phương pháp mới
mô phỏng quá trình học đối với các bài toán phân loại và xếp nhóm trên các mạng nơ ron nhân tạo, mô phỏng quá trình tiến hóa sinh học để xây dựng các giải thuật “di truyền” giải bài toán bằng các phép lai ghép, chọn lọc, trao đổi chéo, đột biến “bắt chước” các phép biến đổi gen trong sinh học, xây dựng cây quyết định để rút ra các luật quyết định chính xác hoặc các tri thức chính xác về một lĩnh vực nào đó. Quá trình khai phá tri thức trên dữ liệu là một quá trình lâu dài và phức tạp nhằm nhận biết các mẫu hoặc mô hình ẩn chứa trong dữ liệu dựa trên các kỹ thuật thiết kế, tổng hợp, thăm dò, phân tích để phát hiện ra các mẫu dữ liệu thích hợp từ đó hợp thức hóa các kết quả tìm được bằng cách áp dụng các mẫu đã phát hiện cho tập con mới của dữ liệu. Có thể thấy rằng tại hầu hết các lĩnh vực từ đời sống, kinh tế, xã hội đến khoa học kỹ thuật,… đều cần các công nghệ khai phá dữ liệu hiện đại, hiệu quả nhằm tìm ra các tri thức từ một khối lượng lớn thông tin, dữ liệu. Quá trình khai phá dữ liệu xuyên suốt qua nhiều giai đoạn từ xác định vấn đề, tiền xử lý (làm trong sáng dữ liệu, tổng hợp dữ liệu, chuyển đổi dữ liệu,…), khai phá dữ liệu, đánh giá mẫu được khai phá đến trình bày tri thức được khai phá. Trong các giai đoạn này thì giai đoạn tiền xử lý dữ liệu là giai đoạn tốn thời gian nhất và giai đoạn khai phá dữ liệu là giai đoạn quan trọng nhất.
Nhiệm vụ của khai phá dữ liệu là tìm ra các mẫu cần được quan tâm phù hợp với yêu cầu của đối tượng cần khai phá từ một khối lượng khổng lồ dữ liệu. Các mẫu sau khi khai phá là tri thức nằm tiềm ẩn trong dữ liệu và có thể được khai phá từ nhiều mô hình cơ sở dữ liệu khác nhau như: cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian,… hoặc từ các dạng lưu trữ thông tin khác như cơ sở dữ liệu đa phương tiện, cơ sở dữ liệu thời gian thực,….
Việc khai phá dữ liệu phù hợp và hiệu quả đối với các cơ sở dữ liệu lớn vẫn đang là nhu cầu và thách thức đối với các nhà khoa học
CHƢƠNG 2. CÁC KHÁI NIỆM CƠ BẢN 2.1. CÂY QUYẾT ĐỊNH
2.1.1. Khái niệm chung
2.1.1.1. Phân lớp và dự đoán
Trong một cơ sở dữ liệu lớn thường có nhiều thông tin hữu ích còn bị ẩn khuất, mà những thông tin này có thể được sự đụng để ra quyết định giao dịch hoặc là các tiên đoán thông minh đối với nhiều lĩnh vực. Đối với những dạng thông tin như thế thường thì các phương pháp phân tích, tổng hợp và thống kê truyền thống khó có thể phát hiện ra.
Sự phân lớp và sự dự báo là hai dạng phân tích dữ liệu, chúng có thể được sử dụng để rút trích ra các mô hình mô tả các lớp dữ liệu quan trọng hoặc là để dự đoán các xu hướng dữ liệu tương lai.
Trong khi sự phân lớp (classifcation) được dừng để dự đoán các nhãn rõ ràng, còn sự dự báo (prediction) được sử dụng để cho ra mô hình từ các hàm giá trị liên tục [5]. Sự dự báo có thể được xem như sự xây dựng và sử dụng một mô hình để truy cập tới lớp mẫu không có nhãn, hoặc để truy cập các giá trị hoặc vùng giá trị của một thuộc tính, đây là các giá trị được mong đợi có mặt trong mẫu đã cho.
Với cách nói này, thì sự phân lớp và sự hồi qui (classifcation and regression) là hai dạng cơ bản của các vấn đề dự đoán, trong khi sự phân lớp được sử dụng để dự đoán các giá trị được định danh hoặc các giá trị rời rạc, còn sự hồi qui thì được sử dụng để dự đoán các giá tri liên tục hoặc có thứ tự. Tuy nhiên, trong khai phá dữ liệu người ta thường chấp nhận: sự phân lớp dùng để dự đoán các nhãn lớp, còn sự dự đoán dùng để tiên đoán các giá trị liên tục (như việc sử dụng kỹ thuật hồi qui) [5].
Trong chương này và chương 3 sau đây, chúng ta sẽ nghiên cứu kỹ thuật phân lớp dữ liệu cơ bản đó là cơ sở dữ liệu quan hệ, các tính chất của cơ sở dữ
liệu quan hệ, phụ thuộc hàm xấp xỉ và phân lớp bằng cây quyết định, một số phương pháp xây dựng cây quyết định và đây cũng chính là trọng tâm của luận văn.
2.1.1.2. Cây quyết định
Cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng.
Cây quyết định có cấu trúc hình cây và là một sự tượng trưng của một phương thức quyết định cho việc xác định lớp các sự kiện đã cho. Mỗi nút của cây chỉ ra một tên lớp hoặc một phép thử cụ thể, phép thử này chia không gian các dữ liệu tại nút đó thành các kết quả có thể đạt được của phép thử. Mỗi tập con được chia ra là không gian con của các dữ liệu được tương ứng với vấn đề con của sự phân lớp. Sự phân chia này thông qua một cây con tương ứng. Quá trình xây dựng cây quyết định có thể xem như là một chiến thuật chia để trị cho sự phân lớp đối tượng [10][11]. Một cây quyết định có thể mô tả bằng các khái niệm nút và đường nối các nút trong cây.
Mỗi nút của cây quyết định có thể là:
- Nút lá (leaft node) hay còn gọi là nút trả lời (answer node), nó biểu thị cho một lớp các trường hợp, nhãn của nó là tên của lớp.
- Nút không phải là lá (non-leaf node) hay còn gọi là nút trong (inner node), nút này xác định một phép thử thuộc tính (attribute test), nhãn của nút này có tên của thuộc tính và sẽ có một nhánh (hay đường đi) nối nút này đến cây con (sub-tree) ứng với mỗi kết quả có thể có của phép thử. Nhãn của nhánh này chính là giá trị của thuộc tính đó. Nút không phải lá nằm trên cùng là nút gốc (root node).
Một cây quyết định sử dụng để phân lớp dữ liệu bằng cách bắt đầu đi từ nút gốc của cây và đi xuyên qua cây theo các nhánh cho tới khi gặp nút lá, khi đó ta sẽ được lớp của dữ kiện đang xét.
Ví dụ: Giả sử ta có tập huấn luyện như sau: STT Tuổi Hệ số lƣơng Ngạch công chức Học vị Có chức danh
1 >40 Cao Nghiên cứu
viên chính
Tiến sĩ
khoa học Có
2 >40 Cao Nghiên cứu
viên chính Tiến sĩ Có
3 >40 Trung bình Nghiên cứu
viên Tiến sĩ Có
4 >40 Trung bình Nghiên cứu
viên Thạc sĩ Không
5 30-40 Trung bình Nghiên cứu
viên chính Tiến sĩ Có
6 30-40 Thấp Nghiên cứu
viên Thạc sĩ Không
7 <30 Trung bình Nghiên cứu
viên Tiến sĩ Có
8 <30 Thấp Nghiên cứu
viên Thạc sĩ Không
9 30-40 Thấp Nghiên cứu
viên Thạc sĩ Không
Bảng 2.1.1.1. Tập mẫu dữ liệu huấn luyện về cán bộ, công chức
Cây quyết định được xây dựng từ tập dữ liệu chuẩn đã cho ở bảng 2.1.1.1, bảng dữ liệu này được thu thập ở Viện Khoa học và Công nghệ Việt Nam về các cán bộ, công chức, viên chức đang làm việc tại Viện. Tập dữ liệu này gồm các
thuộc tính tuổi, bảo vệ luận án ở nước ngoài, ngạch công chức, học vị. Các thuộc tính này được gọi là các thuộc tính ứng viên hay còn gọi là các thuộc tính kiểm tra và thuộc tính chức danh là thuộc tính lớp hay thuộc tính quyết định. Cây quyết định cho trường hợp này như sau:
Học vị Tuổi Hệ số lương Có Không Không Có Có Có Thấp Cao Tiến sĩ khoa học Tiến sĩ Không Thạc sĩ Trung bình <30 30 - 40 >40
Bảng 2.1.1.1. Cây quyết định về việc có chức danh của cán bộ, viên chức Tóm lại, cây quyết định thường được dùng để mô tả tri thức dưới dạng đơn giản, dễ hiểu và gần gũi với con người từ tập dữ liệu lớn, phức tạp. Nó phân chia các đối tượng dữ liệu thành các lớp, tên của các lớp là các nhãn của các nút lá, nhãn của các nút trong là tên của các thuộc tính còn nhãn của các nhãnh chính là giá trị của các thuộc tính. Việc xây dựng cây quyết định thông thường thông qua các bước xây dựng, cắt tỉa và đánh giá.
2.1.2. Xây dựng cây quyết định
Quá trình xây dựng cây quyết định được thực hiện bằng cách chia đệ quy tập dữ liệu mẫu cho tới khi mọi nút lá đều thuất nhất. Thuần nhất có nghĩa là sao cho tất cả các mẫu dữ liệu ở cùng một lớp.
Nếu các nút là là không thuần nhất, cần thiết phải được kiểm tra để tìm ra phép tách tốt nhất. Thuộc tính được lựa chọn sau kiểm tra sẽ được gán nhãn cho nút tách đó và tập dữ liệu sẽ được chia ra thêm nữa theo các giá trị của thuộc tính.
2.1.3. Cắt tỉa cây quyết định
Bước cắt tỉa cây quyết định được sử dụng để tối ưu hóa cây thu được sau khi xây dựng bao gồm: tối ưu về độ lớn của cây và tối ưu về độ chính xác của sự phân lớp bằng cách cắt tỉa các nhánh không phù hợp. Thông thường cây được sinh ra sẽ hoạt động tốt trên tập huấn luyện nhưng có thể hoạt động không chính xác đối với tập dữ liệu ẩn hoặc không nhìn thấy được. Các dữ liệu này là các dữ liệu bị nhiễu hoặc thiếu trong tập huấn luyện. Bước cắt tỉa nhằm mục tiêu cố gắng loại bỏ các nhánh bị lỗi khỏi cây và giữ lại độ chính xác của phân lớp.
2.1.4. Đánh giá cây quyết định
Tại bước này, độ chính xác của cây kết quả được xác định thông qua sử dụng một tập dữ liệu không nhìn thấy độc lập. Cây được áp dụng cho từng dữ liệu vào và nhãn của lớp đã được dự đoán trước so sánh với nhãn lớp thực tế. Vì thế, tiêu chuẩn để đánh giá là số các mẫu được phân lớp chính xác.
Có rất nhiều phương pháp xây dựng cây quyết định, để có cái nhìn tổng quan nhất chúng ta có thể xem xét các thuật toán này một cách kỹ càng hơn ở chương sau.
2.2. CƠ SỞ DỮ LIỆU QUAN HỆ 2.2.1. Quan hệ 2.2.1. Quan hệ
Định nghĩa 1.1. (Tệp dữ liệu).
Một tệp dữ liệu là một tệp bao gồm nhiều bản ghi (record) có cùng một cấu trúc xác định loại bản ghi, đồng thời các bản ghi lại được phân chia thành các trường dữ liệu (field).
Trong thực tế, một tệp dữ liệu có thể được coi như là các bảng được lưu trữ ở các phương tiện lưu trữ khác nhau như trên ổ cứng, đĩa từ, bằng từ hoặc trên các cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu,…
Định nghĩa 1.2. (Khái niệm quan hệ)
Cho R = {a1,...,an}là một tập hữu hạn và không rỗng các thuộc tính. Mỗi thuộc tính ai có một miền giá trị là Dai. Khi đó r là một tập các bộ {hi, ...,hm} được gọi là quan hệ trên R với hj (j=1,...,m) là một hàm:
hi:RDai aiR
sao cho hj(ai)Dai
Chúng ta cũng có thể biểu diễn quan hệ r thành một bảng như sau:
a1 a2 a3 ... an h1(a1) h1(a2) h1(a3) ... h1(an) h2(a1) h2(a2) h2(a3) ... h2(an) ... ... ... ... ... ... ... ... ... ... hm(a1) hm(a2) hm(a3) ... hm(an)
Trong đó, hj(ai) là các giá trị của từng thuộc tính (i=1..n; j=1..m)
2.2.2. Cơ sở dữ liệu quan hệ
Một cơ sở dữ liệu thông thường bao gồm một tập các quan hệ được gọi là cơ sở dữ liệu quan hệ. Đối với người sử dụng, một cơ sở dữ liệu quan hệ là một cơ sở dữ liệu bao gồm các bảng thay đổi theo thời gian.
Khi sử dụng một cơ sở dữ liệu quan hệ, các thao tác cơ bản và quan trọng nhất là: tạo quan hệ mới, cập nhật dữ liệu và cuối cùng là khai thác dữ liệu.
Chức năng quan trọng nhất của cơ sở dữ liệu là khai thác dữ liệu từ dữ liệu được lưu trữ. Các vấn đề liên quan đến khai thác dữ liệu luôn đi đôi với việc lưu trữ dữ liệu một cách hiệu quả.
2.2.3. Đại số quan hệ
Khi nói đến cơ sở dữ liệu quan hệ thì đại số quan hệ đóng vai trò hết sức quan trọng. Người đặt nền móng và đưa ra những đóng góp quan trọng trong việc phát triển đại số quan hệ có thể nói là E.F. Codd [6]. Đại số quan hệ cung cấp các phép toán tác động trên các quan hệ và cho kết quả cũng là các quan hệ. Các phép toán đó là phép toán hợp, phép toán giao, phép hiệu, phép toán tích Descartes, phép chọn, phép chiếu, phép kết nối và phép chia.
Ở đây, chúng ta giả sử các phép toán này đã quen thuộc.
2.2.4. Phụ thuộc hàm
2.2.4.1. Định nghĩa
a. Khái niệm phụ thuộc hàm
Cho R = {a1,...,an}là tập các thuộc tính, r = {h1,...,hm}là một quan hệ trên R, A,BR.
Khi đó chúng ta nói A xác định hàm cho B hay B phụ thuộc hàm vào A trong r. Ký hiệu:
B r f
A hay (A,B) hay AB.
nếu(hi,hjr)(((aA)(hi(a)=hj(a))(((bB)(hi(b)=hj(b))).
b. Họ đầy đủ các phụ thuộc hàm của một quan hệ
Giả sử r là một quan hệ trên R. Họ đầy đủ các phụ thuộc hàm của r được ký hiệu Fr sao cho:
Fr={(A,B):A,BR, B
r f
A }.
Phụ thuộc hàm trên tập các thuộc tính R là một dãy ký tự dạng AB đúng
trong quan hệ r nếu B
r f
A . Chúng ta cũng nói rằng r thỏa mãn AB.
2.2.4.2. Hệ tiên đề Armstrong
Giả sử R là tập các thuộc tính hữu hạn. Và giả sử P(R) là tập các tập con của R. Cho Y=P(R). Khi đó ta nói Y là một họ f trên R nếu với mọi tập thuộc tính A,B,C,DR:
1. (A,A)Y.
2. (A,B)Y,(B,C)Y(A,C)Y. 3. (A,B)Y, AC, DB (C,D)Y. 4. (A,B)Y, (C,D)Y (AC,BD)Y
2.2.4.3. Bao đóng của tập phụ thuộc hàm và tập thuộc tính
Giả sử F là một tập các phụ thuộc hàm trên sơ đồ quan hệ s=<R,F>. Một tập tất cả các phụ thuộc hàm có thể suy dẫn logic từ F bởi các luật của hệ tiên đề Amstrong. Ký hiệu là F+ khi đó F+ được gọi là bao đóng của F.
2.2.4.4. Khóa tối tiểu của sơ đồ quan hệ và quan hệ
a. Khóa
Giả sử r là một quan hệ, s=<R,F> là một sơ đồ quan hệ. Y là một họ f trên R, và AR. Khi đó A là một khoá của r (tương ứng là một khoá của s, một khoá của
Y) nếu R
r f
A (ARF+, (A, R)Y).
b. Khoá tối tiểu
Chúng ta gọi A là một khoá tối tiểu của r (tương ứng của s, của Y) nếu: - A là một khoá của r (tương ứng của s, của Y).
- Bất kỳ một tập con thực sự của A không là khoá của r (tương ứng của s, của Y).
Chúng ta ký hiệu Kr, (tương ứng Ks, KY) là tập tất cả các khoá tối tiểu của r, (tương ứng của s, của Y).
2.2.4.5. Các dạng chuẩn
Thông thường, việc cập nhật một cơ sở dữ liệu được thực hiện thông qua các thao tác thêm, sửa, xóa. Các thao tác này dễ gây nên những lỗi trong cơ sở dữ liệu mà nguyên nhân chính là do quá trình lặp đi lặp lại một số dữ liệu trong quan hệ. Để làm giảm thiểu các sai sót khi cập nhật dữ liệu người ta thường tách các quan hệ thành các quan hệ nhỏ hơn hay biến đổi chúng về các dạng chuẩn thích hợp. Quá trình đó gọi là quá trình chuẩn hóa.
Trước tiên, chúng ta xét các khái niệm sau:
a. Phụ thuộc hàm đầy đủ, phụ thuộc hàm bộ phận
Cho trước F là tập phụ thuộc hàm trên R và X Y là một phụ thuộc hàm trong F. Tập Y gọi là phụ thuộc hàm đẩy đủ vào tập X nếu không tồn tại một tập con thật sự Z nào của X mà ZYF+ . Trong trường hợp ngược lại Y được gọi