Thuật toán phát hiện luật kết hợp trong cơ sở dữ liệu lớn - Một góc nhìn từ Khai phá dữ liệu

MỤC LỤC

Phát hiện sự phụ thuộc CSDL (Database Dependencies)

Các quan hệ này thờng đợc thể hiện thông qua sự phụ thuộc dữ liệu hoặc ràng buộc tính toàn vẹn. Phơng pháp phát hiện tự động các sự phụ thuộc CSDL này chính là một kiểu nhiệm vụ của Khai phá dữ liệu.

Phát hiện sự sai lệch (Deviation)

Trong mô hình dữ liệu quan hệ, chúng ta đã nghiên cứu quan hệ trong CSDL không tính. Sự phụ thuộc CSDL đợc sử dụng trong thiết kế và duy trì một CSDL.

Mô hình hoá sự phụ thuộc (Dependence Modeling)

Điều này khác với luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do ngời dùng chỉ ra trong kết luận. Các nút biểu diễn thuộc tính và trọng số của liên kết giữa hai nút biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó.

Mô hình hoá nhân quả (Causation Modeling)

Quan hệ phụ thuộc cũng có thể biểu diễn dới dạng mạng tin cậy Bayes.

Ph©n líp (Classification)

Mục tiêu của thuật toán phân lớp là tìm mối quan hệ nào đó giữa các thuộc tính dự báo và thuộc tính phân lớp. Trong trờng hợp các kiến thức đợc phát hiện biểu diễn dới dạng các luật, các luật đợc phát hiện có thể biẻu diễn theo cách sau: “nếu các thuộc tính dự báo của một giỏ thoả mãn các điều kiện các tiền đề, thì giỏ có lớp chỉ ra trong kết luận”.

Hồi qui (Regression)

Nh thế quá trình phân lớp có thể sử dụng mối quan hệ này để dự báo lớp cho các giỏ mới.

So sánh các nhiệm vụ phát hiện tri thức

Một cách nhìn khác về quan hệ nhiều-nhiều là xem xét các nhiệm vụ nh một dạng phát hiện không có học, bởi vì ngời dùng không chỉ ra thuộc tính mục tiêu và hệ thống có sự tự chủ hoàn toàn để quyết định thuộc tính nào sẽ đợc đa ra trong tri thức. Phân lớp, Hồi qui và Tổng hợp có thể xem nh một dạng của phát hiện có học, bởi vì ngời dùng chỉ ra thuộc tính đích (hay thuộc tính lớp) và hệ thống phải phát hiện quan hệ nào đó giữa thuộc tính này và các thuộc tính khác.

Các kỹ thuật Khai phá dữ liệu

    Sự tơng tự của mô hình mạng nơron nhân tạo cho ta một kỹ thuật thú vị cho phép tạo ra các máy học đuợc các vấn đề phức tạp hơn.Các mạng nh vậy có thể đợc xây dựng sử dụng phần cứng đặc biệt nhng cũng hoàn toàn có thể tạo ra các chơng trình phần mềm chạy đợc trên các máy tính thông thờng. Một vấn đề khác là mặc dù nói rằng mạng nơron học nhng chúng không cho chỳng ta một hỡnh dung rừ ràng về chỳng đó học cỏi gỡ, mà chỉ là những hộp đen, đ- a ra câu trả lời nhng không cung cấp cho chúng ta một suy luận làm thế nào để đa ra câu trả lời đó.

    Phân lớp dựa trên cây quyết định

    Cây quyết định

    Phần lớn các giải thuật lớp hiện nay nh C4.5, SLIQ, SPRINT, ScalParC đều phát triển cây theo phơng pháp Hunt mô tả trong phần 5.3 dới dây. Tỉa cây : Cây thu đợc ở bớc trên sẽ đợc thu gọn và tinh chỉnh nhằm loại bỏ các yếu tố mang tính thống kê và các dữ liệu bị nhiễu trong tập mẫu đang xét. Sau khi đã có mô hình, với một bộ dữ liệu mới để xác định đợc nhãn lớp cho nó, ta tiến hành duyệt cây từ nút gốc, đi dần xuống lá theo điều kiện rẽ nhánh ở từng nút quyết.

    Phát triển cây .1 Chiến l ợc dựng cây

    • Đánh giá phép thử

      Quá trình phát triển cây sẽ hoàn thành khi các mẫu ở tập mẫu tơng ứng với từng lá đều thuộc cùng một lớp hoặc khi tập mẫu này có quá ít phần tử không cần tiếp tục phân chia n÷a. Entropy H(xi) của một tin xi của nguồn rời rạc : Chính là lợng tin ta đoán nhận là sẽ nhận đợc về một tin của nguồn đó, nó có độ lớn bằng độ đo tin tức của tin đó nhng có ý nghĩa hoàn toàn khác. Tuy nhiên để tránh trờng hợp phép thử phân chia tập T thành các tập con có số phần tử chênh nhau quá lớn, tiêu chuẩn này còn đòi hỏi info(X) của phép thử X đợc chọn phải đủ lớn, ít nhất là bằng gain trung bình trên toàn bộ các phép thử đợc xét đến.

      Hình 5.2 : Phát triển một nút quyết định
      Hình 5.2 : Phát triển một nút quyết định

      1split(X)j∑

      Để khắc phục hiện tợng trên, tiêu chuẩn tỉ số gain xét thêm thông tin về sự phân bố các khả năng của phép thử đó. Theo tiêu chuẩn này, phép thử X làm cho ratio (X) đạt cực đại sẽ đợc chọn làm điều kiện tách.

      1split(X)j

      Phép thử và các khả năng của phép thử

      Trong thực tế, các hệ xây dựng mô hình phân lớp thờng quy định trớc khuôn mẫu của các phép thử, sau đó xem xét các phép thử theo mẫu đã quy định. Mỗi phép thử có thể liên quan đến nhiều thuộc tính, nhng để việc phát triển cây và cả quá trình sử dụng cây về sau đợc đơn giản, ngời ta thờng chỉ xét các phép thử liên quan đến một thuộc tính. Nh vậy, đối với thuộc tính liên tục, ta còn phải quan tâm đến việc tìm giá trị ngỡng v cho phù hợp.

      Tỉa cây

        Tỉa cây sau tuy gây ra tốn kém về mặt thời gian và bộ nhớ do tạo ra các nút d thừa nhng cây thu đợc sau khi tỉa thờng đạt đợc độ chính xác phân lớp cao. Theo kĩ thuật thứ nhất, tập dữ liệu ban đầu đợc chia thành hai tập riêng rẽ, gọi là tập mẫu học (dùng trong quá trình phát triển cây) và tập mẫu thử (dùng để tỉa cây). Đối với mỗi khối, ngời ta dựng cây tơng ứng với (C-1) khối còn lại, khối đang xét sẽ đợc dùng làm tập mẫu thử cho cây vừa dựng đợc.

        Đánh giá mô hình

        Khác với phơng pháp trên, quá trình tỉa cây sau chỉ đợc thực hiện khi đã có một cây quyết định hoàn chỉnh. Điều này có thể làm giảm độ chính xác phân lớp của cây quyết định thu đợc nếu chỉ có ít dữ liệu. Trong trờng hợp thứ hai, tập mẫu đã đợc dùng để dựng cây sẽ đợc điều chỉnh để có thể dự đoán tốc độ sai số.

        Các thuật toán phát hiện luật kết hợp trong các CSDL lớn

        • Mô tả vấn đề
          • Thuật toán phân hoạch

            Tất cả các thuật toán từ trớc đến nay cho việc phát hiện luật kết hợp đều là các phơng án khác nhau của cách tiếp cận chung sau: Đầu tiên, support của tất cả các tập mục có độ dài 1 (1-tập mục) đợc kiểm tra bằng cách duyệt toàn bộ CSDL. Một tập các 2-tập mục gọi là các tập mục dự tuyển (candidate itemsets) đợc mở rộng từ các 1-tập mục lớn phát sinh từ bớc trớc bằng cách thêm một (1-mở rộng) và support của chúng lại đợc kiểm tra bằng cách quét CSDL. Trong thuật toán Apriori các con đếm đợc phát sinh nhờ các phép toán trên tập con mà các tập mục từ một tập dự tuyển đợc so sánh với các giao dịch trong CSDL xác định tính thuộc và tăng con đếm.

            Thực nghiệm

              Chơng trình đã đợc thực hiện trên một CSDL quan hệ bao gồm 5002 giao dịch giả định với đầu vào là các giá trị ngỡng của support và confidence. Các kết quả đạt đợc gây ngạc nhiên và nếu đây là một CSDL thực, các luật kết hợp đợc phát hiện sẽ giúp các nhà kinh doanh cải thiện việc bán hàng của mình tốt hơn. Do hạn chế về thời gian thử nghiệm, nên luận văn này cha có dịp đánh giá sâu sắc hiệu năng thực sự các thuật toán phát hiện luật kết hợp, cũng nh so sánh giữa chúng với nhau.

              Hình 7.1 Giao diện chơng trình Dới đây là một số kết quả thử nghiệm.
              Hình 7.1 Giao diện chơng trình Dới đây là một số kết quả thử nghiệm.

              Khảo nghiệm khai phá dữ liệu trong Oracle

              • Cây quyết định Darwin
                • Mạng nơron Darwin
                  • Mô hình đối sánh Darwin (Darwin Match)

                    Số bản ghi tối thiểu mà một nút có thể bao gồm đợc tính sơ bộ từ tích n*d, trong đó, n số bản ghi có giá trị đích xuất hiện ít nhất trong tập dữ liệu mẫu, còn d là ngỡng mật độ do ngời sử dụng đa vào hay lấy giá trị ngầm định. Chỉ số khác biệt là độ đo về độ xiên (hoặc không xiên) của các giá trị đích bên trong một tập các bản ghi. Chỉ số khác biệt cao hơn phản ánh một cách tơng đối tỷ lệ của các giá trị đích. Mục tiêu của phát triển cây là giảm chỉ số phân biệt. Cây có lá với các chỉ số khác biệt thấp sẽ cho ta các luật phân lớp, có thể dự báo các giá trị đích với độ tin cậy cao. Đối với mỗi lần tách S, các hàm entropy và gini tính toán chỉ số giảm nh sau:. + PR*chỉ_số_giảm [số bản ghi tại nút phải sau tách S]) ở đây PL và PR là các các tỷ lệ bản ghi rơi vào nút trái và phải tơng ứng sau tách. Khi làm việc với số lợng dữ liệu quá nhỏ để tách chúng thành ba phần, thì thông thờng một chiến lợc tốt là sử dụng xác nhận chéo trớc để kiểm tra các cấu trúc mạng khác nhau và sau đó sử dụng Train and Test để dạy thêm nữa nhằm tạo ra mô hình nhiều hứa hẹn nhất.

                    - Cho mạng học lại sử dụng các trọng số khởi đầu khác trong trờng hợp ta đã chọn đ- ợc các tham số tốt nhng ta lại không thoả mãn với hiệu năng của mô hình và không muốn xây dựng một cái mới với một tôpô khác. Chúng có thể phát hiện ra các mẫu dữ liệu nối cụm, nghĩa là chúng định vị đợc các “ốc đảo” riêng trong khi các mô hình khác chỉ chỉ ra đợc xu h- ớng.Suy diễn có nhớ so sánh một bản ghi mới trực tiếp với các bản ghi đã biết xem các đặc tính của chúng có gần giống nhau không sử dụng một độ đo khoảng cách có trọng số.