12/08/2018, 13:14

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

Về cơ bản, khai phá dữ liệu là về xử lý dữ liệu và nhận biết các mẫu và các xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá. Các nguyên tắc khai phá dữ liệu đã được dùng nhiều năm rồi, nhưng với sự ra đời của big data (dữ liệu lớn), nó lại càng phổ biến hơn. Big data gây ra một ...

Về cơ bản, khai phá dữ liệu là về xử lý dữ liệu và nhận biết các mẫu và các xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá. Các nguyên tắc khai phá dữ liệu đã được dùng nhiều năm rồi, nhưng với sự ra đời của big data (dữ liệu lớn), nó lại càng phổ biến hơn.

Big data gây ra một sự bùng nổ về sử dụng nhiều kỹ thuật khai phá dữ liệu hơn, một phần vì kích thước thông tin lớn hơn rất nhiều và vì thông tin có xu hướng đa dạng và mở rộng hơn về chính bản chất và nội dung của nó. Với các tập hợp dữ liệu lớn, để nhận được số liệu thống kê tương đối đơn giản và dễ dàng trong hệ thống vẫn chưa đủ. Với 30 hoặc 40 triệu bản ghi thông tin khách hàng chi tiết, việc biết rằng 2 triệu khách hàng trong số đó sống tại một địa điểm vẫn chưa đủ. Bạn muốn biết liệu 2 triệu khách hàng đó có thuộc về một nhóm tuổi cụ thể không và bạn cũng muốn biết thu nhập trung bình của họ để bạn có thể tập trung vào các nhu cầu của khách hàng của mình tốt hơn.

Những nhu cầu hướng kinh doanh này đã thay đổi cách lấy ra và thống kê dữ liệu đơn giản sang việc khai phá dữ liệu phức tạp hơn. Vấn đề kinh doanh hướng tới việc xem xét dữ liệu để giúp xây dựng một mô hình để mô tả các thông tin mà cuối cuộc sẽ dẫn đến việc tạo ra báo cáo kết quả. Hình dưới đây phác thảo quá trình này.

fig01.gif

Quá trình phân tích dữ liệu, khám phá dữ liệu và xây dựng mô hình dữ liệu thường lặp lại khi bạn tập trung vào và nhận ra các thông tin khác nhau để bạn có thể trích ra. Bạn cũng phải hiểu cách thiết lập quan hệ, ánh xạ, kết hợp và phân cụm thông tin đó với dữ liệu khác để tạo ra kết quả. Quá trình nhận ra dữ liệu nguồn và các định dạng nguồn, rồi ánh xạ thông tin đó tới kết quả đã cho của chúng tôi có thể thay đổi sau khi bạn phát hiện ra các yếu tố và các khía cạnh khác nhau của dữ liệu.

Các công cụ khai phá dữ liệu

Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ liệu mà bạn đang sử dụng. Bạn có thể thực hiện khai phá dữ liệu bằng các hệ thống cơ sở dữ liệu bình thường và các công cụ đơn giản, bao gồm việc tạo và viết phần mềm riêng của bạn hoặc sử dụng các gói phần mềm bán ngoài cửa hàng. Khai phá dữ liệu phức tạp được hưởng lợi từ kinh nghiệm trong quá khứ và các thuật toán đã định nghĩa với phần mềm và các gói phần mềm hiện có, với các công cụ nhất định để thu được một mối quan hệ hoặc uy tín lớn hơn bằng các kỹ thuật khác nhau.

Ví dụ, IBM SPSS®, có nguồn gốc từ việc phân tích thống kê và khảo sát, có thể xây dựng các mô hình dự báo hiệu quả bằng cách xem xét các xu hướng trong quá khứ và xây dựng các dự báo chính xác. IBM InfoSphere® Warehouse cung cấp thông tin tìm nguồn cấp dữ liệu, thông tin xử lý trước, thông tin khai phá và thông tin phân tích trong một gói duy nhất, để cho phép bạn lấy thông tin thẳng từ cơ sở dữ liệu nguồn đến đầu ra báo cáo cuối cùng.

Gần đây các tập hợp dữ liệu rất lớn và việc xử lý dữ liệu theo cụm và quy mô lớn có thể cho phép khai phá dữ liệu để sắp xếp và lập báo cáo về các nhóm và các mối tương quan của dữ liệu phức tạp hơn. Bây giờ đã có sẵn rất nhiều công cụ và hệ thống hoàn toàn mới, gồm các hệ thống lưu trữ và xử lý dữ liệu kết hợp. Bạn có thể khai phá dữ liệu với nhiều tập hợp dữ liệu khác nhau, gồm các cơ sở dữ liệu SQL truyền thống, dữ liệu văn bản thô, các kho khóa/giá trị và các cơ sở dữ liệu tài liệu. Các cơ sở dữ liệu có phân cụm, như Hadoop, Cassandra, CouchDB và Couchbase Server, lưu trữ và cung cấp quyền truy cập vào dữ liệu theo cách không phù hợp với cấu trúc bảng truyền thống.

Đặc biệt, định dạng lưu trữ cơ sở dữ liệu tài liệu linh hoạt hơn lại gây ra một trọng tâm và sự phức tạp khác về xử lý thông tin. Các cơ sở dữ liệu SQL áp đặt các cấu trúc chặt chẽ và cứng nhắc vào lược đồ, làm cho việc truy vấn chúng và phân tích dữ liệu trở nên đơn giản theo quan điểm hiểu rõ định dạng và cấu trúc thông tin.

Các cơ sở dữ liệu tài liệu, có một tiêu chuẩn chẳng hạn như cấu trúc thực thi JSON hoặc các tệp có cấu trúc đọc được bằng máy tính nào đó, cũng dễ xử lý hơn, mặc dù chúng có thể làm tăng thêm sự phức tạp do cấu trúc khác nhau và hay thay đổi. Ví dụ, với việc xử lý dữ liệu hoàn toàn thô của Hadoop, có thể phức tạp để nhận biết và trích ra nội dung trước khi bạn bắt đầu xử lý và tương quan với nó.

Các kỹ thuật chính

Một số kỹ thuật cốt lõi, được sử dụng trong khai phá dữ liệu, mô tả kiểu hoạt động khai phá và hoạt động phục hồi dữ liệu. Thật không may là các công ty và các giải pháp khác nhau không phải lúc nào cũng dùng chung các thuật ngữ. Chính các thuật ngữ này có thể làm tăng thêm sự mơ hồ và sự phức tạp.

Hãy xem xét một số kỹ thuật chính và ví dụ về cách sử dụng các công cụ khác nhau để dựng lên việc khai phá dữ liệu.

Sự kết hợp

Sự kết hợp (hay mối quan hệ) có lẽ là kỹ thuật khai phá dữ liệu được biết đến nhiều hơn, hầu như quen thuộc và đơn giản. Ở đây, bạn thực hiện một sự tương quan đơn giản giữa hai hoặc nhiều mục, thường cùng kiểu để nhận biết các mẫu. Ví dụ, khi theo dõi thói quen mua hàng của người dân, bạn có thể nhận biết rằng một khách hàng luôn mua kem khi họ mua dâu tây, nên bạn có thể đề xuất rằng lần tới khi họ mua dâu tây, họ cũng có thể muốn mua kem.

Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan hệ có thể thực hiện đơn giản bằng các công cụ khác nhau. Ví dụ, trong InfoSphere Warehouse một trình hướng dẫn đưa ra các cấu hình của một luồng thông tin được sử dụng kết hợp bằng cách xem xét thông tin nguồn đầu vào của cơ sở dữ liệu, thông tin về cơ sở ra quyết định và thông tin đầu ra của bạn. Hình 2 cho thấy một ví dụ của cơ sở dữ liệu ví dụ mẫu.

fig02.jpg

Sự phân loại

Bạn có thể sử dụng sự phân loại để xây dựng một ý tưởng về kiểu khách hàng, kiểu mặt hàng hoặc kiểu đối tượng bằng cách mô tả nhiều thuộc tính để nhận biết một lớp cụ thể. Ví dụ, bạn có thể dễ dàng phân loại các xe ô tô thành các kiểu xe khác nhau (xe mui kín, 4x4, xe có thể bỏ mui) bằng cách xác định các thuộc tính khác nhau (số chỗ ngồi, hình dạng xe, các bánh xe điều khiển). Với một chiếc xe mới, bạn có thể đặt nó vào một lớp cụ thể bằng cách so sánh các thuộc tính với định nghĩa đã biết của chúng tôi. Bạn có thể áp dụng các nguyên tắc tương tự ấy cho các khách hàng, ví dụ bằng cách phân loại khách hàng theo độ tuổi và nhóm xã hội.

Hơn nữa, bạn có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là kết quả của các kỹ thuật khác. Ví dụ, bạn có thể sử dụng các cây quyết định để xác định một cách phân loại. Việc phân cụm sẽ cho phép bạn sử dụng các thuộc tính chung theo các cách phân loại khác nhau để nhận biết các cụm.

Việc phân cụm (Clustering)

Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, bạn có thể nhóm các phần dữ liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc. Ở mức đơn giản, việc phân cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở cho bạn để nhận ra một nhóm các kết quả tương quan. Việc phân cụm giúp để nhận biết các thông tin khác nhau vì nó tương quan với các ví dụ khác, nên bạn có thể thấy ở đâu có những điểm tương đồng và các phạm vi phù hợp.

Việc phân cụm có thể làm theo hai cách. Bạn có thể giả sử rằng có một cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí nhận dạng của chúng tôi để xem liệu bạn có đúng không. Đồ thị trong Hình 3 là một ví dụ hay. Trong ví dụ này, một ví dụ mẫu về dữ liệu kinh doanh so sánh tuổi của khách hàng với quy mô bán hàng. Thật hợp lý khi thấy rằng những người ở độ tuổi hai mươi (trước khi kết hôn và còn nhỏ), ở độ tuổi năm mươi và sáu mươi (khi không còn con cái ở nhà), có nhiều tiền tiêu hơn.

fig03.jpg

Trong ví dụ này, chúng ta có thể nhận ra hai cụm, một cụm xung quanh nhóm 2.000 Đô la Mỹ/ 20-30 tuổi và một cụm ở nhóm 7.000-8.000 Đô la Mỹ/ 50-65 tuổi. Trong trường hợp này, chúng tôi đã giả thuyết hai cụm và đã chứng minh giả thuyết của chúng tôi bằng một đồ thị đơn giản mà chúng tôi có thể tạo ra bằng cách sử dụng bất kỳ phần mềm đồ họa thích hợp nào để có được cái nhìn nhanh chóng. Các quyết định phức tạp hơn cần phải có một gói phần mềm phân tích đầy đủ, đặc biệt là nếu bạn muốn các quyết định tự động dựa vào thông tin lân cận gần nhất.

Việc vẽ đồ thị phân cụm theo cách này là một ví dụ đơn giản về cái gọi là nhận ra sự lân cận gần nhất. Bạn có thể nhận ra các khách hàng riêng lẻ bằng sự gần gũi theo nghĩa đen của họ với nhau trên đồ thị. Có nhiều khả năng là các khách hàng trong cùng một cụm cũng dùng chung các thuộc tính khác và bạn có thể sử dụng sự mong đợi đó để giúp hướng dẫn, phân loại và nếu không thì phân tích những người khác trong tập hợp dữ liệu của bạn.

Bạn cũng có thể áp dụng việc phân cụm theo quan điểm ngược lại; dựa vào một số thuộc tính đầu vào, bạn có thể nhận ra các tạo phẩm khác nhau. Ví dụ, một nghiên cứu gần đây về các số PIN 4-chữ số đã tìm ra các cụm giữa các chữ số trong phạm vi 1-12 và 1-31 cho các cặp đầu tiên và thứ hai. Bằng cách vẽ các cặp này, bạn có thể nhận ra và xác định các cụm liên quan đến ngày tháng (các ngày sinh nhật, các ngày kỷ niệm).

Dự báo

Dự báo là một chủ đề rộng và đi từ dự báo về lỗi của các thành phần hay máy móc đến việc nhận ra sự gian lận và thậm chí là cả dự báo về lợi nhuận của công ty nữa. Được sử dụng kết hợp với các kỹ thuật khai phá dữ liệu khác, dự báo gồm có việc phân tích các xu hướng, phân loại, so khớp mẫu và mối quan hệ. Bằng cách phân tích các sự kiện hoặc các cá thể trong quá khứ, bạn có thể đưa ra một dự báo về một sự kiện.

Khi sử dụng quyền hạn thẻ tín dụng, chẳng hạn, bạn có thể kết hợp phân tích cây quyết định của các giao dịch riêng lẻ trong quá khứ với việc phân loại và các sự so khớp mẫu lịch sử để nhận biết liệu một giao dịch có gian lận hay không. Rất có thể là việc thực hiện một sự so khớp giữa việc mua vé các chuyến bay đến Mỹ và các giao dịch tại Mỹ cho thấy giao dịch này hợp lệ.

Các mẫu tuần tự

Thường được sử dụng trên các dữ liệu dài hạn, các mẫu tuần tự là một phương pháp có ích để nhận biết các xu hướng hay các sự xuất hiện thường xuyên của các sự kiện tương tự. Ví dụ, với dữ liệu khách hàng, bạn có thể nhận ra rằng các khách hàng cùng nhau mua một bộ sưu tập riêng lẻ về các sản phẩm tại nhiều thời điểm khác nhau trong năm. Trong một ứng dụng giỏ hàng, bạn có thể sử dụng thông tin này để tự động đề xuất rằng một số mặt hàng nào đó được thêm vào một giỏ hàng dựa trên tần suất và lịch sử mua hàng trong quá khứ của các khách hàng.

Các cây quyết định

Liên quan đến hầu hết các kỹ thuật khác (chủ yếu là phân loại và dự báo), cây quyết định có thể được sử dụng hoặc như là một phần trong các tiêu chí lựa chọn hoặc để hỗ trợ việc sử dụng và lựa chọn dữ liệu cụ thể bên trong cấu trúc tổng thể. Trong cây quyết định, bạn bắt đầu bằng một câu hỏi đơn giản có hai câu trả lời (hoặc đôi khi có nhiều câu trả lời hơn). Mỗi câu trả lời lại dẫn đến thêm một câu hỏi nữa để giúp phân loại hay nhận biết dữ liệu sao cho có thể phân loại dữ liệu hoặc sao cho có thể thực hiện dự báo trên cơ sở mỗi câu trả lời.

fig04.gif

Các cây quyết định thường được sử dụng cùng với các hệ thống phân loại liên quan đến thông tin có kiểu thuộc tính và với các hệ thống dự báo, nơi các dự báo khác nhau có thể dựa trên kinh nghiệm lịch sử trong quá khứ để giúp hướng dẫn cấu trúc của cây quyết định và kết quả đầu ra.

Các tổ hợp

Trong thực tế, thật hiếm khi bạn sẽ sử dụng một kỹ thuật trong số những kỹ thuật riêng biệt này. Việc phân loại và phân cụm là những kỹ thuật giống nhau. Nhờ sử dụng việc phân cụm để nhận ra các thông tin lân cận gần nhất, bạn có thể tiếp tục tinh chỉnh việc phân loại của mình. Thông thường, chúng tôi sử dụng các cây quyết định để giúp xây dựng và nhận ra các loại mà chúng tôi có thể theo dõi chúng trong một thời gian dài để nhận biết các trình tự và các mẫu.

Xử lý (bộ nhớ) dài hạn

Trong tất cả các phương pháp cốt lõi, thường có lý do để ghi lại thông tin và tìm hiểu từ thông tin. Trong một số kỹ thuật, việc này hoàn toàn rõ ràng. Ví dụ, với việc tìm hiểu các mẫu tuần tự và dự báo, bạn xem xét lại dữ liệu từ nhiều nguồn và nhiều cá thể thông tin để xây dựng một mẫu.

Trong một số kỹ thuật khác, quá trình này có thể rõ ràng hơn. Các cây quyết định ít khi được xây dựng một lần và không bao giờ được coi nhẹ. Khi nhận biết thông tin mới, các sự kiện và các điểm dữ liệu, có thể cần xây dựng thêm các nhánh hoặc thậm chí toàn bộ các cây mới, để đương đầu với các thông tin bổ sung.

Bạn có thể tự động hoá một số bước của quá trình này. Ví dụ, việc xây dựng một mô hình dự báo để nhận biết sự gian lận thẻ tín dụng là xây dựng các xác suất để bạn có thể sử dụng cho giao dịch hiện tại và sau đó cập nhật mô hình đó với các giao dịch mới (đã được phê duyệt). Rồi thông tin này được ghi lại sao cho có thể đưa ra quyết định một cách nhanh chóng trong lần tới.

Kết luận

Việc khai phá dữ liệu còn hơn việc chạy một số truy vấn phức tạp trên dữ liệu mà bạn đã lưu trong cơ sở dữ liệu của mình. Bạn phải làm việc với dữ liệu của mình, định dạng lại nó hoặc cấu trúc lại nó, bất kể bạn có đang sử dụng SQL, cơ sở dữ liệu dựa trên tài liệu như Hadoop hoặc các tệp phẳng đơn giản hay không. Việc nhận ra định dạng thông tin mà bạn cần được dựa trên kỹ thuật và việc phân tích mà bạn muốn làm. Sau khi bạn có thông tin theo định dạng mà bạn cần, bạn có thể áp dụng các kỹ thuật khác (riêng lẻ hay kết hợp lại với nhau) không phân biệt cấu trúc dữ liệu cơ bản hay tập hợp dữ liệu cần thiết.

Tham khảo: https://www.ibm.com/

0