Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vựckinh 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…
Trang 1Lời mở đầu
Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT đã làm chokhả 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ộtcách chóng mặt Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng cáchoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo racho chúng ta một lượng dữ liệu 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ềuCSDL 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 trithứ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 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ựckinh 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
Qua quá trình học tập nghiên cứu môn Khai phá dữ liệu, và sự hướng dẫncủa thầy PGS.TS Đỗ Phúc chúng em đã học được những tri thức nền tảng về Khaiphá dữ liệu Nhưng do thời gian và khả năng có hạn nên trong nội dung tiểu luận
em chỉ trình bày một phần nhỏ về lĩnh vực Khai phá dữ liệu, cụ thể là ứng dụngTRIỂN KHAI OLAP TRONG SQL SERVER
Trang 2Mục lục
Chương I Thế nào là an toàn dữ liệu trên mạng máy tính ?3
II Các hệ mã hóa cổ điển
II.1 Hệ mã hóa thay thế
II.2 Hệ mã hóa đổi chỗ
III Các vấn đề mã hóa cho mạng máy tính
III.1 Các thuật ngữ
III.2 Định nghĩa hệ mật mã
III.3 Những yêu cầu đối với hệ mật mã
III.4 Các phương pháp mã hóa
III.4.1Mã hóa đối xứng khóa bí mật
III.4.2 Mã hóa phi đối xứng khóa công khai
III.5 Các cách phân tích mã
IV Một số thuật toán mã hóa cơ bản
IV.1 Chuẩn mã hóa dữ liệu DES
IV.2 Thuật toán mã hóa RAS
V. Demo chương trình chuẩn mã hóa dữ liệu DES
Kết luận
Trang 3Data mining nhấn mạnh 2 khía cạnh chính đó là khả năng trích xuất thông
tin có ích Tự động (Automated) và thông tin mang tính dự đoán (Predictive).
Data Mining liên quan chặt chẽ đến các lĩnh vực sau:
Statistics (Thống kê): Kiểm định model và đánh giá tri thức phát hiện được
Machine Learning (Máy học): Nghiên cứu xây dựng các giải thuật trên nềntảng của trí tuệ nhân tạo giúp cho máy tính có thể suy luận (dự đoán) kết quảtương lai thông qua quá trình huấn luyện (học) từ dữ liệu lịch sử
Databases (Cơ sở dữ liệu): Công nghệ quản trị dữ liệu nhất là kho dữ liệu
Visualization (Trực quan hóa): Giúp dữ liệu dễ hiểu, dễ sử dụng như chart,map
Trang 42 Nhiệm vụ của Data Mining
Nhiệm vụ của data mining có thể phân thành 2 loại chính đó là dự đoán
(Predictive) vàmô tả (Descriptive).
Predictive:
Classification : Phân lớp
Regression : Hồi qui
Deviation Detection: Phát hiện độ lệch
Descriptive:
Clustering: Phân cụm
Association Rule Discovery: Phát hiện luật kết hợp
Dưới đây là một số thuật toán phổ biến được dùng trong Data Mining
Decision tree: Cây quyết định (Classification Task)
Trang 5 Nearest Neighbor: Láng giềng gần nhất (Classification Task)
Neural Network: Mạng Neural (Classification and Clustering Task)
Rule Induction: Luật qui nạp (Classification Task)
K-Means: Thuật toán K-Means ( Clustering Task)
Trong các bài sau, tôi sẽ lần lượt giới thiệu các thuật toán cụ thể để giải quyết cácnhiệm vụ của Data Mining
3 Mô hình dự đoán (Predictive Model):
Là hộp đen (black box) thực hiện việc dự đoán tương lai dựa vào thông tin trongquá khứ và hiện tại
Trang 6Để có một mô hình dự đoán taphải trải qua 2 giai đoạn (phase) Thứ nhất là xây dựng mô hình (Training phase)
và thứ hai là kiểm định mô hình (Testing phase)
Ví dụ sau đây mô tả qui trình xây dựng mô hình phân lớp (Classifier)
Trang 7Đánh giá mô hình dự đoán (Evaluate a Predictive Model)
Để đánh giá mô hình dự đoán hoạt động tốt thế nào người ta dựa vào các tham sốsau: Recall, Accuracy, Precision, F-Measure, các công thứ tính như sau:
Trang 8Các tham số này trong các phần mềm Data Mining hiện nay đã tính sẵn, ví dụ dưới đây là kết quả tính toán của mô hình phân lớp từ dữ liệu hoa Iris trong weka
4 Quá trình khai phá dữ liệu
4.1 Gom dữ liệu (Gathering)
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu Đây là bướcđược khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từcác nguồn ứng dụng Web
4.2 Trích lọc dữ liệu (Selection)
Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩnnào đó, ví dụ chọn tất cả những người có tuổi đời từ 25 – 35 và có trình độ đạihọc
4.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation)
Giai đoan thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bướcrất quan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trongkhi gom dữ liệu là tính không đủ chặt chẻ, logíc Vì vậy, dữ liệu thường chứa cácgiá trị vô nghĩa và không có khả năng kết nối dữ liệu Ví dụ: tuổi = 673 Giai đoạnnày sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên Những dữ liệudạng này được xem như thông tin dư thừa, không có giá trị Bởi vậy, đây là một
Trang 9quá trình rất quan trọng vì dữ liệu này nế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.
-4.4 Chuyển đổi dữ liệu (Transformation)
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điềukhiển được bởi việc tổ chức lại nó Dữ liệu đã được chuyển đổi phù hợp với mụcđích khai thác
4.5 Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery)
Đây là bước mang tính tư duy trong khai phá dữ liệu Ở giai đoạn này nhiềuthuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật toánthường dùng là nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệutuần tự, v.v
4.6 Đánh giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối trong quá trình khai phá dữ liệu Ở giai đoạn này, cácmẫ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 bất cứmẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưutiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần chiếtxuất ra
Trên đây là 6 giai đoạn trong quá trình khai phá dữ liệu, trong đó giai đoạn
5 là giai đoạn được quan tâm nhiều nhất hay còn gọi đó là Data Mining
Trang 10Dưới đây tóm lược các thuật ngữ được sử dụng trong bài khóa luận:
Data Warehouse (DW): Được xem là tập các cơ sở dữ liệu hướng chủ đề, có tính
lịch sử được tích hợp từ nhiều nguồn dữ liệu qua các quá trình trích lọc, hợp nhất,chuyển đổi, làm sạch
Dữ liệu khối (Data Cube): Dữ liệu trong kho dữ liệu được thể hiện dưới dạng đa
chiều (Multi Dimension) gọi là khối (cube) Mỗi chiều mô tả một đặc trưng nào đócủa dữ liệu Ví dụ với Data Cube bán hàng thì chiều hàng hóa (Item) mô tả chi tiết vềhàng hóa, chiều thời gian (time) mô tả về thời gian bán hàng, chiều chi nhánh(Branch) mô tả thông tin về các đại lý bán hàng,…
Để rõ hơn về Data Cube, hình dưới đây minh họa Data Cube của dữ liệu bán hàng
từ bảng dữ liệu (Spreadsheet) sang dữ liệu dạng khối với 3 dimensions là: Location(Cities), Time (Quarters) và Item (Types)
Trang 11Lược đồ hình sao (Star Schema): Đây là mô hình biểu diễn dữ liệu của DW, lược đồ
hình sao về cơ bản gồm có bảng sự kiện (Fact Table) và các bảng chiều (Dimensiontable) Fact table đùng để theo dõi các biến động của dữ liệu, cấu trúc của Fact table gồmcác khóa ngoại đó là các khóa chính của cả bảng chiều (Dimension table) DimensionTable là các bảng mô tả các đặt trưng của các chiều như chiều thời gian, chiều kháchhàng, chiều hàng hóa,…
Dưới đây minh họa lược đồ hình sao của bài toán bán hàng Đây cũng là dữ liệudùng để minh họa trong phần tiếp theo khi thực hiện OLAP trên SQL Server Trong đóFact table là Sales và 4 Dimension tables là time (chiều thời gian), item (chiều hàng hóa),location (chiều bị trí) và branch (chiều chi nhánh)
Trang 12Dollars_sold Units_sold year
item_key
item_name brand type supplier_type
Lược đồ hình sao của kho dữ liệu Bán hàng
Measure (độ đo): Là đại lượng có thể tính toán được trên các thuộc tính của fact
table Đây là mục tiêu của OLAP và phải xác định trước khi tiến hành phân tích Ví
dụ như tổng tiền bán hàng của một chi nhánh, doanh thu của từng mặt hàng theoquí,…
Phân cấp (Hierarchies): Khái niệm này mô tả sự phân cấp thứ bậc (mức độ chi tiết
của dữ liệu) Ví dụ đối với chiều thời gian, ta có thực bậc như sau:day<week<month<quarter<year Tương tự đối với chiều location ta có thứ bậcstreet<city<province_or_state<country Trong khi phân tích dữ liệu chúng ta rất cầnkhái niệm này để tổng hợp hay chi tiết từng hạng mục dữ liệu trong DW
Trang 13week
day
month quarter country
Province_or_state
city
street
Thứ tự và cấu trúc lưới thuộc tính của những thuộc tính trong kho dữ liệu đa chiều
2 Mô tả ứng dụng phân tích OLAP
Bài toán mô tả trong phần này là bài toán bán hàng, gồm có 1 Fact table là Sales
và 4 Dimension table là time, item, location và branch (Xem lược đồ hình sao trên)
Fact Table (Sales): Lưu giữ các biến động về quá trình bán hàng, gồm các khóa ngoại của 4 dimension tables và 2 thuộc tính là giá bán (dollars_ sold) và số lượng bán (units_sold)
Các dimension table:
Time: lưu giũ thông tin về thời gian bán hàng
Location: Lưu giữ thông tin về vị tríBranch: Lưu trữ thông tin về chi nhánh
Trang 14Mục đích mô tả hoạt động OLAP để phân tích hoạt động bán hàng của một doanhnghiệp.
3 Triển khai OLAP trong SQL Server
Lưu ý: Để có công cụ phân tích OLAP, phải cài đặt SQL Server 2005 (2008)
phiên bản Developer hoặc phiên bản Enterprise Edition đầy đủ và khi cài đặt nhớchọn mục“SQLServer Database Services” và “Analysis Services” Công cụ chophép thực hiện OLAP là“SQL Server Business Intelligence Development Studio -BIDS” Khi cài SQL Server các phiên bản trên thì BIDS sẻ được tự động cài đặt
Các bước thực hiện:
Khởi động SQL Server Management Studio và tạo CSDL có tên DW như sau và nhập
vào các bảng một số records để phân tích
Khởi động SQL Server Business Intelligence Development Studio
Trang 15Tạo một Analysis Services Project mới có tên “OLAP_DW”
Trang 16Trong của sổ Solution Explorer của Project OLAP_DW, bấm phím phải chuột
vào Data Source để tạo một bộ kết nối đến dữ liệu dùng cho phân tích
Xác định các tham số kết nối đến kho dữ liệu có tên “DW” đã tạo ra trong SQL Server Management Studio
Đặt tên cho Data Source vàm bấm Finish để hoàn thành việc kết nối đến cơ sở dữ liệu
Trang 17Tạo Data Source View để lấy các bảng dữ liệu cần thiêt cần cho phân tích Bấmphím phải chuột vào Data Source View trong của sổ Solution Explorer chọn NewData Source View
Xác định nguồn dữ liệu (Data Source) cần lấy là DW mới vừa tạo ra ở bước trước
Chọn Next và chọn các bảng cần cho phân tích
Trang 18Chú ý: Nếu muốn chọn bảng Fact và các bảng Dimension liên quan đến bảng Fact
thì chỉ cần chọn Fact Table đưa qua khung bên phải và bấm nút "Add Related Tables" để tự động lấy các bảng Dimensions liên quan
Sau khi hoàn thành, các bảng Fact và Dimension như sau:
Trang 19Sau khi tao Data Source và Data Source View ta tạo dữ liệu khối cho phân tích bằng cách bấm chuột phải lên Cube trong Solution Explorer và chọn New Cube
Chọn Next và chọn nguồn dữ liệu cho Khối (DW), hệ thống sẽ tự động dò tìm fact và Dimension Tables
Kết quả như sau:
Trang 20Bấm Next để thiết lập chiều thời gian Chú ý, thời gian là một chiều rất quan trọngtrong kho dữ liệu nói chúng và phân tích OLAP Vì vậy nếu người dùng không xác định chiều thời gian thì hệ thống sẽ tự động tạo ra một chiều thời gian để quản lý.
Trang 21Bấm Next để xác định các độ đo (Measure) cho phân tích Nhắc lại rằng độ đo là các đại lượng phản ảnh mục tiêu phân tích, tính toán Đó là các phép toán trên thuộc tính có thể tính toán trong bảng Fact.
Trang 22Bấm Next, hệ thống sẽ tự động phát hiện các cấu trúc phân cấp (Hierarchies) trongcác Dimesion Tables
Xem lại các chiều trong khối
Trang 23Đặt tên khối (DW)và bấm finish để sinh ra khối Khối dữ liệu với các chiều được sinh ra
Trang 24Sau khi tạo ra khối dữ liệu cho phân tích, để thực thi OLAP ta bấm phím phải
chuột vào tên project trong Solution Explorer và chọn Deploy
Project được thực thi thành công như sau
Trang 25Sau khi thực thi xong project, để thực hiện các phân tích OLAP phục vụ cho công tác quản lý, bấm phím phải chuột vào Cube trong Solution Explorer
chọn Browse để xuất hiện mà hình phân tích:
Màn hình phân tích OLAP như sau:
Panel bên trái chứa các Measure và các Dimensions đã định nghĩa khi xây dựngkhối
Panel bên phải chia làm 2 cửa sổ, cửa sổ phía trên dùng để xác định các điều kiện
để phân tích, cửa sổ phía dưới chứa kết quả các measure khi ta kéo thả (drag anddrop) các measure từ panel bên trái qua Tùy theo mục đích phân tích mà chúng taxác lập các biểu thức phân tích cho phù hợp
Ví dụ với thiết lập như dưới đây có nghĩa là yêu cầu cho biết số lần (Sales Count)
và tổng số lượng (Unit Sold) hàng mà chi nhánh Danang đã bán.
Trang 26Thiết lập dưới đây cho biết Mặt hàng của hãng Intel đã được bán bao nhiêu lần vớitổng số lượng bao nhiêu tại chi nhánh HCM
Màn hình thiết kế OLAP rất dễ sử dụng và linh hoạt, có thể kéo thả cácDimension và các Measure từ Panel bên trái sang panel bên phải Ví dụ ta có thể
kéo thả thuộc tínhBranch Name trong Dimension Branches sang panel bên phải
và hệ thống sẽ cho biết số lượng và số lần bán các sản phẩm theo từng chi nhánhnhư sau:
Trang 27Tùy theo nhu cầu phân tích dữ liệu, có thể tạo ra các lát cắt (slice) dữ liệu trên nhiều chiều khác nhau để sinh ra các tổng hợp dữ liệu cần thiết cho nhu cầu phân tích dữ liệu trong kho rất nhanh chóng và tiện lợi Hình dưới đây cho biết số lượng và số lần bán các mặt hàng theo từng chi nhánh dựa trên lát cắt 2 chiều Branches và Items
Các tab Dimension Usage, Caculations, KPIs, Actions, Partitions,Perspectives, translations được dùng để mở rộng khả năng phân tích của OLAP
Ngoài kỹ thuật phân tích OLAP, SQL Server Business Intelligence
Development Studio còn cung cấp các kỹ thuật để khai phá dữ liệu như
Regression, Association, Decision tree, Time Series, Clustering trong
mục Mining Structure rất mạnh và tiện lợi để xây dựng các mô hình khai phá dữ
liệu
Trang 28TÀI LIỆU THAM KHẢO
[1] TS Đỗ Văn Nhơn Slide bài giảng Mã hóa thông tin, Trường Đại Học Công NghệThông Tin TP.HCM
[2] Bùi Doãn Khanh & Nguyễn Đình Thúc, Mã hóa Thông tin – Lý thuyết và Ứng
dụng, NXB Lao động xã hội 2004.
[3] Th.s Nguyễn Văn Linh, Ngôn Ngữ Lập trình C#, Trường Đại Học Cần Thơ
[4] http://tailieu.vn/xem-tai-lieu
[5] http://www.uit.edu.vn/forum/index.php?showtopic=19530