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

Tiểu luận khai phá dữ liệu Các vấn đề mã hóa cho mạng máy tính

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.27 MB, 28 trang )

Lời mở đầu

Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT đã 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 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á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 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 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.
Qua quá trình học tập nghiên cứu môn Khai phá dữ liệu, và sự hướng dẫn
của thầy PGS.TS Đỗ Phúc chúng em đã học được những tri thức nền tảng về Khai
phá 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ụng
TRIỂN KHAI OLAP TRONG SQL SERVER.
1
Mụ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.1 Mã 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 .
2
Chương I
KHAI PHÁ DỮ LIỆU
1. Khái niệm
Khái niệm về khai phá dữ liệu (Data Mining) hay phát hiện tri thức
(Knowledge Discovery) có rất nhiều cách diễn đạt khác nhau nhưng về bản chất
đó là quá trình tự động trích xuất thông tin có giá trị (thông tin dự đoán –
Predictive Information) ẩn chứa trong khối lượng dữ liệu khổng lồ trong thực tế.
Data 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ền
tả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


3

2. 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)
4
 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ác
nhiệ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 trong
quá khứ và hiện tại.
5
Để có một mô hình dự đoán ta phả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)
6

Đá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:
7
Cá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ẩn
nào đó, ví dụ chọn tất cả những người có tuổi đời từ 25 – 35 và có trình độ đại
họ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ướ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à tính không đủ chặt chẻ, logíc. 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ụ: tuổi = 673. Giai đoạn
nà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ệu
dạ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
8
quá 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ều
khiể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ề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 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ệu
tuầ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á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 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 ưu
tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần chiết
xuấ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.
9
CHƯƠNG II
TRIỂN KHAI OLAP TRONG SQL
SERVER
1. Một số thuật ngữ
Trong công nghệ kho dữ liệu (Data Warehouse Technology), OLAP là kỹ thuật để
truy xuất dữ liệu chủ yếu trong kho dữ liệu. Dữ liệu trong DW được tổ chức dưới
dạng các khối dữ liệu đa chiều (Multi Dimensional Cube) và OLAP được dùng để
phân tích trên dữ liệu khối (cube).
Dướ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)
10
Lượ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 (Dimension
table). 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ồm
các khóa ngoại đó là các khóa chính của cả bảng chiều (Dimension table). Dimension
Table 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ách
hà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ệu
dù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)
11
Time_key
Day
Day_of_the_week
Month
Quarter
year
Time_key
Item_key
Branch_key
Loacon_key
Dollars_sold
Units_sold
year
item_key

item_name
brand
type
supplier_type
Branch_key
Branch_name
Branch_type
locaon_key
street
city
province_or_state
country
Time
Dimension table
sales
fact table
item
Dimension table
branch
Dimension table
locaon
Dimension table
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 theo
quí,…
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ậc

street<city<province_or_state<country. Trong khi phân tích dữ liệu chúng ta rất cần
khái niệm này để tổng hợp hay chi tiết từng hạng mục dữ liệu trong DW.
12
year
week
day
month
quarter
country
Province_or_state
city
street

(a) Vị trí (b) Thời gian
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
Item: Lưu trữ thông tin về hàng hóa
13
Mục đích mô tả hoạt động OLAP để phân tích hoạt động bán hàng của một doanh
nghiệ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ụ cho
phé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
14

Tạo một Analysis Services Project mới có tên “OLAP_DW”

15
Trong 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.
16
Tạ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ấm
phím phải chuột vào Data Source View trong của sổ Solution Explorer chọn New
Data 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
17
Chú ý: 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:
18
Sau 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:
19
Bấm Next để thiết lập chiều thời gian. Chú ý, thời gian là một chiều rất quan trọng
trong 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ý.
20

Bấ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.
21
Bấm Next, hệ thống sẽ tự động phát hiện các cấu trúc phân cấp (Hierarchies) trong
các Dimesion Tables
Xem lại các chiều trong khối
22

Đặ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

23
Sau 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

24
Sau 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ựng
khố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 and
drop) các measure từ panel bên trái qua. Tùy theo mục đích phân tích mà chúng ta
xá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.
25

×