Thông thƣờng khi phải xử lý các vấn đề phức tạp, một xu hƣớng tự nhiên là cố gắng phân loại vấn đề, đối tƣợng thành các phần nhỏ hơn để có thể giải quyết đƣợc dễ dàng hơn. Phân tích gộp nhóm có thể coi nhƣ là các hoạt động cơ bản của con ngƣời. Từ khi còn rất bé, trẻ em đã học để phân biệt các loài động vật, thực vật các sự vật xung quanh. Ngày nay phân loại đƣợc sử dụng rộng rãi trong rất nhiều lĩnh vực nhƣ: nhận dạng mẫu, nghiên cứu thị trƣờng, xử lý ảnh, phân tích dữ liệu... Trong sản xuất, kinh doanh bài toán phân lớp khách hàng và tìm ra sản phẩm phù hợp với từng nhóm khách hàng là nhu cầu thiết yếu để tăng cƣờng các dịch vụ chăm sóc khách hàng tốt hơn. Trong sinh học - để phân loài động vật, thực vật, nhóm gen khác nhau, các vùng đất, vùng địa lý tƣơng tự nhau. Để hỗ trợ phân loại tài liệu trên Web, sử dụng kết quả phân tích khai phá, có thể tổ chức lại thông tin, thiết lập các chế độ tìm kiếm phù hợp (thông tin loại nào cần đƣợc lấy thêm, lấy ở đâu....). Một cách giúp đỡ tốt nhất cho ngƣời sử dụng nếu bộ phân lớp có thể tự phân lớp các tài liệu tìm kiếm đƣợc dựa vào những lớp đã tồn tại của từng ngƣời dùng cụ thể - đó là vấn đề quản lý tri thức thông minh mà một vài sản phẩm phần mềm có thể hỗ trợ nhƣ Lotus Discovery Server.
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle II.3.1. Phân tích gộp nhóm
Gộp nhóm hay phân loại là một kỹ thuật đƣợc sử dụng để tổ hợp các đối tƣợng quan sát đƣợc thành các nhóm sao cho các đối tƣợng trong một nhóm là giống nhau (theo một đặc điểm nào đó) và khác biệt với các đối tƣợng của nhóm khác. Sự khác biệt đƣợc quyết định dựa trên giá trị thuộc tính mô tả đối tƣợng và thƣờng dùng là độ đo khoảng cách. Có một số kỹ thuật phân nhóm nhƣ: Phân hoạch, phân cấp, dựa trên mật độ, lƣới, dựa trên mô hình... Phân tích gộp nhóm thƣờng tập trung vào phân tích dựa trên khoảng cách, độ đo sự đồng nhất trong từng nhóm. Các công cụ phân tích gộp nhóm dựa trên k-means, k-medoids…
Khác với phân lớp, trong quá trình gộp nhóm lớp của mỗi đối tƣợng là chƣa biết trƣớc. Nhƣ là một chức năng khai phá dữ liệu, chức năng gộp nhóm có thể đƣợc sử dụng độc lập để phân hoạch dữ liệu, quan sát các đặc điểm đối tƣợng của mỗi nhóm và tập trung phân tích tập các nhóm nào đó hoặc có thể đƣợc sử dụng nhƣ là tiền xử lý cho các thuật toán khác nhƣ phân lớp, đặc điểm hoá...
Gộp nhóm là học trên quan sát chứ không phải học trên ví dụ và bao gồm hai thành phần: Phát hiện lớp và hình thành mô tả mỗi nhóm nhƣ trong phân lớp.
II.3.2. Các phƣơng pháp phân hoạch [11]
Cho một CSDL với N đối tƣợng, phƣơng pháp phân hoạch xây dựng K (K<=N) phân hoạch, trong đó mỗi phân hoạch biểu diễn một nhóm. Điều đó nghĩa là phân lớp dữ liệu thành K nhóm thoả mãn:
i. Mỗi nhóm phải chứa ít nhất 1 đối tƣợng ii. Mỗi đối tƣợng chỉ thuộc 1 nhóm.
Một kỹ thuật đơn giản nhất là chia N thành K tập con có thể, thử phân hoạch lần đầu, sau đó lặp các bƣớc phân hoạch bằng cách chuyển các đối tƣợng từ nhóm này sang nhóm khác và đánh giá theo tiêu chuẩn gần nhất cuả các đối tƣợng trong nhóm. Quá trình phân hoạch này có thể đòi hỏi sử dụng mọi khả năng có thể của K tập con trong N nhóm. Các ứng dụng có thể sử dụng một trong hai thuật toán K- mean, mỗi nhóm đƣợc đại diện bằng 1 giá trị trung bình của các đối tƣợng trong
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
nhóm hoặc K-medoid trong đó mỗi nhóm đƣợc đại diện bằng 1 trong các đối tƣợng gần tâm nhóm.
- Kỹ thuật dựa tâm -Thuật toán k-mean
Thuật toán K-mean sẽ phân hoạch dữ liệu thành K (tham số) nhóm xử lý nhƣ sau: - Lựa chọn ngẫu nhiên K đối tƣợng, mỗi đối tƣợng đƣợc coi là khởi tạo giá trị
trung bình hoặc tâm của nhóm.
- Các đối tƣợng còn lại sẽ đƣợc gán vào các nhóm đƣợc coi là gần đối tƣợng đó nhất dựa trên khoảng cách giữa đối tƣợng với tâm.
- Tính toán lại giá trị trung bình của mỗi nhóm. -
Các bƣớc trên đƣợc lặp cho đến khi đạt hội tụ. Tiêu chuẩn sai số toàn phƣơng:
| | p mi E
2
Trong đó E là tổng các sai số bình phƣơng của mọi đối tƣợng trong CSDL, p là điểm trong không gian biểu diễn các đối tƣợng, mi là trung bình của nhóm Ci. Tiêu chuẩn này tiến đến K nhóm là kín và tách rời nhau. Thuật toán sẽ tiến đến K phân hoạch sao cho hàm sai số bình phƣơng là tối thiểu (LMS). Thuật toán này chỉ áp dụng đƣợc nếu xác định đƣợc giá trị trung bình. Do vậy thuật toán sẽ không áp dụng đƣợc cho dữ liệu tên (kí tự).
Hình Error! No text of specified style in document.-4 Gộp nhóm theo phương
pháp k-means. (Điểm đánh dấu + là tâm.)
- Các biến thể mở rộng của K-mean:
K-medoid mở rộng phân hoạch cho các thuộc tính có giá trị tên bằng kỹ thuật dựa trên tần suất xuất hiện.
II.3.3. Các phƣơng pháp phân cấp [11]
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
Phƣơng pháp phân cấp làm việc bằng cách nhóm các đối tƣợng dữ liệu thành cây. Các phƣơng pháp phân cấp có thể phân lớp theo kiểu vun đống hoặc tách dần: Gộp nhóm phân cấp kiểu vun đống: Chiến lƣợc từ dƣới lên bắt đầu bằng cách đặt mỗi đối tƣợng đơn vào một nhóm sau đó trộn vài nhóm thành nhóm lớn hơn và lớn hơn nữa, cho đến khi thành một nhóm đơn hoặc thoả mãn điều kiện kết thúc nào đó.
Gộp nhóm phân cấp kiểu tách dần: Chiến lƣợc này ngƣợc với chiến lƣợc từ trên xuống. Bắt đầu bằng cách đặt tất cả các đối tƣợng thành một nhóm đơn. Sau đó chia thành các nhóm nhỏ dần, cho đến khi thành các nhóm với một đối tƣợng hoặc thoả mãn điều kiện kết thúc nào đó.
Hình Error! No text of specified style in document.-2 Phân cấp vun đống
hoặc tách dần
Trong các thuật toán này cần xác định điều kiện để kết thúc. Có thể sử dụng một trong bốn độ đo khoảng cách giữa các nhóm sau:
Khoảng cách nhỏ nhất: dmin(ci,ci )= min p Ci ,p’ Cj | P - P’ | Khoảng cách lớn nhất: : dmax(ci,ci )= max p Ci ,p’ Cj | P - P’ | Cự ly trung bình: dmean(ci,ci )= | mi - mj |
Khoảng cách trung bình: davg(ci,ci )= 1/ni nj p Ci p’ Cj | P - P’ |
Trong đó | P - P‟ | là khoảng cách giữa hai đối tƣợng hoặc hai điểm P và P‟, mi: là trung bình của Ci, ni số các đối tựơng của Ci
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
1. Các điểm mạnh:
Gộp nhóm tự động gián tiếp: Điểm mạnh chủ yếu của phƣơng pháp này là không cần có hƣớng dẫn - nghĩa là nó có thể áp dụng ngay cả khi chƣa biết trƣớc về cấu trúc nội tại của cơ sở dữ liệu, có thể sử dụng để phát hiện cấu trúc ẩn, có thể sử dụng nhằm cải thiện hiệu suất của các kỹ thuật trực tiếp.
Phép nhóm có thể đƣợc thực hiện trên nhiều kiểu loại dữ liệu khác nhau. Bầng cách chọn các đơn vị đo khoảng cách khác nhau, nhóm tự động có thể đƣợc áp dụng cho hầu hết các loại dữ liệu nhƣ: dễ dàng tìm các nhóm trong tập hợp các tiểu thuyết mới, các yêu cầu bảo hiểm, trong thiên văn hoặc dữ liệu tài chính... [4]
Phát hiện nhóm tự động dễ áp dụng. Hầu hết các kỹ thuật phát hiện nhóm yêu cầu rất ít việc sơ chế dữ liệu vào và không cần thiết xác định các trƣờng cụ thể nhƣ các đầu vào và đầu ra của phƣơng pháp khác.
2. Nhược điểm của phát hiện nhóm tự động:
Khó khăn với các trọng số các độ đo. Hiệu suất của các thuật toán phát hiện nhóm tự động phụ thuộc nhiều vào việc lựa chọn độ đo khoảng cách hoặc các độ đo tƣơng tự. Nhiều lúc đó là khó khăn thực sự với các dữ liệu hỗn hợp nhiều kiểu.
Nhạy cảm với các tham số ban đầu: Trong phƣơng thức K-mean, sự lựa chọn giá trị ban đầu K xác định số lƣợng các nhóm sẽ tìm kiếm. Nếu số lƣợng này không phù hợp với cấu trúc tự nhiên của dữ liệu, kỹ thuật sẽ không đem lại kết quả tốt.
Khó khăn khi diễn giải kết quả: Điểm mạnh của phát hiện nhóm tự động là kỹ thuật tìm kiếm tri thức không giám sát. Ngƣợc lại, đó là điểm hạn chế vì không biết cần tìm cái gì, không nhận ra khi đã tìm thấy và các nhóm phát hiện ra chƣa chắc là có giá trị thực tế.
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
CÔNG CỤ KHAI PHÁ DỮ LIỆU ODM- ORACLE DATA MINING
Oracle9i Data Mining (ODM) đƣợc nhúng trong CSDL Oracle9i hỗ trợ ngƣời phát triển ứng dụng tích hợp khai phá dữ liệu với các ứng dụng CSDL trong môi trƣờng Oracle9i.
ODM hỗ trợ các chức năng cơ bản của khai phá dữ liệu nhƣ [14]
Chức năng Loại học Thuật toán Các bƣớc thực hiện Phân lớp Trực tiếp ABN Cây quyết định
Naive Byees
Xây dựng Kiểm thử Áp dụng Gộp nhóm Gián tiếp k-means nâng cao
O-Cluster
Xây dựng Áp dụng Luật kết hợp Gián tiếp Apriori Xây dựng Chọn thuộc
tính
Trực tiếp Dự báo biến đối Xây dựng Áp dụng
Rời rạc hoá Trực tiếp Xây dựng
Áp dụng
III.1. Các thuật toán ODM khai phá dữ liệu
Các mô hình khai phá dữ liệu ODM dựa trên một trong hai loại hàm học trực tiếp hoặc gián tiếp. Các hàm học trực tiếp thƣờng dùng cho dự báo, học gián tiếp dùng để tìm các cấu trúc nội tại, quan hệ hoặc sự giống nhau trong bản thân dữ liệu. III.1.1. Thuật toán Adapter Bayes Network - ABN
ABN là thuật toán riêng của Oracle hỗ trợ học cây quyết định. Cây quyết định sẽ sinh ra tập luật hoặc các biểu thức mà ngƣời phân tích hoặc ngƣời quản lý có thể hiểu đƣợc và ngƣời sử dụng có thể lấy ra những bản ghi thích hợp với luật trong CSDL. ABN dự báo tốt cho các bài toán có hai hoặc nhiều lớp.
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle III.1.2. Thuật toán Naive Bayes - NB
Dự báo NB sử dụng lý thuyết Bayes đánh giá xác suất dự đoán từ các sự kiện cơ bản theo công thức (II.5.1). NB cho phép xây dựng mô hình và áp dụng nhanh nhất. Thƣờng sử dụng với bài toán có các câu hỏi nhƣ: “ Khách hàng nào sẽ là đối thủ? Các mẫu giao dịch nào có sự gian lận?”...
Đặc điểm ABN BN Số bản ghi Số thuộc tính Tốc độ Tính chính xác Loại thuộc tính Thuộc tính đích Bất kỳ Bất kỳ Không nhanh lắm Tốt hơn Số và định danh. Hai hoặc nhiều lớp
Bất kỳ
Tốt nhất nhỏ hơn 200 Nhanh hơn
Kém hơn
Số và định danh Hai hoặc nhiều lớp.
Bảng 5. So sánh ABN và BN
III.1.3. Thuật toán Apriori
Trong ODM, sử dụng một cài đặt dựa trên SQL cho thuật toán Apriori. Các b- ƣớc sinh ứng cử và đếm độ hỗ trợ đƣợc cài đặt sử dụng truy vấn SQL.
III.1.4. Thuật toán dự báo biến đổi Predictor Variance
Hàm tính độ quan trọng thuộc tính ODM đƣợc cài đặt sử dụng thuật toán dự đoán biến đổi để ƣớc lƣợng sự biến đổi của các giá trị đích theo sự biến đổi các thuộc tính dự đoán khác. Tổng các biến đổi càng lớn, thuộc tính dự đoán trong bảng dữ liệu càng mang nhiều thông tin và cho ý tƣởng liên kết với thuộc tính đích.
III.1.5. Thuật toán k-means nâng cao
Thuật toán k-means là thuật toán gộp nhóm theo khoảng cách để phân hoạch dữ liệu thành một số nhóm. Thuật toán k-means làm việc trên các thuộc tính số. ODM cài đặt phiên bản phân cấp của TT k-means. Tại một thời điểm chỉ phát triển thêm một mức (cây cân bằng) hoặc một node (cây lệch) và tại node có tổng khoảng cách lớn nhất tới tâm đƣợc phân tách tiếp cho đến khi kích thƣớc của cây đạt tới số
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle
nhóm cần phân hoạch. Cách tiếp cận tăng dần đến k-means tránh phải xây dựng nhiều mô hình k-means, cho các kết quả phân nhóm tốt hơn so với k–means.
III.1.6. Thuật toán O-Cluster
Thuật toán O-Culster là thuật toán riêng của Oracle tạo ra mô hình gộp nhóm phân cấp. Các nhóm kết quả định nghĩa vùng đậm đặc trong không gian thuộc tính. Một tham số gọi là độ nhạy cảm định nghĩa mức mật độ vạch ranh giới. O-Cluster cung cấp cơ chế rời rạc hoá dữ liệu tự động.
Đặc điểm K-means O-cluster
Phƣơng pháp gộp Số bản ghi
Số thuộc tính Số nhóm
Nhóm phân cấp
Dựa trên khoảng cách. Bất kỳ
Tốt với các bảng có ít thuộc tính Ngƣời dùng định nghĩa
Có.
Dựa trên lƣới.
Tốt nhất lớn hơn 100
Tốt với bảng có >10 thuộc tính Tự động xác định.
Có
Bảng 6. So sánh K-means và O-cluster
III.1.7. Sử dụng các chức năng và lựa chọn thuật toán
Thuật toán Chức năng Thích hợp ứng dụng
ABN
Phân lớp - Dữ liệu có nhiều thuộc tính
- Trong suốt mô hình bằng các luật - Kiểm soát thời gian xây dựng mô hình. Naive Bayes Phân lớp Thời gian xây dựng mô hình nhanh nhất k-Means Gộp nhóm - Cần chỉ ra số các nhóm
- Chỉ khai phá dữ liệu số - Các bảng nhỏ (<100 rows) - Số các thuộc tính nhỏ <100 O-Cluster Phân nhóm - Tự động xác định số các nhóm.
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle - Thuộc tính số và định danh. - Có số thuộc tính >20.
- Có số ví dụ >1000.
III.2. Các bƣớc khai phá dữ liệu
1. Thu thập và tiền xử lý dữ liệu 2. Xây dụng mô hình.
3. Kiểm thử mô hình. 4. Tính toán sai lệch.
5. Áp dụng mô hình trên các dữ liệu mới. III.2.1. Xây dựng mô hình
Để xây dựng mô hình ODM cần biết các thông tin sau: Server nào đƣợc dùng để khai phá dữ liệu?
Dữ liệu cho khai phá ở đâu và tổ chức nhƣ thế nào?
Sẽ xây dựng theo loại mô hình nào? Sử dụng hàm, thuật toán nào? Mô hình đƣợc xây dựng đồng bộ hay không đồng bộ?
Các bƣớc cơ bản của việc xây dựng mô hình bao gồm: 1. Đặc tả vật lý dữ liệu vào nhƣ: Bảng, View...
2. Tạo một hàm khai phá, các khởi tạo đối tƣợng, đặc tả tham số vào cho thuật toán. 3. Tạo đặc tả logic dữ liệu liên kết với các khởi tạo hàm khai phá.
4. Tạo các thiết lập thuật toán .
5. Tạo nhiệm vụ xây và khởi tạo phƣơng thức thực hiện. III.2.2. Kiểm thử mô hình
Các mô hình phân lớp có thể đƣợc kiểm thử để đánh giá tính chính xác của mô hình bằng cách áp dụng cho bảng dữ liệu mới có cùng khuôn dạng nhƣ là bảng dữ liệu đã đƣợc xây dựng. Kết quả kiểm thử phân lớp là một ma trận hỗn hợp cho
Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle phép ngƣời dùng hiểu đƣợc loại và số lỗi phân lớp.
III.2.3. Áp dụng - ghi điểm mô hình - Scoring
Áp dụng mô hình phân lớp nhƣ NB hoặc ABN để ghi điểm dữ liệu hoặc dự đoán với xác suất kết hợp. Việc ứng dụng mô hình gộp nhóm, với mỗi trƣờng hợp dự đoán sẽ định danh nhóm và xác suất trƣờng hợp thuộc vào nhóm đó. Các dữ liệu áp dụng cần có cùng format và trạng thái tiền xử lý giống nhƣ dữ liệu đã đƣợc xây dựng mô hình. Áp dụng mô hình gộp nhóm cho dữ liệu mới sẽ nhận biết nhóm dự