1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN văn THẠC sĩ) ứng dụng học máy để dự đoán nghề nghiệp của thuê bao di động

57 86 0

Đ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

Tiêu đề Ứng Dụng Máy Học Để Dự Đoán Nghề Nghiệp Của Thuê Bao Di Động
Tác giả Hoàng Mạnh Hưng
Người hướng dẫn PGS. TS. Trần Quang Anh
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Hệ thống thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 57
Dung lượng 1,53 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU (10)
    • 1.1. Mô tả chung về nghiên cứu (10)
      • 1.1.1 Giới thiệu (10)
      • 1.1.2 Đặt vấn đề và giải quyết bài toán (11)
    • 1.2. Các đặc điểm về dữ liệu nhà mạng (12)
      • 1.2.1 Giới thiệu về dữ liệu của nhà mạng (13)
      • 1.2.2 Khối lƣợng dữ liệu lớn và phức tạp (0)
      • 1.2.3 Dữ liệu đa dạng và trùng lặp (14)
      • 1.2.4 Tập dữ liệu không cân bằng (15)
      • 1.2.5 Giá trị bị mất (15)
      • 1.2.6 Giá trị cố định (15)
    • 1.3. Phân nhóm nghề nghiệp và dữ liệu mẫu (16)
      • 1.3.1 Lý thuyết chọn mẫu (16)
      • 1.3.2 Mẫu nghiên cứu (17)
    • 1.4. Kết luận (17)
  • CHƯƠNG 2 MỘT SỐ THUẬT TOÁN HỌC MÁY LIÊN QUAN (18)
    • 2.1 Cây quyết định (18)
    • 2.2 Rừng ngẫu nhiên (20)
    • 2.3 Mô hình tuyến tính tổng quát (21)
    • 2.3 Các thuật toán Boosting (23)
      • 2.3.4 Kết hợp hai hướng tiếp cận (25)
      • 2.3.5 Thuật toán Gradient boosting (GBM) (25)
      • 2.3.6 Triển khai thuật toán XGBoost (26)
    • 2.4 Đánh giá mô hình (28)
      • 2.4.1 Độ đo dùng trong phân loại (28)
      • 2.4.2 ROC và AUC (30)
      • 2.4.3 Đánh giá mô hình bằng kiểm tra chéo (31)
    • 2.5 Kết luận (33)
  • CHƯƠNG 3 ỨNG DỤNG HỌC MÁY ĐỂ PHÂN NHÓM NGHỀ NGHIỆP (34)
    • 3.1 Mô hình đề xuất (34)
    • 3.2 Xử lý dữ liệu (34)
      • 3.2.1 Các bảng dữ liệu chính (34)
      • 3.2.2 Xây dựng đặc trƣng (41)
      • 3.2.2 Trích chọn đặc trƣng (44)
    • 3.3 Thực nghiệm và kết quả (46)
    • 3.4 Kết luận (52)
  • KẾT LUẬN (53)

Nội dung

TỔNG QUAN NGHIÊN CỨU

Mô tả chung về nghiên cứu

Việc xác định chân dung khách hàng là ưu tiên hàng đầu của các nhà cung cấp sản phẩm và dịch vụ, giúp doanh nghiệp tối ưu hóa hiệu quả các chiến dịch quảng bá Nhờ vào việc hiểu rõ đối tượng mục tiêu, các doanh nghiệp có thể thực hiện các chiến lược tiếp cận hợp lý và nhắm đến những khách hàng cụ thể Điều này cũng cung cấp cho các nhà quảng cáo cơ sở để quyết định nội dung, vị trí và thời gian quảng cáo, từ đó tiếp cận tối đa tập khách hàng mong muốn.

Trong nghiên cứu này, tôi sẽ tập trung vào việc xác định chân dung khách hàng từ tập thuê bao viễn thông Mục tiêu chính là phát triển một mô hình dự đoán nghề nghiệp của thuê bao di động, giúp các nhà khai thác viễn thông hiểu rõ hơn về đối tượng khách hàng của mình Từ đó, họ có thể đưa ra các gói sản phẩm phù hợp và cung cấp các dịch vụ giá trị gia tăng, nhằm thu hút và giữ chân khách hàng, đồng thời gia tăng lợi nhuận cho doanh nghiệp.

Mô hình nghiên cứu này áp dụng các kỹ thuật học máy để phân lớp nhị phân, dựa trên bộ dữ liệu gồm các đặc trưng từ các bản ghi chi tiết cuộc gọi nhằm dự đoán xem một thuê bao có phải là sinh viên hay không Hiệu suất của mô hình được đo lường bằng chỉ số AUC, đạt được giá trị 94,6% thông qua thuật toán XGBoost Mô hình được phát triển và thử nghiệm trên nền tảng Spark và H2O, sử dụng bộ dữ liệu lớn được mã hóa từ một trong những công ty viễn thông hàng đầu tại Việt Nam Bộ dữ liệu này chứa thông tin CDR của khách hàng, được mã hóa số thuê bao để đảm bảo tính bảo mật và an toàn thông tin Nghiên cứu cũng đã thử nghiệm bốn thuật toán khác nhau, bao gồm Rừng ngẫu nhiên, Mô hình tuyến tính tổng quát (GLM) và Máy tăng cường Gradient.

Trong nghiên cứu này, thuật toán XGBoost, nổi bật với khả năng tăng cường độ dốc cao, đã được lựa chọn để phân loại nghề nghiệp, mang lại kết quả tốt nhất so với thuật toán GBM.

1.1.2 Đặt vấn đề và giải quyết bài toán

Viễn thông đóng vai trò quan trọng trong sự phát triển công nghệ số và hội nhập kinh tế Trong thập kỷ qua, dịch vụ viễn thông đã có sự phát triển mạnh mẽ, tuy nhiên, thị trường viễn thông truyền thống gần đây đã trở nên bão hòa.

Năm 2019, số lượng thuê bao di động mặt đất đạt 125,8 triệu, vượt qua dân số Việt Nam hiện tại là 96 triệu người Trong đó, ba công ty lớn VNPT, Viettel và Mobifone chiếm hơn 97% thị phần.

Để tồn tại và phát triển, các công ty viễn thông cần không chỉ thu hút thuê bao mới và giữ chân khách hàng cũ, mà còn phải tập trung vào việc phát triển các dịch vụ giá trị gia tăng nhằm nâng cao trải nghiệm khách hàng Việc định danh khách hàng trở thành một yếu tố quan trọng, giúp các công ty hiểu rõ nhu cầu và mong muốn của từng đối tượng cụ thể Nhờ đó, họ có thể cải thiện hiệu quả chiến lược tiếp thị và phát triển nguồn doanh thu mới Thông qua việc thu thập thông tin về sở thích và hành vi của khách hàng, các công ty có thể tối ưu hóa lợi nhuận trên toàn bộ chuỗi giá trị viễn thông, từ phát triển sản phẩm đến dịch vụ khách hàng Hơn nữa, việc định danh khách hàng còn tạo cơ hội cho các công ty mở rộng mảng quảng cáo, tận dụng hạ tầng và mạng lưới sẵn có, khi mà hầu hết mọi người đều sở hữu ít nhất một thiết bị di động.

Các công ty viễn thông đang nắm giữ lượng dữ liệu khổng lồ từ hành vi sử dụng dịch vụ của khách hàng, điều này thúc đẩy họ tìm kiếm thông tin một cách mạnh mẽ hơn bao giờ hết Để tối ưu hóa việc khai thác dữ liệu, các nhà mạng không chỉ phát triển ứng dụng nội bộ mà còn hợp tác với các đối tác bên ngoài Trong dự án này, tôi được cung cấp dữ liệu về hành vi sử dụng dịch vụ viễn thông của các thuê bao di động, từ đó có thể xây dựng các mô hình dự đoán chân dung khách hàng một cách toàn diện và chính xác.

Trong nghiên cứu này, tôi tập trung vào việc xác định nghề nghiệp của thuê bao di động, đặc biệt là việc phân loại xem họ có phải là sinh viên hay không Tôi áp dụng phương pháp phân loại nhị phân để đơn giản hóa quá trình đánh giá mô hình Dữ liệu sử dụng là toàn bộ CDR của thuê bao trong 6 tháng trước đó, với hơn 50TB dữ liệu được lưu trữ trên hệ thống Hadoop (HDFS) và đã được mã hóa để đảm bảo an toàn thông tin theo quy định của Bộ TT&TT Tôi sẽ trích xuất các đặc trưng cho từng khách hàng và áp dụng các mô hình học máy để dự đoán khả năng thuê bao là sinh viên Nghiên cứu này cũng cung cấp cái nhìn tổng quan cho các nhà phát triển về cách xử lý, tổng hợp dữ liệu và lựa chọn thuật toán hiệu quả nhất để dự đoán chân dung thuê bao di động.

Các đặc điểm về dữ liệu nhà mạng

1.2.1 Giới thiệu về dữ liệu của nhà mạng

Là một trong ba công ty viễn thông hàng đầu tại Việt Nam, đối tác của tôi sở hữu một lượng lớn dữ liệu, bao gồm cả thông tin sử dụng dịch vụ của người dùng và dữ liệu hoạt động của hệ thống Các loại dữ liệu này được phân loại rõ ràng để phục vụ cho các mục đích phân tích và phát triển dịch vụ.

Dữ liệu khách hàng bao gồm tất cả thông tin liên quan đến dịch vụ và hợp đồng, như các gói cước đã đăng ký, khuyến mại và ưu đãi đã nhận Ngoài ra, nó còn chứa thông tin từ hệ thống CRM, bao gồm nhân khẩu học như địa chỉ, ngày sinh, giới tính, cùng với các giấy tờ pháp lý như hình ảnh, chứng minh thư và căn cước công dân.

Dữ liệu về vị trí của người dùng được lưu trữ dưới dạng mã vị trí, cho phép xác định kinh độ, vĩ độ và địa chỉ cụ thể đến cấp xã, phường.

Dữ liệu về khiếu nại và chăm sóc khách hàng bao gồm thông tin phản hồi từ khách hàng về dịch vụ, cùng với các khiếu nại liên quan đến cước phí và gói dịch vụ mà khách hàng đang sử dụng hoặc quan tâm.

Dữ liệu nhật ký mạng bao gồm thông tin về tình trạng hoạt động của hệ thống, ghi lại lịch sử hoạt động của ứng dụng, chi tiết về hệ thống và lịch sử thay đổi của các phiên bản nâng cấp.

Dữ liệu chi tiết cuộc gọi bao gồm thông tin về cuộc gọi, tin nhắn SMS, MMS, truy cập internet và dịch vụ VASP Tất cả dữ liệu này được trình bày dưới dạng văn bản, giúp người dùng dễ dàng theo dõi và quản lý các hoạt động liên lạc của mình.

- Thông tin thiết bị di động : Nó chứa thông tin về thương hiệu, kiểu máy, loại điện thoại di động, dùng 1 sim hay 2 sim, hỗ trợ 4g hay không

Dữ liệu lớn từ các doanh nghiệp viễn thông chứa nhiều thông tin quý giá, nhưng do vấn đề bảo mật và an toàn dữ liệu, tôi chỉ có thể truy cập vào một số loại dữ liệu như vị trí, thiết bị di động và chi tiết cuộc gọi Những dữ liệu này vẫn cung cấp một khối lượng lớn thông tin về hành vi và thói quen sử dụng dịch vụ của khách hàng Tôi đã dành nhiều thời gian để nghiên cứu và phân tích cách lưu trữ, tần suất xuất dữ liệu và ý nghĩa của từng loại dữ liệu, điều này trở thành một thách thức lớn do dữ liệu được thu thập từ nhiều nguồn khác nhau và thiếu tài liệu mô tả liên quan.

1.2.2 Khối lượng dữ liệu lớn và phức tạp

Để xây dựng mô hình hiệu quả, tôi cần xử lý toàn bộ dữ liệu liên quan đến hành vi và hoạt động của khách hàng, bao gồm các bản ghi cuộc gọi, SMS, MMS, Internet, VAS và giao dịch cước Việc hiểu rõ các trường thông tin là rất quan trọng, nhưng điều này gặp nhiều khó khăn do sự phức tạp của bảng dữ liệu với hàng trăm cột và tài liệu mô tả không đầy đủ Hơn nữa, sự chuyển giao thông tin giữa các nhân viên nhà mạng không luôn được thực hiện đầy đủ, dẫn đến việc thiếu tài liệu cho một số trường thông tin.

Trong nghiên cứu của tôi, dữ liệu được thu thập trong 6 tháng, tạo thành một khối lượng lớn khoảng 300GB văn bản mỗi ngày, tổng cộng hơn 50TB dữ liệu thô Để quản lý và tối ưu hóa hiệu suất xử lý cũng như lưu trữ dữ liệu, tôi đã sử dụng hệ thống quản trị Cloudera trên nền tảng Hadoop Distributed File System (HDFS), mang lại nhiều lợi ích cho quá trình khai thác dữ liệu sau này.

1.2.3 Dữ liệu đa dạng và trùng lặp

Dữ liệu CDR được thu thập từ nhiều nguồn khác nhau, dẫn đến sự trùng lặp và phân tán thông tin Ví dụ, dữ liệu tin nhắn SMS có thể đến từ các nguồn khác nhau như cước phí, roaming, hoặc các bản ghi đầy đủ nhưng thiếu một số trường dữ liệu Do đó, quá trình xử lý dữ liệu yêu cầu phân tích, so sánh và lựa chọn hoặc kết hợp nhiều nguồn để tạo ra một bảng thống nhất Mặc dù giai đoạn ETL này tốn thời gian và công sức, nhưng nó giúp giảm một nửa số bảng và trường dữ liệu không cần thiết.

1.2.4 Tập dữ liệu không cân bằng

Tập dữ liệu không cân bằng là trường hợp phổ biến trong bài toán phân loại, khi mà sự phân bố của các lớp không đồng đều Một tập dữ liệu được coi là không cân bằng nếu một trong các danh mục của nó chiếm ít hơn hoặc bằng 10% so với các danh mục còn lại.

Mặc dù các thuật toán học máy thường nhằm nâng cao độ chính xác bằng cách giảm sai số, nhưng không phải tất cả đều xem xét vấn đề tập dữ liệu không cân bằng, điều này có thể dẫn đến kết quả không khả quan Để đạt được hiệu quả tốt nhất trong huấn luyện dữ liệu, các lớp trong tập dữ liệu cần được coi là cân bằng và có tầm quan trọng như nhau.

Khách hàng có thể sử dụng các gói dịch vụ khác nhau, dẫn đến sự đa dạng trong các sản phẩm và dịch vụ mà mỗi người nhận được Điều này có nghĩa là một số khách hàng có thể sở hữu những gói cước hoặc dịch vụ mà người khác không có, trong khi họ lại có những lựa chọn khác biệt.

Ngoài việc giá trị dữ liệu bị mất, còn có khả năng xảy ra mất mát dữ liệu do nhiều nguyên nhân khác nhau Các nguyên nhân này có thể là lỗi hệ thống, mất hoặc thiếu log, hoặc do sai sót trong quá trình xử lý dữ liệu Thêm vào đó, sự gián đoạn đường truyền cũng có thể dẫn đến việc một số bản ghi bị mất mà không thể khôi phục.

Những trường hợp này đều gây khó khăn và gây ảnh hưởng đến chất lượng của mô hình

Sau khi phân tích dữ liệu, tôi nhận thấy khoảng 50% biến số chỉ chứa một hoặc hai giá trị rời rạc, và khoảng 80% các biến phân loại có dưới 10 danh mục Đặc biệt, 15% biến số và biến phân loại chỉ có một giá trị duy nhất Nhiều biến có phần lớn giá trị bằng 0 hoặc là hằng số, với khoảng 77% biến số có hơn 97% giá trị là 0, hằng số hoặc rỗng Những kết quả này cho thấy rằng một lượng lớn các biến có thể được loại bỏ vì chúng không mang lại giá trị hoặc chỉ có giá trị cố định.

Phân nhóm nghề nghiệp và dữ liệu mẫu

Tổng thể là tập hợp tất cả các đối tượng khảo sát, trong khi mẫu là một tập hợp nhỏ được lấy ra từ tổng thể lớn để nghiên cứu các đặc trưng của nó Những đặc trưng này được sử dụng để suy rộng ra các đặc trưng của tổng thể mà mẫu đại diện Việc điều tra toàn bộ tổng thể thường tốn kém về chi phí, thời gian và công sức, vì vậy chọn mẫu là phương pháp hiệu quả giúp đạt được độ chính xác tương đối, tiết kiệm thời gian và tăng tốc độ nghiên cứu Tuy nhiên, do mẫu chỉ là phần nhỏ của tổng thể, nên việc lấy mẫu có thể dẫn đến sai số chọn mẫu.

Có hai cách chọn mẫu : Chọn mẫu theo xác suất và chọn mẫu phi xác suất

Chọn mẫu theo xác suất là phương pháp mà mọi đơn vị trong tổng thể đều có khả năng được chọn như nhau Có bốn phương pháp chính để thực hiện chọn mẫu theo xác suất: chọn mẫu ngẫu nhiên đơn giản, chọn mẫu hệ thống, chọn mẫu phân tầng và chọn mẫu tập trung.

Chọn mẫu phi xác suất là phương pháp lựa chọn các đơn vị trong tổng thể mà không có khả năng ngang nhau để đưa vào nghiên cứu Có bốn cách thực hiện chọn mẫu phi xác suất, bao gồm chọn mẫu thuận tiện, chọn mẫu theo phán đoán, chọn mẫu tích lũy nhanh và chọn mẫu theo định mức.

Nghiên cứu này tập trung vào việc dự đoán nghề nghiệp của các thuê bao trong một nhà mạng viễn thông cụ thể Tuy nhiên, do hạn chế về thời gian và khó khăn trong việc thu thập mẫu, tôi sẽ giới hạn bài toán vào việc xác định xem một thuê bao có phải là sinh viên hay không.

Năm học 2018-2019, cả nước có 237 trường đại học và 58 trường cao đẳng với tổng số 1,526,111 sinh viên đại học và 33,239 sinh viên cao đẳng Để thu thập mẫu đại diện, tôi đã áp dụng phương pháp chọn mẫu phi xác suất, cụ thể là chọn mẫu thuận tiện Tôi đã lựa chọn 7,388 sinh viên từ các trường Đại học Hà Nội, Đại học Y Hà Nội và Đại học Đà Nẵng, cùng với hơn 8000 mẫu đối lập, tạo thành hơn 15,000 nhãn Tuy nhiên, sau khi thực hiện lấy đặc trưng, tôi chỉ còn 6,438 mẫu sinh viên và 6,990 mẫu đối lập cho tổng thể.

Trong quá trình thu thập 13,428 mẫu, một số mẫu đã bị loại bỏ do không tìm được thông tin từ nhà mạng hoặc đã ngừng hoạt động Phương pháp lấy mẫu này có ưu điểm là thuận tiện và dễ tiếp cận thông tin, nhưng nhược điểm là không xác định được sai số và không thể kết luận tổng thể từ kết quả mẫu Để cải thiện, tôi sẽ thu thập thêm nhiều mẫu ngẫu nhiên hơn và loại bỏ các đặc trưng có thể gây phân lập để đảm bảo mô hình đạt được kết quả tốt nhất.

Kết luận

Dữ liệu từ nhà mạng rất phức tạp và khổng lồ, khiến cho việc chuẩn hóa trở nên tốn thời gian và công sức Để phát hiện các đặc trưng mạnh mẽ với khả năng phân loại cao, tôi đã thử nghiệm nhiều thuật toán với các tham số khác nhau nhằm tìm ra mô hình tối ưu Nhờ vào phần mềm H2O, quá trình huấn luyện và kiểm tra được rút ngắn đáng kể Chế độ mạnh mẽ nhất của H2O, AutoML, sử dụng bốn mô hình cơ bản là eXtreme Gradient.

In this article, I will introduce various machine learning algorithms, including XGBoost, Gradient Boosting Machine (GBM), General Linear Model (GLM), and Distributed Random Forest (DRF), for training purposes The subsequent chapters will cover the theoretical models and the procedures for training and testing these algorithms.

MỘT SỐ THUẬT TOÁN HỌC MÁY LIÊN QUAN

Cây quyết định

Cây quyết định (Decision Tree) là một mô hình trong thuật toán Học có giám sát (Supervised Learning), sử dụng cấu trúc cây phân cấp để phân loại các đối tượng dựa trên các quy tắc Các thuộc tính của đối tượng có thể là Nhị phân, Định danh, Thứ tự hoặc Số lượng, trong khi thuộc tính phân lớp cần có kiểu dữ liệu Nhị phân hoặc Thứ tự Tóm lại, với dữ liệu về các đối tượng và lớp của chúng, cây quyết định sẽ tạo ra các quy tắc để dự đoán lớp cho các dữ liệu chưa biết.

Hình 2.1 Mô hình diểu diễn cây quyết định

Thuật toán ID3 (Iterative Dichotomiser 3) do Ross Quinlan phát triển, cùng với phiên bản cải tiến C4.5, được sử dụng để xây dựng cây quyết định phù hợp với tập dữ liệu huấn luyện Mục tiêu của thuật toán là tạo ra cây quyết định có đầu ra giống nhất với nhãn phân loại trong tập mẫu Để bắt đầu, thuật toán lựa chọn thuộc tính cho nút gốc, ưu tiên thuộc tính cho phép phân chia tốt nhất các đối tượng thành các tập con đồng nhất ID3 sử dụng entropy làm thước đo mức độ đồng nhất của tập dữ liệu.

Entropy, một khái niệm trong Nhiệt động lực học, được sử dụng để đo lường sự biến đổi, hỗn loạn và ngẫu nhiên Năm 1948, Shannon đã mở rộng khái niệm này vào lĩnh vực nghiên cứu và thống kê thông qua một công thức đặc biệt.

Một biến rời rạc x có thể nhận n giá trị khác nhau, với xác suất tương ứng cho mỗi giá trị là p(x=).

Ký hiệu phân phối này là p = ( , ,…, ) Entropy của phân phối này đƣợc định nghĩa là: H(p)= -∑

Sử dụng entropy để đo lường mức độ đồng nhất của tập mẫu, chúng ta có thể đánh giá chất lượng của thuộc tính bằng cách so sánh entropy trước và sau khi phân chia tập mẫu thành các tập con theo giá trị của thuộc tính Sự khác biệt giữa entropy trước và sau khi phân chia được gọi là độ tăng thông tin (Information Gain - IG), là chỉ số quan trọng để đánh giá hiệu quả của thuộc tính trong việc chia nhỏ tập dữ liệu thành các tập con đồng nhất Để xây dựng cây quyết định, cần xác định thuộc tính có IG cao nhất Quá trình tính IG được thực hiện tại mỗi nút trong mô hình cây quyết định theo một trình tự nhất định.

Bước 1: Tính toán hệ số Entropy của biến mục tiêu S có N phần tử với Nc phần tử thuộc lớp c cho trước:

Bước 2: Tính toán hàm số Entropy cho từng thuộc tính Đối với thuộc tính x, tập dữ liệu S sẽ được phân chia thành K nút con S1, S2, …, SK, trong đó số lượng điểm dữ liệu trong mỗi nút con lần lượt là m1, m2, …, mK.

Bước 3: Chỉ số IG đƣợc tính bằng:

Giá trị IG đóng vai trò quan trọng trong việc lựa chọn thuộc tính tốt nhất tại mỗi nút trong thuật toán ID3 Theo nguyên tắc này, thuộc tính được chọn sẽ là thuộc tính có giá trị IG cao nhất, giúp tối ưu hóa quá trình phân loại.

Rừng ngẫu nhiên

Rừng ngẫu nhiên là phương pháp xây dựng một tập hợp lớn các cây quyết định và sử dụng phương pháp bầu chọn để dự đoán biến mục tiêu Random Forest (RF) bao gồm hàng trăm cây quyết định, mỗi cây được tạo ra ngẫu nhiên thông qua việc tái chọn mẫu dữ liệu và lựa chọn ngẫu nhiên các biến từ toàn bộ dữ liệu.

Hình 2.2 Mô hình biểu diễn rừng ngẫu nhiên

Với cơ chế hoạt động phức tạp, Random Forest mang lại độ chính xác cao nhưng lại khiến người dùng khó hiểu về cách thức hoạt động của thuật toán Đây là lý do mà Random Forest được xem là một phương pháp Black Box, cho phép chúng ta nhận kết quả mà không thể giải thích chi tiết về quy trình bên trong.

Mô hình tuyến tính tổng quát

Mô hình tuyến tính tổng quát (GLM) là một sự mở rộng linh hoạt của hồi quy tuyến tính truyền thống, cho phép các biến đáp ứng có phân phối lỗi khác với phân phối chuẩn GLM cải tiến hồi quy tuyến tính bằng cách liên kết mô hình tuyến tính với biến phản hồi thông qua một hàm liên kết, đồng thời cho phép độ lớn của phương sai của mỗi phép đo phụ thuộc vào giá trị dự đoán của nó.

Mô hình tuyến tính tổng quát, được phát triển bởi John Nelder và Robert Wedderburn, thống nhất các mô hình thống kê như hồi quy tuyến tính, hồi quy logistic và hồi quy Poisson Họ đã đề xuất phương pháp bình phương nhỏ nhất tái trọng số lặp đi lặp lại để ước tính khả năng tối đa của các tham số trong mô hình Phương pháp ước tính khả năng tối đa vẫn được ưa chuộng và là lựa chọn mặc định trong nhiều gói phần mềm thống kê Ngoài ra, các phương pháp khác như tiếp cận Bayes và bình phương nhỏ nhất phù hợp với phương sai ổn định phản hồi cũng đã được phát triển.

Trong mô hình tuyến tính tổng quát (GLM), các kết quả Y của biến phụ thuộc được giả định là được tạo ra từ một phân phối cụ thể thuộc họ hàm mũ, bao gồm các phân phối xác suất như phân phối chuẩn, nhị thức, Poisson và gamma Giá trị trung bình (μ) của phân phối này phụ thuộc vào các biến độc lập X.

Giá trị kỳ vọng của Y có điều kiện trên X được biểu diễn bằng Xβ, trong đó Xβ là một công cụ dự báo tuyến tính, kết hợp các tham số chưa biết β, và g là hàm liên kết.

Khi đó, hàm phương sai V được định nghĩa :

Sẽ rất thuận tiện nếu V là một họ phân phối theo cấp số nhân, nhƣng nó có thể đơn giản là một hàm của giá trị dự đoán

Một số đặc điểm của mô hình tuyến tính tổng quát hóa:

Mô hình tuyến tính tổng quát hoá sử dụng ước lượng Maximum Likelihood (MLE) để xác định giá trị của hệ số beta, khác với mô hình tuyến tính bình thường vốn áp dụng ước lượng bình phương tối thiểu.

Hệ số xác định (Coefficient of Determination) là một chỉ số quan trọng trong mô hình tuyến tính bình thường, giúp giải thích và phân tích ý nghĩa của mô hình Tuy nhiên, trong mô hình tuyến tính tổng quát hóa, hệ số này không thể áp dụng để phân tích Thay vào đó, độ lệch (deviance) được sử dụng, trong đó chỉ số Nagelkerke là một trong những độ lệch phổ biến trong hồi quy logistic.

Việc chuyển đổi các mô hình thông thường sang mô hình tuyến tính thông qua các hàm nối được gọi là mô hình tuyến tính tổng quát hóa Hai loại mô hình phổ biến nhất trong lĩnh vực này là mô hình hồi quy Logistic và mô hình hồi quy Poisson, thường được sử dụng trong phân tích tuyến tính log.

Các thuật toán Boosting

Trong chương này, chúng ta khám phá hai thuật toán boosting nổi bật là Extreme Gradient Boosting (XGBoost) và Gradient Boosting Machine (GBM), cả hai đều phát triển từ thuật toán máy tăng cường độ dốc XGBoost thường cho kết quả vượt trội hơn nhờ vào phương thức chính quy hóa mô hình hiệu quả hơn, giúp kiểm soát tình trạng quá vừa dữ liệu Là thuật toán state-of-the-art cho bài toán học có giám sát, XGBoost đạt độ chính xác cao và có khả năng xử lý bảng dữ liệu với nhiều kích thước và dạng dữ liệu, bao gồm cả dữ liệu phân loại Hơn nữa, XGBoost có tốc độ huấn luyện nhanh, khả năng mở rộng tính toán song song trên nhiều server và có thể tận dụng GPU, làm cho nó trở thành lựa chọn lý tưởng cho các bài toán Big Data.

2.3.1 Phát biểu bài toán y là biến ngẫu nhiên cho đầu ra: nhãn, phân loại, phân nhóm là các vecto đặc trƣng của dữ liệu đầu vào

{ } là mẫu dữ liệu dùng để huấn luyện mô hình là hàm mục tiêu ánh xạ x sang y là hàm mất mát:

 Sai số tuyệt đối : | | (hồi quy)

 Negative binomial log-likelihood: (phân loại)

Mục tiêu của chúng ta tìm đƣợc hàm mục tiêu sao cho cực tiểu hoá kỳ vọng của hàm lỗi

2.3.2 Boosting Ý tưởng: thay vì xây dựng một mô hình dự đoán (chẳng hạn descision tree) có độ chính xác tương đối, ta đi xây dựng nhiều mô hình dự đoán có độ chính xác kém hơn (weak learner) khi đi riêng lẻ nhƣng lại cho độ chính xác cao khi kết hợp lại.Ta có thể hình dung mỗi weak learner gồm học sinh yếu, khá, giỏi và thầy giáo Trong đó, trọng số uy tín về kiến thức của thầy giáo sẽ là cao nhất và học sinh yếu sẽ là thấp nhất Khi bạn đặt câu hỏi nào đó và cần những người này đưa ra kết luận, nếu nhiều người cùng có chung kết luận hoặc uy tín của những người đưa ra kết luận cao hơn tập thể thì ta có thể tin kết luận này là đúng

Trong thuật toán AdaBoost, mỗi lần huấn luyện, mô hình điều chỉnh trọng số cho các điểm dữ liệu bị phân lớp sai, nhằm tăng cường khả năng phân lớp chính xác trong các lượt huấn luyện tiếp theo Điều này giúp các điểm dữ liệu này có cơ hội cao hơn để được phân loại đúng trong quá trình dự đoán tổng quát.

Mục tiêu là đi tìm vector các tham số sao cho tối ƣu hoá hàm mục tiêu cụ thể nào đó:

Nhƣ vậy, kết quả của gradient descent là kết hợp các trọng số của các gradient

2.3.4 Kết hợp hai hướng tiếp cận

Nhƣ vậy, mục tiêu của chúng ta là đi xây dựng một mô hình phụ gia (additive model):

Việc huấn luyện trực tiếp để tìm các tham số trong không gian tham số sẽ gặp nhiều khó khăn Do đó, chúng ta sẽ áp dụng phương pháp greedy-stagewise trong không gian hàm số để giải quyết vấn đề này.

2.3.5 Thuật toán Gradient boosting (GBM)

Thuật toán này nhằm xấp xỉ gradient thông qua một hàm tham số hoá

Tại mỗi vòng lặp, ta tính gradient ̃ Ta xem là tập dùng để huấn luyện hàm Từ đó, ta có thể dự đoán ̃ từ

Thuật toán Gradient_Boost đƣợc biểu diễn nhƣ sau:

Gradient trong không gian hàm số và nhãn trong không gian tham số đóng vai trò quan trọng trong việc xác định tốc độ học máy (learning rate) để tìm tham số và tăng cường mô hình phụ gia Từ thuật toán cơ bản này, chúng ta có thể mở rộng cho các mô hình khác thông qua các hàm mất mát đã được định nghĩa trước.

2.3.6 Triển khai thuật toán XGBoost

Hình 2.3 Mô hình XGBoost Đặt:

 : số lƣợng mẫu huấn luyện

 : số lƣợng đặc trƣng (features)

 là tập dữ liệu với | |

 cấu trúc của một cây, ánh xạ mẫu dữ liệu vào nút lá tương ứng

 số lƣợng nút lá trên cây

 : cấu trúc các cây độc lập của mô hình

 : trọng số của nút lá thứ

 ̂ : giá trị dự đoán của instance thứ tại vòng lặp thứ

 : đạo hàm bậc 2 của hàm

 | : tập các giá trị tại nút lá

 : tập giá trị nút lá bên trái

 : tập giá trị nút lá bên phải

 Trọng số tối ƣu tại mỗi nút lá: ∑ ∑

 Hàm lỗi tính trên toàn bộ cây: ̃ ∑ ∑

XGBoost và Gradient Boosting đều áp dụng nguyên lý boosting thông qua gradient descent trong không gian hàm số Tuy nhiên, hiệu suất ấn tượng và khả năng tính toán vượt trội của XGBoost đến từ ba yếu tố chính.

Kỹ thuật kỹ thuật nhằm tránh tình trạng quá khớp dữ liệu (overfitting) bao gồm việc lấy mẫu phụ theo hàng và cột, cũng như cột ở mỗi cấp độ phân chia Đồng thời, áp dụng các phương pháp tăng cường chính quy với cả L1 và L2 để cải thiện độ chính xác của mô hình.

Khả năng tận dụng tài nguyên hệ thống là rất quan trọng, bao gồm việc tính toán song song trên CPU và GPU, cũng như tính toán phân tán trên nhiều máy chủ Ngoài ra, việc tối ưu hóa khi tài nguyên bị giới hạn và cải thiện bộ nhớ đệm cũng góp phần tăng tốc quá trình huấn luyện.

Khả năng xử lý các giá trị dữ liệu bị thiếu là rất quan trọng, cho phép tiếp tục huấn luyện bằng mô hình đã được xây dựng trước đó, từ đó giúp tiết kiệm thời gian hiệu quả.

XGBoost là một công nghệ tiên tiến nhằm tối ưu hóa hiệu suất của các thuật toán cây quyết định, giúp khai thác tối đa tài nguyên tính toán Chính vì vậy, XGBoost được nhiều người ưa chuộng và áp dụng trong các bài toán học máy.

Đánh giá mô hình

Để đánh giá hiệu quả của mô hình, cần xác định các tiêu chí và độ đo phù hợp Có nhiều phương pháp đo lường khác nhau tùy thuộc vào ứng dụng cụ thể của thuật toán phân loại hoặc hồi quy Bài viết này sẽ trình bày một số độ đo phổ biến nhất trong lĩnh vực này.

2.4.1 Độ đo dùng trong phân loại

Khi xây dựng mô hình Machine Learning, việc đánh giá hiệu quả của mô hình là rất quan trọng để so sánh khả năng của các mô hình khác nhau Trong trường hợp phân loại hai lớp, mỗi ví dụ có thể nhận nhãn dương hoặc âm Đối với mỗi ví dụ mà mô hình dự đoán nhãn, có bốn khả năng xảy ra, trong đó nhãn thật là nhãn của dữ liệu và nhãn dự đoán là kết quả từ mô hình.

Bảng 2.1 Ma trận nhầm lẫn

Theo Bảng 2.1, trong mô hình dự đoán, ví dụ loại dương được dự đoán là dương gọi là dương đúng (true positive - TP), còn nếu dự đoán là âm thì gọi là âm sai (false negative - FN) Đối với ví dụ loại âm, nếu dự đoán là dương thì gọi là dương sai (false positive - FP), còn nếu dự đoán là âm thì gọi là âm đúng (true negative - TN) Từ các khái niệm TP, TN, FP, FN, chúng ta có thể định nghĩa một số chỉ số đánh giá hiệu quả phân loại, trong đó N là tổng số mẫu.

Các độ đo accuracy, recall và precision đều nằm trong khoảng [0, 1] và thường được sử dụng để đánh giá hiệu suất phân loại Độ đo accuracy phản ánh độ chính xác tổng thể, trong khi precision và recall tập trung vào hiệu suất cho một lớp cụ thể Ví dụ, trong việc phân loại email thành "thư rác" và "thư bình thường", recall đo lường tỷ lệ thư rác được phát hiện, còn precision đo lường tỷ lệ thư rác dự đoán đúng Cần lưu ý rằng khi recall tăng, precision thường giảm và ngược lại Trong trường hợp lọc thư rác, nếu tất cả thư được dự đoán là thư rác, recall sẽ đạt tối đa nhưng precision sẽ giảm Độ đo F kết hợp hai giá trị precision và recall để cung cấp cái nhìn tổng quát hơn về hiệu suất phân loại.

Trong phân loại nhiều lớp, các chỉ số recall, precision, sensitivity và specificity cho mỗi lớp được tính bằng cách xem lớp đó là lớp dương, trong khi tất cả các lớp còn lại được gộp lại thành lớp âm.

2.4.2 ROC và AUC Đường cong ROC (Receiver operating characteristic) và AUC (Area under Curve) đƣợc sử dụng để ƣớc lƣợng và tính toán hiệu năng của mô hình phân loại Nó đo lường khả năng phân biệt (discrimination power) của mô hình phân loại Nói một cách đơn giản, nó kiểm tra khả năng phân biệt các sự kiện trong mô hình phân lớp Đường cong ROC biểu diễn tỷ lệ dương tính đúng (tpr) so với tỉ lệ dương tính sai (fpr) AUC được tính là diện tính phía dưới đường cong ROC AUC cung cấp một thước đo tổng hợp về hiệu suất trên tất cả các ngưỡng phân loại có thể có Như hình bên dưới, AUC được tính là phần diện tích màu xám Trong nhiều mô hình học máy, AUC được sử dụng làm thước đo chính để đánh giá mô hình

Hình 2.4 Đường cong ROC và AUC

2.4.3 Đánh giá mô hình bằng kiểm tra chéo

Khi áp dụng các thuật toán phân loại và hồi quy, việc đánh giá độ chính xác của mô hình là rất quan trọng Đầu tiên, cần xác định độ chính xác của mô hình đã được xây dựng và huấn luyện để đảm bảo nó đáp ứng yêu cầu của bài toán Thứ hai, trong nhiều trường hợp, sẽ có nhiều mô hình khác nhau và việc lựa chọn mô hình tốt nhất cho bài toán cụ thể là cần thiết.

Một trong những phương pháp đánh giá mô hình là huấn luyện trên toàn bộ tập dữ liệu và sau đó kiểm tra độ chính xác trên chính tập dữ liệu đó Tuy nhiên, phương pháp này không hợp lý vì nó không cung cấp kết quả khách quan Nếu mô hình quá khớp với dữ liệu huấn luyện, nó có thể đạt độ chính xác cao nhưng lại kém hiệu quả khi áp dụng cho dữ liệu mới.

Để đánh giá mô hình một cách khách quan hơn, thay vì sử dụng cùng bộ dữ liệu đã dùng để huấn luyện, phương pháp kiểm tra chéo (cross-validation) là lựa chọn tốt hơn Trong đó, kiểm tra chéo với tập kiểm tra tách riêng (hold-out cross validation) là một trong hai phương pháp kiểm tra chéo phổ biến nhất.

Phương pháp này có thể gọi là kiểm tra chéo đơn giản, là phương pháp kiểm tra chéo đơn giản nhất và đƣợc thực hiện nhƣ sau:

Chia tập dữ liệu huấn luyện S ban đầu thành hai tập con ngẫu nhiên: tập huấn luyện chiếm 70% dữ liệu và tập kiểm tra chiếm 30% còn lại.

 Huấn luyện mô hình cần đánh giá trên tập

 Đánh giá độ chính xác của mô hình hi trên tập kiểm tra

 Chọn mô hình có độ chính xác cao nhất trên tập kiểm tra để sử dụng (nếu mục đích là lựa chọn mô hình) b Kiểm tra chéo k-fold

Một nhược điểm của việc sử dụng bộ dữ liệu kiểm tra riêng là chỉ khoảng 70% dữ liệu ban đầu được dùng để huấn luyện, dẫn đến việc lãng phí nhiều dữ liệu cho kiểm tra Do đó, phương pháp kiểm tra chéo thường được áp dụng để giảm thiểu lượng dữ liệu cần thiết cho kiểm tra.

 Chia ngẫu nhiên tập dữ liệu ban đầu S thành tập dữ liệu có kích thước (gần) bằng nhau

Lặp lại quy trình sau mỗi lần bằng cách sử dụng tập kiểm tra, trong đó gộp k-1 tập còn lại thành tập huấn luyện Tiến hành huấn luyện mô hình và đánh giá nó trên tập huấn luyện Cuối cùng, kiểm tra độ chính xác của mô hình bằng cách áp dụng nó trên tập kiểm tra.

 Độ chính xác của mô hình đƣợc tính bằng trung bình cộng độ chính xác trên k lần kiểm tra ở bước trên

Khi chọn mô hình, ưu tiên độ chính xác trung bình lớn nhất Kiểm tra chéo k-fold mang lại lợi ích lớn nhờ việc sử dụng nhiều dữ liệu hơn cho quá trình huấn luyện, trong đó mỗi ví dụ chỉ được kiểm tra một lần nhưng được sử dụng trong tập huấn luyện k-1 lần Tuy nhiên, nhược điểm của phương pháp này là yêu cầu huấn luyện và đánh giá mô hình k lần, dẫn đến việc tiêu tốn nhiều thời gian.

Phương pháp này thường được áp dụng với k = 10, mang lại kết quả đánh giá khách quan mà không yêu cầu quá nhiều thời gian huấn luyện cho mô hình.

Kết luận

Trong chương này, tôi đã trình bày các thuật toán từ cơ bản đến nâng cao để huấn luyện mô hình, cùng với các chỉ số đánh giá chất lượng mô hình nhằm lựa chọn mô hình phù hợp cho việc huấn luyện và dự đoán toàn bộ tập thuê bao Sau khi chuẩn bị dữ liệu và chọn lựa thuật toán, tôi tiến hành bước thực nghiệm Từ dữ liệu hiện có, tôi sẽ trích xuất các đặc trưng, lựa chọn những đặc trưng mạnh mẽ và áp dụng các thuật toán đã giới thiệu để thực hiện huấn luyện, kiểm tra và rút ra kết luận cuối cùng.

ỨNG DỤNG HỌC MÁY ĐỂ PHÂN NHÓM NGHỀ NGHIỆP

Mô hình đề xuất

Có nhiều thuật toán phân loại, đặc biệt là trong bài toán phân loại nhị phân Để đánh giá chất lượng của các thuật toán, tôi sử dụng phần mềm H2O trên nền tảng R H2O tự động chọn các thuật toán phổ biến như XGBoost, GBM, GLM và DRF, thực hiện nhiều lần và sắp xếp theo độ chính xác AUC giảm dần Việc sử dụng H2O giúp tôi tăng tốc quá trình training và testing, từ đó có nhiều thời gian hơn để xử lý dữ liệu và xây dựng đặc trưng phù hợp, nâng cao chất lượng mô hình.

Xử lý dữ liệu

3.2.1 Các bảng dữ liệu chính

Dữ liệu telco mà tôi cần xử lý được phân chia thành nhiều bảng khác nhau, mỗi bảng chứa các trường thông tin riêng biệt Chúng ta sẽ tiến hành khảo sát các bảng chính để hiểu rõ hơn về cấu trúc và nội dung của dữ liệu này.

3.2.1.1 Dữ liệu voice, sms Đây là các dữ liệu phát sinh do hành động gọi thoại, nhắn tin sms, mms của thuê bao Dữ liệu gốc bao gồm rất nhiều bảng phân ra các hành động riêng biệt nhƣ thoại, thoại roaming, thoại trả sau, nhắn tin thường, nhắn tin mất phí, nhắn tin roaming … Vì vậy, trong quá trình ETL (xử lý và làm sạch dữ liệu),tôi đã phải lọc các dữ liệu trùng lặp, các trường dư thừa có giá trị rỗng, bỏ đi các trường mô tả thông tin hệ thống, các trường có giá trị hằng số để chỉ giữ lại các thông tin thể hiện sự khác biệt về hành vi người dùng.Thông tin các trường cơ bản của bảng call và sms như trên Bảng 3.1

Bảng 3.1 Bảng call và sms

Cột "from_isdn_key" là kiểu dữ liệu số nguyên (int) dùng để lưu trữ số thuê bao thực hiện cuộc gọi, ví dụ như 123456789 Cột "to_isdn_key" cũng là kiểu dữ liệu số nguyên (int) và chứa số thuê bao nhận cuộc gọi, chẳng hạn như 156273643 Cột "start_time" có kiểu dữ liệu timestamp, ghi lại thời gian bắt đầu cuộc gọi, ví dụ như 2020-02-01.

12:23:34 call_duration int Thời gian gọi (giây) 36 imei string imei của thiết bị 35932006097721

The article details call data with various parameters: the calling prefix number is 36, while the called prefix number is 97 It includes the main price plan ID of 83 and roaming information with a roaming number of 430 The basic account charge is 11, indicating a deduction from the main account balance Before the call, the pre-call balance was 0, and after the call, the basic balance remained at 375,605,174 The call originated from cell ID 125, and the call type is categorized as outgoing (1) The log type is identified as "pre_call_out," and the data processing date is February 1, 2020.

3.2.1.2 Dữ liệu về số dư hàng ngày Đây là bảng lưu trữ về số dư hàng ngày của từng thuê bao dữ liệu được xuất ra với tần suất mỗi ngày một lần Các trường cơ bản của bảng balance như sau:

Tên cột Kiểu dữ liệu Mô tả Ví dụ isdn_key int Số thuê bao dạng mã hóa 123456789 active_date timestamp thời gian kích hoạt 2019-02-01

The primary subscription plan, identified by price_sub_id 430, is currently active (sub_state A) The main account balance stands at 13,700, while the promotional account balance is zero This data was recorded on February 1, 2020.

3.2.1.3 Dữ liệu về tiêu dùng hàng tháng Đây là bảng tổng hợp các thông tin sử dụng cước của thuê bao trong một tháng

Dữ liệu được xuất hàng tháng Các trường cơ bản của bảng consume như sau:

Tên cột Kiểu dữ liệu Mô tả Ví dụ isdn_key int Số thuê bao dạng mã hóa 123456789 t_org_cost int Tổng tiêu dùng trên tài khoản chính

49142 t_prom_cost int Tổng tiêu dùng trên tài khoản khuyến mại (KM)

Dưới đây là các loại cước phí liên quan đến dịch vụ viễn thông: Cước thoại tài khoản chính là 2491, cước thoại tài khoản khuyến mãi là 49142, cước thoại nội mạng là 43102, cước thoại ngoại mạng là 16040, và cước thoại quốc tế là 0 Về cước SMS, cước tài khoản chính là 0, cước tài khoản khuyến mãi là 1000, cước nhắn tin nội mạng là 1000, cước nhắn tin ngoại mạng là 0, và cước nhắn tin quốc tế cũng là 0 Ngày xuất dữ liệu được ghi nhận là 0.

3.2.1.4 Dữ liệu về sử dụng Internet Đây là dữ liệu chi tiết về thời gian truy cập và lưu lượng sử dụng mạng internet của thuê bao Các trường cơ bản của bảng g22 như sau:

Tên cột Kiểu dữ liệu Mô tả Ví dụ isdn_key int Số thuê bao dạng mã hóa 123456789 begin_time timestamp thời gian bắt đầu phiên 2020-02-01

12:23:34 imei string Imei thiết bị di động 35453009031929

The article provides data on a mobile subscriber, identified by the cell ID 14367, detailing their usage statistics The upload data amounts to 667,642 KB, while the download data is 224,297 KB, resulting in a total data exchange of 891,939 KB The basic charge for usage is recorded as 0, and the primary price plan ID is 430 Additionally, the internal IP address associated with the subscriber is 10.136.97.20, and the data was recorded on February 1, 2020.

3.2.1.5 Dữ liệu nạp thẻ Đây là bảng mô tả chi tiết về các lần nạp thẻ của thuê bao Các trường cơ bản của bảng recharge là:

Tên cột Kiểu dữ liệu Mô tả Ví dụ isdn_key int Số thuê bao dạng mã hóa 123456789 sta_datetime timestamp thời gian nạp 2020-02-01

12:23:34 charge int số tiền nạp 20000 party_code string nguồn nạp MMLSERVER data_date_key int ngày xuất dữ liệu 20200201

Khi tài khoản chính của thuê bao trả trước còn dưới 1000 đồng, người dùng có thể ứng trước tiền từ nhà mạng để duy trì dịch vụ không bị gián đoạn Các trường cơ bản trong bảng loan sẽ được cung cấp để hỗ trợ quá trình này.

Tên cột Kiểu dữ liệu Mô tả Ví dụ isdn_key int Số thuê bao dạng mã hóa 123456789 loan_time timestamp thời gian ứng tiền 2020-02-01

12:23:34 pay_time timestamp thời gian trả 2020-02-03

The data indicates a loan transaction with the type 'advance payment' (0) involving an amount of -10,000 The account balance before the advance was 34, resulting in a new balance of 10,034 after the transaction This data was recorded on February 1, 2020.

3.2.1.5 Dữ liệu sử dụng dịch vụ vasp Đây là bảng thể hiện chi tiết các hành vi sử dụng dịch vụ giá trị gia tăng của thuê bao, như đăng kí, hủy, gia hạn dịch vụ Thông tin các trường cơ bản của bảng vas_2g3g và vas_mps nhƣ sau:

Bảng 3.7 Bảng vas_2g3g và vas_mps

The article outlines a data structure with various columns and their corresponding data types and descriptions The 'isdn_key' is an integer representing a subscription number, exemplified by 123456789 The 'request_time' and 'response_time' are timestamps indicating the registration and response times, respectively, shown as 2020-02-01 12:23:34 The 'response_code' is an integer reflecting the registration error code, with an example of 0 The 'service_name' is a string denoting the service code, illustrated by GAME9029, while 'sub_service_name' provides further details of the service, such as GAME_VNG1 The 'cmd' is a string indicating the action, specifically 'REGISTER' The 'price' is an integer representing the usage fee, set at 10000, and 'provider_name' refers to the service provider, listed as VAS_GAME Lastly, 'data_date_key' is an integer that records the data export date, represented as 20200201.

Từ các bảng đã xây dựng, tôi đã tạo thêm hai bảng dẫn xuất chứa thông tin IMEI của thiết bị mà thuê bao sử dụng, bao gồm số TAC, tên thương hiệu, tên thiết bị, hệ điều hành, phiên bản hệ điều hành và thời gian sử dụng Bên cạnh đó, tôi cũng thu thập thông tin vị trí của người dùng như tên tỉnh, huyện, thời gian xuất hiện và số lần xuất hiện.

Sau khi khảo sát và đánh giá dữ liệu, các bản ghi log cần được xử lý để chuyển đổi từ trạng thái thô thành các đặc trưng có thể áp dụng trong thuật toán học máy Quá trình này tốn nhiều thời gian do số lượng bảng và cột rất lớn Các đặc trưng được tạo ra từ nhiều loại CDR, bao gồm mức trung bình cuộc gọi khách hàng hàng tháng, tốc độ truy cập internet tải lên/tải xuống, số lượng gói đã đăng ký, dịch vụ VASP sử dụng, số lượng khoản vay và nạp tiền, cũng như tỷ lệ cuộc gọi so với số SMS Bên cạnh đó, dữ liệu cũng được chia nhỏ thành các khung thời gian như ngày, giờ, phút và tổng hợp lại để tạo ra thông tin chi tiết hơn.

Thực nghiệm và kết quả

Sau khi xử lý dữ liệu và trích chọn xong các đặc trưng, tôi tiến hành bước cuối cùng là huấn luyện và đánh giá mô hình

Để tối ưu hóa quá trình huấn luyện và kiểm tra mô hình, tôi đã sử dụng phần mềm H2O trên nền tảng R Công cụ này mang lại sức mạnh cho các nhà phát triển, giúp họ dễ dàng và nhanh chóng thử nghiệm các mô hình.

AutoML của H2O tự động hóa quy trình học máy, bao gồm đào tạo và điều chỉnh nhiều mô hình trong thời gian người dùng chỉ định Nó thực hiện các hành động huấn luyện và kiểm tra dựa trên nhiều thuật toán khác nhau AutoML cung cấp hai mô hình Stacked Ensemble: một mô hình dựa trên tất cả các mô hình đã được đào tạo và một mô hình dựa trên các mô hình tốt nhất của mỗi loại thuật toán, thường cho kết quả tối ưu Các thuật toán sử dụng bao gồm eXtreme Gradient Boosting (XGBoost), Gradient Boosting Machine (GBM), General Linear Model (GLM), và Distributed Random Forest (DRF) Tùy thuộc vào thời gian thiết lập, AutoML sẽ chạy một số lượng thuật toán khác nhau và xếp hạng chúng theo tiêu chí tốt nhất.

Tôi đã chia dữ liệu thành hai nhóm: nhóm đào tạo chiếm 90% và nhóm thử nghiệm chiếm 10% Cụ thể, dữ liệu thực tế bao gồm 12,102 bản ghi cho việc huấn luyện và 1,286 bản ghi cho việc kiểm thử Các tham số của thuật toán được tối ưu hóa thông qua xác thực chéo K-lần với K=9 Tôi sử dụng R để thực thi H2O, và dữ liệu huấn luyện của tôi có 811 đặc trưng.

Sau khi sử dụng H2O để chạy AutoML, tôi đã thu được bảng xếp hạng các thuật toán XGBoost, GBM, GLM, DRF dựa trên độ chính xác AUC với các tham số khởi chạy ngẫu nhiên Bảng 3.10 liệt kê 11 thuật toán có độ chính xác cao nhất.

Bảng 3.10 Danh sách các thuật toán triển khai

Trong số các mô hình được phân tích, StackedEnsemble là mô hình tổng hợp các đặc trưng tốt nhất dựa trên H2O Tuy nhiên, các mô hình có độ chính xác cao nhất là XGBoost và GBM, với XGBoost đạt giá trị AUC 94.6% và GBM đạt 94.4% Tôi sẽ lựa chọn mô hình XGBoost, cùng với GBM, GLM và DRF, để tiến hành xem xét và đánh giá chi tiết.

Sau khi thực hiện xác thực 10-fold, đường cong ROC validation cho thấy cả ba mô hình đều có khả năng phân loại tốt Trong quá trình kiểm thử, XGBoost đạt AUC cao nhất với 94,5%, theo sau là GBM với 92,3%, DRF đạt 91,5%, trong khi GLM có hiệu suất thấp nhất nhưng vẫn đạt 89,4%.

Hình 3.2 Đường cong ROC validation

Thuật toán XGBoost đã thể hiện hiệu quả vượt trội trong việc phân tích dữ liệu Khi áp dụng mô hình này, chúng ta tiến hành kiểm tra lại kết quả trên tập dữ liệu thử nghiệm đã được phân tách trước đó, và kết quả thu được được trình bày trong Bảng 3.11.

Bảng 3.11 Ma trận nhầm lẫn khi thực hiện dự đoán trên mẫu kiểm thử

Mô hình XGBoost đã đạt được độ chính xác 87,3% khi dự đoán đúng 1131 mẫu trong tổng số 1295 quan sát Dựa vào bảng ma trận nhầm lẫn, chúng ta có thể xây dựng biểu đồ đường cong ROC và tính được giá trị AUC là 93.8%.

Hình 3.3 Đường cong ROC cho mẫu kiểm thử

Thuật toán XGBoost đã tạo ra một mô hình phân loại hiệu quả Tiếp theo, tôi sẽ phân tích các đặc trưng quan trọng nhất mà mô hình đã áp dụng.

Hình 3.4 Top các đặc trưng theo độ quan trọng

Tuổi sim (sim_age_months) có trọng số cao nhất trong mô hình, cho thấy sinh viên thường là người mới sử dụng điện thoại hoặc có thói quen thay đổi sim thường xuyên, khác với người đi làm thường sử dụng cố định một số di động Các yếu tố tiếp theo bao gồm tỷ lệ sử dụng dịch vụ giá trị gia tăng (vas), cước dùng 3G (consume_ratio_origin_cost_mpre_origin_data_cost), tỷ lệ cước gọi nội mạng (consume_origin_internal_voice_cost) trên tổng cước thoại, tỷ lệ số lần nạp tiền trên tổng số tiền nạp (recharge_ratio_times_charge), và số người gọi trong khung giờ 7h (call_h07_contacts) Những chỉ số này phù hợp với lịch trình và điều kiện sinh hoạt của sinh viên.

Sau khi xác định các đặc trưng, cần tiến hành tổng hợp để đánh giá sự phân bố của chúng, nhằm kiểm tra tính hợp lý và phát hiện những đặc trưng có thể bị thiên lệch.

Sau khi loại bỏ các đặc trưng thiên lệch, chúng ta tiến hành huấn luyện lại mô hình Bằng cách lặp lại các bước nhiều lần, chúng ta có thể đạt được mô hình tối ưu nhất để áp dụng dự đoán cho toàn bộ tập thuê bao.

Phân bố của một số đặc trƣng có trọng số cao nhất :

Phân bố giá trị của các đặc trưng giữa các nhãn cho thấy sự tương đồng, chứng tỏ rằng các đặc trưng này có khả năng đại diện cho sự phân hóa của nhãn Điều này cho thấy thuật toán hoạt động hiệu quả, với các đặc trưng được lựa chọn một cách chính xác Do đó, chúng ta có thể chọn thuật toán XGBoost để thực hiện dự đoán trên toàn bộ tập dữ liệu.

Kết luận

Sau quá trình thực nghiệm, mô hình XGBoost đã được xác định là lựa chọn tốt nhất cho việc phân tích dữ liệu của nhà mạng Việc áp dụng mô hình này cho khối lượng dữ liệu lớn tốn nhiều thời gian và công sức, dẫn đến thời gian chạy hệ thống kéo dài Sau khi phân loại thuê bao, tôi đã tiến hành kiểm tra bằng tay và đạt được tỉ lệ chính xác 80% Trong thời gian tới, tôi sẽ tiếp tục tối ưu hóa quy trình xử lý dữ liệu và xây dựng các đặc trưng mới Dựa trên nền tảng của dự án này, tôi cũng có thể mở rộng phát triển sang các lĩnh vực và bài toán khác trong dự án dữ liệu lớn của nhà mạng.

Ngày đăng: 01/04/2022, 15:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] CE Shannon (1948), “A Mathematical Theory of Communication”, Bell System Technical Journal 27(3) , 379-423 Sách, tạp chí
Tiêu đề: A Mathematical Theory of Communication”, "Bell System Technical Journal
Tác giả: CE Shannon
Năm: 1948
[6] Fawcett, Tom (2006). “An Introduction to ROC Analysis”, Pattern Recognition Letters 27 (8), 861-874 Sách, tạp chí
Tiêu đề: An Introduction to ROC Analysis”, "Pattern Recognition Letters
Tác giả: Fawcett, Tom
Năm: 2006
[7] Kuhn, Max; Johnson, Kjell (2013), Applied Predictive Modeling, NY: Springer, New York Sách, tạp chí
Tiêu đề: Applied Predictive Modeling
Tác giả: Kuhn, Max; Johnson, Kjell
Năm: 2013
[8] Ho, Tin Kam (1995), “Random Decision Forests”, Proceedings of the 3rd International Conference on Document Analysis and Recognition, pp. 278-282 Sách, tạp chí
Tiêu đề: Random Decision Forests”, "Proceedings of the 3rd International Conference on Document Analysis and Recognition
Tác giả: Ho, Tin Kam
Năm: 1995
[9] Jerome H. Friedman (2001), "Greedy function approximation: A gradient boosting machine.." Ann. Statist 29(5), 1189-1232 Sách, tạp chí
Tiêu đề: Greedy function approximation: A gradient boosting machine
Tác giả: Jerome H. Friedman
Năm: 2001
[10] Powers, David M W (2011), "Evaluation: From Precision, Recall and F- Measure to ROC, Informedness, Markedness & Correlation", Journal of Machine Learning Technologies 2 (1), 37-63 Sách, tạp chí
Tiêu đề: Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation
Tác giả: Powers, David M W
Năm: 2011
[11] Quinlan, J. R. (1986). “Induction of decision trees”, Machine Learning 1(1), 81-106 Sách, tạp chí
Tiêu đề: Induction of decision trees”, "Machine Learning
Tác giả: Quinlan, J. R
Năm: 1986

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w