Tải bản đầy đủ (.doc) (60 trang)

Tích hợp khai thác dữ liệu với hệ thống quản lý giao dịch tại công ty TNHH thiên trườ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 (1.63 MB, 60 trang )

NHIỆM VỤ ĐỒ ÁN

Họ và Tên: Vũ Thị Tuyến
Mã số sinh viên: E05351
Chuyên ngành: Hệ Thống Thông Tin
Lớp: Hệ Thống Thông Tin
Tên đồ án: Tích hợp khai thác dữ liệu với hệ thống quản lý giao dịch tại công ty
trách nhiệm hữu hạn Thiên Trường.
Nhiệm vụ của đồ án:
-

Khảo sát hệ thống quản lý giao dịch tại công ty trách nhiệm hữu hạn
Thiên Trường.

-

Tìm hiểu về khai phá dữ liệu và luật kết hợp trong khai phá dữ liệu.

-

Xây dựng hệ thống tích hợp khai thác dữ liệu với hệ thống quản lý giao
dịch tại công ty trách nhiệm hữu hạn Thiên Trường.

Ngày giao đồ án: Ngày 22 tháng 03 năm 2011
Ngày hoàn thành đồ án: Ngày 13 tháng 06 năm 2011

1


MỤC LỤC


2


MỞ ĐẦU

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin
đã 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 hóa một cách ồ ạt và
nhanh chóng 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 cần lưu trữ khổng lồ. Hàng
triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh,
quản lý..., trong đó có nhiều cơ sở dữ liệu 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 (công nghệ thông tin) thế giới hiện nay nói chung và Việt Nam
nói riêng.
Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực
kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng và bảo hiểm,
khoa học, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn trên thế giới
đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của
mình và thu được những lợi ích to lớn.
Mục đích nghiên cứu của đề tài này là tìm hiểu các kỹ thuật khai phá dữ
liệu và các vấn đề liên quan đến khai phá dữ liệu sử dụng luật kết hợp và xây
dựng ứng dụng tích hợp khai thác dữ liệu với hệ thống quản lý giao dịch tại công
ty trách nhiệm hữu hạn Thiên Trường.
Nội dung nghiên cứu gồm 3 chương chính:
Chương 1: Tổng quan về khai phá dữ liệu
Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó có

đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và
các kỹ thuật khám phá tri thức

3


Chương 2: Luật kết hợp
Trình bày về luật kết hợp, trong đó trình bày về các khái niệm, định nghĩa,
tính chất của luật kết hợp.
Chương 3: Xây dựng chương trình tích hợp khai thác dữ liệu với hệ thống quản
lý giao dịch tại công ty TNHH Thiên trường.

4


DANH MỤC CÁC KÝ HIỆU VIẾT TẮT

Ký hiệu

Diễn giải

Ck

Tập các k-itemset ứng viên

C’k

Tập các k-itemset ứng viên mà TID của giao dịch sinh ra liên kết
với tập mục ứng viên


Conf
D
Item
Itemset
I
KDD

Độ tin cậy (Confidence
Cơ sở dữ liệu giao dịch
Mục
Tập mục
Tập các mục
Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in

CSDL

Database)
Cơ sở dữ liệu (Database)

k-itemset
Lk

k-itemset
Tập các k-itemset phổ biến

minconf

Ngưỡng tin cậy tối thiểu

minsup


Ngưỡng hỗ trợ tối thiểu

sup

Độ hỗ trợ (support)

T

Giao dịch (transaction)

Tid

Định danh của giao dịch

Tid-List
X ⇒Y

Danh sách các định danh của giao dịch
Luật kết hợp (với X là tiền đề, Y là hệ quả)

5


DANH MỤC CÁC HÌNH VẼ VÀ BẢNG

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Phát hiện tri thức và khai phá dữ liệu
Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu

ngày càng phát triển tạo điều kiện cho các đơn vị thu thập dữ liệu tốt hơn. Đặc
biệt trong lĩnh vực kinh doanh, các doanh nghiệp đã nhận thức được tầm quan
trọng của việc nắm bắt và xử lý thông tin, nhằm giúp các chủ doanh nghiệp trong
việc vạch ra các chiến lược kinh doanh kịp thời mang lại những lợi nhuận to lớn
cho doanh nghiệp của mình. Tất cả lý do đó khiến cho các cơ quan, đơn vị và các
doanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ Gigabyte thậm chí là
Terabyte cho riêng mình.
Khi lưu trữ các dữ liệu khổng lồ đó thì chúng ta thấy rằng chắc chắn phải
chứa những giá trị nhất định nào đó. Tuy nhiên chỉ có một số lượng nhỏ dữ liệu
này được phân tích, số còn lại thì chúng ta không biết phải làm gì với chúng, mặc
dù họ vẫn tiếp tục quá trình thu thập kiến thức với chi phí rất tốn kém. Trong môi
trường cạnh tranh như hiện nay, ngày càng cần nhiều thông tin với tốc độ nhanh

6


để trợ giúp việc ra quyết định. Với những lý do như vậy, các phương pháp quản
trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế
đã làm, một khuynh hướng phát triển mới đó là kỹ thuật phát hiện tri thức và khai
phá dữ liệu.
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các
ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một
chương trình dưới một dạng nhất định. Chúng ta sử dụng các bit để đo lường các
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. Chúng ta có thể xem
tri thức như là các thông tin 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 hiểu ra, có thể được phát hiện,
hoặc có thể được họ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.
Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu

hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có
thể hiểu được. Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri
thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định
về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong
dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu
chính là tìm ra các mẫu và các mô hình đang tồn tại trong các cơ sở dữ liệu
nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu.
Khai phá dữ liệu 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 khối dữ liệu lớn. Những công cụ khai phá dữ liệu có
thể dự đoán những xu hướng trong tương lai, các tri thức mà khai phá dữ liệu
mang lại giúp cho các công ty kinh doanh ra quyết định kịp thời và có thể trả lời
những câu hỏi trong lĩnh vực kinh doanh, mà trước đây tốn nhiều thời gian để xử
lý. Sự phân tích một cách tự động mang tính dự báo của khai thác dữ liệu có ưu
thế hơn hẳn so với phân tích thông thường dựa trên những sự kiện trong quá khứ
của các hệ hỗ trợ ra quyết định trước đây. Với tất cả những ưu điểm trên, khai
phá dữ liệu đã chứng tỏ tính hữu dụng cúa nó trong môi trường kinh doanh đầy

7


tính cạnh tranh ngày nay và được ứng dụng rộng rãi trong các lĩnh vực thương
mại, tài chính, điều trị y học, giáo dục, viễn thông..v..v..

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu
Quá trình phát hiện tri thức có thể chia thành các bước sau:

Hình 1.1: Các bước trong quá trình phát hiện tri thức
-

Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu

không thích hợp.

8


-

Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác
nhau.

-

Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến
nhiệm vụ.

-

Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng
phù hợp cho việc khai phá.

-

Khai phá dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích xuất
thông tin có ích hoặc các mẫu điển hình trong dữ liệu.

-

Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu
được.


-

Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức
khai phá được cho người sử dụng.

1.3 Các giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu
Quá trình khám phá tri thức có thể chia thành 5 giai đoạn:

5. Đưa kết quả vào
thực tiễn
4. Minh họa và đánh
giá tri thức
3. Khai thác dữ liệu–trích
ra các mẫu/mô hình
2.Thu thập và tiền xử lý
dữ liệu
1. Hiểu và xác định
vấn đề

Hình 1.2: Quá trình khám phá tri thức từ cơ sở dữ liệu

9


a) Giai đoạn 1: Hiểu và xác định vấn đề
Đây là quá trình mang tính định tính với mục đích xác định được lĩnh
vực yêu cầu phát hiện tri thức và xây dựng bài toán tổng kết. Trong thực tế các
cơ sở dữ liệu được chuyên môn hóa và phân chia theo các lĩnh vực khác nhau
như sản phẩm, kinh doanh, tài chính,.. Với mỗi tri thức phát hiện được có thể có
giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với lĩnh vực

khác. Như vậy, việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng
cho giai đoạn tiếp theo thu thập và tiền xử lý dữ liệu.
b) Giai đoạn 2: Thu thập và tiền xử lý dữ liệu
Các cơ sở dữ liệu thu được thường chứa nhiều thuộc tính nhưng lại không
đầy đủ, không thuần nhất ,có nhiều lỗi và các giá trị đặc biệt. Vì vậy, giai đoạn
thu thập và tiền xử lý dữ liệu trở lên quan trọng trong quá trình phát hiện tri thức
từ cơ sở dữ liệu.
Người ta chia giai đoạn này thành các công đoạn như: lựa chọn, làm
sạch, làm giàu, mã hóa dữ liệu:
-

Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong các
nguồn dữ liệu khác nhau. Các thông tin được chọn lọc sao cho có chứa nhiều
thông tin liên quan đến lĩnh vực cần phát hiện tri thức mà đã xác định trong
giai đoạn đặt vấn đề.

-

Làm sạch dữ liệu: Trên thực tế các dữ liệu lấy từ nhiều nguồn khác nhau
thường không đồng nhất. Do đó, cần có biện pháp xử lý để đưa về một cơ sở
dữ liệu thống nhất phục vụ cho việc khai thác. Nhiệm vụ làm sạch dữ liệu bao
gồm:

+ Điều hòa dữ liệu: Nhằm giảm bớt tính không nhất quán do dữ liệu lấy ra từ
nhiều nguồn khác nhau. Thông thường sử dụng phương pháp khử các trường
hợp trùng lặp dữ liệu và thống nhất dữ liệu.
+

Xử lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra hiện
tượng dữ liệu chứa giá trị khuyết.Thông thường có thể lựa chọn các phương

pháp khác nhau để thực hiện việc xử lý giá trị khuyết như:bỏ qua các bộ có
giá trị khuyết,điểm bổ sung bằng tay,…..

10


+ Xử lý nhiễu và các ngoại lệ: Nhiễu dữ liệu có thể là nhiễu ngẫu nhiên hoặc
các giá trị bất thường.Để làm sách nhiễu người ta có thể sử dụng phương
pháp làm trơn nhiễu hoặc dùng các giải thuật để phát hiện ra các ngoại lệ để
xử lý.
-

Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm bảo tính đầy đủ
của dữ liệu. Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ. Quá
trình làm giàu cũng bao gồm việc tích hợp và chuyển đổi dữ liệu. Các dữ liệu
từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất. Các
khuôn dạng khác nhau của dữ liệu đươc quy đổi tính toán lại để đưa ra một
kiểu thống nhất, tiện cho quá trình phân tích.

-

Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ
được mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động
việc kiết xuất, biến đổi và di chuyển dữ liệu. Các hệ thống con đó có thể thực
thi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích.
c) Giai đoạn 3: Khai thác dữ liệu
Giai đoạn này được bắt đầu sau khi dữ liệu đã thu thập được và tiến hành xử

lý. Công việc chủ yếu ở giai đoạn này là xác định được bài toán khai thác dữ liệu
tiến hành lựa chọn phương pháp khai thác phù hợp với dữ liệu được tách ra từ tri

thức cần thiết.
d) Giai đoạn 4: Minh họa và đánh giá tri thức
Các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng báo cáo
phục vụ cho các mục đích hỗ trợ quyết định khác nhau. Do có nhiều phương
pháp khai thác có thể áp dụng nên các kết quả có mức độ tốt hoặc xấu khác nhau.
Việc đánh giá kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định
chiến lược.
e) Giai đoạn 5: Đưa kết quả vào thực tế
Các kết quả của quá trình phát hiện tri thức có thể đưa vào ứng dụng trong
các lĩnh vực khác nhau. Do các kết quả có thể là các dự báo hoặc các mô tả nên
chúng có thể đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hóa quá
trình này.

11


Quá trình khám phá tri thức từ cơ sở dữ liệu trải qua 5 giai đoạn, mặc dù có
5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở dữ liệu là một quá
trình tương tác và lặp đi lặp lại theo chu trình liên thục kiểu xoáy trôn ốc, trong
đó lần lặp sau hoàn chỉnh hơn lần lặp trước. Ngoài ra, giai đoạn sau lại dựa trên
kết quả thu được của giai đoạn trước theo kiểu thác nước.

1.4 Khai phá dữ liệu
1.4.1 Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ
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 (các kho dữ liệu). 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 để tìm ra các
mẫu hính có tính chính quy (regularities) trong tập dữ liệu.
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm phát

hiện tri thức trong cơ sở dữ liệu (Kownledge Discovery in Database – KDD) để
chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong
đó, Khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các
giải thuật đặc biệt để chiêt xuất ra các mẫu (hay các mô hình) từ dữ liệu.
Ngoài ra, còn có một số quan niệm về khai phá dữ liệu:
Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin
có ích từ kho dữ liệu khổng lồ.
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong
dữ liệu. Quá trình này có thể tự động hay bán tự động, song phần nhiều là bán tự

12


động. Các mậu được phát hiện thường hữu ích theo nghĩa: các mẫu mang lại cho
người sử dụng một lợi thế nào đó, thường là lợi thế về kinh tế.
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu. Dữ liệu
như là tập hợp của các vật hay sự kiện, đầu ra của quá trình khai phá dữ liệu là
những dự báo của các vật hay sự kiện mới.
Khám phá tri thức là quá trình nhận biết các mẫu hoặc mô hình trong dữ
liệu với các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được. Khai phá dữ
liệu là bước trong quá trình khám phá tri thức bao gồm các thuật toán khai phá
dữ liệu chuyên dùng dưới một số quy định hiệu quả tính toán chấp nhận được để
tìm ra các mẫu và các mô hình trong dữ liệu.
Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu là quá trình
tìm ra các mẫu hoặc mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn
bị che khuất bởi số lượng dữ liệu khổng lồ.
1.4.2 Nhiệm vụ của khai phá dữ liệu
Mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ sử dụng lợi
ích cạnh tranh trên thương trường và lợi ích trong nghiên cứu khoa học. Do đó,
có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả (description ) và dự

đoán (prediction). Do vậy, các mẫu khai phá dữ liệu phát hiện nhằm mục đích
này. Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữ
liệu để chiết xuất ra các mẫu là các dự đoán chứa những giá trị chưa biết hoặc
những giá trị trong tương lai của các biến đáng quan tâm. Mô tả tập trung và việc
tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu.
Chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
-

Phân lớp (Classification): Phân lớp là việc học một hàm ánh xạ (hay phân
loại) một mẫu dữ liệu và một trong số lớp đã xác định.

-

Hồi quy (regression) : Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ
liệu thành một biến dự đoán có giá trị thực.

-

Phân nhóm (Clustering): Là việc mô tả chung để tìm ra tập xác định các
nhóm hay các loại để mô tả dữ liệu. Các nhóm có thể tách riêng nhau hoặc

13


phân cấp gối lên nhau. Có nghĩa một dữ liệu có thể vừa thuộc nhóm này, vừa
thuộc nhóm kia.
-

Khai phá luật kết hợp: Nhiệm vụ là phát hiệ ra những mối quan hệ giống nhau
của bản ghi giao dich. Luật kết hợp X=>Y có dạng tổng quát là: Nếu một giao

dịch đã sở hữu các tính chất X thì đồng thời nó cũng sở hữu các tính chất Y, ở
một mức độ nào đó. Khai phá luật kết hợp có thể hiểu theo nghĩa: Biết trước
tính chất X, vậy các tính chất Y là những tính chất nào?

-

Lập mô hình dự báo bao gồm hai nhiệm vụ: Hoặc là phân nhóm dữ liệu vào
một hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã
cho trong một cơ sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện)
của các trường hợp khác.

-

Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể chứa các đối tượng
không tuân theo mô hình dữ liệu. Các đối tượng dữ liệu như vậy goi là các
đối tượng ngoài cuộc. Hầu hết các phương pháp khai phá dữ liệu đều coi các
đối tượng ngoài cuộc là nhiễu và loại bỏ chúng. Một số phương pháp được sử
dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra
mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác
suất cho dữ liệu, dùng các độ đo khoảng cách mà theo đó đối tượng có một
khoảng cách đáng kể đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc,
dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những
đặc trưng chính của các nhóm đối tượng.

-

Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô hình
hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của
chúng thay đổi theo thời gian. Phân tích sự tiến hóa bao gồm cả đặc trưng
hóa, phân biệt, tìm luật kết hợp, phân lớp hay phân cụm dữ liệu liên quan đến

thời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh theo chu kỳ và phân
tích dữ liệu dựa trên tính tương tự.

1.4.3 Một số ứng dụng của khai phá dữ liệu

14


Mặc dù còn rất nhiều vấn đề mà khai phá dữ liệu cần phải tiếp tục nghiên
cứu để giải quyết nhưng tiềm năng của nó đã khẳng định sự ra đời của rất nhiều
ứng dụng.
Khai phá dữ liệu được ứng dụng rất thành công trong “cơ sở dữ liệu thị
trường” (database marketing), đây là một phương pháp phân tích cơ sở dữ liệu
khách hàng, tìm kiếm các mẫu trong số các khách hàng và sử dụng mẫu này để
lựa chọn các khách hàng trong tương lai. Hiện nay, kỹ thuật khai phá dữ liệu
được ứng dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống
khác như:
-

Thương mại : Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư,
quyết định cho vay, phát hiện gian lận,…

-

Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích
kết quả thử nghiệm,…

-

Thiên văn học: Hệ thống SKICAT do JPL/Caltech phát triển được sử dụng

cho các nhà thiên văn để tự động xác định các vì sao và các dải thiên hà trong
một bản khảo sát lớn để có theer phân tích và phân loại.

-

Phân tử sinh học: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử
(Conklin, Fortier, và Glasgrow 1993) và trong các dữ liệu gen (Holder, Cook,
và Djoko 1994).

-

Mô hình hóa những thay đổi thời tiết: Các mẫu không gian như lốc, gió xoáy
được tự động tìm thấy trong tập lớn các dữ liệu mô phỏng và quan sát được
(Stolorz et al.1994)
Ngoài ra, khai phá dữ liệu còn được ứng dụng trong các lĩnh vực như: trong

y tế, marketing, ngân hàng, viễn thông, du lịch, internet,….
1.4.4 Các kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu được chia làm 2 nhóm chính:
-

Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về tính chất hoặc các đặc
tính chung của dữ liệu trong cơ sở dữ liệu hiện có. Các kỹ thuật này gồm có:
phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualiztion),

15


phân tích sự phát triển và độ lệch (evolution and deviation analyst), phân
thích lật hế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ự doán dựa vào
suy diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: phân lớp
(classification), hồi quy (regression)…
Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữ

liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp.
a) Phân cụm dữ liệu:
Mục tiêu chính của phương pháp 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 còn các đối tượng thuộc cụm khác nhau sẽ không tương
đồng. Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải
định nghĩa trước các mẫu dữ liệu huấn luyện.Vì thế có thể coi phân cụm dữ liệu
là một cách học bằng quan sát (learning by observation), trong khi phân lớp dữ
liệu là học bằng ví dụ (learning by example). Trong phương pháp này bạn không
thể biết kết quả các cụm thu được sẽ thế nào khi bắt đầu quá trình. Vì vậy, thông
thường cần có một chuyên gia về lĩnh vực đó để đánh giá cụm thu đượ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,
phân đoạn khách hàng, nhận dạng mẫu, phân loại trang web… Ngoài ra, phân
cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán
khai phá dữ liệu khác.
b) Phân lớp dữ liệu:
Mục tiêu của phương pháp 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 phân lớp dữ liệu gồm hai 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 dữ liệ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 lớp dữ liệu này còn được là lớ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 xác định trước khi xây dựng mô hình.

16


– 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.
c) Phương pháp hồi quy:
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự
đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về giá trị rời
rạc.
Hồi quy là một hàm ánh xạ mục dữ liệu thành một biến dự đoán có giá trị
thực. Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, ví dụ như
khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm, chẩn
đoán.
d) 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 khai phá dữ liệu là
luật kết hợp tìm được. Luật kết hợp là dạng khá đơn giản nhưng lại mang nhiều ý
nghĩa. Thông tin mà dạng luật này đem lại là rất đáng kể và hỗ trợ không nhỏ
trong quá trình ra quyết định.
Độ hỗ trợ và độ tin cậy là hai độ đo đáng quan tâm của luật. Chúng phản
ánh sự hữu ích và sự chắc chắn của luật đã khám phá.
Khai phá luật kết hợp được thực hiện qua 2 bước :
Bước 1: Tìm 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
qua tính hỗ trợ và thỏa 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 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 rất hiệu quả trong các lĩnh vực như

maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị
trường…
1.4.5 Kiến trúc của hệ thống khai phá dữ liệu

17


Khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ số
lượng lớn dữ liệu lưu trữ trong cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ
khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức,
những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ là tri thức mới
trong cơ sở tri thức.

Hình 1.3: Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có các thành phần sau:
– Cơ sở dữ liệu, Kho dữ liệu (Database, data warehouse): Đó là một hoặc tuyển
tập các cơ sở dữ liệu, kho dữ liệu… Các kỹ thuật làm sạch, tích hợp, lọc dữ
liệu có thể thực hiện trên dữ liệu.
– Cơ sở dữ liệu hoặc kho dữ liệu phục vụ (Database or data warehouse server):
Là kết quả lấy dữ liệu có liên quan trên cơ sở khai phá dữ liệu của người
dùng.
– Cơ sở tri thức ( Knowledge-base): Đó là lĩnh vực tri thức được sử dụng để
hướng dẫn việc tìm hoặc đánh giá mẫu thu được.
– Mô tả khai phá dữ liệu ( Data mining engine): Bao gầm tập các modul chức
năng để thực hiện nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ
liệu,..

18



– Đánh giá mẫu ( pattern evaluation): Thành phần này sử dụng các độ đo và
tương tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm.
– Giao diện người dùng ( Graphical user interface): Đây là modul giữa người
dùng và hệ thống khai phá dữ liệu. Cho phép người dùng tương tác với hệ
thống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin cho việc tìm
kiếm.
1.4.6 Quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được mô tả như những chương trình
hoạt động trực tiếp trên dữ liệu. Với các phương pháp máy học và thống kê trước
đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào trong
bộ nhớ. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá
các kho dữ liệu lớn, mô hình này không thể đáp ứng được. Không chỉ bởi vì nó
không thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết xuất dữ
liệu ra các tệp đơn giản để phân tích được.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn
đề cần giải quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải
pháp. Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành
dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện
việc khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu
diễn tương ứng với các ý nghĩa đó (thường được biểu diễn dưới dạng xác luật
xếp loại, cây quyết định, luật sản xuất,biểu thức hồi quy,..)

19


Hình 1.4: Quá trình khai phá dữ liệu
Dạng của mẫu chiết xuất được có thể phân loại bởi kiểu mẫu dữ liệu mà nó
mô tả. Ta cũng có phân loại mẫu chiết xuất được theo khả năng mô tả của chúng.
Ví dụ như mẫu chiết xuất được của quá trình khai phá dữ liệu theo số lượng liên

quan đến các giá thị trường số sử dụng các công thức toán học. Mẫu của quá
trình khai phá dữ liệu theo chất lượng tìm ra mối quan hệ logic giữa các trường.
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, xếp loại, phân nhóm), các mô hình đồ thị,
các mạng Bayes, trí tuệ nhân tạo,.. 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ế hơn hẳn so với các phương pháp trước đó,
đem lại nhiều triển vọng trong công việc ứng dụng phát triển nghiên cứu khoa
học cũng như làm tăng mức lợi nhuận trong các hoạt động kinh doanh.
1.4.7 Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản
Như chúng ta đã biết ở trên, ta thấy khai phá dữ liệu không có gì mới hoàn
toàn dựa trên các phương pháp đã biết. Như vậy, khai phá dữ liệu có gì khác so
với nhưng phương pháp đó? Và tại sao khai phá dữ liệu lại có ưu thế hơn hẳn so
với chúng? Nội dung dưới đây sẽ trả lời cho câu hỏi này:
a. Học máy (Machine learning):

20


Mặc dù, người ta đã cố gắng cải tiến các phương pháp học máy để có thể
phù hợp với mục đích khai phá dữ liệu nhưng sự khác biệt giữa cách thiết kế, các
đặc điểm của cơ sở dữ liệu đã làm cho phương pháp học máy trở nên không phù
hợp với mục đích này, mặc dù cho đến nay, phần lớn các phương pháp khai phá
dữ liệu vẫn dựa trên nền tảng của phương pháp học máy.
Trong quản trị cơ sở dữ liệu, một cơ sở dữ liệu là một tập hợp được tích hợp
một cách logic của dữ liệu được lưu trong một hay nhiều tệp và được tổ chứng để
lưu trữ có hiệu quả, sửa đổi và lấy thông tin liên quan dễ dàng.
Trong học máy, thuật ngữ cơ sở dữ liệu chủ yếu đề cập đến một tập các mẫu
được lưu trong một tệp. Các mẫu thường là các vector đặc điểm có độ dài cố
định. Thông tin về các tên đặc điểm, dãy giá trị của chúng đôi khi cũng được lưu

lại trong từ điển dữ liệu. Một giải thuật học còn sử dụng tập dữ liệu và các thông
tin kèm theo tập dữ liệu đó làm đầu vào và đầu ra để biểu thị kết quả của việc
học.
Với so sánh cơ sở dữ liệu thông thường và CSDL trong học máy như trên,
có thể thấy là học máy có khả năng được áp dụng cho cơ sở dữ liệu, bởi vì không
phải học trên tập các mẫu mà học trên tệp các bản ghi của cơ sở dữ liệu.
Tuy nhiên, phát hiện tri thức trong cơ sở dữ liệu làm tăng thêm các vấn đề
vống đã là điển hình trong học máy và đã quá khả năng của học máy. Trong thực
tế, cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so với
các tập dữ liệu học máy điển hình. Các yếu tố này làm cho hầu hết các giải thuật
học máy trở nên không hiruj quả trong hầu hết các trường hợp. Vì vậy trong khai
phá dữ liệu cần tập trung rất nhiều công sức vào việc vượt qua những khó khăn,
phức tạp này trong cơ sở dữ liệu.
b. Phương pháp hệ chuyên gia
Các hệ chuyên gia cố gắng nắm bắt tri thức thích hợp với một bài toán nào
đó. Các kỹ thuật thu thập giúp cho việc lấy tri thức từ các chuyên gia con người.
Mỗi phương pháp đó là một cách suy diễn các luật từ các ví dụ và giải pháp đối
với bài toán chuyên gia đưa ra. Phương pháp này khác với khai phá dữ liệu ở chỗ
các ví dụ của chuyên gia thường ở mức chất lượng cao hơn rất nhiều so với các

21


dữ liệu trong cơ sở dữ liệu, và chúng thường chỉ bao được các trường hợp quan
trọng. Hơn nữa, các chuyên gia sẽ xác nhận giá trị hữu dụng của các mẫu phát
hiện được. Cũng như với các công cụ quản trị cơ sở dữ liệu, ở các phương pháp
này đòi hỏi cần có sự tham gia của con người trong công việc phát hiện tri thức.
c. Phát kiến khoa học:
Khai phá dữ liệu rất khác với phát kiến khoa học ở chỗ những khai phá
trong cơ sở dữ liệu ít có chủ tâm và có điều khiển hơn. Các dữ liệu khoa học có

từ thực nghiệm nhằm loại bỏ tác động của một số tham số để nhấn mạnh độ biến
thiên của một hay một số tham số đích. Tuy nhiên, các cơ sở dữ liệu thương mại
điển hình ghi lại một số lượng thừa thông tin về các dự án của họ để đạt được
một số mục đích về mặt tổ chức. Độ dư thừa này có thể nhìn thấy cũng có thể ấn
chứa trong các mối quan hệ dữ liệu. Hơn nữa, các nhà khoa học có thể cải tạo lại
các thí nghiệm có thể tìm ra rằng các thiết kế ban đầu không thích hợp. Trong khi
đó, các nhà quản lý cơ sở dữ liệu hầu như không thể xa xỉ đi thiết kế lại các
trường hợp dữ liệu và thu thập dữ liệu.
d. Phương pháp thống kê
Từ nhiều năm nay, con người đã sử dụng phương pháp thống kê rất hiệu
quả để đạt được mục đích của mình. Mặc dù phương pháp thống kê cung cấp một
nền tảng lý thuyết vững chắc cho các bài toán phân tích dữ liruj nhưng chỉ có tiếp
cận thống kê thuần túy thôi chưa đủ. Thứ nhất, các phương pháp thống kê chuẩn
không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều các cơ sở dữ liệu.
Thứ hai, thống kê hoàn toàn theo dữ liệu, nó không sử dụng tri thức sẵn có về
lĩnh vực. Thứ ba, các kết quả phân tích thống kê có thể sẽ rất nhiều và khó có thể
làm rõ được. Cuối cùng, các phương phương pháp thống kê cần có sự hướng dẫn
của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu.
Sự khác nhau cơ bản giữa khai phá dữ liệu và thống kê ở chỗ khai phá dữ
liệu là một phương tiện được dùng bởi người sử dụng đầu cuối chứ không phải là
các nhà thống kê. Khai phá dữ liệu tự động quá trình thống kê một cách có hiệu
quả, vì vậy làm nhẹ bớt công việc của người dùng đầu cuối, tạo ra một công cụ
dễ sử dụng hơn. Như vậy, nhờ có khai phá dữ liệu, việc dự đoán và kiểm tra rất

22


vất vả trước đây có thể đưa lên máy tính, được tính, dự đoán và kiểm tra một
cách tự động.
1.4.8 Những thách thức trong khai phá dữ liệu

Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn,
nhưng không phải là không giải quyết được mà chúng cần được tìm hiểu để có
thể phát triển tốt hơn. Những khó khăn phát sinh trong khai phá dữ liệu chính là
dữ liệu trong thực tế thường động, không đầy đủ, lớn và bị nhiễu. Trong trường
hợp khác, người ta không biết cơ sở dữ liệu có chứa thông tin cần thiết cho việc
khai thác hay không và làm thế nào để giải quyết sự dư thừa thông tin không
thích hợp này.
– Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng,
hàng triệu bản ghi với kích thước đến Gigabytes đã là chuyện bình thường.
Hiện nay, đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes.
Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu,
lấy mẫu, các phương pháp xấp xỉ, xử lý song song.
– Kích thước lớn: Không chỉ có số lượng bản ghi lớn mà số các trường hợp
trong cơ sở dữ liệu cũng nhiều. Vì vậy, mà kích thước của bài toán trở nên
lớn hơn. Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian
tìm kiếm mô hình suy diễn. Hơn nữa, nó cũng làm tăng khả năng một giải
thuật khai phá dữ liệu có thể tìm thấy các mẫu giả. Biện pháp khắc phục là
làm giả kích thước tác động của bài toán và sử dụng các tri thức biết trước để
xác định các biến không phù hợp.
– Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội cung của
chúng thay đổi liên tục. Dữ liệu có thể thay đổi theo thời gian và việc khai
phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu, do đó có thể
làm cho mẫu khai thác được trước đó mất giá trị. Vấn đề này được giải quyết
bằng giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là
cơ hộ để khai thác bằng cách sử dụng nó để tìm kiếm các câu bị thay đổi.

23


– Các trường hợp dữ liệu không phù hợp: Một đặc điểm quan trọng khác là tính

không thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp
với trọng tâm hiện tai của việc khai thác. Một khía cạnh khác đôi khi cũng
liên quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với tập con
của cơ sở dữ liệu.
– Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu
phù hợp có thể ảnh hưởng tới việc khai phá dữ liệu. Trong các hệ thống tương
tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến yêu cầu cho giá trị của nó
hoặc kiểm tra để xác định giá trị của nó. Hoặc cũng có thể có sự vắng mặt của
dữ liệu được coi như một điều kiện, thuộc tính bị mất có thể coi như một giá
trị trung gian và là giá trị không biết.
– Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho
các dữ liệu có giá trị xem như bị lỗi. Việc quan sát cơ sở dữ liệu phải phát
hiện được toàn bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có
thể áp dụng nhằm giải quyết bài toán. Giả sử ta có các thuộc tính để phân biệt
các tình huống đáng quan tâm. Nếu chúng không làm được điều đó có nghĩa
là đã có lỗi trong dữ liệu.
– Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ
nghiêm trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép. Các
giá trị của tập các thuộc tính khác nhau có thể là các số thực, số nguyên,
chuỗi và có thể thuộc vào tập các giá trị định danh. Các giá trị định danh này
có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúc
ngữ nghĩa. Một yếu tố khác của độ không chắc chắn chính là tính kế thừa
hoặc độ chính xác mà dữ liệu cần có, nói cách khác đố là độ nhiễu của dữ
liệu.
– Mối quan hệ phức tạp giữa các trường: Các thuộc tính hoặc các giá trị có cấu
trúc phân cấp, các mối quan hệ giữa các thuộc tính và các phương tiện phức
tạp để diễn tả tri thức về nội dung của cơ sở dữ liệu yêu cầu các giải thuật có
khả năng sử dụng một cách hiệu quả các thông tin này.

24



– Quá phù hợp: Khi một giải thuật tìm kiếm các tham số tốt nhất cho mô hình
nào đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ”
dữ liệu, làm cho mô hình hoạt động rất kém đối với các dữ liệu thử. Các giải
pháp khắc phục bao gồm đánh giá chéo, thực hiện theo nguyên tắc nào đó
hoặc sử dụng biện pháp thống kê khác.
– Khả năng biểu đạt của mẫu: Trong rất nhiều ứng dụng, điều quan trọng là
những điều khai thác được phải càng dễ hiểu với con người càng tốt. Vì vậy,
các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu
trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên, và các kỹ
thuật khác nhằm biểu diễn tri thức và dữ liệu.
– Sự tương tác với người sử dụng và các tri thức sẵn có: Rất nhiều công cụ và
phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và
không dễ dàng kết hợp cùng với các tri thức đã biết trước đó. Việc sử dụng tri
thức là miền rất quan trọng trong khai phá dữ liệu. Đã có nhiều phương pháp
khắc phục vấn đề này như sử dụng cơ sở suy diễn để phát hiện tri thức, những
tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ
liệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước đó như một dạng mã
hóa tri thức có sẵn.

25


×