1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổng quan về khai thác dữ liệu và phân cụm dữ liệu bằng thuật toán K-Means

29 608 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 826,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để tìm ra các thông tin tiềm ẩn này, ta phải tìm và áp dụng các phương pháp kỹ thuật khai thác sao cho các phương pháp này phù hợp với tính chất, đặc trưng của dữ liệu và mục đích sử dụn

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

Trang 2

TP HCM, NĂM 2012

Trang 3

Lời mở đầu

Ngày nay, sự phát triễn của khoa học - kỹ thuật đã mang đến cho chúng ta một khối lượng thông tin khổng lồ, con người khó có thể xử lý khối lượng thông tin này để tìm ra các thông tin hữu ích phục vụ cho nhu cầu của mình Chính vì lý

do này mà các kỹ khai thác dữ liệu dã ra đời

Bài viết này nhằm giới thiệu một cách nhìn tổng quát về vấn đề khai thác dữ liệu và giới thiệu thuật toán K-Means, một trong những thuật toán thường dùng để phân cụm dữ liệu phục vụ cho quá trình khai thác dữ liệu

Nội dung bài viết gồm:

thiệu những thông tin cần thiết để chúng ta có cái nhìn tổng quát về vấn đề khai thác dữ liệu

quanh vấn đề “ Phân cụm” các dữ liệu và hướng dẫn các bước phân cụm dữ liệu bằng thuật toán K-Means

K-Means Cảm ơn Thầy và các anh chị đã cung cấp những tài liệu liên quan đến đề tài

Mục Lụ

Trang 4

CHƯƠNG 1 : Tổng quan về khai thác dữ liệu 1

1.1 Giới thiệu 1

1.2 Khai thác dữ liệu là gì ? 1

1.3 Các nhiệm vụ chính của khai thác dữ liệu 2

1.4 Quá trình khai thác dữ liệu 2

1.5 Một số kỹ thuật áp dụng trong khai thác dữ liệu 3

1.5.1 Phân lớp và dự đoán 3

1.5.2 Phân cụm dữ liệu 3

1.5.3 Phân lớp dữ liệu và hồi quy 4

1.5.4 Luật kết hợp 4

1.5.5 Phân tích theo thứ tự thời gian 5

1.5.6 Khai phá dữ liệu bằng mạng Neural 6

1.5.7 Khai phá dữ liệu bằng giải thuật di truyền 6

1.5.8 Khai thác dữ liệu bằng cây quyết định 7

1.6 Thách thức, khó khăn trong khai thác dữ liệu 8

1.7 Ứng dụng của khai thác dữ liệu 8

CHƯƠNG 2 : Phân cụm dữ liệu 9

2.1 Phân cụm là gì ? 9

2.2 Một số độ đo trong phân cụm 9

2.3 Mục đích của phân cụm 9

2.4 Các ứng dụng của phân cụm dữ liệu 10

2.5 Các yêu cầu về thuật toán phân cụm dữ liệu 10

2.6 Thuật toán K-Means 11

2.6.1 Khái niệm 11

2.6.2 Thuật toán k- means 11

2.6.3 Ví dụ minh họa 13

2.6.4 Đánh giá thuật toán 17

CHƯƠNG 3 : Chương trình minh họa KTDL bằng thuật toán K-Means 18

3.1 Mục đích 18

3.2 Bài toán 18

3.3 Cài đặt 18

3.4 Giao diện 19

Trang 5

Tài liệu tham khảo 22

Trang 6

CHƯƠNG 1 : Tổng quan về khai thác dữ liệu

1.1.Giới thiệu

Với sự phát triễn nhanh chóng của khoa học kỹ thuật trong tất cả các lĩnh vực của đời sống, kinh tế, xã hội…, chúng ta đã đạt được những thành tựu to lớn Một trong những thành tựu đó là sự bùng nổ thông tin, khối lượng thông tin mà ta thu thập và lưu trữ ngày càng nhiều Trong khối thông tin ấy có chứa nhiều tri thức mà con người chưa khám phá ra được Do lượng dữ liệu thu thập được là rất lớn nên việc khám phá tri thức và thông tin trở nên rất khó khăn Chính vì thế mà nhu cầu tìm kiếm tri thực đã nảy sinh, nhu cầu này ngày một cấp thiết và dẫn tới sự hình thành của một lĩnh vực mới – lĩnh vực khai thác dữ liệu (Data Mining)-(KTDL)

1.2.Khai thác dữ liệu là gì ?

Khai thac dữ liệu (Data Mining) được định nghĩa là quá trình trích lọc các thôngtin có giá trị tiềm ẩn trong lượng lớn dữ liệu được lưu trữ trong các CSDL hay các kho dữ liệu Khai thác dữ liệu còn được coi là quá trình khám phá, tìm kiếm các mối tương quan, các mối liên hệ dưới nhiều góc độ khác nhau đang bị che khuất trong khối dữ liệu Để tìm ra các thông tin tiềm ẩn này, ta phải tìm và áp dụng các phương pháp kỹ thuật khai thác sao cho các phương pháp này phù hợp với tính chất, đặc trưng của dữ liệu và mục đích sử dụng

Cần phân biệt giữa quá trình tìm kiếm thông tin và quá trình khai thác dữ liệu

- Tìm thông tin về “Amazon” trên mạng

-Các tên phổ biến ở Boston-Gom nhóm các tài liệu giống nhau thu được từ search engine dựa theo nội dungnhư: rừng nhiệt đới Amazon

Trang 7

1.3.Các nhiệm vụ chính của khai thác dữ liệu

Mô hình mô tả mục tiêu khai thác dữ liệu

Việc khai thác dữ liệu nhằm các mục đích chính như sau:

- Dự đoán (predictive): thực hiện việc suy luận trên dữ liệu để đưa ra các dự báo nhằm phân tích tập dữ liệu huấn luyện và tạo ra một mô hình cho phép

dự đoán các mẫu, mô hình mới chưa biết, thông qua các phương pháp

o Phân lớp

o Hồi quy

o Phát hiện sự thay đổi/ lạc hướng

- Mô tả (Descriptive) : 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, thông qua các phương pháp:

o Phân cụm

o Tóm tắt

o Mô hình hóa phụ thuộc

1.4.Quá trình khai thác dữ liệu

Quá trình KTDL gồm các bước như hình sau:

Trang 8

Quá trình khai thác dữ liệu

- 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 và tiền xử lý dữ liệu thu thập được sao cho thuật toán KTDL 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ác vướng mắc như: dữ liệu phải được chép

ra nhiều bản, 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 KTDL và thực hiện việc KTDL để 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 với ý nghĩa của nó

1.5.Một số kỹ thuật áp dụng trong khai thác dữ liệu

Vấn đề khai thác dữ liệu có thể phân chia theo lớp các hướng tiếp cận sau:

1.5.1.Phân lớp và dự đoán

Hướng tiếp cận này làm nhiệm vụ đư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 Kỹ thuật này gồm có: phân lớp (classification), hồi quy (regression) Là quá trình xếp một đối tượng vào một trong những lớp đã

biết trước Đố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áy như cây quyết định (decision tree), mạng neural nhân tạo (neural

network),

1.5.2.Phân cụm dữ liệu

Mục tiêu của phương pháp phân cụm dữ liệu là quá trình nhóm các điểm

Trang 9

dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn và những điểm không cùng một cụm có

sự tương đồng là rất nhỏ Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm các đối tượng tìm thấy trực tiếp từ dữ liệu mà không cần bất kì một tri thức cơ sở nào Giống như cách tiếp cận học máy, phân cụm dữ liệu được hiểu như là phương pháp “học không có thầy”

(unsupervised learning) 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 (learning by

observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by

example) Trong phương pháp này 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, cần có một chuyên gia để đá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

1.5.3.Phân lớp dữ liệu và hồi quy

Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho cácmẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng môhình và sử dụng mô hình:

- Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu

dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởimộ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 (training data set) 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ó thầy (supervised learning) khác với phân cụm dữ liệu là học không có thầy (unsupervised

learning).

- Bước 2: sử dụng mô hình để phân lớp dữ liệu Trước hết 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ươnglai Phương pháp hồi qui khác với phân lớp dữ liệu ở chỗ, hồi qui dùng

để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dựđoán về các giá trị rời rạc

Trang 10

Ví dụ: Xét luật kết hợp: is(x, tã giấy và sữa) → close(x,bia) (66%) Luật trênthể hiện: 66% khách hàng mua tã giấy và sữa thì có khả năng mua bia.

Do đó có rất nhiều thuộc tính có thể tạo thành những luật kết hợp khiến cho

số luật kết hợp tìm được vượt quá nhu cầu Để hạn chế số luật kết hợp tìm được, người ta sử dụng khái niệm hỗ trợ tối thiểu (min support) và độ tin cậy tối thiểu (min confidence) Hai tham số này giúp loại bớt các luật tìm thấy và để lại các luật thật sự có ích cho người sử dụng

Hỗ trợ tối thiểu:

Độ hỗ trợ (Support) của luật kết hợp X →Y là tần suất của giao dịch chứa tất

cả các items trong cả hai tập X và Y Ví dụ, support của luật X →Y là 5% có nghĩa là 5% các giao dịch X và Y được mua cùng nhau.

Công thức để tính support của luật X →Y như sau:

Trong đó: N là tổng số giao dịch.

Trong CSDL lớn, có rất nhiều luật kết hợp giữa các dội tượng nhưng phầnlớn các luật đó chỉ áp dụng cho một số nhỏ các đối tượng Chính vì thế mà phầnlớn các luật không có ích với người sử dụng Ví dụ: Người ta sẽ không quan tâmnhiều đến mối quan hệ giữa sữa và bia nếu luật đó chỉ áp dụng cho 5% số trườnghợp trong khi người ta chỉ quan tâm đến các luật có độ áp dụng trên 60% Do đó

ta có thể bỏ những luật kết hợp mà chỉ áp dụng cho x% đối tượng

Độ tin cậy tối thiểu:

Độ tin cậy (Confidence) của luật kết hợp X →Y là xác suất xảy ra Y khi đã biết X Ví dụ độ tin cậy của luật kết hợp {Táo} → Chuối} là 80% có nghĩa

là 80% khách hàng mua Táo cũng mua Chuối.

Trang 11

Công thức để tính độ tin cậy của luật kết hợp X → Y là xác suất có điều

kiện Y khi đã biết X như sau :

Trong đó: n(X) là số giao dịch chứa X

Nếu một luật được đưa ra với mức độ tin cậy (độ tin cậy là tỉ lệ số đối tượng

dữ liệu thoả mãn X và thoả mãn Y so với tổng số các đối tượng thoả mãn X)thấp thì cũng không có ý nghĩa ứng dụng Ví dụ như luật: số người bị bệnh tim

do ăn cá biển chỉ đúng 1% thì gần như không có ý nghĩa trong y học khi chuẩnđoán nguyên nhân bị bệnh tim của một bệnh nhân Do đó, chúng ta sẽ loại bỏnhững luật có độ tin cậy thấp mà chỉ giữ lại luật có độ tin cậy cao tỷ lệ đúng tốithiểu c%

1.5.5.Phân tích theo thứ tự thời gian

Tương tự như khai thác 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 Xét luật X → Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cao

1.5.6.Khai phá dữ liệu bằng mạng Neural

-Mạng Neural là một phương pháp khai phá dữ liệu phát triển dựa trên cấu trúc toán học với khả năng học trên mô hình hệ thần kinh con người

-Mạng Neural có thể đưa ra ý nghĩa các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết suất các mẫu và phát hiện xu hướngquá phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được

-Một trong những ưu điểm của mạng Neural là khả năng tạo ra các mô hình dự đoán do độ chính xác cao, có thể áp dụng cho nhiều các bài toán khác nhau, đáp ứng được các nhiệm vụ đặt ra của khai phá dữ liệu như: phân lớp, phân nhóm, mô hình hoá, dự báo…

-Mẫu chiết suất bằng mạng Neural được thể hiện bằng một trong những nútđầu của mạng Mạng Neural sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mức tích cực của các nút đầu ra và cập nhật các trọng số của nó

-Đặc điểm của mạng Neural là không cần gia công dữ liệu nhiều, trước

Trang 12

khi bắt đầu quá trình học như các kỹ thuật khác Tuy nhiên, để có thể sử dụng mạng Neural có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:

Ngoài ra còn có nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệutrước khi đưa vào mạng Neural để mạng có thể hiểu được

Mạng Neural được đóng gói với những thông tin trợ giúp của các chuyêngia đáng tin cậy và được họ đảm bảo các mô hình này làm việt tốt Sau khihọc, mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nóvừa được học

1.5.7.Khai phá dữ liệu bằng giải thuật di truyền

Đây là phương pháp không chỉ thực hiện phát hiện tri thức mà còn phục

vụ rất nhiều bài toán khác Tư tưởng của thuật toán là áp dụng quy luật của sự chọn lọc tự nhiên Người ta mô phỏng tập dữ liệu ban đầu bằng ký tự nhị phân và gọi là những quần thể xuất phát Bằng các thao tác lai ghép, đột biến nhằm biến đổi quần thể gene ban đầu và loại đi một số gene, làm cho số lượnggene trong quần thể là không thay đổi Một hàm thích nghi được xây dựng để xác định mức độ thích nghi ngày càng cao Về mặt lý thuyết giải thuật di truyền cho lời giải tối ưu toàn cục (khác với phương pháp mạng Neural) Tuynhiên, người ta cũng hạn chế lời giải với một mức độ thích nghi nào đó để hạn chế số lượng các bước xây dựng quần thể

Nói theo nghĩa rộng, giải thuật di truyền mô phỏng lại hệ thống tiếnhoá trong tự nhiên, chính xác hơn là giải thuật chỉ ra tập các cá thể đượchình thành, được ước lượng và biến đổi như thế nào Ví dụ như xác địnhxem làm thế nào để lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào

để loại bỏ

Giải thuật di truyền là một giải thuật tối ưu hoá, được sử dụng rất rộng rãitrong việc tối ưu hoá các kỹ thuật khai phá dữ liệu trong đó có kỹ thuậtmạng Neural Sự kết hợp của nó với các giải thuật khai phá dữ liệu ở chỗ tối

ưu hoá là cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất

1.5.8.Khai thác dữ liệu bằng cây quyết định

Phân lớp khai phá dữ liệu luật là cách tiếp cận quan trọng trong quá trình khai phá dữ liệu, với mục tiêu nhằm tạo ra một tập luật tương đối nhỏ có

độ đúng đắn cao từ cơ sở dữ liệu lớn Cây quyết định được cọi là phương

Trang 13

pháp tiếp cận truyền thống cho phép phân lớp luật Cây quyết định đưa ra cách tiếp cận heuristic nhằm tìm kiếm các thuộc tính tốt nhất và dẫn đến kết quả cao nhất Tuy nhiên, cây quyết định có một số hạn chế khi triển khai lựa chọn thuộc tính khi xây dựng cây.

Hạn chế của cây quyết định là các trường hợp phân rã và tái tạo, vấn đềkhi phân rã là khi cây quyết định cần phân chia dữ liệu nhiều lần để có thểnhận biết được toàn bộ dữ liệu mẫu Vấn đề khi tái tạo là một cây con cầnđược xây dựng lại nhiều lần làm cho cây quyết định có độ sâu quá lớn và khóhiểu

Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đốitượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn làtên của các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính,các lá mô tả các lớp khác nhau Các đối tượng được phân lớp theo các đường

đi trên cây, qua các cạnh tương ứng với giá trị của thuộc tính của đối tượng tớilá

Quá trình xây dựng cây quyết định là quá trình phát hiện ra các luậtphân chia dữ liệu đã cho thành các lớp đã được định nghĩa Trong thực tế, tậpcác cây quyết định có thể có đối với bài toán này rất lớn và rất khó có thểduyệt hết một cách tường tận

Có nhiều phương pháp xây dựng cây quyết định khi khai phá dữ liệu, đó là các phương pháp sử dụng các thuật toán ID3, C4.5,… và một phương pháp tương đối tiên tiến hiện nay và đang là tâm điểm được nghiên cứu là phương pháp xây dựng cây quyết định dựa trên phụ thuộc hàm

1.6.Thách thức, khó khăn trong khai thác dữ liệu

Khai thác dữ liệu cần làm việc với lượng dữ liệu rất lớn nên có nhiều khó khăn như:

-Mức độ nhiễu cao hoặc dữ liệu bị thiếu

- Số chiều lớn

- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp

- Quan hệ giữa các trường phức tạp

Vấn đề tốc độ xử lý rất cần được quan tâm Để giải quyết vấn đề này ta có thể nâng cao năng lực phần cứng hoặc cải tiến phần mềm Trong đó việc nghiêncứu các thuật toán hiệu quả, có thể xử lý khối liệu dữ liệu lớn với độ phức tạp tính toán thấp là một hướng nghiên cứu đầy tiềm năng Nhiều công nghệ mới rađời hỗ trợ cho việc KTDL như tính toán song song, máy tính lượng tử, công

Trang 14

nghệ nano…

1.7.Ứng dụng của khai thác dữ liệu

Khai thác dữ liệu được ứng dụng trong rất nhiều lĩnh vực:

o Thông tin thương mại:

 Phân tích dữ liệu tiếp thị và bán hàng và thị trường

o Thông tin khoa học:

o Thông tin cá nhân

CHƯƠNG 2 : Phân cụm dữ liệu

2.1.Phân cụm là gì ?

Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu thỏa mãn:

-Các đối tượng trong cùng một cụm thì tương tự nhau

-Các đối tượng khác cụm thì không tương tự nhau

Phân cụm không cần những thông tin được xác định trước Nói cách khác, phân cụm là phương pháp học từ quan sát hay còn gọi là học không thầy

Ngày đăng: 10/04/2015, 00:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w