1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông

54 822 11

Đ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

Định dạng
Số trang 54
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngoài ra các thông tin có đượctrong nguồn dữ liệu không phải lúc nào cũng ở dạng có sẵn hoặc nhìn thấy được.Vấn đềtrích xuất các thông tin hữu ích nhưng mới và ở dạng tiềm ẩn trong nguồn

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài: “Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông “

Giảng viên hướng dẫn: ThS NGUYỄN QUỲNH CHI

Sinh viên thực hiện: LÊ TUẤN KHANG

Lớp : D10HTTT2 Khoá : 2010-2015

Hệ : Chính Quy

Hà Nội, tháng 11 /2014

Trang 2

(Của giáo viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

Điểm: ……… (bằng chữ: ………)

Đồng ý cho sinh viên bảo v trước h i đồng chấm đồ án tốt nghi p ệ trước hội đồng chấm đồ án tốt nghiệp ội đồng chấm đồ án tốt nghiệp ệ trước hội đồng chấm đồ án tốt nghiệp.

GIÁO VIÊN HƯỚNG DẪN

ThS Nguyễn Quỳnh Chi

Trang 3

(Của giáo viên phản bi n) ệ trước hội đồng chấm đồ án tốt nghiệp.

………

………

………

………

………

………

………

………

………

………

………

Điểm: ……… (bằng chữ: ………)

Đồng ý/ Không đồng ý cho sinh viên bảo v trước h i đồng chấm đồ án tốt nghi p.ệ trước hội đồng chấm đồ án tốt nghiệp ội đồng chấm đồ án tốt nghiệp ệ trước hội đồng chấm đồ án tốt nghiệp.

………, ngày tháng năm 2014

GIÁO VIÊN PHẢN BI N ỆN

Trang 4

LỜI CẢM ƠN

Em xin chân thành cảm ơn các thầy giáo, cô giáo trong khoa Công nghệ thông tin – Học viện công nghệ bưu chính viễn thông, đã tận tâm giảng dạy các kiến thức trong 4 năm học qua cùng với sự động viên từ gia đình và bạn bè và người thân

Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc đến cô giáo Nguyễn Quỳnh Chi, người

đã tận tình hướng dẫn em thực hiện đồ án này Tuy nhiên trong quá trình nghiên cứu, thực hiện không tránh khỏi những thiếu sót, rất mong sự đóng góp ý kiến từ tất cả thầy cô, bạn bè để đồ án có thể phát triển và hoàn thiện hơn.

Hà nội,tháng 11,năm 2014.

Người thực hiện.

Lê Tuấn Khang

Trang 5

MỤC LỤC

Trang 6

LỜI MỞ ĐẦU

Thông tin là một nguồn tri thức quan trọng và dồi dào của nhân loại, đặc biệt trongngành công nghệ thông tin, tri thức chiếm một vị trí vô cùng quan trọng Tuy nhiên với

sự phát triển như vũ bão của công nghệ cũng như các ngành khác trong thời đại ngày nay,

số lượng tài nguyên số tăng lên một cách chóng mặt, thông tin trở nên đa dạng và phongphú hơn trước rất nhiều.Việc nắm bắt thông tin được coi là cơ sở của mọi hoạt động kinhdoanh, sản xuất.Với sự tăng trưởng vượt bậc của dữ liệu trong mọi mặt của cuộc sống đãlàm này sinh và thúc đẩy sự phát triển của các phương pháp thu thập, lưu trữ, phân tích…không chỉ bằng các hình thức thông thường như thống kê, liệu kê hay phép đếm… mà đòihỏi một cách thức xử lý thông minh mà hiệu quả hơn Ngoài ra các thông tin có đượctrong nguồn dữ liệu không phải lúc nào cũng ở dạng có sẵn hoặc nhìn thấy được.Vấn đềtrích xuất các thông tin hữu ích (nhưng mới và ở dạng tiềm ẩn) trong nguồn dữ liệu lớn

và đồ sộ trở thành một bài toán không chỉ đối với ngành công nghệ thông tin mà còn làcủa tất cả các ngành khác.Khai phá dữ liệu (data mining) cho phép giải quyết vấn đề trênbằng nhiều phương pháp khác nhau, đồng thời đưa ra những tiêu chuẩn nhằm kiểm địnhkết quả, mang tính ứng dụng cao trong thực tiễn

Một trong những ngành nghề cần đến ứng dụng của khai phá dữ liệu đó là ngànhviễn thông Để đảm bảo yêu cầu của công việc, các doanh nghiệp (công ty) viễn thôngcần lưu trữ một khối lượng dữ liệu khổng lồ, bao gồm các thông tin cá nhân của kháchhàng, các thông tin về dịch vụ, tình trạng hệ thống,…Ngoài ra trong quá trình cạnh tranh,các doanh nghiệp viễn thông không chỉ nắm rõ các thông tin có sẵn về khách hàng củamình mà còn phải phỏng đoán xu hướng, hành vi, thói quen của khách hàng nhằm đưa racác thay đổi về chính sách, dịch vụ hay phản hồi nhằm đảm bảo doanh thu cũng nhưđường lối của công ty Các thông tin này rất quan trọng nhưng thường không có sẵn trongcác thông tin dạng thô, rất khó để sử dụng các phương pháp như liệt kê, tìm kiếm thôngthường Ứng dụng khai phá dữ liệu nhằm phát hiện các thông tin ẩn chứa trong khối dữliệu khổng lồ và đưa ra những phỏng đoán (prediction) sẽ hỗ trợ quá trình ra quyết địnhcủa các cấp lãnh đạo cũng như góp phần cải thiện, nâng cao hiệu quả của quá trình kinhdoanh của các của các doanh nghiệp (công ty) viễn thông

Trong đề tài tốt nghiệp “Ứng dụng khai phá dữ liệu để phân loại khách hàng

viễn thông”, người viết sẽ tìm hiểu về khai phá dữ liệu và ứng dụng của nó trong thực

tiễn, đó là bài toán phân loại thông tin khách hàng viễn thông

Mục tiêu nghiên cứu.

Trang 7

Xây dựng chương trình thử nghiệm có thể áp dụng trong thực tế, giúp các doanhnghiệp viễn thông phỏng đoán thói quen trả cước của khách hàng Từ đó hỗ trợ việc raquyết định cũng như nâng cao hiệu quả của quá trình kinh doanh.

Đối tượng, phạm vi nghiên cứu.

 Tìm hiểu về khai phá dữ liệu, thuật toán SVM, để phân loại khách hàng viễn thôngdựa trên dữ liệu đã có

 Phạm vi nghiên cứu: Trong khuôn khổ kiến thức đã học cũng như nghiên cứu

Phương pháp nghiên cứu.

Nghiên cứu các vấn đề cơ bản của khai khá dữ liệu, quá trình học máy, thuật toán máyVector hỗ trợ(SVM) trong khai phá dữ liệu và áp dụng thuật toán máy vector hỗ trợ vàoviệc xây dựng chương trình phân loại thói quen trả cước dịch vụ của khách hàng doanhnghiệp viễn thông Từ đó đánh giá độ chính xác và khả năng ứng dụng của chương trìnhtrong thực tế

Bố cục luận văn.

Chương 1: Tổng quan về bài toán phân loại khách hàng viễn thông.

Chương 2: Xây dựng thuật toán máy Vector hỗ trợ (Support Vector Machine)

cho bài toán phân loại

Chương 3: Xây dựng chương trình thử nghiệm và đánh giá cho bài toán phân loại

khách hàng viễn thông

Chương 1: Tổng quan về bài toán phân loại khách

hàng viễn thông.

Trang 8

1.1 Đặt vấn đề (Bài toán cần giải quyết).

Luận văn tìm hiểu và giải quyết một bài toán xuất phát từ trong thực tế, đó làthói quen trả phí dịch vụ của khách hàng trong các công ty(doanh nghiệp) viễn thông.Cụthể đó là vấn đề trả phí dịch vụ không đúng hạn của các cá nhân hoặc tập thể Thôngthường khi một khách hàng kí hợp đồng sử dụng dịch vụ của một công ty viễn thông (ví

dụ như dịch vụ điện thoại, internet, fax… ), khách hàng (có thể là cá nhân hoặc tập thể)phải có trách nhiệm trả phí dịch vụ cho bên cung cấp dịch vụ trong khoảng thời gian đã kíkết trong hợp đồng Tuy nhiên vì nhiều nguyên nhân khác nhau, có thể xuất phát từ phíakhách hàng hoặc phía công ty viễn thông Khách hàng không trả phí dịch vụ đúng hạncho bên cung cấp dịch vụ như đã thỏa thuận trong hợp đồng, điều này gây ảnh hưởngkhông nhỏ tới các công ty viễn thông Việc không thu được phí dịch vụ đúng hạngây ảnhhưởng xấu tới nhiều mặt của các doanh nghiệp viễn thông, bao gồm doanh thu, quá trìnhkiểm toán, trả lương cho nhân viên… Mặc dù tình trạng xảy trên là điều không ai mongmuốn, tuy nhiên khi nó xảy ra thì các công ty viễn thông cần tìm cách giải quyết vấnđề.Trong các giải pháp để giải quyết tình trạng này thì ngoài việc thống kê các kháchhàng có thói quen trả cước muộn, việc phỏng đoán, phân loại các khách hàng có thóiquen trả phí dịch vụ đúng hạn cũng quan trọng không kém Việc phỏng đoán, phân loạithói quen trả cước của khách hàng có nhiều ý nghĩa đối với các công ty viễn thông bởikhi phỏng đoán, phân loại các khách hàng có thói quen trả cước tốt hay xấu không chỉ hỗtrợ giải quyết được vấn đề đã nêu ở trên, mà còn giúp các công ty viễn thông có cái nhìnchính xác hơn về các đối tượng khách hàng Từ đó giúp các công ty viễn thông đề rachính sách đối với từng đối tượng khách hàng, hoặc hỗ trợ việc ra quyết định cũng nhưnâng cao hiệu quả của quá trình kinh doanh

Có thể cụ thể hóa bài toán cần giải quyết trong đề tài này như sau

 Phân loại, phỏng đoán thói quen trả cước dịch vụ của khách hàng (đúng hạn haykhông đúng hạn) dựa vào những dữ liệu viễn thông sẵn có (sẽ đề cập trong phầnsau)

 Phỏng đoán tháng trả cước không đúng hạn của các khách hàng trả cước khôngđúng hạn

1.2 Dữ liệu đầu vào để giải quyết bài toán.

Các công ty viễn thông lưu trữ một khối lượng dữ liệu khổng lồ, bao gồm:

 Các thông tin cá nhân của khách hàng

 Các thông tin về dịch vụ của khách hàng

Trang 9

 Các thông tin về quá trình trả cước dịch vụ của khách hàng

Đây chính là dữ liệu được sử dụng để giải quyết bài toán phỏng đoán thói quen trảcước của khách hàng viễm thông Trong nội dung của đồ án này, dữ liệu được thu thập từmột trung tâm kinh doanh dịch vụ viễn thông, dữ liệu được lưu ở định dạng file excel,bao gồm 3 loại thông tin như đã nêu ở trên Các thông tin được lưu trữ trong vòng mộtnăm (2013), các dữ liệu này đã không còn giá trị sử dụng và được chia sẻ miễn phí để hỗtrợ quá trình tiến hành thực hiện đồ án Tuy nhiên vẫn có một vài thông tin bị loại bỏ doyêu cầu bảo mật của khách hàng

1.3 Các nghiên cứu trước đây.

Vấn đề phân loại khách hàng viễn thông, phỏng đoán thói quen trả cước củakhách hàng đã được tiến hành đối với nhiều công ty viễn thông lớn trên thế giới, tuynhiên ở Việt Nam thì vấn đề này mới được chú ý trong thời gian gần đây do sự phát triển

và cạnh tranh của các công ty viễn thông trong nước

Ở góc độ giải quyết vấn đề thì bài toán mới chỉ được giải quyết theo nhữngphương pháp truyền thống, bằng các biện pháp thống kê , kế toán chứ chưa áp dụng côngnghệ khai phá dữ liệu

Một vài đề tài trong nước (bổ sung phần chú thích) đã có áp dụng giải phápkhai phá dữ liệu tuy nhiên hiệu quả chưa được cao, khó có khả năng áp dụng trong thựctiễn.Mục tiêu chính của đề tài này đó là ứng dụng có thể áp dụng vào trong thực tiễn, điều

mà các đề tài trước đây chưa làm được

1.4 Phương pháp tiếp cận.

Như đã nói ở phần đặt vấn đề, bài toán ở đây là phỏng đoán, phân loại kháchhàng viễn thông do đó phương pháp tiếp cận ở trong đề tài này đó là dùng ứng dụng củakhai phá dữ liệu để giải quyết bài toán Trong đó, kĩ thuật khai phá dữ liệu được sử dụng

đó là phương pháp phân loại (classification)[1] Các bước của quá trình khai phá dữ liệugồm 2 quá trình:

1.4.1 Quá trình huấn luyện mô hình phân loại.

Tiền xử lý dữ liệu: Dữ liệu thô (các thông tin về khách hàng, dịch vụ, trả cước) thu

thập được không thể tiến hành khai phá được ngay mà phải được xử lý và tinhchỉnh trước tiên, ta sẽ tiến hành một vài bước nhỏ hơn trong quá trình tiền xử lý dữliệu nhằm đưa tập dữ liệu thô trở thành tập dữ liệu mới ở dạng có thể khai phá, ápdụng thuật toán được

Trang 10

Xây dựng mô hình phân loại: Sau quá trình tiền xử lý dữ liệu,ta tiến hành xây

dựng mô hình từ tập dữ liệu đã qua tiền xử lý dựa vào thuật toán phân loại SVM.Kết quả của quá trình này là một bộ mô hình đã qua huấn luyện, có thể áp dụngvào quá trình phân loại

Đánh giá hiệu quả của mô hình phân loại: Sau quá trình xây dựng mô hình phân

loại, không phải kết quả thu được đã có thể sử dụng ngay bởi ngay trong quá trìnhtiền xử lý cũng như huấn luyện mô hình, ta thường gặp phải nhiều vấn đề nhưnhiễu dữ liệu (noise) hay dữ liệu quá vừa (overfiting).Bộ mô hình thu được có thểkhông chính xác hoặc không hiệu quả khi tiến hành phân loại Do đó phải tiếnhành đánh giá hiệu quả của mô hình để lựa chọn mô hình tốt nhất

Có thể tóm gọn quá trình huấn luyện mô hình phân loại như trong hình dưới

Hình 1.4.1 Mô tả các bước của quá trình huấn luyện mô hình phân loại

1.4.2 Quá trình phân loại dữ liệudựa vào bộ mô hình phân loại.

Tiền xử lý dữ liệu: Dữ liệu dùng để phân loại trước khi tiến hành phân loại cũng

cần kiểm tra, xử lý, đưa về đúng định dạng có thể tiến hành phân loại

Phân loại dựa vào bộ mô hình:Bước thứ hai đó là sử dụng mô hình tối ưu đã qua

huấn luyện (1.4.1) để tiến hành phân loại bộ dữ liệu dùng để phân loại, phỏngđoán thói quen trả cước của khách hàng, tức là giải quyết mục tiêu của bàitoán.Kết quả thu được đó là bộ dữ liệu ban đầu đã qua phân loại và được gán nhãnphân loại

Đánh giá hiệu quả của quá trình phân loại: Sau khi tiến hành phân loại, ta tiến

hành đánh giá hiệu quả của quá trình phân loại.Dữ liệu phân loại thu được cần

Trang 11

phải được đánh giá dựa trên các tiêu chí khác nhau để đánh giá được mức độ hiệu quả của quá trình tiền xử lý dữ liệu và khai phá, nếu thông tin thu được chưa đạt như yêu cầu mong muốn thì quá trình khai phá tri thức có thể được lặp lại hoặc quá trình tiền xử lý và khai phá phải được kiểm tra, đánh giá lại.

Ta tóm gọn quá trình phân loại dữ liệu như trong hình dưới

Hình 1.4.2 Mô tả các bước của quá trình phân loại dữ liệu

1.5 Một số vấn đề cần giải quyết.

Về bộ dữ liệu: Bộ dữ liệu thô ban đầu không thể tiến hành khai phá, phân loại

được ngay do các dữ liệu này vốn không đồng nhất, rời rạc, thiếu thuộc tính… Do

đó phải tiến hành quá trình tiền xử lý, tuy nhiên tiền xử lý thế nào để dữ liệu đượcđưa về dạng chuẩn, có thể sử dụng được, đạt hiệu quả tốt khi tiên hành phân loại làmột vấn đề cần giải quyết trong đồ án

Về phương pháp phân loại: Phương pháp phân loại dựa trên thuật toán SVM, tuy

vậy vấn đề làm thế nào để xây dựng được bộ phân loại SVM đạt hiệu quả tốt, kếtquả thu được có độ chính xác cao,có thể sử dụng được trong thực tế là một yêucầu quan trọng của đồ án

Về quá trình đánh giá độ chính xác: Hiệu quả của quá trình phân loại được thể

hiện qua các độ đo chính xác, tuy nhiên ta phải lựa chọn độ đo nào phù hợp vớibài toán, phản ánh đúng hiệu quả của quá trình phân loại

Trang 12

1.6 Kết luận.

Như vậy trong chương 1, đồ án đã trình bày những vấn đề như sau:

 Phát biểu bài toán phân loại, phỏng đoán thói quen trả phí dịch vụ của các kháchhàng sử dụng dịch vụ của các công ty viễn thông

 Trình bày phương pháp tiếp cận đó là áp dụng khai phá dữ liệu để giải quyết bàitoán trên

 Nêu một số khó khăn trong việc giải quyết bài toán

Trong chương tiếp theo, ta sẽ trình bày khái niệm bài toán phân loại phương pháp giảiquyết bài toán dựa vào phương pháp phân loại SVM,

Trang 13

Chương 2: Xây dựng thuật toán máy Vector hỗ trợ (Support Vector Machine) cho bài toán phân

loại.

2.1 Bài toán phân loại.

2.1.1 Định nghĩa bài toán phân loại.

Phân loại dữ liệu là một quá trình gồm hai bước, trong bước đầu tiên, một bộ phânloại được xây dựng mô tả các luật, quy định của một tập các lớp dữ liệu [1][2] Đây được

gọi là bước học máy(học mô hình), trong đó một thuật toán phân loại sẽ xây dựng một bộ

phân loại bằng cách phân tích hoặc “học” từ tập dữ liệu huấn luyện (được tạo thành bởicác bộ dữ liệu và các lớp liên quan) Một bộ dữ liệu, X, được đại diện bởi một vectorthuộc tính n-chiều, X =(x1, x2, … , x n) , trong đó mỗi X được gọi là một bản ghi(hay mộtmẫu), X i được gọi là một thuộc tính(attribute) , và giá trị nó làx i được gọi là giá trị củamột thuộc tính(value) Ta chọn một thuộc tính X kvà gán nó Y = X k, Y được gọi là lớp nhãn(class)

Hình 2.1.1.a Mô tả các thuộc tính, lớp và giá trị

value

Trang 14

Mục tiêu của bướchọc máy(học mô hình) là tìm ra một mô hình(thông qua thuật

toán học máy)thể hiện mối liên hệ, các luật giữa các thuộc tính (X1, X2, … , X n) và lớp Y.Mối liên hệ (hay các luật) này được mô tả nhưng một hàm f Tức là tìm hàm f sao cho:

y=f ( X)

Tập giá trị y

Có thể mô tả bằng hình ảnh của quá trình học máy như sau

Hình 2.1.1.b Mô tả quá trình học máy

Sau khi thu được mô hình, chúng ta sẽ tiến hành quá trình kiểm tra để xác định độ chính

xác của mô hình Một tập kiểm tra bao gồm các thuộc tính (X1, X2, … , X n) và các giá trị x i

của nó, tuy nhiên ta chưa biết giá trị của lớp Y (y = ?) Ta sẽ sử dụng mô hình vừa tìmđược để xác định giá trị của thuộc tính lớp nhãn Y (xác định giá trị y) dựa vào hàm f vừatìm được Tóm lại ta đã có f, ta đã có X =(x1, x2, … , x n), ta sẽ xác định được các giá trị (y)của lớp Y

Hình 2.1.1.c Giá trị của lớp Class(y=?) chưa biết

y=?

Trang 15

Thông thường, tập dữ liệu có sẵn đang xét được phân của thành một tập dùng để huấnluyện mô hình và một tập để kiểm tra và được sử dụng để xác định độ đúng đắn của môhình đó.

Để đánh giá được độ chính xác, tập kiểm tra phải biết được các giá trị thực tế của lớp phân loại Quá trình phân loại sẽ thu được các giá trị phân loại dự đoán Các giá trị phân loại thực tế và giá trị phân loại dự đoán là cơ sở để đánh giá hiệu quả, ta sẽ đề cập đến

trong phần dưới

Có thể mô tả bằng hình ảnh của quá trình kiểm tra như sau

Hình 2.1.1.d: Mô tả quá trình kiểm traTổng quát hóa:

Cho sẵn một tập huấn luyện {(x1, y),… ,(x n , y)} ta cần một phân loại h : X →Y mà cóthể ánh xạ một đối tượng x ∈ X vào nhãn phân loại y ∈Y của nó Ví dụ nhưng trong đề tàithì x i là một biểu diễn nào đó cho thói quen trả cước của khách hàng thì y là “trả đúnghạn” hoặc “không đúng hạn”

Mô hình tổng quát của quá trình phân loại như sau:

Trang 16

Hình 2.1.1.e: Mô hình tổng quan của quá trình phân loại.

2.1.2 Đánh giá hiệu quả của mô hình phân loại.

2.1.2.1 Các độ đo đánh giá hiệu quả.

Để đánh giá hiệu quả của một mô hình, chúng ta cần xác định độ đo tính hiệu quảcủa mô hình

Độ đo thường được sử dụng rộng rãi đó là độ chính xác accuracy, là đơn vị độ

chính xác tổng thể của mô hình

Cách tính độ chính xác accuracy như sau:

Tức là độ chính xácaccuracy sẽ được tính bằng cách lấy số giá trị phỏng đoán

đúng chia cho tổng số giá trị phỏng đoán Tương tự ta cũng có độ đo lỗi phân loại đượctính theo công thức

Trang 17

Tuy nhiên vấn đề gặp phải với độ chính xác accuracyđó là nó chỉ thể hiện mức độ phỏng

đoán đúng chứ không thể hiện mức độ phân loại chính xác, do đó ta sẽ xây dựng thêm 2

công thức đánh giá độ chính xác khác đó là precision và recall.

Ta sử dụng ma trận lôn xôn (Confusion Matrix) [3] để đo hiệu quả của việc phân loại như

Độ đo recall,là đơn vị đo khả năng phỏng đoán của một mô hình để chọn ra các trường hợp của một lớp nào đó từ tập dữ liệu, thể hiện mối tương quan giữa True positive và False positive.

Trang 18

Recall= a

TP TP+ FN

2.1.2.2 Các phương pháp đánh giá số bản ghi hiệu quả.

Ngoài các chỉ số đánh giá, mức độ hiệu quả của mô hình còn được kiểm tra bằng

số lượng bản ghi và các cách phân chia bản ghi, mẫu khác nhau Bởi với mỗi số lượngbản ghi khác nhau, ta thu được độ chính xác khác nhau.Với số lượng bản ghi đủ lớn thìkết quả chạy trong mô hình huấn luyện mới đủ khách quan để tin cậy Ta sẽ áp dụng haiphương pháp chính trong đề tài này

Phương pháp giữ lại một phần (holdout): Dùng 2/3 số bản ghi của tập dữ liệu cho

việc huấn luyện, 1/3 còn lại cho việc kiểm tra, việc chọn 2/3 lượng bản ghi nào làngẫu nhiên Ngoài ra ta có thể thay đổi tỉ lệ phân chia , không nhất thiết phải làtheo tỉ lệ 2/3

Phương pháp xác nhận chéo (cross-validation): Theo phương pháp này, tập dữ

liệu được phân (ngẫu nhiên) thành N phần; ta sử dụng N-1 phần để huấn luyện(training) và một phần còn lại để thử nghiệm (testing); quá trình này lặp lại chođến khi tất cả các phần đều được thử nghiệm Kết quả cuối cùng là trung bình

cộng của cả N phần.Phương pháp houldoutlà trường hợp đặc biệt với N = 1 Trong

đồ án này chúng ta sử dụng N =10 để đảm bảo tính khách quan

2.2 Thuật toán máy vector hỗ trợ SVM (Support vector machine).

2.2.1.Khái niệm và cơ sở của thuật toán SVM dựa trên bài toán phân loại tuyến tính.

Phương pháp máy véc tơ hỗ trợ SVM (Support Vector Machine) ra đời từ lýthuyết học thống kê do Vapnik và Chervonekis xây dựng năm 1995 [7], và có nhiều tiềmnăng phát triển về mặt lý thuyết cũng như ứng dụng trong thực tế.Phương pháp SVM cókhả năng phân loại khá tốt đối với bài toán phân lớp cũng như trong nhiều ứng dụng thựctế.SVM là một phương pháp phân loại xuất phát từ lý thuyết thống kê, dựa trên nguyêntắc tối thiểu rủi ro cấu trúc SVM sẽ cố gắng tìm cách phân loại dữ liệu sao cho lỗi xảy ratrên tập kiểm tra là thấp nhất

Đầu tiên xét trường hợp đơn giản nhất đó là phân loại hai lớp tuyến tính Tức làphân loại hai lớp dựa trên phương trình bậc nhất.Tập dữ liệu D được định nghĩa bởi(X1, y1),(X2, y2), … ¿, trong đó X ilà tập dữ liệu huấn luyện với lớp phân loại có giá trị là y i

, y i có thể nhận 2 giá trị là +1 và -1 (hay y i ∈{+1,−1}) Đây được coi như bài toán phânloại hai lớp

Trang 19

Hình 2.2.1.a Mô tả bài toán

Hình thức đơn giản của việc phân lớp là phân lớp nhị phân: phân biệt giữa các đốitượng thuộc về một trong hai lớp: dương (+1) hoặc âm (-1) SVM sử dụng hai khái niệm

để giải quyết vấn đề này: phân lớp biên rộng và hàm kernel Ý tưởng của phân lớp biênrộng có thể được minh họa bởi sự phân lớp của các điểm trong không gian haichiều(Hình 2.2.1.a)

Ta phân loại các giá trị trên bằng cách xây dựng một đường biên(margin), mà độ

rộng của nó có thể tăng đến khi nó chạm vào một điểm dữ liệu (Hình 2.2.1.b) Như vậy ta

đã phân tách được các điểm (+1) và (-1) về hai phía

Hình 2.2.1.b Mô tả đường biênmargin.

Trang 20

Đây là một cách phân chia các điểm dữ liệu đơn giản.Tuy nhiên vấn đề nằm ở chỗchúng ta muốn tìm một đường chia tốt nhất,nhằm tăng độ chính xác cũng như tối thiểuhóa số lỗi khi phân loại

Hình minh họa trang bên

Hình 2.2.1.c.Phân loại hai lớp với đường biên có độ rộng nhỏ và đường chia có độ

rộng lớn

Trang 21

Điều này được thực hiện bằng cách tăng tối đa độ rộng của đường biêncho đến

khi nó chạm vào một điểm dữ liệu gần nhất, ta thu được đường biên cực đại (maximum margin)

Hình 2.2.1.d Đường biên cực đại

Các điểm mà đường biên này chạm phải được gọi là các vector hỗ trợ (supportvectors) Đường biên cực đại này còn được gọi là siêu phẳng phân chia hai lớp với

khoảng cách từ nó tới điểm gần nhất là cực đại (maximum marginal hyperplane) Đây

chính là dạng đơn giản nhất của thuật toán SVM, còn được gọi là dạng SVM tuyến tính(LSVM)

Như vậy, mục tiêu của thuật toán SVM là xây dựng một siêu phẳng giữa hai lớp sao cho khoảng cách từ nó tới các điểm gần siêu phằng nhất của hai lớp là cực đại Siêu

phẳng có thể được mô tả bởi phương trình:

w X +b=0 (1)

Trong đó:

- w là vector trọng số (hay vector pháp tuyến)

- X ={w1, w2,… , w n}

- b là một đại lượng vô hướng, thường liên quan đến độ nghiêng

Trang 22

Theo yêu cầu của bài toán phân loại tuyến tính, ta phải chia các đối tượng thành 2 lớp

đó là (+1) và (-1) Áp dụng công thức (1) và các công thức toán học khác ta thu đượcđiều kiện phân loại đó là:

- Nếu w x i+b ≥1 , y i=1 Phân loại đối tượng vào lớp dương (+1)

- Nếu w x i+b ≤−1 , y i=1 Phân loại đối tượng vào lớp âm (-1)

Từ hai bất đẳng thức trên, ta cũng thu được bất đẳng thức:

y i(w x i+b)≥1

Lúc đó những đối tượng x i nằm trên đường thẳng H1 (hình 2.1.1.e) thỏamãn phương trình w x i+b=1 hoặc nằm trên đường thẳng H2 thỏa mãnphương trình w x i+b=−1 được gọi là các support vector Minh họa (hình2.1.1.e) có 2 support vector

Hình 2.2.1.e Minh họa cách SVM phân chia các đối tượng về hai lớp

Như vậy ta đã có cái nhìn tổng quát về bài toán phân lớp SVM tuyến tính, trong

phần tiếp theo ta sẽ tìm hiểu cách tối đa độ rộng của đường biên (maximum margin) hay tăng độ rộng cực đại của siêu phẳng (maximum marginal hyperplane)

Trang 23

2.2.2 Vấn đề tối đa độ rộng củasiêu phẳng (maximum marginal hyperplane).

Để tối đa độ rộng của đường biên, tức là chúng ta phải tối đa khoảng cách giữa haiđường H2 và H1 Theo công thức toán học, khoảng cách từ H0 đến H1 là 1

¿∨W ∨¿ ,tương tự khoảng cách từ H0 đến H2 cũng là 1

¿∨W ∨¿ Do đó khoảng cách từ H1 đến H2

sẽ là d= 2

¿∨W∨¿ (Hình 2.2.2.a) Trong đó ¿∨w∨¿ là độ dài Ơ-clide của vector w

Hình 2.2.1.a: Khoảng cách giữa hai đường thẳng H1 và H2 tính theo công thức

Do đó để siêu phẳng có độ rộng d cực đại(tức là khoảng cách từ H1 đến H2) là cực đại thì

¿∨w∨¿ phải là cực tiểu, tức là chúng ta phải cực tiểu hóa 12¿∨w∨¿2 (phép biến đổi hàmmục tiêu, không thay đổi kết quả)

Như vậy, vấn đề trở thành giải quyết bài toán tối ưu, tính toán Wb tương ứng

để Minimize1

2

với điều kiện ràng buộc đó là y i(w x i+b)≥1 với i=1,2 , … , n

Có thể giải quyết bài toán này bằng các kĩ thuật thông thường cho quy hoạch toànphương , áp dụng điều kiện Karush–Kuhn–Tucker, ta sẽ thu được kết quả của Wb

tương ứng Đây cũng là lúc ta giải quyết được bài toán tối đa độ rộng của siêu phẳng, ta

Trang 24

tìm được các vector hỗ trợ (support vectors) như đã nêu trong phần 2.2.1 Quá trình huấnluyện mô hình hoàn tất Ta có thể tiến hành quá trình kiểm tra để tiến hành xác định độchính xác của mô hình

2.2.3 Bài toán phân loại dữ liệu tuyến tính không thể phân chia(linearly

inseparable data) bằng thuật toán SVM.

Trong phần 2.2.1 và 2.2.2, ta đã tìm ra cách giải quyết bài toán phân loại tuyếntính bằng cách tìm độ rộng cực đại của siêu phẳng Tuy nhiên trong nhiều trường hợp, dữliệu tuyến tính không thể phân chia thành hai lớp theo phương pháp thông thường (hình2.2.3.a)

Hình 2.2.3.a Trường hợp không thể phân chia tuyến tính bằng một siêu phẳng

Giải pháp:

 Chấp nhận huấn luyện có lỗi, tức là trong quá trình huấn luyện có một số đốitượng bị phân loại sai lớp

 Đồng thời phải tối thiểu hóa số đối tượng bị phân loại sai lớp

Theo đó về mặt thuật toán:

Sử dụng một biến mềm ε i ≥ 0sao cho y i(w x i+b)≥1−ε i , i=1,2 ,… , n (*)

Bài toán tối ưu siêu phẳng trở thành:

ε i

Trang 25

với ràng buộc(*) Tức là ta phải tính toán w ,b , ε sao cho 1

- ε ichỉ khoảng cách giữa vị trí đối tượng bị phân loại sai đến đến đúng mặt phẳngphân chia của nó (Hình 2.2.3.b)

- Tham số C giới hạn lỗi ràng buộc, tức là C càng lớn thì mức độ lỗi trong huấnluyện càng cao

Hình 2.2.3.b: Mô tả khoảng cách ε i giữa đối tượng bị phân loại sai đến đường biên phân

chia nó

Tương tự như trong phần 2.2.2,bài toán cực đại độ rộng của siêu phẳng của dữ liệu tuyến

tính không thể phân chia (linearly inseparable data) trong phần 2.2.3 cũng có thể được

giải quyết bằng các công thức toán học tương ứng

Ngoài ra Support vector machines cũng có thể giải quyết vấn đề dữ liệu tuyến tínhkhông thể phân chia bằng cách quy về trường hợp dữ liệu phi tuyến (nonlinear data), ta

sẽ giải quyết trong phần 2.2.4

Trang 26

2.2.4 Bài toán phân loại dữ liệu phi tuyến (không tuyến tính) bằng SVM.

Trong nhiều trường hợp, không gian phân loại có thể là dạng bất kì (2 chiều, 3chiều hay n chiều), tập dữ liệu D không thể phân chia tuyến tính ( tức là phân loại dựatrên phương trình bậc nhất)

Giải pháp: ta sẽ ánh xạ các vector dữ liệu x itừ không gian n chiều vào một khônggian m chiều (m > n), sao cho trong không gian m chiều, tập dữ liệu D có thể phân chiatuyến tính được.Tức là áp dụng phương pháp SVM tuyến tính để tìm một siêu phẳngnhằm phân lớp trong không gian mới Mô tả trong hình 2.2.4.a

Phương pháp này cũng có thể được áp dụng cho bài toán dữ liệu tuyến tính không

thể phân chia (linearly inseparable data) trong phần 2.2.3.

Hình 2.2.4.a Ánh xạ dữ liệu từ không gian 2 chiều sang không gian ba chiều để giải

quyết bài toán phân loại

Trang 27

Bài toán tối ưu vẫn là tối thiểu:

đó tiếp tục tìm siêu phẳng để phân tách tập dữ liệu này Ví dụ trong hình 2.2.4.b

Hình 2.2.4.b Giải quyết bài toán phân loại bằng cách ánh xạ dữ liệu từ không gian hai

chiều sang không gian 3 chiều

Tuy nhiên chúng ta tiếp tục gặp phải 2 vấn đề chính với phương pháp này:

Ngày đăng: 11/07/2016, 22:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5]Support vector machine tutorial, Wu, Shih-Hung(Ph.D),Dept. of CSIE, CYUT [6]Support Vector Machines, by David Meyer,FH Technikum Wien, Austria [7] http://vi.wikipedia.org/wiki/Máy_vectơ_hỗ_trợ Link
[1]Bài giảng Kho dữ liệu và khai phá dữ liệu,Học viện Công nghệ bưu chính viễn thông Khác
[2]Bài giảng khai phá dữ liệu, Trường đại học bách khoa thành phố HCM Khác
[4] LIBSVM: A Library for Support Vector Machines, Chih-Chung Chang and Chih-Jen Lin Khác
[8] A tutorial on n-support vector machines,Pai-Hsuen Chen1, Chih-Jen Lin1 and Bernhard Sch.olkopf2 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.4.1. Mô tả các bước của quá trình huấn luyện mô hình phân loại. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 1.4.1. Mô tả các bước của quá trình huấn luyện mô hình phân loại (Trang 10)
Hình 1.4.2. Mô tả các bước của quá trình phân loại dữ liệu. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 1.4.2. Mô tả các bước của quá trình phân loại dữ liệu (Trang 11)
Hình 2.1.1.a. Mô tả các thuộc tính, lớp và giá trị - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.1.1.a. Mô tả các thuộc tính, lớp và giá trị (Trang 13)
Hình 2.1.1.e: Mô hình tổng quan của quá trình phân loại. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.1.1.e Mô hình tổng quan của quá trình phân loại (Trang 16)
Hình 2.2.1.a. Mô tả bài toán - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.1.a. Mô tả bài toán (Trang 19)
Hình minh họa trang bên. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình minh họa trang bên (Trang 20)
Hình 2.2.1.d. Đường biên cực đại - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.1.d. Đường biên cực đại (Trang 21)
Hình 2.2.3.a. Trường hợp không thể phân chia tuyến tính bằng một siêu phẳng. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.3.a. Trường hợp không thể phân chia tuyến tính bằng một siêu phẳng (Trang 24)
Hình 2.2.3.b: Mô tả khoảng cách  giữa đối tượng bị phân loại sai đến đường biên phân - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.3.b Mô tả khoảng cách giữa đối tượng bị phân loại sai đến đường biên phân (Trang 25)
Hình 2.2.4.b. Giải quyết bài toán phân loại bằng cách ánh xạ dữ liệu từ không gian hai - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.4.b. Giải quyết bài toán phân loại bằng cách ánh xạ dữ liệu từ không gian hai (Trang 27)
Hình 2.2.5.a: Phân loại đa lớp SVM bằng phương pháp “một-đối-một”. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 2.2.5.a Phân loại đa lớp SVM bằng phương pháp “một-đối-một” (Trang 30)
Hình 3.3.1.3.b. Mô tả kết quả sau khi sinh thuộc tính. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Hình 3.3.1.3.b. Mô tả kết quả sau khi sinh thuộc tính (Trang 38)
Bảng 3.3.1.4.a. Mô tả quá trình rời rạc dữ liệu. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Bảng 3.3.1.4.a. Mô tả quá trình rời rạc dữ liệu (Trang 39)
Bảng 3.3.5.1.a: Dữ liệu đầu vào dạng chữ. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Bảng 3.3.5.1.a Dữ liệu đầu vào dạng chữ (Trang 40)
Bảng 3.3.5.1.b:Bảng dữ liệu và mã hóa dữ liệu. - Ứng dụng khai phá dữ liệu để phân loại khách hàng viễn thông
Bảng 3.3.5.1.b Bảng dữ liệu và mã hóa dữ liệu (Trang 41)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w