Tổng quan về giáo trình

Giáo trình Khai phá dữ liệu do Trần Hùng Cường và Trần Thanh Hùng đồng chủ biên, với sự tham gia đóng góp chuyên môn của TS. Nguyễn Mạnh Cường cùng tập thể giảng viên Khoa Công nghệ Thông tin – Trường Đại học Công nghiệp Hà Nội, được Nhà xuất bản Thống kê ấn hành năm 2017.

Trong chương trình đào tạo bậc đại học và sau đại học ngành Công nghệ Thông tin, Khoa học Máy tính và Hệ thống Thông tin, môn học Khai phá dữ liệu giữ vị trí chuyên ngành cốt lõi thuộc khối kiến thức xử lý, phân tích dữ liệu và trí tuệ nhân tạo. Môn học giải quyết bài toán khai thác tri thức tiềm ẩn từ các kho dữ liệu quy mô lớn mà hệ quản trị cơ sở dữ liệu truyền thống không đáp ứng được.

Mục tiêu học tập của giáo trình tập trung vào việc cung cấp cho người học hiểu biết toàn diện về tiến trình phát hiện tri thức từ cơ sở dữ liệu (Knowledge Discovery from Databases - KDD). Sinh viên nắm vững cơ sở toán học và cơ chế vận hành của các thuật toán phân tích mẫu; rèn luyện năng lực triển khai các mô hình mô tả, dự báo và hỗ trợ ra quyết định; đồng thời làm chủ các công cụ chuyên dụng và ngôn ngữ lập trình để giải quyết các bài toán dữ liệu thực tế.

Cấu trúc giáo trình gồm 5 chương được tổ chức theo quy trình sư phạm tuyến tính: bắt đầu từ bức tranh tổng quan KDD, đi sâu vào ba kỹ thuật khai phá nền tảng (luật kết hợp, phân lớp, gom cụm) và kết thúc bằng việc hướng dẫn thực nghiệm trên các phần mềm chuyên dụng (Weka, Microsoft SQL Server) và ngôn ngữ C#.

Điểm đặc sắc của tài liệu là phương pháp tiếp cận định lượng chặt chẽ. Mỗi giải thuật không chỉ dừng lại ở mô tả khái niệm mà được làm rõ qua mô hình toán học, mã giải thuật, chứng minh tính chất rút gọn và minh họa từng bước lặp thông qua các bộ dữ liệu giao dịch mẫu.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Cấu trúc nội dung giáo trình được triển khai qua 5 chương chuyên đề:

  • Chương 1: Tổng quan về khai phá dữ liệu: Định vị bối cảnh bùng nổ thông tin điện tử dựa trên số liệu thực tế tại Amazon (250 triệu sách, 55 triệu người dùng), Google (90 triệu lượt tìm kiếm/ngày), YouTube (dung lượng tăng gấp đôi sau 5 tháng). Chương này phân tích chi tiết quy trình 6 bước của KDD: Gom dữ liệu (Gathering), Chọn lọc (Selection), Tiền xử lý và làm sạch (Cleaning/Pre-processing), Chuyển đổi (Transformation), Khai phá dữ liệu (Data Mining) và Đánh giá kết quả (Evaluation). Đồng thời, chương giới thiệu các nhóm kỹ thuật chính (luật kết hợp, chuỗi thời gian, phân lớp, hồi quy, gom cụm, tóm tắt khái niệm) và hệ thống hóa các thách thức nghiên cứu mở.
  • Chương 2: Khai phá luật kết hợp: Khảo sát bài toán tìm mối ràng buộc giữa các tập mục trong cơ sở dữ liệu giao dịch $D$. Định nghĩa hình thức về độ hỗ trợ $Sup(X \rightarrow Y) = P(X \cup Y)$ và độ tin cậy $Conf(X \rightarrow Y) = P(Y|X)$. Phân tích 3 tính chất rút gọn không gian tìm kiếm, trình bày chi tiết thuật toán Apriori với hai thủ tục Apriori_gen và has_infrequent_subset. Tiếp đó, chương giới thiệu thuật toán FP-growth nén dữ liệu vào cấu trúc cây FP-tree, khai thác mẫu qua cơ sở mẫu có điều kiện (conditional pattern base) và kỹ thuật sinh luật mạnh từ tập phổ biến.
  • Chương 3: Kỹ thuật phân lớp: Trình bày quy trình phân lớp gồm giai đoạn học (huấn luyện mô hình) và giai đoạn kiểm thử trên tập dữ liệu độc lập. Đi sâu vào mô hình cây quyết định (Decision Tree), xây dựng công thức tính Entropy và độ lợi thông tin (Information Gain) cho thuật toán ID3 của J. Ross Quinlan. Phân tích mô hình xác suất Naive Bayes dựa trên giả định độc lập có điều kiện, và mô hình mạng nơ-ron nhân tạo với kiến trúc Perceptron cùng thuật toán cập nhật trọng số.
  • Chương 4: Kỹ thuật gom cụm: Khảo sát bài toán học không giám sát nhằm tối đa hóa độ tương tự nội cụm và tối thiểu hóa độ tương tự liên cụm. Trình bày các độ đo khoảng cách (Euclid, Manhattan, Minkowski). Đi sâu vào hai nhóm phương pháp: gom cụm phân hoạch với thuật toán K-means và gom cụm phân cấp với thuật toán gộp (agglomerative hierarchical clustering) thông qua các khoảng cách đơn, khoảng cách đầy đủ và khoảng cách trung bình.
  • Chương 5: Một số phần mềm khai phá dữ liệu: Cung cấp hướng dẫn kỹ thuật trên phần mềm Weka (giao diện Explorer, định dạng file ARFF, thực hành Apriori, phân lớp J48/Naive Bayes); cấu hình khai phá dữ liệu với Microsoft SQL Server Analysis Services; và phương pháp lập trình cài đặt thuật toán bằng ngôn ngữ C#.

Progression logic của giáo trình đi từ tầng kiến trúc quy trình tổng quát (Chương 1) đến các mô hình toán học cụ thể (Chương 2, 3, 4) và chuyển giao sang tầng ứng dụng công nghệ thực thi (Chương 5).

Kiến thức nền tảng được xây dựng

Giáo trình xây dựng hệ thống lý thuyết dựa trên ba trụ cột:

  1. Lý thuyết toán học và thống kê: Tích hợp giải tích xác suất có điều kiện (trong đánh giá độ tin cậy và bộ phân lớp Bayes), lý thuyết thông tin Shannon (độ đo Entropy $Entropy(S) = - \sum p_i \log_2 p_i$ và độ lợi thông tin $Gain(S, A) = Entropy(S) - Info(S, A)$), cùng đại số tuyến tính trong tối ưu hóa hàm truyền mạng Perceptron.
  2. Nguyên lý thuật toán học máy: Xác lập nguyên lý Apriori (mọi tập con của tập phổ biến đều là tập phổ biến, tập cha của tập không phổ biến chắc chắn không phổ biến), chiến lược phân chia để trị (divide-and-conquer) trên cấu trúc cây tiền tố FP-tree, và chiến lược xây dựng cây quy nạp từ trên xuống (Top-Down induction).
  3. Khung xử lý KDD chuẩn: Định hình tư duy xử lý dữ liệu qua các tầng làm sạch, tích hợp, làm giảm số chiều, mã hóa định danh và biểu diễn tri thức dưới dạng luật hoặc cây.

Kỹ năng phát triển

Thông qua nội dung giảng dạy, người học hoàn thiện các nhóm năng lực:

  • Kỹ năng kỹ thuật (Technical skills): Năng lực lập trình thuật toán khai phá dữ liệu bằng C#; khả năng thao tác trên phần mềm Weka để tiền xử lý file ARFF, phân lớp và khai thác tập phổ biến; kỹ năng cấu hình dịch vụ Data Mining trong Microsoft SQL Server.
  • Kỹ năng phân tích (Analytical skills): Khả năng tính toán thủ công độ hỗ trợ, độ tin cậy, ngưỡng $mincount = \lceil minsup \times |D| \rceil$, giá trị Entropy; đánh giá độ phức tạp tính toán và chi phí bộ nhớ của giải thuật duyệt dữ liệu.
  • Năng lực ứng dụng thực tế (Practical competencies): Chuyển đổi các bài toán nghiệp vụ (phân tích giỏ hàng siêu thị, thẩm định rủi ro tín dụng ngân hàng, phân loại văn bản, nghiên cứu y sinh học) thành bài toán kỹ thuật tương ứng.

Phương pháp giảng dạy và học tập

Giáo trình áp dụng cách tiếp cận sư phạm diễn dịch kết hợp quy nạp trực quan. Mỗi chủ đề lý thuyết phức tạp đều được cụ thể hóa bằng các bảng dữ liệu số học với số lượng giao dịch và thuộc tính xác định, giúp người học theo dõi trực quan diễn biến của thuật toán qua từng bước lặp.

Hệ thống bài tập và nghiên cứu trường hợp (case studies) được bố trí tương thích với nội dung từng chương:

  • Chương 1 cung cấp câu hỏi trắc nghiệm và câu hỏi tự luận nhằm chuẩn hóa khái niệm: phân biệt khai phá dữ liệu với truy vấn cơ sở dữ liệu tác nghiệp, vai trò của tri thức nền (background knowledge), và mô tả các phân nhánh ứng dụng.
  • Chương 2 đưa ra bài toán thực tế về hành vi tiêu dùng "giỏ hàng siêu thị" thông qua bảng dữ liệu giao dịch mẫu (với các mục A, B, C, D, E), hướng dẫn chi tiết quy trình kết nối (join) và tỉa (prune) của Apriori, cũng như xây dựng cây FP-tree và đường đi tiền tố.
  • Chương 3 sử dụng case study về bài toán dự báo mức độ rủi ro bảo hiểm xe hơi (bảng dữ liệu chứa các thuộc tính Tuổi, Loại xe, Mức độ rủi ro) và bài toán xếp hạng tín dụng khách hàng (Tuổi, Thu nhập, Nhãn lớp) để mô phỏng thuật toán ID3 và phân lớp Naive Bayes.

Các bài tập thực hành yêu cầu sinh viên tự lập trình cài đặt giải thuật Apriori và FP-growth với tham số $minsup$ và $minconf$ nhập trực tiếp từ bàn phím, đồng thời sử dụng các tập dữ liệu thực tế để chạy thử nghiệm trên Weka và SQL Server.

Phương pháp đánh giá kết quả học tập được thiết kế đa chiều: đánh giá kiến thức lý thuyết thông qua trả lời câu hỏi trắc nghiệm/tự luận cuối chương; đánh giá tư duy giải thuật thông qua các bài tập giải tay từng bước lặp; và đánh giá kỹ năng thực hành thông qua sản phẩm mã nguồn lập trình cùng báo cáo phân tích dữ liệu trên công cụ Weka.

Để tự học hiệu quả, người đọc được hướng dẫn tái hiện lại các phép tính độ hỗ trợ, độ tin cậy và độ lợi thông tin trên giấy theo đúng ví dụ mẫu của giáo trình trước khi chuyển giao thuật toán sang dạng mã nguồn C# hoặc vận hành trên giao diện Weka Explorer.


Điểm nổi bật và cập nhật

Giáo trình được biên soạn và xuất bản năm 2017 bởi Nhà xuất bản Thống kê, đóng vai trò là tài liệu học tập chính thức cho hệ thống đào tạo ngành Công nghệ Thông tin tại Trường Đại học Công nghiệp Hà Nội.

Nội dung giáo trình phản ánh các xu hướng công nghệ dữ liệu hiện đại thông qua việc phân tích bối cảnh dữ liệu lớn tại các nền tảng công nghệ toàn cầu:

  • Mô tả quy mô cơ sở dữ liệu của Amazon (250 triệu sách), công cụ tìm kiếm Google (90 triệu lượt tìm kiếm mỗi ngày), Thư viện Quốc hội Mỹ (125 triệu mục), và tốc độ nhân đôi dữ liệu sau 5 tháng của YouTube.
  • Tổng hợp 11 hướng nghiên cứu và thách thức mở của lĩnh vực khai phá dữ liệu: xây dựng lý thuyết thống nhất (Developing a Unifying Theory), mở rộng xử lý dữ liệu nhiều chiều và dòng dữ liệu tốc độ cao (Data Streams), khai phá dữ liệu tuần tự và chuỗi thời gian, trích xuất tri thức phức hợp dạng đồ thị, khai phá mạng xã hội (Network setting), khai phá dữ liệu phân tán và hệ đa tác tử (Multi-Agent), xử lý dữ liệu sinh học phân tử (chuỗi DNA, điều chế vaccine HIV), tự động hóa quy trình KDD, an ninh bảo mật dữ liệu, và xử lý dữ liệu bất cân bằng gắn với chi phí (Cost-Sensitive Data).

Về mặt ứng dụng thực tiễn, giáo trình liên kết trực tiếp với các bài toán công nghiệp:

  • Lĩnh vực tài chính - ngân hàng: Xây dựng mô hình thẩm định rủi ro tín dụng, phân tích thị trường chứng khoán.
  • Thương mại điện tử: Nhận diện hành vi duyệt web và đề xuất sản phẩm dựa trên mẫu giao dịch mua sắm.
  • Y học và chăm sóc sức khỏe: Phân tích mối liên hệ triệu chứng - bệnh lý và hỗ trợ phác đồ điều trị.
  • Viễn thông, giáo dục, thể thao và thiên văn học.

Sự kết nối công nghiệp được củng cố bằng việc đưa hệ quản trị cơ sở dữ liệu doanh nghiệp Microsoft SQL Server (Analysis Services - SSAS) vào giảng dạy thực hành, kết hợp cùng môi trường phân tích học máy Weka và ngôn ngữ C#.


Đối tượng sử dụng giáo trình

Giáo trình được thiết kế phục vụ các nhóm độc giả học thuật:

  • Sinh viên đại học và học viên cao học: Là giáo trình chính cho sinh viên năm thứ ba và năm thứ tư thuộc các ngành Công nghệ Thông tin, Khoa học Máy tính, Kỹ thuật Phần mềm và Hệ thống Thông tin. Tài liệu cũng được sử dụng làm tài liệu học tập cho học viên cao học định hướng xử lý dữ liệu lớn và học máy.
  • Yêu cầu kiến thức tiên quyết (Prerequisites): Để tiếp thu hiệu quả nội dung giáo trình, người học cần hoàn thành các học phần:
    1. Cơ sở dữ liệu: Hiểu biết về mô hình quan hệ, đại số quan hệ và kỹ năng truy vấn dữ liệu SQL.
    2. Xác suất thống kê: Nắm vững các khái niệm xác suất biến cố, xác suất có điều kiện, công thức Bayes và các giá trị thống kê mô tả.
    3. Cấu trúc dữ liệu và giải thuật: Thành thạo các cấu trúc cây, đồ thị, danh sách liên kết và phân tích độ phức tạp tính toán.
    4. Lập trình hướng đối tượng: Có kỹ năng lập trình căn bản với ngôn ngữ C# hoặc Java/C++ để thực hiện các bài tập cài đặt thuật toán.
  • Giảng viên chuyên ngành: Giảng viên sử dụng giáo trình để xây dựng đề cương môn học Khai phá dữ liệu (khối lượng 2 đến 3 tín chỉ), khai thác các ví dụ minh họa và ngân hàng bài tập cuối mỗi chương cho hoạt động giảng dạy trên lớp, kiểm tra định kỳ và đánh giá đồ án môn học.
  • Người tự học và kỹ sư dữ liệu: Tài liệu cung cấp bản mô tả thuật toán chi tiết và các bước tính toán hình thức, phù hợp làm tài liệu tra cứu cho các kỹ sư phần mềm cần nắm bản chất cơ chế của các thuật toán trước khi triển khai các thư viện mã nguồn mở.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Giáo trình được biên soạn phục vụ sinh viên năm 3, năm 4 và học viên cao học các ngành Công nghệ Thông tin, Khoa học Máy tính, Hệ thống Thông tin; đồng thời là tài liệu tham khảo cho giảng viên và kỹ sư phần mềm muốn nghiên cứu bản chất thuật toán phân tích dữ liệu.

2. Cần kiến thức nền nào để học?

Người học cần trang bị kiến thức nền tảng về Cơ sở dữ liệu quan hệ, Xác suất thống kê (đặc biệt là xác suất có điều kiện), Cấu trúc dữ liệu và giải thuật (cấu trúc cây, đệ quy), cùng kỹ năng lập trình hướng đối tượng cơ bản (ưu tiên C#).

3. Điểm khác biệt với giáo trình khác?

Giáo trình tập trung diễn giải chi tiết từng bước lặp tính toán của thuật toán trên các bảng dữ liệu mẫu nhỏ, phân tích cấu trúc mã giải thuật chuẩn, đồng thời kết hợp hướng dẫn thực hành song song trên cả công cụ học máy (Weka), hệ quản trị cơ sở dữ liệu doanh nghiệp (Microsoft SQL Server) và mã nguồn tự xây dựng bằng C#.

4. Làm sao để tự học hiệu quả?

Người học nên tuân thủ quy trình: đọc hiểu cơ sở toán học và tính chất rút gọn của thuật toán; tự giải lại các ví dụ số học trong sách mà không nhìn lời giải; giải quyết toàn bộ bài tập cuối chương; sau đó cài đặt lại thuật toán bằng ngôn ngữ C# và đối chiếu kết quả thực nghiệm với phần mềm Weka.

5. Có tài liệu bổ trợ nào kèm theo?

Giáo trình tích hợp hệ thống câu hỏi trắc nghiệm, bài tập tự luận, bài tập lập trình ở cuối mỗi chương; cung cấp phần phụ lục chi tiết và danh mục tài liệu tham khảo học thuật từ các công trình nghiên cứu chuẩn quốc tế (như các nghiên cứu của J. Han, J. Ross Quinlan, R. Agrawal).


Kết luận

Giáo trình Khai phá dữ liệu (Trần Hùng Cường, Trần Thanh Hùng, NXB Thống kê, 2017) hệ thống hóa toàn diện các tri thức nền tảng của quy trình KDD, tập trung vào ba kỹ thuật trọng tâm: khai phá luật kết hợp (Apriori, FP-growth), phân lớp dữ liệu (ID3, Naive Bayes, Perceptron) và gom cụm dữ liệu (K-means, gom cụm phân cấp).

Lộ trình học tập đề xuất:

  1. Nắm vững quy trình KDD và phân loại kỹ thuật (Chương 1).
  2. Làm chủ các thuật toán khai phá tập phổ biến và sinh luật kết hợp (Chương 2).
  3. Nghiên cứu cơ chế phân lớp có giám sát qua cây quyết định, xác suất và mạng nơ-ron (Chương 3).
  4. Tiếp cận các phương pháp gom cụm không giám sát dựa trên phân hoạch và phân cấp (Chương 4).
  5. Thực nghiệm mô hình hóa trên Weka, triển khai dịch vụ Data Mining trên Microsoft SQL Server và lập trình thuật toán bằng C# (Chương 5).

Nguồn tài nguyên bổ trợ bao gồm hệ thống bài tập lý thuyết, bài tập lập trình cài đặt, bộ dữ liệu mẫu trong giáo trình và danh mục tài liệu tham khảo chuyên khảo của các tác giả quốc tế được trích dẫn trong văn bản.