phần mở đầu và phần kết luận và 03 chƣơng: Chƣơng 1: Tổng quan về học máy và bài toán dự báo khách hàng viễn thông chuyển mạng Chƣơng này trình bày khái niệm học máy cùng với các bài toán chính e 4 trong học máy. Đặc biệt quan tâm bài toán phân lớp và một số thuật toán phân lớp điển hình. Ngoài ra, trong chƣơng này cũng trình bày tổng quan về bài toán dự báo khách hàng viễn thông chuyển mạng cũng nhƣ tiếp cận học máy để giải quyết bài toán đặt ra. Chƣơng 2: Kết hợp thuật toán Kmean và thuật toán SVM để giải bài toán phân lớp.
Chƣơng này trình bày thuật toán phân cụm Kmean và thuật toán phân lớp SVM cùng với những phân tích thuật toán. Xây dựng mô hình kết hợp giữa thuật toán K-means và thuật toán SVM cho bài toán phân lớp. Chƣơng 3: Ứng dụng dự báo khách hàng chuyển mạng viễn thông Chƣơng này trình bày chƣơng trình thử nghiệm và kết quả thử nghiệm, đánh giá trên thuật toán kết hợp thuật toán Kmean và thuật toán SVM cho ứng dụng dự báo khách hàng chuyển mạng viễn thông, với dữ liệu thu đƣợc trực tiếp tại VNPT Bình Định. e 5 CHƢƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN DỰ BÁO KHÁCH HÀNG VIỄN THÔNG CHUYỂN MẠNG 1.
GIỚI THIỆU HỌC MÁY 1. Khái niệm Học máy (Machine Learning) là một tập con của Trí tuệ nhân tạo (AI - Artificial Intelligence). Học máy là một lĩnh vực nhỏ của Khoa Học Máy Tính (Computer Science), nó có khả năng tự học hỏi dựa trên dữ liệu đƣa vào mà không cần phải đƣợc lập trình cụ thể. Học máy một phần của lĩnh lực trí tuệ nhân tạo, mục đích của nó là phát triển các phƣơng pháp xây dựng các chƣơng trình máy tính tự động cải tiến chất lƣợng thực hiện nhờ sử dụng dữ liệu hoặc kinh nghiệm đã có.
Những nghiên cứu trong lĩnh vực này nhằm đáp ứng các bài toán đa dạng trong thực tiễn, bắt đầu từ các bài toán nhận dạng ngôn ngữ, tiếng nói, phân tích dữ liệu thống kê đến các bài toán điều khiển tự động. Cùng với sự phát triển nhanh chóng của công nghệ thông tin, đã có nhiều ứng dụng thành công của học máy trong nhiều lĩnh vực khác nhau nhƣ: các hệ nhận dạng tiếng nói, chữ viết tay; tiếp thị (marketing) nhờ phân tích dữ liệu bán lẻ, các hệ thống điều khiển tự động. Những năm gần đây, khi mà khả năng tính toán của các máy tính đƣợc nâng lên một tầm cao mới và lƣợng dữ liệu khổng lồ đƣợc thu thập bởi các hãng công nghệ lớn, Học máy đã tiến thêm một bƣớc dài và một lĩnh vực mới đƣợc ra đời gọi là Học sâu (Deep Learning). Học sâu đã giúp máy tính thực thi những việc tƣởng chừng nhƣ không thể thự hiện: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho ảnh, bắt chƣớc giọng nói và chữ viết của con ngƣời, giao tiếp với con ngƣời, hay thậm chí cả sáng tác văn hay âm nhạc.
e 6 Học máy có mối quan hệ rất mật thiết đối với thống kê (Statistics). Học máy sử dụng các mô hình thống kê để "ghi nhớ" lại sự phân bố của dữ liệu. Tuy nhiên, không đơn thuần là ghi nhớ, học máy còn có khả năng tổng quát hóa những gì đã đƣợc nhìn thấy và đƣa ra dự đoán cho những trƣờng hợp chƣa đƣợc nhìn thấy. Đỉnh cao của học máy là mô phỏng đƣợc khả năng tổng quát hóa và suy luận của con ngƣời.
Học máy là một trong những kỹ thuật hàng đầu trong lĩnh vực nhận diện, dự đoán và tự động hóa. Khái niệm học có nghĩa rộng giống nhƣ sự thông minh, bao gồm cả quá trình và khó có một định nghĩa chính xác. Theo nghĩa tự điển, học là quá trình thu nhận kiến thức, kỹ năng do ngƣời khác truyền lại hoặc đọc đi, đọc lại, nghiền ngẫm ghi nhớ (học thuộc lòng). Rộng hơn, học bao gồm cả quá trình đúc rút tri thức từ các quan sát, trải nghiệm thực tiễn.
Về phƣơng diện công nghệ, học máy là một lĩnh vực của trí tuệ nhân tạo, trong đó nghiên cứu các kỹ thuật xây dựng và phát triển các chƣơng trình máy tính có thể thích nghi và "học" từ các dữ liệu mẫu hoặc kinh nghiệm. Đến nay, đã có nhiều định nghĩa cho khái niệm này, tuy nhiên khó có một định nghĩa thỏa đang đƣợc mọi ngƣời thừa nhận. Định nghĩa của Tom Mitchell cho ta cách nhìn toán học của một chƣơng trình học khi nghiên cứu, thiết kế. Định nghĩa khác về học máy: Một chƣơng trình máy tính đƣợc gọi là học từ dữ liệu/kinh nghiệm E đối với lớp nhiệm vụ T với độ đo mức thực hiện P nếu việc thực hiện các nhiệm vụ T của nó khi đo bằng P đƣợc cải tiến nhờ dữ liệu hoặc kinh nghiệm E.
Theo định nghĩa này, ngƣời ta cần tối ƣu hóa độ đo thực hiện P dựa trên phân tích dữ liệu/ kinh nghiệm E để tìm cách thực hiện nhiệm vụ T tốt nhất [2]. Một số bài toán chính trong học máy [2] Học có giám sát (Supervised Learning) Là phƣơng pháp sử dụng những dữ liệu đã đƣợc gán nhãn từ trƣớc để suy luận ra quan hệ giữa đầu vào và đầu ra. Các dữ liệu này đƣợc gọi là dữ liệu huấn luyện và chúng là cặp các đầu vào - đầu ra. Học có giám sát sẽ xem xét các tập huấn luyện này để từ đó có thể đƣa ra dự đoán đầu ra cho một đầu vào mới.
Học không giám sát Các bài toán trên thuộc loại học có giám sát, trong đó ta biết đƣợc nhãn của tập dữ liệu quan sát đƣợc. Trong học không giám sát, ta chỉ đơn thuần phân tích đặc điểm của tập dữ liệu đế có thông tin. Ba bài toán học không có giám sát thƣờng gặp là: ƣớc lƣợng hàm mật độ, phân cụm dữ liệu và dóng hàng (align) dựa trên cấu trúc. Trong bài toán ƣớc lƣợng hàm mật độ, có một tập mẫu dữ liệu lấy ngẫu nhiên cùng phân bố, ta cần dựa trên đó để ƣớc lƣợng hàm mật độ của phân bố này.
Trong bài toán phân cụm dữ liệu, ngƣời ta chia tập dữ liệu thành các tập con (cụm) sao cho các phần từ trong cùng một cụm thì giống nhau hơn các phần tử khác cụm. Đặc tính giống nhau này thƣờng đƣợc xác định bởi khoảng cách, đối tƣợng A giống đối tƣợng B hơn đối tƣợng C nếu khoảng cách từ A đến B nhỏ hơn khoảng cách từ A đến C. Khi tập dữ liệu cần xử lý lớn thì việc phân cụm cho phép ta giảm thời gian chạy của các ứng dụng. Tuy nhiên bài toán này là bài toán thiết lập không đúng đắn (ill- posed) và thƣờng không duy nhất nghiệm.
Phân tích các dữ liệu có cấu trúc xâu/ trình tự (string/sequence) hoặc mạng dẫn đến các bài toán dóng hàng trong xử lý ngôn ngữ tự nhiên và tin sinh học. Việc dóng hàng các trình tự DNA, RNA, Protein và các mạng tƣơng tác protein cho phép hiểu đƣợc các tính tƣơng đồng và khác biệt về nhiều đặc điểm sinh học của các cá thể sinh vật và loài. e 8 Học tăng cường Trong nhiều trƣờng hợp, đầu ra của hệ thống là một chuỗi tác động. Khi đó mỗi tác động riêng lẻ không quan trọng mà điều quan trọng là chuỗi tác động này cần đạt đƣợc mục đích định trƣớc.
Chẳng hạn, trong các trò chơi cờ, một nƣớc đi không thực sự quan trọng mà quan trọng là chuỗi nƣớc đi đƣa đến kết quả thắng. Tƣơng tự nhƣ phƣơng thức học nhờ trải nghiệm cuộc sống, ngƣời ta có thể tạo ngẫu nhiên nhiều lời giải chấp nhận đƣợc và sau mỗi lần lặp điều chỉnh trọng số định hƣớng lựa chọn tác động để cùng về sau chuỗi tác động có trọng số cao giúp ta đạt đƣợc mục đích cần có. Bài toán học tăng cƣờng sẽ khó hơn với các bài toán chỉ quan sát đƣợc từng phần hoặc cần hợp tác của nhiều tác tử (agent) để đạt đƣợc đích. PHÂN LỚP DỮ LIỆU - MỘT SỐ BÀI TOÁN CHÍNH TRONG HỌC MÁY 1.
Phân cụm dữ liệu [3] Có nhiều định nghĩa khác nhau về phân cụm dữ liệu. Đơn giản nhất là gom nhóm những phần tử dữ liệu tƣợng tự nhau vào chung một cụm (cluster). Cụ thể hơn, cho một tập n phần tử dữ liệu X, mục đích là phân chia các phần tử dữ liệu thuộc tập X đó thành k nhóm (cụm) sao cho các cụm này phải thoả mãn các yêu cầu sau: Các phần tử dữ liệu trong một cụm là giống nhau hoặc gần nhau đƣợc xác định bằng độ tƣơng tự (các phần tử trong cùng một cụm là tƣơng tự nhau). Các phần tử dữ liệu trong một cụm là khác với các phần tử dữ liệu trong các cụm khác (các phần tử ở các cụm khác nhau thì phi tƣơng tự với nhau).
Ta có thể mô tả quá trình phân cụm dữ liệu qua một sơ đồ tổng quát nhƣ hình 1.1 bên dƣới: e 9 Hình 1. Sơ đồ quá trình phân cụm dữ liệu Số các cụm dữ liệu đƣợc xác định trƣớc theo kinh nghiệm hoặc có thể đƣợc xác định tuỳ thuộc vào phƣơng pháp phân cụm. Hai hay nhiều phần tử đƣợc gom vào cùng một nhóm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với khái niệm đƣợc mô tả trƣớc. Một đặc điểm của phân cụm là quá trình phân cụm đƣợc thực hiện (học) bằng cách quan sát chứ không phải đƣợc học qua các ví dụ cho nên phân cụm dữ liệu đƣợc gọi là quá trình học không có giám sát.
Để rõ hơn về phân cụm dữ liệu, ta xét ví dụ sau: Hình 1. Ví dụ về phân cụm e 10 Trong hình 1.2, dữ liệu đƣợc chia thành 4 cụm; tƣơng tự là khoảng cách: hai hay nhiều đối tƣợng đƣợc xếp vào một cụm nếu chúng là "gần nhau" theo mức độ khoảng cách đã đƣợc xác định; phi tƣơng tự là khoảng cách: hai hay nhiều đối tƣợng đƣợc xếp vào các cụm khác nếu chúng là "xa nhau". Đƣợc gọi là phân cụm dựa trên khoảng cách. Một cách hiểu khác của phân cụm là khái niệm phân cụm: hai hay nhiều đối tƣợng đƣợc xếp vào cùng một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với các khái niệm mô tả cho trƣớc.
Một vấn đề thƣờng gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lƣợc cho bƣớc tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trƣớc khi chuyển sang giai đoạn phân tích cụm dữ liệu.