• Luật kết hợp association rules• Phân lớp Classfication • Hồi qui Regression • Trực quan hóa Visualiztion • Phân cụm Clustering • Tổng hợp Summarization • Mô hình ràng buộc Dependency m
Trang 1CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT
CÀI ĐẶT MẠNG KOHONEN-SOM, BACK-PROPAGATION, PERCEPTRON CLASSIFIER VÀ
CÁC ỨNG DỤNG
DEMO LƯỚI KOHONEN SOM VÀ COLOR CLUSTERING
NHẬN DẠNG KÝ TỰ VIẾT TAY VỚI SOM VÀ MẠNG NEURON
MẠNG LAN TRUYỀN NGƯỢC (BACK-PROPAGATION) VÀ ỨNG DỤNG TÌM XẤP XỈ HÀM (FUNCTION APPROXIMATION)
BỘ PHÂN LOẠI PERCEPTRON (PERCEPTRON CLASSIFIER)
Trang 2“We are drowning in data yet starving for knowledge”
- John
Naisbitt-(Chúng ta đang chết chìm trong dữ liệu nhưng chết đói vì tri thức)
Trang 3Lời Mở Đầ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 thuthậ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ứanhữ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 mangtí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 cơ sở dữ liệu truyền thống ngày càng không đáp ứng đượcthự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ĩnhvự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 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ácnguồ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 khaiphá 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á quantrọng Vì vậy, trong luận văn này, tác giả sẽ đề cập tới hai kỹ thuật thường dùng trong Khai phá dữ liệu,
đó là Phân loại (Classification) và Phân cụm (Clustering hay Cluster Analysis)
Bị lôi cuốn bởi mạng Kohonen SOM và các ứng dụng mà GS-TS Đỗ Phúc đã truyền đạt trên lớp, em quyết
định làm bài thu hoạch này về Kohonen SOM và lý thuyết mạng Neuron Mặc dù ban đầu gặp nhiều khó
khăn, nhưng kết quả em đã cài đặt thành công mạng Kohonen SOM, Mạng lan truyền ngược ( Propagation) và bộ phân loại Perceptron (Perceptron Classifier) và nhiều ứng dụng thú vị dựa trên nó
Back-như : Color Clustering, nhận dạng các ký tự chữ viết tay, xấp xỉ hàm …
Các phần đầu của bài thu hoạch em trình bày lý thuyết cơ sở về Khai phá dữ liệu và lý thuyết cơ sở sửdụng trong các demo chương trình như Phân loại dữ liệu, Phân cụm dữ liệu, mạng Neuron và Kohonen-SOM Phần 6 là giới thiệu về cài đặt các chương trình Ngoài ra, em cũng trình bày các kết quả thựcnghiệm khi chạy chương trình và các hình ảnh chụp lại của các ứng dụng khi hoạt động với các thông số
Trang 4Xin chân thành cám ơn !
Vũ Minh Thành – 11/2012
Trang 5NỘI DUNG
Trang 66 SVM Support Vector Machine
7 ANN Artificial Neural Network
8 BMU Best Matching Unit
9 SOM Self-Organizing Map Bản đồ tự tổ chức
10 OCR Optical Character Recognition Nhận dạng ký tự quang
Trang 7DANH MỤC CÁC HÌNH MINH HỌA
Hình 1.1: Quá trình KPTT
Hình 1.2: Quá trình KPDL
Hình 1.3: Các lĩnh vực có liên hệ với KPDL
Hình 2.1: Xử lý phân loại dữ liệu
Hình 2.2 : Tập dữ liệu và Cây quyết định
Hình 2.3 : Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng cách biên lớn
nhất Các điểm gần h nhất (được khoanh tròn) là các vector hỗ trợ - Support Vector
Hình 3.1 : Mô tả dữ liệu vay nợ được phân thành 3 cụm
Hình 3.2 : Các chiến lược phân cụm phân cấp
Hình 4.9 : Cấu trúc của BAM
Hình 4.10 : Cấu trúc huấn luyện mạng nơron
Hình 4.11 : Học có giám sát (supervised learning)
Hình 4.12 : Học không có giám sát (Unsupervised learning)
Trang 8Hình 5.2 : Mô hình mạng nơron Kohonen
Hình 5.3 : Sơ đồ khối quá trình huấn luyện mạng nơron Kohonen
Hình 5.4 : Mô hình SOM
Hình 5.5 : Các phần tử lân cận của MBU
Hình 5.6 : Các ví dụ về sự co lại của bán kính lân cận
Hình 6.1 : Ứng dụng sinh mạng SOM đơn giản với các neuron đầu vào và ra
Hình 6.2 : Sourcecode chương trình GenerateSOM
Hình 6.3 : Mạng Kohonen SOM với nhiều thông số tùy biến
Hình 6.4 : Sourcecode chương trình KohonenSOM
Hình 6.5 : Chương trình nhận dạng chữ viết dùng SOM
Hình 6.6 : Biểu diễn ký tự G theo ma trận 5x7 pixel
Hình 6.7 : Sourcecode chương trình OCRSOM
Hình 6.8 : Sourcecode chương trình ColorClusteringKohonenSOM
Hình 6.9 : Ứng dụng mạng lan truyền ngược tìm xấp xỉ hàm
Hình 6.10 : Sourcecode chương trình Approximation
Hình 6.11 : Bộ phân loại Perceptron đơn giản
Hình 6.12 : Mô hình Perceptron
Hình 6.13 : Sourcecode chương trình PerceptronClassifier
Hình 7.1 : Chương trình SOM khi chạy với các thông số output neuron khác nhau
Hình 7.2 : Chương trình KohonenSOM khi chạy với các thông số training khác nhau
Hình 7.3 : Kết quả nhận dạng các ký tự khác nhau của OCRSOM
Hình 7.4 : Vài kết quả khi chạy chương trình ColorClustering với các tham số training khác nhau
Hình 7.5 : Vài kết quả khi chạy chương trình Function Approximation với các file sample data khác
nhau và với các thông số mạng khác nhau
Hình 7.6 : Vài kết quả khi chạy chương trình Perceptron Classifier với các mẫu khác nhau
Trang 101 PHẦN 1 : TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
1.1 GIỚI THIỆU CHUNG VỀ KPTT VÀ KPDL
Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì dữ liệu, thôngtin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phátri thức và khai phá dữ liệu
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các ký hiệu hay là các “đối
tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Các bits
thường được sử dụng để đo thông tin, và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Tri thức được xem như là các thông
tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặcnghiên cứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và
Trang 111.2 QUÁ TRÌNH KHÁM PHÁ TRI THỨC
Hình 1.1: Quá trình KPTT
• Bao gồm các bước sau:
Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu và dữ liệu không nhất quán.
Tích hợp dữ liệu (Data Intergation): Dữ liệu của nhiều nguồn có thể được tổ hợp lại.
Lựa chọn dữ liệu (Data Selection): Lựa chọn những dữ liệu phù hợp với nhiệm vụ phân tích trích rút từ
cơ sở dữ liệu
Chuyển đổi dữ liệu (Data Transformation): Dữ liệu được chuyển đổi hay được hợp nhất về dạng thích
Trang 12Đánh giá mẫu (Pattern Evaluation): Dựa trên một độ đo nào đó xác định lợi ích thực sự, độ quan trọng
của các mẫu biểu diễn tri thức
Biểu diễn tri thức (Knowledge Presentation): Ở giai đoạn này các kỹ thuật biểu diễn và hiển thị được sử
dụng để đưa tri thức lấy ra cho người dùng
Trang 131.3 QUÁ TRÌNH KHAI PHÁ DỮ LIỆU
KPDL là một giai đoạn quan trọng trong quá trình KPTT Về bản chất, nó là giai đoạn duy nhất tìm
ra được thông tin mới, thông tin tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ
liệu mà con người có thể hiểu được
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên
hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra các mẫu, dự đoán được những giá trị chưabiết hoặc những giá trị tương lai của các biến quan tâm
Quá trình KPDL bao gồm các bước chính được thể hiện như Hình 1.2 sau:
Hình 1.2: Quá trình KPDL
• Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.
• Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.
• Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng sao cho thuật
toán KPDL có thể hiểu được Đây là một quá trình rất khó khăn, có thể gặp phải rất nhiều cácvướng mắc như : dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lýtập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v
• Thuật toán khai phá dữ liệu: Lựa chọn thuật toán KPDL và thực hiện việc PKDL để tìm được các
mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứng
Trang 14• Luật kết hợp (association rules)
• Phân lớp (Classfication)
• Hồi qui (Regression)
• Trực quan hóa (Visualiztion)
• Phân cụm (Clustering)
• Tổng hợp (Summarization)
• Mô hình ràng buộc (Dependency modeling)
• Biểu diễn mô hình (Model Evaluation)
• Phân tích sự phát triển và độ lệch (Evolution and deviation analyst)
• Phương pháp tìm kiếm (Search Method)
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba phương pháp
được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu.
1.5 CÁC LĨNH VỰC ỨNG DỤNG THỰC TIỄN CỦA KPDL
KPDL là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên cứu nhờ vàonhững ứng dụng thực tiễn của nó Sau đây là một số lĩnh vực ứng dụng thực tế điển hình của KPDL:
- Phân tích dữ liệu và hỗ trợ ra quyết định
- Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân
cụm ảnh màu
- Chuẩn đoán triệu chứng, phương pháp trong điều trị y học
- Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học
- Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài
Trang 15Hình 1.3: Các lĩnh vực có liên hệ với KPDL
1.6 CÁC HƯỚNG TIẾP CẬN CƠ BẢN VÀ KỸ THUẬT ÁP DỤNG TRONG KPDL
Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp cận chính sau:
- Phân lớp và dự đoán (classification &prediction): Là quá trình xếp một đối tượng vào một trong
những lớp đã biết trước (ví dụ: phân lớp các bệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa
lý theo dữ liệu thời tiết ) Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của học máynhư cây quyết định (decision tree), mạng nơron nhân tạo (neural network), Hay lớp bài toán này cònđươc gọi là học có giám sát - Học có thầy (supervised learning)
- Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từng cụm dữ liệu tự nhiên, tức là
số lượng và tên cụm chưa được biết trước Các đối tượng được gom cụm sao cho mức độ tương tựgiữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trongcác
cụm khác nhau là nhỏ nhất Lớp bài toán này còn được gọi là học không giám sát - Học không thày(unsupervised learning)
- Luật kết hợp (association rules): Là dạng luật biểu diễn tri thức ở dạng khá đơn giản (Ví dụ: 80% sinh
viên đăng ký học CSDL thì có tới 60% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin).Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo dục, viễnthông, tài chính và thị trường chứng khoán,
- Phân tích chuỗi theo thời gian (sequential/temporal patterns): Cũng tương tự như khai phá dữ liệu
bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng
Trang 16- Mô tả khái niệm (concept desccription & summarization): Lớp bài toán này thiên về mô tả, tổng hợp
và tóm tắt khái niệm (Ví dụ: tóm tắt văn bản)
1.7
Trang 171 LỢI THẾ CỦA KPDL SO VỚI CÁC PHƯƠNG PHÁP KHÁC
Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiều ngành học khác như: hệ CSDL, thốngkê, Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kĩthuật như mạng nơ ron, lí thuyết tập thô hoặc tập mờ, biểu diễn tri thức… Như vậy, khai phá dữ liệuthực ra là dựa trên các phương pháp cơ bản đã biết Tuy nhiên, sự khác biệt của khai phá dữ liệu sovới các phương pháp đó là gì? Tại sao khai phá dữ liệu lại có ưu thế hơn hẳn các phương pháp cũ? Ta
sẽ lần lượt xem xét và giải quyết các câu hỏi này
• Máy học (Machine Learning)
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu có thể sử dụngvới các cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so với các tập dữ liệu họcmáy điển hình Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ítbiến động và tập dữ liệu không quá lớn
Thật vậy, trong học máy, thuật ngữ cơ sở dữ liệu chủ yếu đề cập tới một tập các mẫu được lưu trongtệp Các mẫu thường là các vectơ với độ dài cố định, thông tin về đặc điểm, dãy các giá trị của chúngđôi khi cũng được lưu lại như trong từ điển dữ liệu Một giải thuật học sử dụng tập dữ liệu và cácthông tin kèm theo tập dữ liệu đó làm đầu vào và đầu ra biểu thị kết quả của việc học Học máy có khảnăng áp dụng cho cơ sở dữ liệu, lúc này, học máy sẽ không phải là học trên tập các mẫu nữa mà họctrên tập các bản ghi của cơ sở dữ liệu Tuy nhiên, trong thực tế, cơ sở dữ liệu thường động, không đầy
đủ và bị nhiễu, lớn hơn nhiều so với các tập dữ liệu học máy điển hình Các yếu tố này làm cho hầu hếtcác giải thuật học máy trở nên không hiệu quả Khai phá dữ liệu lúc này sẽ xử lý các vấn đề vốn đã điểnhình trong học máy và vượt quá khả năng của học máy, đó là sử dụng được các CSDL chứa nhiềunhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục
• Hệ chuyên gia (Expert Systems)
Các hệ chuyên gia nắm bắt các tri thức cần thiết cho một bài toán nào đó Các kỹ thuật thu thập giúpcho việc lấy tri thức từ các chuyên gia con người.
Mỗi phương pháp hệ chuyên gia là một cách suy diễn các luật từ các ví dụ và giải pháp đối với bài toánchuyên gia đưa ra Phương pháp hệ chuyên gia khác với khai phá dữ liệu ở chỗ các ví dụ của chuyêngia thường ở mức chất lượng cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao
Trang 18- Thống kê hoàn toàn tính toán trên dữ liệu, nó không sử dụng tri thức sẵn có về lĩnh vực quan tâm
- Các kết quả của phân tích thống kê có thể rất nhiều và khó có thể làm rõ được
- Các phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu nhưthế nào và ở đâu
Phương pháp thống kê là một trong những nền tảng lí thuyết của khai phá dữ liệu Sự khác nhau cơbản giữa khai phá dữ liệu và thống kê ở chỗ khai phá dữ liệu là một phương tiện được dùng bởi người
sử dụng đầu cuối chứ không phải là các nhà thống kê Khai phá dữ liệu đã khắc phục được các yếuđiểm trên của thống kê, tự động quá trình thống kê một cách hiệu quả vì thế giảm bớt công việc củangười dùng đầu cuối, tạo ra một công cụ dễ sử dụng hơn
1.8 CÁC THÁCH THỨC – KHÓ KHĂN TRONG KPTT VÀ KPDL
• Các cơ sở dữ liệu lớn hơn rất nhiều: cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản
ghi và kích thước lên tới nhiều gigabyte là vấn đề hoàn toàn bình thường và cơ sở dữ liệu terabyte(1012 bytes) cũng đã bắt đầu xuất hiện
• Số chiều cao: Không chỉ thường có một số lượng rất lớn các bản ghi trong cơ sở dữ liệu mà còn có
một số lượng rất lớn các trường (các thuộc tính, các biến) làm cho số chiều của bài toán trở nêncao Thêm vào đó, nó tăng thêm cơ hội cho một giải thuật khai phá dữ liệu tìm ra các mẫu khônghợp lệ Vậy nên cần giảm bớt hiệu quả kích thước của bài toán và tính hữu ích của tri thức chotrước để nhận biết các biến không hợp lệ
• Over-fitting (quá phù hợp): Khi giải thuật tìm kiếm các tham số tốt nhất cho một mô hình đặc biệt
sử dụng một tập hữu hạn dữ liệu, kết quả là mô hình biểu diễn nghèo nàn trên dữ liệu kiểm định.Các giải pháp có thể bao gồm hợp lệ chéo, làm theo quy tắc và các chiến lược thống kê tinh vikhác
• Thay đổi dữ liệu và tri thức: Thay đổi nhanh chóng dữ liệu (động) có thể làm cho các mẫu được
phát hiện trước đó không còn hợp lệ Thêm vào đó, các biến đã đo trong một cơ sở dữ liệu ứngdụng cho trước có thể bị sửa đổi, xoá bỏ hay tăng thêm các phép đo mới Các giải pháp hợp lý baogồm các phương pháp tăng trưởng để cập nhật các mẫu và xử lý thay đổi
• Dữ liệu thiếu và bị nhiễu: Bài toán này đặc biệt nhạy trong các cơ sở dữ liệu thương mại Dữ liệu
điều tra dân số U.S cho thấy tỷ lệ lỗi lên tới 20% Các thuộc tính quan trọng có thể bị mất nếu cơ sở
dữ liệu không được thiết kế với sự khám phá bằng trí tuệ Các giải pháp có thể gồm nhiều chiếnlược thống kê phức tạp để nhận biết các biến ẩn và các biến phụ thuộc
• Mối quan hệ phức tạp giữa các trường: Các thuộc tính hay các giá trị có cấu trúc phân cấp, các
quan hệ giữa các thuộc tính và các phương tiện tinh vi hơn cho việc biểu diễn tri thức về nội dungcủa một cơ sở dữ liệu sẽ đòi hỏi các giải thuật phải có khả năng sử dụng hiệu quả các thông tinnày Về mặt lịch sử, các giải thuật khai phá dữ liệu được phát triển cho các bản ghi có giá trị thuộctính đơn giản, mặc dầu các kỹ thuật mới bắt nguồn từ mối quan hệ giữa các biến đang được pháttriển
• Tính dễ hiểu của các mẫu: Trong nhiều ứng dụng, điều quan trọng là những gì khai thác được phải
càng dễ hiểu đối với con người thì càng tốt Các giải pháp có thể thực hiện được bao gồm cả việc
Trang 19biểu diễn được minh hoạ bằng đồ thị, cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngônngữ tự nhiên và các kỹ thuật hình dung ra dữ liệu và tri thức.
• Người dùng tương tác và tri thức sẵn có: Nhiều phương pháp KDD hiện hành và các công cụ
không tương tác thực sự với người dùng và không thể dễ dàng kết hợp chặt chẽ với tri thức có sẵn
về một bài toán loại trừ theo các cách đơn giản Việc sử dụng của miền tri thức là quan trọng trongtoàn bộ các bước của xử lý KDD
• Tích hợp với các hệ thống khác: Một hệ thống phát hiện đứng một mình có thể không hữu ích
lắm Các vấn đề tích hợp điển hình gồm có việc tích hợp với một DBMS (tức là qua một giao diệntruy vấn), tích hợp với các bảng tính và các công cụ trực quan và điều tiết các dự đoán cảm biếnthời gian thực
1.9 KẾT LUẬN
KPDL là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sựquan tâm của nhiều chuyên gia về CNTT trên thế giới Trong những năm gần đây, rất nhiều các phươngpháp và thuật toán mới liên tục được công bố Điều này chứng tỏ những ưu thế, lợi ích và khả năng ứngdụng thực tế to lớn của KPDL Chương này đã trình bày một số kiến thức tổng quan về KPTT, những kháiniệm và kiến thức cơ bản nhất về KPDL
Trang 202 PHẦN 2 : KỸ THUẬT PHÂN LOẠI TRONG KHAI PHÁ DỮ LIỆU (CLASSIFICATION)
2.1 GIỚI THIỆU VỀ KỸ THUẬT PHÂN LOẠI TRONG KPDL
Các cơ sở dữ liệu với rất nhiều thông tin ẩn có thể được sử dụng để tạo nên các quyết định kinhdoanh thông minh Phân loại là một dạng của phân tích dữ liệu, nó dùng để trích ra các mô hình mô tảcác lớp dữ liệu quan trọng hay để dự đoán các khuynh hướng dữ liệu tương lai Phân loại dùng để dựđoán các nhãn xác thực (hay các giá trị rời rạc) Nhiều phương pháp phân loại được đề xuất bởi các nhànghiên cứu các lĩnh vực như học máy, hệ chuyên gia, thống kê Hầu hết các giải thuật dùng với giả thiếtkích thước dữ liệu nhỏ Các nghiên cứu khai phá cơ sở dữ liệu gần đây đã phát triển, xây dựng mở rộngcác kỹ thuật phân loại có khả năng sử dụng dữ liệu thường trú trên đĩa lớn Các kỹ thuật này thườngđược xem xét xử lý song song và phân tán
Mô hình học được biểu diễn dưới dạng các luật phân loại, cây quyết định hay công thức toán học Ví
dụ, cho trước một cơ sở dữ liệu thông tin về độ tín nhiệm của khách hàng, các luật phân loại được học
để nhận biết các khách hàng có độ tín nhiệm là tốt hay khá tốt (Hình 2.1a) Các luật được dùng để
phân loại các mẫu dữ liệu tương lai cũng như cung cấp cách hiểu tốt hơn về nội dung cơ sở dữ liệu
Trang 21Trong bước thứ hai (hình 2.1b), mô hình được dùng để phân loại Trước tiên, đánh giá độ chính xác dựđoán của mô hình (hay classifier) Phần 2.8 của chương này mô tả một số phương pháp đánh giá độ
chính xác classifier Phương pháp holdout là một kỹ thuật đơn giản sử dụng một tập kiểm định các mẫu
đã được gắn nhãn lớp Các mẫu này được chọn lựa ngẫu nhiên và độc lập với các mẫu huấn luyện Độchính xác của mô hình trên một tập kiểm định cho trước là phần trăm các mẫu của tập kiểm định được
mô hình phân loại đúng Đối với mỗi mẫu kiểm định, nhãn lớp đã biết được so sánh với dự đoán lớpcủa mô hình đã học cho mẫu đó Nếu độ chính xác của mô hình được đánh giá dựa trên tập dữ liệuhuấn luyện, sự đánh giá này có thể là tối ưu, do vậy mô hình học có khuynh hướng quá phù hợp
(overfit) dữ liệu Bởi vậy, cần dùng một tập kiểm định Nếu độ chính xác của mô hình là chấp nhận
được, mô hình có thể được sử dụng để phân loại các bộ hay các đối tượng dữ liệu tương lai mà chưabiết nhãn lớp Ví dụ, các luật phân loại học trong hình 2.1a: việc phân tích dữ liệu khách hàng từ các
khách hàng đã tồn tại có thể được dùng để dự đoán độ tín nhiệm của các khách hàng mới.
2.2 CÁC VẤN ĐỀ QUAN TÂM CỦA PHÂN LOẠI
2.2.1 Chu ẩn bị dữ liệu để phân loại
Các bước tiền xử lý dữ liệu sau đây giúp cải thiện độ chính xác, hiệu suất và khả năng mở rộng củaphân loại
Trang 22- Phân tích sự thích hợp: Nhiều thuộc tính trong dữ liệu có thể không thích hợp hay không cần
thiết để phân loại Vì vậy, phép phân tích sự thích hợp được thực hiện trên dữ liệu với mục đích
gỡ bỏ bất kỳ những thuộc tính không thích hợp hay không cần thiết Trong học máy, bước này gọi
là trích chọn đặc trưng Phép phân tích này giúp phân loại hiệu quả và nâng cao khả năng mởrộng
- Biến đổi dữ liệu: Dữ liệu có thể được tổng quát hoá tới các mức khái niệm cao hơn Điều này rất hữu ích cho các thuộc tính có giá trị liên tục Ví dụ, các giá trị số của thuộc tính thu nhập được tổng quát hoá sang các phạm vi rời rạc như thấp, trung bình và cao Tương tự, các thuộc tính giá trị tên như đường phố được tổng quát hoá tới khái niệm mức cao hơn như thành phố Nhờ đó các
thao tác vào/ra trong quá trình học sẽ ít đi
Dữ liệu cũng có thể được tiêu chuẩn hoá, đặc biệt khi các mạng nơron hay các phương pháp dùngphép đo khoảng cách trong bước học Tiêu chuẩn hoá biến đổi theo tỷ lệ tất cả các giá trị của mộtthuộc tính cho trước để chúng rơi vào phạm vi chỉ định nhỏ như [-1.0,1.0] hay [0,1.0] Tuy nhiên
điều này sẽ cản trở các thuộc tính có phạm vi ban đầu lớn (như thu nhập) có nhiều ảnh hưởng
hơn đối với các thuộc tính có phạm vi nhỏ hơn ban đầu (như các thuộc tính nhị phân)
2.2.2 So sánh các phương pháp phân loại
Các phương pháp phân loại có thể được so sánh và đánh giá theo các tiêu chí sau:
- Độ chính xác dự đoán: Dựa trên khả năng mô hình dự đoán đúng nhãn lớp của dữ liệu mới.
- Tốc độ: Dựa trên các chi phí tính toán Chi phí này bao gồm sinh và sử dụng mô hình.
- Sự tráng kiện: Dựa trên khả năng mô hình đưa ra các dự đoán chính xác dữ liệu nhiễu hay dữ liệu
với các giá trị khuyết cho trước
- Khả năng mở rộng: Dựa trên khả năng trình diễn hiệu quả của mô hình đối với dữ liệu lớn.
- Khả năng diễn dịch: Dựa trên mức khả năng mà mô hình cung cấp để hiểu thấu đáo dữ liệu.
2.3 CÁC THUẬT TOÁN PHÂN LOẠI TIÊU BIỂU
Có rất nhiều thuật toán khác nhau để giải quyết bài toán phân lớp, tiêu biểu có 1 số thuật toán sau
Trang 232.3.1 Phân l ớ p theo thu ậ t to á n Naive Bayes
Naive Bayes là một trong những phương pháp phân lớp dựa vào xác suất điển hình nhất trongkhai thác dữ liệu và tri thức
Cách tiếp cận này sử dụng xác suất có điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề củamột văn bản cần phân lớp Đồng thời, giả định rằng sự xuất hiện của tất cả các từ trong văn bảnđều độc lập với nhau Như thế, nó sẽ không sử dụng việc kết hợp các từ để đưa ra phán đoán chủ
đề như một số phương pháp khác, điều này sẽ làm cho việc tính toán Naive Bayes hiệu quả vànhanh chóng hơn
Naive Bayes là một phương pháp rất hiệu quả trong một số trường hợp Nếu tập dữ liệu huấnluyện nghèo nàn và các tham số dự đoán (như không gian đặc trưng) có chất lượng kém thì sẽ dẫnđến kết quả tồi Tuy nhiên, nó được đánh giá là một thuật toán phân lớp tuyến tính thích hợptrong phân lớp văn bản nhiều chủ đề với một số ưu điểm: cài đặt đơn giản, tốc độ nhanh, dễ dàngcập nhật dữ liệu huấn luyện mới và có tính độc lập cao với tập huấn luyện, có thể sử dụng kết hợpnhiều tập huấn luyện khác nhau Thông thường, người ta còn đặt thêm một ngưỡng tối ưu để chokết quả phân lớp khả quan
2.3.2 Phân l ớ p theo thu ậ t to á n K-Nearest Neighbor (KNN)
Thuật toán phân lớp KNN là một phương pháp truyền thống và khá nổi tiếng trong hướng tiếpcận dựa trên thống kê, đã được nghiên cứu trong nhận dạng mẫu trong vài thập kỷ gần đây
Nó được đánh giá là một trong những phương pháp tốt nhất và được sử dụng ngay từ những thời
kỳ đầu của phân lớp văn bản
Muốn phân lớp một văn bản mới, thuật toán KNN sẽ tính khoảng cách (Euclide, Cosine …) của vănbản này đến các văn bản trong tập huấn luyện và chọn ra k văn bản có khoảng cách gần nhất, còngọi là k “láng giềng” Dùng các khoảng cách vừa tính được đánh trọng số cho các chủ đề đã có.Trọng số của một chủ đề sẽ được tính bằng tổng các khoảng cánh từ văn bản cần phân lớp đến cácvăn bản trong k láng giềng mà có cùng chủ đề đó Những chủ đề không xuất hiện trong tập k vănbản sẽ có trọng số bằng 0 Các chủ đề được sắp xếp theo độ giảm dần của các trọng số và chủ đềnào có trọng số cao sẽ là chủ đề cho văn bản cần phân lớp
Trang 24Một ưu điểm của phương pháp cây quyết định là có thể chuyển dễ dàng sang dạng cơ sở tri thức
là các luật Nếu - Thì (If - Then).
Trên cây gồm các nút trong được gán nhãn bởi các khái niệm, các nhánh cây chứa nút được gán nhãn bằng các trọng số của khái niệm tương ứng đối với tài liệu mẫu và các lá trên cây được gán nhãn bởi các nhãn nhóm Một hệ thống như vậy sẽ phân loại một tài liệu di bởi phép thử đệ quy các trọng số mà các khái niệm được gán nhãn cho các nút trong với vector i d cho đến khi với tới một nút lá, khi đó nhãn của nút này được gán cho tài liệu di Đa số các phương pháp phân loại nhưvậy sử dụng biểu diễn ở dạng nhị phân và các cây cũng được biểu diễn dưới dạng nhị phân
Ví dụ cây quyết định:
Trang 25Hình 2.2 : Tập dữ liệu và Cây quyết định
Trang 262.3.4 Phân l ớ p theo Support Vector Machines (SVM)
Máy sử dụng vector hỗ trợ (SVM) được Cortess và Vapnik giới thiệu năm 1995, là phương pháp tiếp cận phân lớp hiệu quả để giải quyết vấn đề nhận dạng mẫu 2 lớp sử dụng nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc (Structural Risk Minimization)
Trong không gian vector cho trước một tập huấn luyện được biểu diễn trong đó mỗi tài liệu là một
điểm, thuật toán SVM sẽ tìm ra một siêu mặt phẳng h quyết định tốt nhất có thể chia các điểm
trên không gian này thành hai lớp riêng biệt tương ứng lớp + và lớp – Chất lượng của siêu mặt phẳng phân cách này được quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt và việc phân lớp càng chính xác Mục đích thuật toán SVM là tìm được khoảng cách biên lớn nhất
Hình 2.3 : Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng cách biên lớn
nhất Các điểm gần h nhất (được khoanh tròn) là các vector hỗ trợ - Support Vector
Trang 273 PH Ầ N 3 : KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
3.1 GIỚI THIỆU VỀ PHÂN CỤM DỮ LIỆU
Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vàocá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ụmkhá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 có thầy.Không giống như phân lớp 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, trong khi phân lớp
dữ liệu là học bằng ví dụ… 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 như là phân loại và mô tả đặc điểm, có tác dụng trong việcphát hiện ra các cụm
Hình 3.1 : Mô tả dữ liệu vay nợ được phân thành 3 cụm
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người Ngay từ lúc bé, con người đã họccách làm thế nào để phân biệt giữa mèo và chó, giữa động vật và thực vật và liên tục đưa vào sơ đồphân loại trong tiềm thức của mình Phân cụm được sử dụng rộng rãi trong nhiều ứng dụng, bao gồmnhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường Với tư cách là một chức năngkhai phá dữ liệu, phân tích phân cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sátđặc trưng của mỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệtcủa các cụm để giúp cho việc phân tích đạt kết quả
Trang 28nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tươngứng Ngoài ra, dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trongphân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các
dữ liệu trong CSDL, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệunhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm
Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập DL chưa có nhãn Nhưng để có thểquyết định được cái vì tạo thành một cụm tốt Nó có thể được chỉ ra rằng không có tiêu chuẩn tuyệtđối “tốt” mà có thể không phụ thuộc vào kq phân cụm Vì vậy, nó đòi hỏi người sử dụng phải cung cấptiêu chuẩn này, theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu
Theo các nghiên cứu cho thấy thì hiện nay chưa có một phương pháp phân cụm tổng quát nào có thểgiải quyết trọn vẹn cho tất cả các dạng cấu trúc CSDL Hơn nữa, các phương pháp phân cụm cần cócách thức biểu diễn cấu trúc của các CSDL, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng mộtthuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giảiquyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt làđối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trongnhững thách thức lớn trong lĩnh vực KPDL
3.2 CÁC ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU
Phân cụm dữ liệu có thể được ứng dụng trong nhiều lĩnh vực như:
Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng tương đồng và những đặc
tả họ từ các bản ghi mua bán trong CSDL
Sinh học: Phân loại các gen với các chức năng tương đồng và thu được các cấu trúc trong mẫu Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để cung cấp cho độc giả Bảo hiểm: Nhận dạng nhóm tham gia bảo hiểm có chi phí bồi thường cao, nhận dạng gian lận
thương mại
Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lí, nhằm cung cấp thông tin
cho quy hoạch đô thị
Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho nhận
dạng các vùng nguy hiểm
WWW: Có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý nghĩa trong môi trường Web.
Các lớp tài liệu này trợ giúp cho việc KPTT từ dữ liệu
3.3 CÁC YÊU CẦU CỦA PHÂN CỤM
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúngđược đưa ra ngay chính trong những yêu cầu đặc biệt của chúng Sau đây là những yêu cầu cơ bản củaphân cụm trong KPDL:
• Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập dữ liệu nhỏ chứa ít
hơn 200 đối tượng, tuy nhiên, một CSDL lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm
Trang 29với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm cách nào để chúng ta có thểphát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các CSDL lớn ?
• Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật toán được thiết kế cho việc
phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phâncụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứtự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này
• Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm xác định các cụm dựa trên
các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép
đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuynhiên, một cụm có thể có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán có thểkhám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng
• Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều thuật toán phân cụm yêu
cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng cáccụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiềutham số rất khó để xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn Điều này khôngnhững gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng củaphân cụm
• Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa đựng dữ liệu ngoại lai,
dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toán phân cụm nhạy cảm với dữ liệunhư vậy và có thể dẫn đến chất lượng phân cụm thấp
• Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm nhạy cảm với thứ tự của
dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì vớicùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển cácthuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu
• Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số các thuộc
tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến
3 chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có
từ 3 chiều trở lên Nó là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiềulớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn
• Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng
buộc khác nhau Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu có trạng thái phân cụm tốt vàthỏa mãn các ràng buộc
• Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải
và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng.Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm Sau đó,
ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
Trang 303.4 NHỮNG KỸ THUẬT TIẾP CẬN TRONG PHÂN CỤM DỮ LIỆU
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính sau :
3.4.1 Phương pháp phân cụm phân hoạch
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số
các cụm được thiết lập Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phươngpháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean
Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn cácđiểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệu nào không cóquan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác Tuy nhiên, phương pháp này không thể
xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc Các thuật toán phânhoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL, do nóphải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế thường đi tìm giảipháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượngcủa cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởngchính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy)
để tìm kiếm nghiệm
3.4.2 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa làsắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xâydựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này đó là:
- Hòa nhập nhóm, thường được gọi là tiếp cận Bottom-Up
- Phân chia nhóm, thường được gọi là tiếp cận Top-Down
Trang 31Hình 3.2 : Các chiến lược phân cụm phân cấp
Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phâncụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông quabước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương phápPCDL cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được ápdụng phổ biến trong KPDL
1 Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số các đốitượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó Trong cách tiếp cận này, khi một
dữ liệu đã xác định thì nó tiếp tục được phát triển thêm các đối tượng dữ liệu mới miễn là số cácđối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụmdựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữliệu với hình thù bất kỳ Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá trịnhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó khăn, trong khicác tham số này lại có tác động rất lớn đến kết quả phân cụm
2 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới
để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hóa dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới chứ không phải các
Trang 32lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới.
Hình 3.3 : Cấu trúc phân cấp
1 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho việc phântích thông tin địa lí, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng
để xác định các ràng buộc trong thế giới thực cần phải được thỏa mãn trong quá trình phân cụm
Để PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp chongười dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Trang 33Hình 3.4 : Các cách mà các cụm có thể đưa ra
Trang 34Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển và áp dụng nhiều trong cáclĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phươngpháp đó như:
Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên cứu này sử dụng
các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho các dữ liệu cóthuộc tính số
Phân cụm khái niệm: Kỹ thuật này được phát triển áp dụng cho dữ liệu hạng mục, chúng phân
cụm các đối tượng theo các khái niệm mà chúng xử lí
Phân cụm mờ: Sử đụng kỹ thuật mờ để PCDL Các thuật toán thuộc loại này chỉ ra lược đồ phân
cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng chỉ xử lí các dữ liệu thực khôngchắc chắn
Phân cụm mạng Kohonen: Loại phân cụm này dựa trên khái niệm của các mạng nơron Mạng
Kohonen có tầng nơron vào và các tầng nơron ra Mỗi nơron của tầng vào tương ứng với mỗithuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kếtđược gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng.Trong Phần 4 tiếp theochúng ta sẽ nói rõ hơn về mạng Neuron và kỹ thuật phân cụm theo Kohonen SOM
3.5 MỘT SỐ THUẬT TOÁN CƠ BẢN TRONG PHÂN CỤM DỮ LIỆU
Sau đây chúng ta liệt kê tên của những thuật toán cơ bản trong các loại phân cụm mà ta đã liệt kê ởphần 3.4 Trong khuôn khổ bài thu hoạch này, ta không đi sâu phân tích các thuật toán này
3.5.1 CÁC THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH
Thuật toán K-MEANS, Thuật toán PAM, Thuật toán CLARA, Thuật toán CLARANS
3.5.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN CẤP
Thuật toán CURE, Thuật toán BIRCH, Thuật toán AGNES, Thuật toán DIANA, Thuật toán ROCK, Thuật toán CHAMELEON
3.5.3 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ
Thuật toán DBSCAN, Thuật toán OPTICS, Thuật toán DENCLUE
3.5.4 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN LƯỚI
Thuật toán STING, Thuật toán CLIQUE
3.5.5 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MÔ HÌNH
Thuật toán EM, Thuật toán COBWEB
Trang 353.5.6 CÁC THUẬT TOÁN PHÂN CỤM CÓ DỮ LIỆU RÀNG BUỘC
Thuật toán phân cụm mờ : FCM, FCM và FCM-Cải tiến
Tóm lại, các kỹ thuật PCDL trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng
hầu hết chúng chỉ nhằm áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính Vì vậy, việc PCDL trên tập dữ liệu có kiểu hỗn hợp là một vấn đề đặt ra trong KPDL ở giai đoạn hiện nay
4 PHẦN 4 : GIỚI THIỆU MẠNG NEURON
4.1 GIỚI THIỆU VỀ MẠNG NEURON
4.1.1 TỔNG QUAN VỀ MẠNG NEURON
Trước hết chúng ta ai cũng biết rằng tri thức của loài người cho đến nay hết sức phong phú, sâurộng và đa dạng Nó bao gồm những hiểu biết của chúng ta từ thế giới vi mô như nguyên tử, điện tử,hạt nhân, các hạt cơ bản, đến những hiểu biết vĩ mô về trái đất, về hệ mặt trời, hệ thiên hà, hiểubiết về thế giới tự nhiên và xã hội, về các nghành khoa học, kỹ thuật khác nhau như: toán, lý, hóa, côngnghệ thông tin và cả những hiểu biết về bản thân con người Thế nhưng có một điều mà có vẻ như làmột nghịch lý đó là chúng ta biết "rất ít" về chính bộ não của chúng ta Hơn nữa do nhu cầu ngày càngcao trong việc giải quyết các vấn đề phức tạp và do bản chất của con người là không muốn bằng lòngvới hiện tại mà luôn muốn vươn tới những gì cao hơn, hoàn thiện hơn Có lẽ chính vì những điều trên
mà thuật ngữ "mạng Nơron" hoặc "mạng Nơron nhân tạo" đã ra đời Các thuật ngữ đó nói đến mộtnghành kỹ thuật mới mà nó đòi hỏi kiến thức từ nhiều nghành khoa học khác nhau như toán học, vật
lý học, hóa học, sinh vật học, tâm lý học, thần kinh học, và tất cả chỉ nhằm làm sao tạo ra nhữngchiếc máy tính hoạt động giống như " bộ não " của chính chúng ta
Mạng Nơron nhân tạo hay thường được gọi ngắn gọn là mạng Nơron là một mô hình toán họchay mô hình tính toán được xây dựng dựa trên các mạng Nơron sinh học Nó gồm có một nhóm cácNơron nhân tạo(nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trịmới tại các nút Trong nhiều trường hợp, mạng Nơron nhân tạo là một hệ thống thích ứng, tự thay đổicấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học
Trong thực tế sử dụng, nhiều mạng Nơron là các công cụ mô hình hóa dữ liệu thống kê phituyến Chúng có thể được dùng để mô hình hóa các mối quan hệ phức tạp giữa dữ liệu vào và kết quảhoặc để tìm kiếm các dạng mẫu trong dữ liệu
Trang 36Hình 4.1 : Mô hình mạng Neuron
Mạng Nơron nhân tạo (Artificial Neural Network - ANN) là một mô hình toán học bao gồm các nút xử lý
thông tin cơ sở (gọi là đơn vị xử lý hoặc Nơron) có mối liên hệ tương hỗ cao, tiến hành xử lý thông tin song song và phân tán có năng lực tính toán mạnh (ví dụ hiện nay nó có thể học, nhớ và suy diễn từ mẫu
dữ liệu ) Mỗi liên kết giữa hai Nơron kèm theo một trọng số nào đó, đặc trưng cho đặc tính kích
hoạt/ức chế giữa các Nơron Có thể xem trọng số là phương tiện để lưu giữ thông tin dài hạn trong mạngNơron và nhiệm vụ của quá trình huấn luyện (hay còn gọi là quá trình học) mạng là cập nhật các trọng sốkhi có thêm thông tin về các mẫu học, hay nói cách khác, các trọng số được điều chỉnh sao cho dáng điệuvào ra của nó mô phỏng hoàn toàn phù hợp với môi trường đang xem xét Vì vậy, cấu trúc của mạngNơron chủ yếu được đặc trưng bởi loại của các Nơron và mối liên hệ xử lý thông tin giữa chúng và do đó,mạng Nơron có rất nhiều ứng dụng trong nhiều lĩnh vực như nhận dạng, phân lớp ảnh, phân tích - nén
dữ liệu, các bài toán tối ưu, dự báo, chuẩn đoán,… Và xu thế hiện đại đó là sự kết hợp mạng Nơron vớilogic mờ
4.1.2 CẤU TRÚC MẠNG NEURON
Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần tử này có thể chia làmbốn thành phần cơ bản như sau: dendrites, soma, axon, và synapses
- Dendrites: là phần nhận tín hiệu đầu vào
- Soma: là hạt nhân
Trang 37- Axon: là phần dẫn ra tín hiệu xử lý.
- Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron
Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung Một cách tổng quát, thì mộtnơron sinh học nhận đầu vào từ các nguồn khác nhau, kết hợp chúng tại với nhau, thực thi tổ hợp phituyến chúng để cho ra kết quả cuối cùng ở đầu ra Hình 4.2 chỉ ra mối quan hệ giữa bốn phần tử củamột nơron sinh học
Trang 384.1.2.2 Cấu trúc và mô hình của 1 neuron nhân tạo
Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và Pitts, thường đượcgọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử lý và được ký hiệu là PE (ProcessingElement)
Mô hình nơron có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:
Hình 4.4 : Mô hình một nơron nhân tạo
Giải thích các thành phần cơ bản:
- Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưa vào dướidạng một vector m chiều
- Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng số (thường được gọi
là trọng số liên kết) Trọng số liên kết giữa tín hiệu vào thứ j cho nơron i thường được ký hiệu
là wij Thông thường các trọng số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng
và được cập nhật liên tục trong quá trình học mạng
- Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết củanó
- Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm truyền
- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron Nó nhận đầu vào làkết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơronđược giới hạn trong đoạn [0,1] hoặc [-1,1] Các hàm truyền rất đa dạng, có thể là các hàmtuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinhnghiệm của người thiết kế mạng
Trang 39- Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một đầu ra.
Về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểu thức sau:
trong đó: x1, x2, …xm là các tín hiệu đầu vào, còn wi1, wi2,…,wim là các trọng số kết nối của nơron thứ i,
neti là hàm tổng, f là hàm truyền, là một ngưỡng, yi là tín hiệu đầu ra của nơron
Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý(nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả đến hàmtruyền), và cho một tín hiệu đầu ra (là kết quả của hàm truyền)
Trang 40với λ>0 (1.10)