Chương 1: Giới thiệu khái niện liên quan đến bài toán dự báo Churn, lựa chọn bài toán, phương pháp xây dựng và cách thức thực hiện, ứng dụng của luận văn. • Chương 2: Giới thiệu một số kỹ thuật học máy được sử dụng trong bài toán dự báo Churn đó là cây quyết định (Decision tree - DT), mạng nơ-ron nhân tạo (Artificial neural network - ANN), phân lớp dựa trên suy diễn phương sai trực tuyến cho ước lượng Bayes nhiều biến (Online VI for multivariate Gaussian distribution - VIGO). • Chương 3: Trong chương này, tôi sẽ sử dụng ba phương pháp trên cùng một bộ dữ liệu ngân hàng tại Việt Nam để đưa ra kết quả thực nghiệm đồng thời so sánh thuật toán. • Kết Luận: các kết luận sau khi thực hiện được so sánh, đánh giá và đề xuất hướng phát triển của luận văn.
Trang 15 Chương 2 Áp dụng học máy trong bài toán dự báo Churn Trong phần này sẽ tìm hiểu phương pháp phân tích bài toán dự báo Churn và mô tả ba kỹ thuật trong học máy (machine learning) kết hợp với bài toán dự báo Churn đó là: kết hợp mô hình Churn với kỹ thuật cây quyết định (Decision Tree - DT), kỹ thuật mạng Nơron (Artificial Neural Network - ANN) và kỹ thuật phân lớp dựa trên suy diễn phương sai trực tuyến cho ước lượng Bayes nhiều biến (Online VI for multivariate Gaussian distribution - VIGO).1 Phương pháp phân tích dự báo Churn. Trước khi chúng ta đi vào các kỹ thuật trong học máy, chúng ta sẽ đi tìm hiểu về phương pháp khi phân tích bài toán dự báo Churn. Như chúng ta đã biết, ngân hàng có một khối lượng dữ liệu khổng lồ về khách hàng với rất nhiều phân hệ kinh doanh, dữ liệu khác kiểu nhau, dữ liệu luôn luôn được cập nhật (các hệ thống chạy ở chế độ thời gian thực rất nhiều), và có rất nhiều nguồn dữ 16 LUẬN VĂN Đào Công Ân liệu. Chính vì vậy việc phân tích dữ liệu lớn gặp rất nhiều khó khăn, và chúng ta thường xuyên phải quay lại các bước đã làm để phân tích lại.1: Kết hợp mô hình dự báo Churn với kỹ thuật học máy.
• Bước 0: Trích chọn dữ liệu (Data Selection): đây là bước trích ra, chọn ra những tập dữ liệu cần được khai phá theo một số tiêu chỉ nhất định nào từ cơ sở dữ liệu (database). Công việc này đòi hỏi phải hiểu được nghiệp vụ, hiểu được dữ liệu để có thể đưa ra các tiêu trí, chọn đúng dữ liệu cần được lấy ra để đem phân tích. • Bước 1: Xác định định nghĩa Churn cho bài toán (Define Churn classification): sau khi ta có dữ liệu ở bước 0 chúng ta cần phân tích dữ liệu, khai phá dữ liệu đó, xác định các tiêu trí, đánh giá các tiêu trí đó và đưa ra định nghĩa Churn cho bài toán. Nếu chưa phù hợp quay lại bước 0 để trích trọn lại dữ liệu.
• Bước 2: Tiền xử lý dữ liệu (Data Cleansing and Preprocessing Data): đây là bước là sạch dữ liệu tức là ở bước này chúng ta sẽ xử lý Trang 17 LUẬN VĂN Đào Công Ân những dữ liệu không đầy đủ, không nhất quán, những dữ liệu gây nhiễu, rút gọn dữ liệu, rời rạc hóa dữ liệu (dựa vào đồ thị, entropy, phân khoảng). • Bước 3: Biến đổi dữ liệu (Data Transformation): đây là bước tạo dữ liệu chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất cho quá trình khai phá dữ liệu trước khi đưa vào mô hình. kết quả của bước này là chúng ta có được bộ dữ liệu Customer. • Bước 4: Chọn model và tiến hành training data (Model Selection and Training): đây là bước chúng ta chọn mô hình Machine learning để training, và áp dụng các kỹ thuật phân tích, khai phá, các mô hình, các giải thuật nhằm khai thác dữ liệu.
Đây được xem là bước quan trọng nhất của toàn quá trình xây dựng mô hình Churn. • Bước 5: Đánh giá (Evaluation): sau khi xây dựng được mô hình Churn ở bước trên, chúng ta sẽ biểu diễn thông tin và mối liên hệ trong dữ liệu đã được khám phá ở bước trên được biến đổi và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu. Sau đó chúng ta sẽ đánh giá mô hình, độ chính xác, kết quả mô hình đã xây dựng. Nếu chưa phù hợp quay lại bước trước đó để điều chỉnh.
• Bước 6: Đưa vào sử dụng (Go live): sau khi đánh giá xong mô hình Churn và thấy mô hình đã đúng đắn, chúng ta đưa mô hình vào sử dụng hỗ trợ người dùng trong việc ra quyết định. Chú ý: Quá trình thực hiện xây dựng bài toán Churn không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua. Trang 18 LUẬN VĂN Đào Công Ân 2.2 Áp dụng cây quyết định (Decision Tree) cho dự báo Churn.1 Khái niệm cây quyết định (Decision tree). Trong lĩnh vực học máy, cây quyết định được sử dụng để phân lớp đối tượng (các quan sát) dựa trên dãy các luật, nó là một đồ thị cây phân cấp có cấu trúc và có một đỉnh đặc biệt gọi là đỉnh gốc của cây, giữa các đỉnh trong cây có mối quan hệ phân cấp ’cha-con’.
Cây quyết định là một dạng đặc biệt của cấu trúc cây[11].1: Mô hình cấu trúc cây quyết định. Cây quyết định là một đồ thị có cấu trúc dạng cây như sau[2] : • Các nút trên cây: có 3 loại nút Trang 19 LUẬN VĂN Đào Công Ân • Nút gốc: là nút trên cùng của cây. • Nút trong: biểu diễn một thuộc tính (biến) nào đó được chọn làm phân lớp. • Nút lá: biểu diễn tập giá trị cuối cùng của nhánh và đại diện cho giá trị dự đoán của mục tiêu.
• Nhánh: là một đường đi trên cây bắt đầu là nút gốc kết thúc là nút lá. Giả sử chúng ta có bộ dữ liệu ban đầu, chúng ta chia ra tập này ra làm 2 tập là: tập huấn luyện (training set thường là 80% tập mẫu ) và tập kiểm tra (test set thường chiếm khoảng 20% tập mẫu). Trong đó: Tập huấn luyện (training set): sẽ dùng để huấn luyện xây dựng nên cây quyết định. Tập kiểm tra (test set): sẽ dùng kiểm tra tính chính xác của cây quyết định sau xây dựng.
Thuộc tính :Trong tập dữ liệu thường có 2 loại thuộc tính:(i) thuộc tính có giá trị liên tục (continous attribute) và (ii) thuộc tính có giá trị rời rạc (category attribute).2 Thuật toán xây dựng cây quyết định. Để xây dựng một cây quyết định và đánh giá hiệu quả của cây quyết định đó ta cần phải thực hiện các bước sau: • Bước 1: Tách cơ sở dữ liệu mẫu ban đầu thành 2 phần : + Tập huấn luyện (training set) dùng để xây dựng cây quyết đinh. + Tập kiểm tra (test set) để đánh giá độ chính xác của cây quyết định. Trang 20 LUẬN VĂN Đào Công Ân • Bước 2.
Thực hiện thuật toán dựng cây: phân lớp một cách đệ quy tập huấn với điều kiện dừng: + Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá). + Không còn thuộc tính nào để phân chia mẫu nữa + Không còn mẫu nào tại nút đó • Bước 3. Cắt tỉa cây sao cho phù hợp và tối ưu hóa. Đánh giá cây - dùng tập kiểm tra (test set) để đánh giá độ chính xác của cây đã xây dựng ở bước trên.
Tiêu chí đánh giá là tổng số mẫu được phân lớp chính xác trên tổng số mẫu đưa vào. Khi xây dựng cây quyết định việc lựa chọn một số lượng nhất định của mẫu là rất quan trọng. Trong khi số lượng mẫu không phải là càng nhiều càng tốt mà là quan trọng đối với tính đồng nhất và đại diện của mẫu. Khi xây dựng cây quyết định việc chọn thuộc tính để phân lớp là rất quan trọng.
Đối với thuộc tính có giá trị liên tục chúng ta sắp xếp chúng theo giá trị tăng dần và phân chia các ngưỡng. Tại ngưỡng chúng ta sẽ tính Information gain [21] hay Gain ratio [17] và Gain ratio lớn nhất sẽ được chọn làm ngưỡng phân chia của thuộc tính đó. Để đánh giá một cây là tốt ta sử dụng hàm Information entropy: Entropy thông tin mô tả mức độ hỗn loạn trong một quan sát lấy từ một sự kiện ngẫu nhiên. Nói cách khác, entropy cũng chỉ ra lượng thông tin trong quan sát, với thông tin là các phần không hỗn loạn ngẫu nhiên của quan sát.
Entropy thông tin là một thang đo mức độ ngẫu nhiên Information entropy: giả sử ta có tập dữ liệu huấn luyện S và có M mẫu, thuộc tính nhãn B có K giá trị và chia vào K nhóm khác nhau Bi(i = 1, 2, 3,. Giả sử ni là số mẫu thuộc nhãn Bi trong S. Thì khi đó Information entropy E (S ) Trang 21 LUẬN VĂN Đào Công Ân của tập dữ liệu S được tính là [21]: K X E (S ) = − pi.1) i=1 PK Trong đó pi là xác suất để xi có thuộc tính nhãn Bi với 0 ≤ pi ≤ 1, i=1 pi = 1. Entropy có điều kiện của thuộc tính A [21]: Giả sử thuộc tính Z được chọn.
Dựa trên thuộc tính Z được phân ra là C child node Z1 , Z2 , ., C } nji là số lượng mẫu thuộc tập Z j và có thuộc tính nhãn thuộc lớp Bi. Vì vậy entropy có điều kiện E (S |Z ) của thuộc tính Z: C X K X E (S |Z ) = [p0j pji log2 pji] (2.2) j=1 i=1 Trong đó p0j là xác suất để xi thuộc vào lớp Zj : PC |Zj | ( nji ) p0 j = S = 1 S và pji = (nZjij ) |Z j| là số mẫu của thuộc tính Z có thuộc tính nhãn thuộc lớp B i. Pm |Zj | = i=1 n ij Chỉ số Gain của thuộc tính Z [17]: Gain(Z ) = E (S ) − E (S |Z ) (2.5) Z Sau khi tính GainRatio của tất cả các thuộc tính. Thuộc tính nào có giá trị GainRatio lớn nhất sẽ được chọn làm ngưỡng phân chia.3 Ứng dụng cây quyết định cho dự báo Churn.
Cây quyết định là một trong những thuật toán học máy phổ biến nhất hiện nay. Nó được sử dụng trong bài toán phân lớp và hồi quy. Đối với bài toán dự báo Churn, cây quyết định sẽ là cây phân lớp nhị phân với hai lớp (Churn và Non-churn). Cây quyết định sẽ cho ta cái nhìn rất trực quan và rõ ràng về phân lớp.