Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
757,56 KB
Nội dung
MỤC LỤC CHƯƠNG I. GIỚI THIỆU Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên, họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó. Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Với những lý do như vậy, các phương pháp quản trị và khai thác dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining) Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng. Bước Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 1 quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining - DM), giúp người sử dụng thu được những tri thức hữu ích từ những CSDL hoặc các nguồn dữ liệu khổng lồ khác, rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kỹ thuật khai phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và đã thu được những lợi ích to lớn. Nhưng để làm được điều đó sự phát triển của các mô hình toán học và các giải thuật hiệu quả là chìa khoá quan trọng vì vậy trong phần tiểu luận này, tác giả sẽ đề cập tới kỹ thuật thường dùng trong khai phá dữ liệu để phân tích dự đoán trong khai thác dữ liệu chứng khoán trợ giúp nhà đầu tư ra quyết định. CHƯƠNG II. TỔNG QUAN PHÁT HIỆN 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 chóng mặt. Bên cạnh đó việc tin học hoá 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. II.1. Khái niệm khai phá dữ liệu 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 dữ liệu đượ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 dữ liệu, phân tích dữ liệu/mẫu, khảo cổ dữ liệu, nạo vét dữ liệu, 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 Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 2 In t e r n e t , . . . Dữ liệu đã chuyển đổi Trích lọc dữ liệu 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 trong tiến trình phát hiện tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và kinh doanh, quá trình phát hiện tri thức tiến hành qua 6 giai đoạn như sau hình 1.1: Hình 1.1 quá trình phát hiện tri thức II.2. Luật kết hợp trong khai phá dữ liệu Mục tiêu chính của khai phá dữ liệu (KPDL) là lấy được những thông tin hữu ích từ lượng dữ liệu khổng lồ các bước chính của quá trình KPDL bao gồm: Gom dữ liệu (Gathering): tập hợp dữ liệu là bước đầu tiên trong quá trình KPDL đây là bước được khai thác trong một CSDL, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web. Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 3 Trích lọc dữ liệu (Selection): ở giai đoạn này dữ liệu được lựa chon hoặc phân chia theo một số tiêu chuẩn nào đó, ví dụ chon tất cả những người có tuổi đời từ hai lăm đến ba lăm và có trình độ đại học. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation): 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 KPDL 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ẽ, logic, 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, bởi vậy đây là một 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. 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. 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 KPDL ở 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ự. Đánh giá kết quả mẫu (Evaluation of Result): đây là giai đoạn cuối trong quá trình KPDL ở giai đoạn này các mẫu dữ liệu được chiết xuất ra bởi phần mềm KPDL 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 cần chiết xuất ra. Đây là một 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 những nhiệm vụ cơ bản nhất của khai phá dữ liệu là: phân cụm, phân loại, phân nhóm, phân lớp; khai phá luật kết hợp; lập mô hình dữ báo; phân tích đối tượng ngoài cuộc; phân tích sự tiến hóa. Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 4 Các tồn tại cần phải giải quyết trong KPDL là lượng dữ liệu lớn; kích thước lớn; dữ liệu động; các trường dữ liệu không phù hợp; các giá trị bị thiếu; các trường dữ liệu bị thiếu; khả năng biểu đạt mẫu sự tương tác với người sử dụng các tri thức sẳn có. Một trong những hướng tiếp cận hiệu quả là sử dụng luật kết hợp (association rules) đây là dạng luật biểu diễn tri thức ở dạng khá đơn giản phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong CSDL mẫu đầu ra của giải thuật KPDL là tập luật kết hợp. II.3. Các kỹ thuật khai phá dữ liệu Hình 1.2 biểu diễn một tập dữ liệu giả hai chiều bao gồm 23 trường hợp mỗi một điểm trên hình đại diện cho một người vay tiền ngân hàng tại một số thời điểm trong quá khứ dữ liệu được phân loại vào hai lớp: những người không có khả năng trả nợ và những người tình trạng vay nợ đang ở trạng thái tốt (tức là tại thời điểm đó có khả năng trả nợ ngân hàng). Hai mục đích chính của khai phá dữ liệu trong thực tế là dự báo và mô tả. Nî Thu nhËp Kh«ng cã kh¶ n¨ng tr¶ nî Cã kh¶ n¨ng tr¶ nî Hình 1.2: Tập dữ liệu với 2 lớp: có và không có khả năng trả nợ II.3.1 Khai phá dữ liệu dự đoán Nhiệm vụ của khai phá dữ liệu dự đoán là đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời, nó sử dụng các biến hay các trường trong cơ sở dữ liệu để dự đoán các Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 5 giá trị không biết hay các giá trị tương lai bao gồm các kỹ thuật phân loại (classification), hồi quy (regression). Phân loại Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu, quá trình phân loại dữ liệu thường gồm hai bước xây dựng mô hình và sử dụng mô hình để phân loại dữ liệu. Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện. Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát. Bước 2: Sử dụng mô hình để phân loại 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. Hay nói cách khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào một trong số các lớp cho trước. Hình 1.3 cho thấy sự phân loại của các dữ liệu vay nợ vào trong hai miền lớp ngân hàng có thể sử dụng các miền phân loại để tự động quyết định liệu những người vay nợ trong tương lai có nên cho vay hay không. Thu nhËp Nî Hình 1.3: Phân loại được học bằng mạng nơron cho tập dữ liệu cho vay Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 6 Hồi quy Phương pháp hồi quy khác với phân loại 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 loại dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc, hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực, các ứng dụng hồi quy có nhiều, ví dụ như đánh giá xác xuất một bệnh nhân sẽ chết dựa trên tập kết quả xét nghiệm chẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩn mới dựa trên hoạt động quảng cáo tiêu dùng. II.3.2 Khai phá dữ liệu mô tả Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules) Phân cụm 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 cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát không giống như phân loại 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 loại dữ liệu là học bằng ví dụ (learning by example). Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như 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ác 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. Hình 1.4 cho thấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: lưu ý rằng các cụm chồng lên nhau cho phép các điểm dữ liệu thuộc về nhiều hơn một cụm. Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 7 Thu nhËp Nî Côm 1 Côm 2 Côm 3 Hình 1.4: Phân cụm tập dữ liệu cho vay vào trong 3 cụm 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 CSDL, mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được, 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. Bài toán luật kết hợp Khái niệm: cho một tập I = {I1, I2 ,Im} các tập m mục, một giao dịch T được định nghĩa như một tập con của các khoản mục trong I (T I). Gọi D là co sở dữ liệu của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh duy nhất một giao dịch TD hỗ trợ một tập XI nếu nó chưa tất cả các item của X. Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu do người dùng xác định, các tập mục thỏa mãn độ hỗ trợ tối thiểu được gọi là các tập mục phổ biến. Bài toán 2: Dùng các tập mục phổ biến để sinh ra các luật mong muốn Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 8 Quy trình khai thác luật kết hợp Bước một: Tìm tất cả các tập phổ biến (theo ngưỡng minsup) Bước hai: Tao ra các luật từ các tập phổ biến đối với mỗi tập phổ biến S, tạo ra tất cả các tập con khác rỗng của S. Đối với mỗi tập con khác rỗng A của S thì luật A=>(S-A) là luật kết hợp cần tìm nếu: conf(A=>(S-A))=sup(S)/sup(A)≥minconf Một số tinh chất liên quan đến các hạng mục phổ biến Tính chất 1: Độ hỗ trợ của tập con với A và B là tập các mục nếu AB thì sup(A)≥ sup(B). Điều này là rõ ràng vì tất cả giao tác của D hỗ trợ B thì cũng hỗ trợ A. Tính chất 2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến. Nếu một mục trong B không có độ hỗ trợ tối thiểu trên D nghĩa là sup(B)<minsup thì một tập con A của B sẽ không phải là một tập phổ biến vì support(B)≤support(A)<minsup (theo tính chất 1). Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến, nếu mục B là mục phổ biến trên D, nghĩa là support(B)≥minsup thì mọi tập con A của B là tập phổ biến trên D vì support(A)support(B)>minsup. Phát hiện luật kết hợp trên hệ thống nhị phân: Độ hỗ trợ các vecto chỉ báo nhị phân cho x1D, độ hỗ trợ của vB(X1) biểu diễn supB(vB(X1)) được định nghĩa: Dễ thấy rằng: card(supB(vBX1))) = card(rB(X1)) Tính card(rB(S)) (lực lượng của tập hợp) cho S= {s1, s2,…,sk} là tập con của D. Trong đó sj là bọ chỉ báo của SB, j=1k mỗi sj tương ứng với vecto chỉ báo nhị phân vB({sj}) các yếu tố của ρB(S) được tính bằng: card(ρB(S))= card(supB(vB{s1}) … supB(vB{sk})). Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 9 Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lý kinh doanh…. CHƯƠNG III. MỘT SỐ THUẬT TOÁN SINH LUẬT KẾT HỢP III.1. Thuật toán AIS Thuật toán do Agrwal đề nghị năm 1993. Thuật toán này chú trọng khai phá luật kết hợp có dạng X->Y, với Y là tập hợp chỉ bao gồm một tính chất (tập hợp một phần tử) thuật toán tìm cách xây dựng dần dần các tập ứng cử viên cho tập mục phổ biến, với cách đánh số thứ tự tự điển cho từng tính chất, việc bổ sung phần tử cho tập ứng cử viên tránh được trùng lặp, do vậy tiết kiệm tối đa thời gian tính toán. Thuật toán Input: CSDL D, minsup Output: các tập mục phổ biến L 1 = {các tập mục phổ biến}; for (k=2; luật kết hợp k-1 # 0; k++) do begin C k =0; forall các giao dịch t D do begin L t = Subset(L k-1, t); // các tập mục phổ biến thuộc L k-1 chứa trong giao dịch t forall các tập mục phổ biến l t L t B do begin C t = tang thêm một mục có trong giao dịch t; forall các ứng cử viên c C t do if(c C k ) then Báo cáo môn khai phá dữ liệu và kho dữ liệuTrang 10 [...]... III.2 Thuật toán SETM Thuật toán do Houtsma đề nghị năm 1995 Thuật toán này cũng sử dụng kỹ thuật bổ sung dần dần từng phần tử (từ tập hợp 1 phần tử) nhằm tìm kiếm các tập hợp ứng cử viên một cải tiến đáng kể là thuật toán đề nghị lưu lại cả ID của giao dịch cùng với tập hợp ứng cử viên Agrwal đã chỉ ra thuật toán này không những không có phương án quản lý bộ nhớ mà nó còn giả định nhét toàn bộ tập hợp. .. theo CHƯƠNG V KẾT LUẬN Khai phá tri thức bao gồm các bước hình thành, xác định và định nghĩa bài toán; thu thập và tiền xử lý dữ liệu; KPDL rút ra các tri thức sử dụng tri thức phát hiện được nhằm trợ giúp cho việc ra quyết định tư vấn trong giao dịch cổ phiếu về thuật toán sinh luật kết hợp đã xây dựng và minh họa một số thuật toán, luật kết hợp để phát hiện tập chỉ mục phổ biến và quy luật trong giao... cần đạt được của các mẫu Ngoài ra, nếu độ hỗ trợ tối thiểu minsup bị thay đổi thì thuật toán sẽ phải thực hiện lại từ đầu, điều này sẽ rất mất thời gian, thuật toán Apriori được xây dựng nhằm phát hiện các luật kết hợp giữa các đối tượng với độ hỗ trợ và độ tin cậy tối thiểu III.4 Thuật toán FP-Growth Ý tưởng của thuật toán khai thác tập phổ biến không dùng hàm tạo ứng viên nén cơ sở dữ liệu thành cấu... ∈ Ck) for (∀ (k-1) – tập con s của c) if(s ∉ Lk-1) delete c khỏi Ck; Nhận xét: Thuật toán Apriori với n là độ dài lớn nhất của tập được sinh ra vậy thì thuật toán sẽ thực hiện duyệt toàn bộ các giao tác n+1 lần Như vậy, nếu bỏ qua thời gian so sánh tìm sự xuất hiện của một mẫu trong một giao tác thì độ phức tạp của thuật toán Apriori là O(A) > O(n*L) trong đó L là kích thước CSDL còn n là độ dài cần... không nằm trong Lk-1 , cũng không xoá bất kỳ một tập nào có thể nằm trong Lk Hàm Subset: Các tập ứng cử viên Ck được lưu trữ trong một cây băm một nút của cây này hoặc là chứa một danh sách của các tập (nút lá) hoặc bảng băm (một nút trong) Trong mỗi một nút trong, mỗi cụm (bucket) của bảng băm chỉ đến một nút khác Gốc của cây băm được xem ở độ sâu là 1, một nút trong ở độ sâu d sẽ dẫn đến nút ở độ... mục phổ biến lt lt do begin Ct = tăng lt thêm một mục có trong giao dịch t; // các ứng cử viên có trong t C’k +={|cCt}; End End Sort C’k theo các tập mục; Delete các mục c C’k có c.count . MỘT SỐ THUẬT TOÁN SINH LUẬT KẾT HỢP III.1. Thuật toán AIS Thuật toán do Agrwal đề nghị năm 1993. Thuật toán này chú trọng khai phá luật kết hợp có dạng X->Y, với Y là tập hợp chỉ bao gồm một. 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. Bài toán luật kết hợp Khái niệm: cho một tập I = {I1, I2. L k ; III.2. Thuật toán SETM Thuật toán do Houtsma đề nghị năm 1995. Thuật toán này cũng sử dụng kỹ thuật bổ sung dần dần từng phần tử (từ tập hợp 1 phần tử) nhằm tìm kiếm các tập hợp ứng cử viên một cải