Một khuynh hướng kỹ thuật mới ra đời đó là Kỹ thuật Khai phá dữ liệu và khám phá tri thức.Công nghệ khai phá dữ liệu ra đời đã cho phép ta khai phá được những tri thức hữu dụng bằng việc
Trang 1Mục lục
DANH MỤC CÁC BẢNG, HÌNH 3
CHƯƠNG 1: GIỚI THIỆU 5
CHƯƠNG 2: LÝ THUYẾT NỀN TẢNG 11
2.1 Khai phá dữ liệu và quá trình khai phá dữ liệu 11
2.1.1 Giới thiệu khai phá dữ liệu 11
2.1.2 Các kỹ thuật áp dụng trong khai phá dữ liệu 14
2.1.3 Những chức năng chính của khai phá dữ liệu 15
2.1.4 Ứng dụng của khai phá dữ liệu 17
2.1 Thuật giải tối ưu bầy đàn 18
2.1.1 Giới thiệu thuật giải PSO (Particle Swarm Optimization) 18
2.1.2 Thuật giải PSO 19
2.2 Giới thiệu mô hình Support Vector Machine- SVM và Hồi Qui Véctơ Hỗ Trợ Support Vector Regression-SVR 23
2.2.1 Support Vector Machine (SVM) 23
2.2.2 Support Vector Regression (SVR) 30
2.3 Tính chính xác của mô hình (Model evaluation) 33
2.3.1 Tính chính xác đối với mô hình SVM 33
CHƯƠNG 3: ÁP DỤNG PHƯƠNG PHÁP LAI GIỮA THUẬT GIẢI TỐI ƯU BẦY ĐÀN VÀ HỒI QUI VÉCTƠ HỖ TRỢ TRONG DỰ ĐOÁN GIÁ CHỨNG KHOÁN VIỆT NAM 36 3.1 Giới thiệu chung 36
3.2 Xử lý dữ liệu và xây dựng module huấn luyện 37
3.2.1 Tiền xử lý dữ liệu 37
3.2.2 Xây dưng module huấn luyện 38
CHƯƠNG 4: KẾT QUẢ THỬ NGHIỆM 39
4.1 Mô tả và xử lý dữ liệu 39
4.2 Kịch bản thử nghiệm 44
4.2.1 Mô hình Linear Regression 45
4.2.2 Mô hình SVR chuẩn 46
4.2.3 Mô hình SVR sử dụng PSO xác định tham số C, epsilon, gamma 46
4.2.4 Mô hình SVR sử dụng PSO xác định tham số và train test split 49
4.2.5 Mô hình Linear Regression cho danh mục nhiều mã chứng khoán và có thuộc tính thời gian 51
Trang 24.2.6 Mô hình SVR chuẩn cho danh mục nhiều mã chứng khoán và có thuộc tính thời
gian 52
4.2.7 Mô hình SVR sử dụng PSO xác định tham số C, epsilon, gamma cho danh mục nhiều mã chứng khoán và có thuộc tính thời gian 53
4.2.8 Mô hình SVR sử dụng PSO xác định tham số và train test split gamma cho danh mục nhiều mã chứng khoán và có thuộc tính thời gian 54
4.3 Kết quả thử nghiệm 55
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
DANH MỤC TÀI LIỆU THAM KHẢO 59
Trang 3
Hình 2.2 Các lĩnh vực liên quan đến khám phá tri thức trong cơ sở dữ liệu
Hình 2.3 Thuật giải PSO
Hình 2.4 Sơ đồ thuật giải PSO
Hình 2.5 Mã giả cho thuật giải PSO
Hình 2.6 Support Vector Regression
Hình 2.7 Minh họa cho bài toán phân hai lớp
Hình 2.8 Minh họa bài toán phân hai lớp với phương pháp SVM
Hình 2.9 Bài toán SVM trong trường hợp dữ liệu mẫu không phân tách tuyến tính
Hình 2.10 Minh họa hàm lỗi của thuật giải SVR
Hình 2.11 Sơ đồ Thuật giảixây dựng mô hình PSO-SVR
Hình 2.12 Mã giả cho thuật giải PSO-SVR
Hình 4.1 Mô tả dữ liệu chứng khoán
Hình 4.2 Mô tả dữ liệu chứng khoán sau khi loại bỏ thuộc tính thừa
Hình 4.3 Kết quả thu được của Mô hình Linear Regression cho mã FLC
Hình 4.4 Kết quả thu được của Mô hình SVR chuẩn cho mã FLC
Hình 4.5 Kết quả thu được của sử dụng PSO xác định tham số C, epsilon, gamma cho mô hình SVR cho mã FLC
Hình 4.6 Kết quả thu được của sử dụng PSO xác định tham số C, epsilon, gamma cho mã
FLC
Hình 4.7 Kết quả thu được của Mô hình Linear Regression cho danh mục nhiều mã chứng
khoán và có thuộc tính thời gian
Trang 4Hình 4.8 Kết quả thu được của Mô hình SVR chuẩn cho danh mục nhiều mã chứng khoán
và có thuộc tính thời gian
Hình 4.9 Kết quả thu được của sử dụng PSO xác định tham số C, epsilon, gamma cho mô hình SVR cho danh mục nhiều mã chứng khoán và có thuộc tính thời gian
Hình 4.10 Kết quả thu được của sử dụng PSO xác định tham số C, epsilon, gamma cho mô
hình SVR với phương pháp đánh giá Hold-out (Splitting) cho danh mục nhiều mã chứng
khoán và có thuộc tính thời gian
Hình 4.11 Kết quả so sánh giữa SVR và PSO-SVR của Hsieh H.I., Lee T.P
Trang 5CHƯƠNG 1: GIỚI THIỆU
Ngày nay, khi xã hội ngày càng phát triển thì lượng thông tin càng tăng lên nhanh chóng Lượng dữ liệu khổng lồ ấy là một nguồn tài nguyên vô giá nếu như chúng ta biết cách phát hiện và khai phá những thông tin hữu ích có trong đó Như vậy vấn đề đặt ra với
dữ liệu của chúng ta là việc lưu trữ và khai phá chúng Các phương pháp khai phá dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế Một khuynh hướng kỹ thuật mới ra đời đó là Kỹ thuật Khai phá dữ liệu và khám phá tri thức.Công nghệ khai phá dữ liệu ra đời đã cho phép ta khai phá được những tri thức hữu dụng bằng việc trích xuất những thông tin có mối quan hệ hoặc mối tương quan nhất định từ một kho dữ liệu lớn mà bình thường không thể nhận diện được từ đó giải quyết các bài toán tìm kiếm, dự báo các
xu hướng, các hành vi trong tương lai, và nhiều tính năng thông minh khác Ngày nay, các công nghệ khai phá dữ liệu được ứng dụng rộng rãi trong hầu hết các lĩnh vực: phân tích
dữ liệu, dự báo, Một trong những vấn đề quan trọng nhất trong lĩnh vực tài chính hiện đại
là tìm kiếm những cách thức hiệu quả để tóm tắt và hình dung dữ liệu thị trường chứng khoán để cung cấp cho các cá nhân hoặc tổ chức những thông tin hữu ích về các hành vi thị trường hỗ trợ việc ra các quyết định đầu tư Số lượng lớn dữ liệu có giá trị được tạo ra bởi thị trường chứng khoán đã thu hút được các nhà nghiên cứu khám phá vấn đề này bằng cách sử dụng các phương pháp khác nhau
Hiện nay trên thế giới, ở các thị trường chứng khoán phát triển, các nhà phân tích và dự báo đã áp dụng và đưa ra nhiều công cụ giúp cho các nhà đầu tư trên thị trường dự báo được giá chứng khoán một cách chính xác nhằm đưa ra các quyết định đầu tư của mình Phân tích chứng khoán đã trở thành công việc hết sức quan trọng mà các nhà đầu tư chứng khoán cần thực hiện để có được quyết định đầu tư thích hợp Từ kết quả phân tích, người đầu tư chứng khoán sẽ quyết định khi nào thì mua vào, khi nào thì bán ra, khi nào thì giữ lại và nên đầu tư vào doanh nghiệp nào Có hai phương pháp phân tích được sử dụng phổ biến hiện nay ở hầu hết các thị trường chứng khoán trên thế giới, đó là phân tích cơ bản và phân tích kỹ thuật
Phân tích cơ bản (Fundamental Analysis): là phương pháp phân tích chứng khoán dựa trên các nhân tố mang tính chất nền tảng có tác động hoặc là nguyên nhân dẫn tới sự thay đổi giá của chứng khoán nhằm chỉ ra giá trị nội tại (intrinsic value) của chứng khoán trên thị trường Các nhân tố cần chú trọng trong phân tích cơ bản là: hoạt động kinh doanh của công ty, mục tiêu và nhiệm vụ của công ty, khả năng lợi nhuận (hiện tại và ước đoán), kết
Trang 6quả sản xuất kinh doanh, chất lượng quản lý, sức ép cạnh tranh, chính sách giá cả, vị thế,…
Phân tích kỹ thuật (Technical Analysis) : sử dụng các mô hình toán học (đồ thị, biến đổi miền, xác suất thống kê, dãy đại số,…) dựa trên dữ liệu thu thập về thị trường trong quá khứ và hiện tại để chỉ ra trạng thái của thị trường trong một thời điểm xác định, thông thường là nhận định xu hướng thị trường Phân tích kỹ thuật không để ý đến các chỉ số tài chính, tình hình phát triển của doanh nghiệp hay các thông tin về thị trường mà chỉ chú trọng vào việc tập hợp các dữ liệu về giá cả, khối
lượng giao dịch và các tiêu chí khác của chứng khoán thu thập được từ các phiên giao dịch trong quá khứ
Các kỹ thuật phân tích cho thấy rằng giá trong lịch sử và các chỉ số khác có thể tiết lộ mối tương quan và các mô hình biến động giá chứng khoán, do đó có thể dự đoán giá chứng khoán trong tương lai Trong những năm gần đây, nhiều kỹ thuật tiên tiến như giải thuật di truyền (GA), máy véctơ hỗ trợ (SVM), mạng nơron nhân tạo (ANN) đã hỗ trợ tốt việc phân tích và học mẫu hơn Giá chứng khoán có mối tương quan nhạy cảm với tin tức và các sự kiện mang lại thông tin cho thị trường chứng khoán (kể cả các tin tức thời sự, kinh
tế, chính trị, thời tiết…đều ảnh hưởng tới thị trường chứng khoán) Với hướng tiếp cận này, sử dụng các kỹ thuật học máy và khai phá dữ liệu để tìm ra mối tương quan giữa giá trong quá khứ và xu hướng giá trong tương lai
Ứng dụng dự đoán giá chứng khoán là một giải pháp đang được quan tâm ở trong nước và thế giới Hiện nay có rất nghiên cứu và bài báo về nhu cầu này
-Ngoài nước:
Có rất nhiều công trình nghiên cứu về dư đoán giá chứng khoán như:
Năm 2001, Abraham và các đồng sự nghiên cứu về hệ thống thông minh lai cho dự đoán thị trường chứng khoán sử dụng ANN để dự báo giá chứng khoán [13]
Năm 2008, Ang và các đồng sự nghiên cứu sự kết hợp giữa thuật giải di truyền (GA) và máy vectơ hỗ trợ (SVM) để tìm kiếm các thuộc tính tốt nhất bằng cách sử dụng các nguyên tắc của quá trình tiến hóa, sau quá trình này tập dữ liệu sẽ giảm đi và tiếp tục được huấn luyện trong SVM Kết quả mô phỏng cho thấy phương pháp lai giữa GA-SVM có thể phân loại chính xác và nhất quán [14]
Năm 2011, Bollen và các đồng sự đã có chỉ ra rằng có thể dự đoán thị trường chứng khoán dựa trên các Tweet của các công ty trong thị trường chứng khoán với độ chính xác khá cao
Trang 7nhưng khuyết điểm là dữ liệu phân tích lớn và chỉ dự đoán được sự tăng, giảm của thị trường chứng khoán [15]
Ngoài ra còn có các công trình nghiên cứu dự đoán giá chứng khoán theo hướng ứng dụng mô hình Auto Regressive Integrate Moving Average (ARIMA) ARIMA là mô hình
dự báo định lượng theo thời gian, giá trị tương lai của biến số dự báo sẽ phụ thuộc vào xu hướng vận động của đối tượng đó trong quá khứ (chuỗi dữ liệu quá khứ) [16] [17] Tuy nhiên, mô hình ARIMA hiệu quả hơn khi liên quan đến dự báo ngắn hạn Còn những dự báo dài hạn nên sử dụng ANN ANN là một mô hình chính xác nhất và được sử dụng rộng rãi trong nhiều lĩnh vực bao gồm xã hội, kỹ thuật, kinh tế, kinh doanh, tài chính, ngoại hối, chứng khoán,…[18-22]
Có rất nhiều công trình nghiên cứu so sánh ARIMA và ANN trong dự đoán giá chứng khoán ANN đã được tìm thấy là rất hiệu quả trong việc giải quyết các vấn đề phi tuyến tính, trái ngược hoàn toàn với mô hình ARIMA giải quyết nhưng vấn đề tuyến tính và không khả thi với các vấn đề phi tuyến tính trong thực tế [23] [24] [25]
Các mô hình chuỗi thời gian trước đó vẫn còn có một số hạn chế: (1) các nghiên cứu trước đây chọn các chỉ số kỹ thuật phụ thuộc vào kinh nghiệm và ý kiến chủ quan; (2) mô hình thống kê thông thường phải đáp ứng các giả định về các biến trong phân tích dữ liệu; (3)
mô hình chuỗi thời gian thông thường chỉ được coi là biến duy nhất và biến tuyến tính; (4)
sự khó khăn để xác định các thông số của SVR Để cải thiện những vấn đề này Cheng và Shiu đã đề xuất một mô hình GA-SVR chuỗi thời gian dựa trên sự lựa chọn các chỉ số để
dự báo giá cổ phiếu [26]
Năm 2013, Wenge đã sử dụng thuật giải PSO và SVR để dự đoán đầu tư Ở đây, PSO xác định bộ tham số tối ưu cho SVR Sau đó, bộ tham số và các đặc trưng đầu vào này sẽ được huấn luyện với SVR Kết quả thử nghiệm cho thấy phương pháp lai PSO-SVR cho kết quả
dự đoán tốt hơn SVR, ANN [27]
Năm 2015, Ding và một số đồng nghiệp đã có bài báo về kết hợp tối ưu bầy đàn và ISVR (khoảng vector hỗ trợ hồi quy) để cung cấp một công cụ phân tích hồi quy tuyến tính cho
dữ liệu lớn [28]
-Trong nước:
Các hệ thống dự đoán chứng khoán đã được rất nhiều nghiên cứu như:
Dự báo thị trường chứng khoán dựa trên khai phá dữ liệu Tweeter của Phạm Huyền Trang dựa trên những trích xuất các nội dung tweet để đánh giá được tâm trạng của công chúng trực tiếp, theo thời gian thực một cách nhanh chóng và tiết kiệm Tweeter là 1 trong các
Trang 8mạng xã hội được sử dụng phổ biến nhất trên thế giới nhưng ở Việt Nam thì không sử dụng Tweeter nhiều [6]
Công trình nghiên cứu sử dụng mô hình ARIMA trên dữ liệu thời gian thực, áp dụng với
dữ liệu chứng khoán hướng tới việc dự báo chứng khoán của Vũ Thị Gương [7] Công trình đã sử dụng mô hình ARIMA và phương pháp Box – Jenkins để thực hiện 3 quá trình dự báo giá đóng cửa của: VnIndex, mã cổ phiếu ABT (của Công ty cổ phần xuất nhập khẩu thủy sản Bến Tre) và mã cổ phiếu ACB (của Ngân hàng Thương mại cổphần Á Châu) trong ngắn hạn căn cứ vào các chuỗi dữ liệu quá khứ của các mã CK
đó Kết quả dự báo là khá chính xác (mức độ sai số rất thấp, từ xấp xỉ 0% đến 2.52%) Ngoài ra ở Việt Nam có nhiều công trình nghiên cứu sử ANN trong lĩnh vực tài chính như
dự báo lạm phát tại Việt Nam bằng mô hình ANN của Nguyễn Khắc Hiếu, Nguyễn Thị Anh Vân [8] Mục tiêu của bài viết là để kiểm soát lạm phát sát với lạm phát mục tiêu, các nhà làm chính sách cần phải biết được những yếu tố nào tác động đến lạm phát, dự báo được lạm phát trong tương lai, từ đó có những điều chỉnh phù hợp nhằm đạt ra Bài viết thu được kết quả mô hình ANN dự báo lạm phát tốt hơn mô hình ARDL ARDL và
mô hình kết hợp giữa mô hình VAR (tự hồi quy vector) và mô hình hồi quy bình phương nhỏ nhất (OLS) Ở trong nước cũng có những bài viết nghiên cứu ứng dụng mô hình ANN trong dự đoán giá chứng khoán tại Tp Hồ Chí Minh của Phạm Thành Phước [9] Kết quả
dự báo hoạt động rất tốt đối với việc dự báo trong thời gian ngắn hạn, với tỉ lệ chính xác thường xuyên đạt ngưỡng trên 90%, sẽ dự đoán tương đối chính xác giá của ngày mai, hay tháng sau, và sẽ giảm dần độ chính xác nếu dự đoán theo quý, và đặc biệt chương trình không còn chính xác nữa nếu dự đoán phiên giao dịch đóng cửa cuối cùng của năm (xác suất chính xác rất thấp)
Nghiên cứu của Vạn Duy Thanh Long, Lê Minh Duy nghiên cứu về dự đoán xu hướng cổ phiếu ở thị trường Việt Nam bằng phương pháp hai giai đoạn dựa trên viêc kết hợp K-Means và SVM với ước lượng xác suất lớp Bài viết này đã so sánh hiệu quả dự đoán với
mô hình mạng nơ-ron lan truyền ngược, bộ phân lớp SVM truyền thống và bộ phân lớp SVM với ước lượng xác suất Kết quả thử nghiệm cho thấy, phương pháp kết hợp K-Means và SVM với ước lượng xác suất lớp đạt kết quả vượt trội hơn ở cả hai chu kỳ dự đoán, đồng thời cho thấy khả năng dự đoán hiệu quả ở chu kỳ 5 ngày [10]
Trong bài báo của Trần Trung Kiên, Bành Trí Thành sử dụng phương pháp lai giữa thuật giải di truyền và hồi qui véc tơ hỗ trợ để dự đoán giá cổ phiếu Việt Nam Ở đây, GA làm đồng thời hai nhiệm vụ: xác định bộ tham số tối ưu cho SVR và chọn lựa các đặc trưng
Trang 9đầu vào quan trọng nhất Sau đó, bộ tham số và các đặc trưng đầu vào này sẽ được huấn luyện với SVR Kết quả thử nghiệm cho thấy phương pháp lai GA-SVR cho kết quả dự đoán tốt hơn SVR, ANN và có khả năng ứng dụng thực tế trên thị trường chứng khoán Việt Nam [11]
Nhìn chung các nghiên cứu trên đã bước đầu mang lại những kết quả khả quan Tuy nhiên các hệ thống đề xuất phần đều được thử nghiệm ứng dung desktop mang tính nghiên cứu
và chưa đưa vào thực tế nên nhà đầu tư không dễ sử dụng phần mềm này:
Do đó, đề tài “Áp dụng phương pháp lai giữa thuật giải tối ưu bầy đàn và hồi qui véctơ
hỗ trợ trong dự đoán giá chứng khoán” là đề tài tập trung nghiên cứu vào nhằm giúp cho các nhà đầu tư có thể dễ dàng dự báo giá chứng khoán một cách chính xác và từ đó có thể đưa ra quyết định đầu tư của mình Mục tiêu của nghiên cứu này nhằm nghiên cứu mô hình và hồi qui véctơ hỗ trợ và thuật giải bầy đàn Sau đó phát triển mô hình này để có thể
dự báo một cách chính xác giá đóng cửa trong tương lai của chứng khoán Một khi mô hình được thiết lập, thì sẽ trở thành một công cụ có ích trong việc giúp cho các nhà đầu tư
có thể dự báo một cách chính xác giá của chứng khoán
Bố cục khóa luận gồm 5 chương:
Chương 1 Giới thiệu phương pháp phân tích trong thị trường chứng khoán và các công trình nghiên cứu để khai phá dữ liệu
Chương 2 Trình bày một cách tổng quan các kiến thức cơ bản về khai phá dữ liệu và khám phá tri thức, khai phá dữ liệu trong thị trường chứng khoán, một số vấn đề về biểu diễn
và xử lý dữ liệu áp dụng trong khai phá dữ liệu chứng khoán Trong chương này cũng trình bày các kiến thức về quá trình khai phá dữ liệu và giới thiệu một số kỹ thuật phân cụm dữ liệu phổ biến và thường được sử dụng trong lĩnh vực khai phá dữ liệu và khám phá tri thức
Đồng thời chương này cũng đề cập tới thuật giải tối ưu hóa bầy đàn là một trong những thuật giải xây dựng dựa trên khái niệm trí tuệ bầy đàn để tìm kiếm lời giải cho các bài toán tối ưu hóa trên một không gian tìm kiếm nào đó
Ngoài ra chương này cũng giới thiệu mô hình Support vector marchine là mô hình xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ khác Chương này trình bày nghiên cứu về ý tưởng và thuật giải cho mô hình hồi quy vector hỗ trợ và sự kết hợp mô hình này với thuật giải tối ưu hóa bầy đàn để xác định bộ tham số tối
ưu cho SVR
Trang 10Chương 3: Áp dụng phương pháp lai giữa thuật giải tối ưu bầy đàn và hồi qui véctơ hỗ trợ
trong dự đoán giá chứng khoán Việt Nam
Chương 4: Kết quả thử nghiệm của các mô hình Linear Regression, mô hình SVR chuẩn,
mô hình SVR sử dụng PSO xác định tham số C, epsilon, gamma, mô hình SVR sử dụng PSO xác định tham số và train test split
Phần này trình bày một số đoạn mã lệnh xử lý trong chương trình và một số giao diện trong chương trình mô phỏng
Chương 5: Phần kết luận của luận văn tổng kết lại những vấn đề đã nghiên cứu, đánh giá kết quả nghiên cứu, hướng phát triển của đề tài
Trang 11CHƯƠNG 2: LÝ THUYẾT NỀN TẢNG
2.1 Khai phá dữ liệu và quá trình khai phá dữ liệu
2.1.1 Giới thiệu khai phá dữ liệu
Cuối thập kỷ 80 của thế kỷ 20, sự phát triển rộng khắp của các cơ sở dữ liệu đã tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề cập đến khái niệm khủng hoảng trong việc phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định trong các tổ chức chính phủ, tài chính, thương mại, khoa học,…
Lượng dữ liệu khổng lồ này thực sự là một nguồn tài nguyên có nhiều giá trị bởi thông tin
là yếu tố then chốt phục vụ cho mọi hoạt động quản lý, kinh doanh, phát triển sản xuất và dịch vụ, … nó giúp người điều hành và quản lý có những hiểu biết về môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định để tác động đến quá trình hoạt động nhằm đạt được các mục tiêu một cách hiệu quả và bền vững Khai phá dữ liệu là một lĩnh vực mới được nghiên cứu, nhằm tự động khai phá thông tin, tri thức mới hữu ích, tiềm
ẩn từ những cơ sở dữ liệu lớn cho các đơn vị, tổ chức, doanh nghiệp,… từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả nghiên cứu khoa học cùng những ứng dụng thành công trong khám phá tri thức trong cơ
sở dữ liệu cho thấy khai phá dữ liệu là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẵn so với các công cụ tìm kiếm phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như thương mại, tài chính, y học, viễn thông, tin – sinh,… Các kỹ thuật chính được áp dụng trong lĩnh vực khai phá dữ liệu phần lớn được thừa kế
từ lĩnh vực cơ sở dữ liệu, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống
kê và tính toán hiệu năng cao
Về cơ bản, khai phá dữ liệu là xử lý dữ liệu và nhận biết các mẫu và các xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá Các nguyên tắc khai phá dữ liệu đã được dùng nhiều năm, nhưng với sự ra đời của big data (dữ liệu lớn), nó lại càng phổ biến hơn Big data tạo ra một sự bùng nổ về sử dụng nhiều kỹ thuật khai phá dữ liệu hơn, một phần vì kích thước thông tin lớn hơn rất nhiều và vì thông tin có xu hướng đa dạng và mở
Trang 12rộng hơn về chính bản chất và nội dung của nó Khai phá dữ liệu là một lĩnh vực khoa học mới xuất hiện, nhằm tự động hóa khai phá những thông tin, tri thức hữu ích, tiềm ẩn trong các cở sở dữ liệu cho các tổ chức, doanh nghiệp, từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh của tổ chức, doanh nghiệp này Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu được ứng dụng rộng rãi trong các lĩnh vực như: Phân tích dữ liệu hỗ trợ ra quyết định, điều trị y học, tin-sinh học, thương mại, tài chính, bảo hiểm chứng khoán, khai phá dữ liệu văn bản, dữ liệu web,…
Quá trình khá phá tri thức có thể chia thành 5 bước như sau:
Hình 2.1 Quá trình khá phá tri thức [2]
Quá trình khám phá tri thức là một chuỗi lặp gồm các bước:
Data cleaning (làm sạch dữ liệu)
„ Data integration (tích hợp dữ liệu)
Data selection (chọn lựa dữ liệu)
Data transformation (biến đổi dữ liệu)
Data mining (khai phá dữ liệu)
Pattern evaluation (đánh giá mẫu)
Knowledge presentation (biểu diễn tri thức)
Quá trình khám phá tri thức là một chuỗi lặp gồm các bước được thực thi với:
Data sources (các nguồn dữ liệu)
Trang 13 Data warehouse (kho dữ liệu)
„ Task-relevant data (dữ liệu cụ thể sẽ được khai phá)
Patterns (mẫu kết quả từ khai phá dữ liệu)
Knowledge (tri thức đạt được)
Quá trình khai phá dữ liệu có thể phân thành các giai đoạn sau :
Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được khai phá từ các tập
dữ liệu lớn ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu không đầy
đủ, nhiễu, không nhất quán, ), rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu, ), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, ) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa
Biến đổi dữ liệu: Đây là bước 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 nhằm phục vụ quá trình khai phá ở bước sau
Khai phá dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như các kỹ thuật của học
máy) nhằm để khai phá dữ liệu, trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình khám phá tri thức trong cơ sở dữ liệu
Đánh giá và biểu diễn tri thức: Những mẫu 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, luật, Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định
Khai phá dữ liệu và các lĩnh vực liên quan
Khai phá dữ liệu là một lĩnh vực liên quan tới thống kê, học máy, cơ sở dữ liệu, thuật toán, tính toán song song, thu nhận tri thức từ hệ chuyên gia và dữ liệu trừu tượng Đặc trưng của hệ thống khám phá tri thức là nhờ vào các phương pháp, Thuật giải và kỹ thuật từ những lĩnh vực khác nhau để khai phá dữ liệu Lĩnh vực học máy và nhận dạng mẫu trong khám phá tri thức trong cơ sở dữ liệu nghiên cứu các lý thuyết và thuật giải của hệ thống
để trích ra các mẫu và mô hình từ dữ liệu lớn Khám phá tri thức trong cơ sở dữ liệu tập trung vào việc mở rộng các lý thuyết và thuật giải cho các vấn đề tìm ra các mẫu đặc biệt (hữu ích hoặc có thể rút ra tri thức quan trọng) trong cơ sở dữ liệu lớn Ngoài ra, khám phá
Trang 14tri thức trong cơ sở dữ liệu có nhiều điểm chung với thống kê, đặc biệt là phân tích thăm
dò dữ liệu (Exploratory Data Analysis - EDA) Hệ thống khám phá tri thức trong cơ sở
dữ liệu thường gắn những thủ tục thống kê cho mô hình dữ liệu và tiến trình nhiễu trong khám phá tri thức nói chung Một lĩnh vực liên quan khác là phân tích kho dữ liệu Phương pháp phổ biến để phân tích kho dữ liệu là OLAP (On-Line Analytical Processing) Các công cụ OLAP tập trung vào phân tích dữ liệu đa chiều
2.1.2 Các kỹ thuật áp dụng trong khai phá dữ liệu
Khám phá tri thức trong cơ sở dữ liệu là một lĩnh vực liên ngành, bao gồm: Tổ chức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác Sự kết hợp này có thể được diễn tả như sau:
Hình 2.2 Các lĩnh vực liên quan đến khám phá tri thức trong cơ sở dữ liệu [2]
Đứng trên quan điểm của học máy, thì các kỹ thuật trong khai phá dữ liệu, bao gồm:
Học có giám sát: Là quá trình gán nhãn lớp cho các phần tử trong cơ sở dữ liệu dựa trên
một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết
Học bán giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp hay cụm dữ liệu
tương tự nhau mà chưa biết trước các thông tin về lớp hay tập các ví dụ huấn luyện
Học nửa giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện và các thông tin về một số nhãn lớp đã biết trước
+ Nếu căn cứ vào lớp các bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các kỹ thuật áp dụng sau:
Phân lớp và dự báo: Xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ như phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơron nhân tạo, Phân lớp và dự báo còn được gọi là học có giám sát
Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ:“60% nữ giới vào siêu thị nếu mua phấn thì có tới 80% trong số họ sẽ mua thêm son” Luật kết hợp được
Trang 15ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh, tài chính và thị trường chứng khoán
Phân tích chuỗi theo thời gian: Tương tự như khai phá luật kết hợp nhưng có thêm tính thứ
tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao
Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên
Mô tả và tóm tắt khái niệm: Thiên về mô tả, tổng hợp và tóm tắt khái niệm, ví dụ như tóm tắt văn bản
Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau Sau đây là một số dạng dữ liệu điển hình: Dữ liệu quan hệ, dữ liệu đa chiều, dữ liệu dạng giao dịch, dữ liệu quan hệ - hướng đối tượng, dữ liệu không gian và thời gian, dữ liệu chuỗi thời gian, dữ liệu đa phương tiện, dữ liệu văn bản và Web,…
2.1.3 Những chức năng chính của khai phá dữ liệu
Hai mục tiêu chính của khai phá dữ liệu là mô tả và dự báo Dự báo là dùng một số biến hoặc trường trong cơ sở dữ liệu để dự đoán ra các giá trị chưa biết hoặc sẽ có của các biến quan trọng khác Việc mô tả tập trung vào tìm kiếm các mẫu mà con người có thể hiểu được để mô tả dữ liệu Trong lĩnh vực khám phá tri thức trong cơ sở dữ liệu, mô tả được quan tâm nhiều hơn dự báo, nó ngược với các ứng dụng học máy và nhận dạng mẫu mà trong đó việc dự báo thường là mục tiêu chính Trên cơ sở mục tiêu chính của khai phá dữ liệus, các chức năng chính của khám phá tri thức trong cơ sở dữ liệu gồm:
Mô tả lớp và khái niệm: Dữ liệu có thể được kết hợp trong lớp và khái niệm Thí dụ,
trong kho dữ liệu bán hàng thiết bị tin học, các lớp mặt hàng bao gồm máy tính, máy in,…và khái niệm khách hàng bao gồm khách hàng mua sỉ và khách mua lẻ Việc mô tả lớp và khái niệm là rất hữu ích cho giai đoạn tổng hợp, tóm lược và chính xác hoá Mô tả lớp và khái niệm được bắt nguồn từ đặc trưng hoá dữ liệu và phân biệt dữ liệu Đặc trưng hoá dữ liệu là quá trình tổng hợp những đặc tính hoặc các thành phần chung của một lớp
dữ liệu mục tiêu
Phân biệt dữ liệu là so sánh lớp dữ liệu mục tiêu với những lớp dữ liệu đối chiếu khác Lớp dữ liệu mục tiêu và các lớp đối chiếu là do người dùng chỉ ra và tương ứng với các đối tượng dữ liệu nhận được nhờ truy vấn
Trang 16Phân tích sự kết hợp: Phân tích sự kết hợp là khám phá các luật kết hợp thể hiện mối
quan hệ giữa các thuộc tính giá trị mà ta nhận biết được nhờ tần suất xuất hiện cùng nhau của chúng
Các luật kết hợp cĩ dạng X=>Y , tức là A1 ^….^An=>B1^…Bm
Trong đĩ Ai (i=1…n) và Bj (j=1,m) là các cặp thuộc tính giá trị Luật kết hợp dạng X=>Y
cĩ thể được hiểu là “dữ liệu thõa mãn các điều kiện của X thì cũng sẽ thỏa các điều kiện của Y”
Phân lớp và dự báo: Phân lớp là quá trình tìm kiếm một tập các mơ hình hoặc chức năng
mà nĩ mơ tả và phân biệt nĩ với các lớp hoặc khái niệm khác
Các mơ hình này nhằm mục đích dự báo về lớp của một số đối tượng Việc xây dựng mơ hình dựa trên sự phân tích một tập các dữ liệu được huấn luyện cĩ nhiều dạng thể hiện mơ hình như luật phân lớp (IF-THEN), cây quyết định, cơng thức tốn học hay ANN, Sự phân lớp được sử dụng để dự đốn nhãn lớp của các đối tượng trong dữ liệu Tuy nhiên trong nhiều ứng dụng, người ta mong muốn dự đốn những giá trị khuyết thiếu nào đĩ Thơng thường đĩ là trường hợp dự đốn các giá trị của dữ liệu kiểu số Trước khi phân lớp và dự báo, cĩ thể cần thực hiện phân tích thích hợp để xác định và loại bỏ các thuộc tính khơng tham gia vào quá trình phân lớp và dự báo
+Phân lớp các đối tượng chưa biết
Xác định độ chính xác của mơ hình, sử dụng tập dữ liệu kiểm tra độc lập
Độ chính xác chấp nhận được sẽ được áp dụng mơ hình để phân lớp các mẫu/bộ chưa xác định nhãn lớp
Các kỹ thuật phân lớp:
Phương pháp dựa trên cây quyết định
Phương pháp dựa trên luật
Phương pháp Nạve Bayes
Phương pháp dựa trên thể hiện
Trang 17Mạng Nơron
Support vector machine
Tập thô
Phân cụm: Không giống như phân lớp và dự báo, phân cụm phân tích các đối tượng dữ
liệu khi chưa biết nhãn của lớp Nhìn chung, nhãn lớp không tồn tại trong suốt quá trình huấn luyện dữ liệu, nó phân cụm có thể được sử dụng để đưa ra nhãn của lớp Sự phân cụm thực hiện nhóm các đối tượng dữ liệu theo nguyên tắc: Các đối tượng trong cùng một nhóm thì giống nhau hơn các đối tượng khác nhóm Mỗi cụm được tạo thành có thể được xem như một lớp các đối tượng mà các luật được lấy ra từ đó Dạng của cụm được hình thành theo một cấu trúc phân cấp của các lớp mà mỗi lớp là một nhóm các sự kiện tương tự nhau Phân tích các đối tượng ngoại lệ: Một cơ sở dữ liệu có thể chứa các đối tượng không tuân theo mô hình dữ liệu
Phân tích các đối tượng ngoại lệ:
Một cơ sở dữ liệu có thể chứa các đối tượng không tuân theo mô hình dữ liệu Các đối tượng như vậy gọi là đối tượng ngoại lệ Hầu hết các phương pháp khai phá dữ liệu đều coi các đối tượng ngoại lệ là nhiễu và loại bỏ chúng Tuy nhiên trong một số ứng dụng, chẳng hạn như phát hiện nhiễu, thì sự kiện hiếm khi xảy ra lại được chú ý hơn những gì thường xuyên gặp phải Sự phân tích dữ liệu ngoại lệ được coi như là sự khai phá các đối tượng ngoại lệ Một số phương pháp được sử dụng để phát hiện đối tượng ngoại lệ: sử dụng các test mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kể đến cụm bất kì khác được coi là đối tượng ngoại lệ, dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của các nhóm đối tượng
Phân tích sự tiến hoá: Phân tích sự tiến hoá thực hiện việc mô tả và mô hình hoá các qui
luật hay khuynh hướng của những đối tượng mà hành vi của chúng thay đổi theo thời gian Phân tích sự tiến hoá có thể bao gồm cả đặc trưng hoá, phân biệt, tìm luật kết hợp, phân lớp liên quan đến thời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên độ tương tự
2.1.4 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực được quan tâm và ứng dụng rộng rãi Một số ứng dụng điển hình trong khai phá dữ liệu có thể liệt kê như sau: Phân tích dữ liệu và hỗ trợ ra quyết
Trang 18định, điều trị y học, khai khác văn bản, khai phá Web, tài chính và thị trường chứng khoán, bảo hiểm,
Thương mại: Như phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư, phát hiện gian lận, chứng thực hóa khách hàng, dự báo xu hướng phát triển,
Thông tin sản xuất: Điều khiển, lập kế hoạch, hệ thống quản lý, phân tích thử nghiệm, Thông tin khoa học: Dự báo thời tiết, bảo lụt, động đất, tin sinh học,
Hiện nay các hệ quản trị cơ sở dữ liệu đã tích hợp những modul để khai phá dữ liệu như SQL Server, Oracle, đến năm 2007 Microsoft đã cung cấp sẵn công cụ khai phá dữ liệu tích hợp trong cả MS-Word, MS-Excel,
2.1 Thuật giải tối ưu bầy đàn
2.1.1 Giới thiệu thuật giải PSO (Particle Swarm Optimization)
Phương pháp tối ưu bầy đàn là một dạng của các thuật giải tiến hóa quần thể (evolutionary algorithm) là một thuật giải tối ưu hóa heuristic sử dụng các kỹ thuật bắt nguồn từ các cơ chế tiến hóa hữu cơ (organic evolution) chẳng hạn như đột biến, tái tổ hợp và chọn lọc tự nhiên để tìm một cấu hình tối ưu cho một hệ thống với các ràng buộc cụ thể Một thuật giải đã được biết đến trước đây như thuật giải di truyền(Genetic algorithm (GA)), thuật giải đàn kiến (Ant colony algorithm) Tuy vậy PSO khác với GA ở chỗ nó thiên về sử dụng sự tương tác giữa các cá thể trong một quần thể để khám phá không gian tìm kiếm Trong [1] tác giả đã đề xuất ra mô hình máy học dự đoán giá chứng khoán dựa vào phương pháp lai giữa GA và SVR Ở đây, GA làm đồng thời hai nhiệm vụ: xác định bộ tham số tối ưu cho SVR và chọn lựa các đặc trưng đầu vào quan trọng nhất Sau đó, bộ tham số và các đặc trưng đầu vào này sẽ được huấn luyện với SVR Kết quả thử nghiệm cho thấy phương pháp lai GA-SVR cho kết quả dự đoán tốt hơn SVR, ANN và có khả năng ứng dụng thực tế trên thị trường chứng khoán Việt Nam
Còn PSO là kết quả của sự mô hình hóa việc đàn chim bay đi tìm kiếm thức ăn cho nên nó thường được xếp vào các loại thuật giải có sử dụng trí tuệ bầy đàn Được giới thiệu vào năm 1995 tại một hội nghị của IEEE bởi Kennedy và Eberhart Thuật giải có nhiều ứng dụng quan trọng trong tất cả các lĩnh vực mà ở đó đòi hỏi phải giải quyết các bài toán tối
ưu hóa Để hiểu rõ thuật giải PSO hãy xem một ví dụ đơn giản về quá trình tìm kiếm thức
ăn của một đàn chim Không gian tìm kiếm thức ăn lúc này là toàn bộ không gian ba chiều
mà chúng ta đang sinh sống Tại thời điểm bắt đầu tìm kiếm cả đàn bay theo một hướng nào đó, có thể là rất ngẩu nhiên Tuy nhiên sau một thời gian tìm kiếm một số cá thể trong
Trang 19đàn bắt đầu tìm ra được nơi có chứa thức ăn Tùy theo số lượng thức ăn vừa tìm kiếm, mà
cá thể gửi tín hiệu đến các các cá thể khác đang tìm kiếm ở vùng lân cận Tín hiệu này lan truyền trên toàn quần thể Dựa vào thông tin nhận được mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệ bầy đàn Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên không gian tìm kiếm vô cùng rộng lớn
Như vậy đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn Bây giờ chúng ta tìm hiểu làm cách nào mà một mô hình trong sinh học như vậy có thể áp dụng trong tính toán và sinh ra thuật giải PSO mà ta từng nhắc đến Việc mô hình hóa này thường được gọi là quá trình phỏng sinh học (bioinspired) mà chúng ta thường thấy trong các ngành khoa học khác Một thuật giải được xây dựng dựa trên việc mô hình hóa các quá trình trong sinh học được gọi là thuật giải phỏng sinh học (bioinspired algorithms)
Hãy xét bài toán tối ưu của hàm số F trong không gian n chiều Mỗi vị trí trong không gian
là một điểm tọa độ n chiều Hàm F là Hàm mục tiêu(fitness function) xác định trong không gian n chiều và nhận giá trị thực Mục đích là tìm ra điểm cực tiểu của hàm F trong miền xác định nào đó Ta bắt đầu xem xét sự liên hệ giữa bài toán tìm thức ăn với bài toán tìm cực tiểu của hàm theo cách như sau Giả sử rằng số lượng thức ăn tại một vị trí tỉ lệ nghịch với giá trị của hàm F tại vị trí đó Có nghĩa là ở một vị trí mà giá trị hàm F càng nhỏ thì số lượng thức ăn càng lớn Việc tìm vùng chứa thức ăn nhiều nhất tương tự như việc tìm ra vùng chứa điểm cực tiểu của hàm F trên không gian tìm kiếm
2.1.2 Thuật giải PSO
Hình 2.3 Thuật giải PSO [4]
Trong đó :
Trang 20Gbesti : Vị trí tốt nhất của cá thể trong quần thể
Năm 1987, quan sát quá trình chuyển động của các theo bầy đàn (bầy chim, đàn cá), Reynolds đưa ra nhận ra ba quy luật: Tách biệt; Sắp hàng và Liên kết Từ nghiên cứu của Renolds, Eberhart và Kennedy đưa thêm giả thuyết về quá trình tìm về tổ của bầy đàn theo các quy luật:
(1) Tất cả các phần tử trong bầy đàn đều có xu hướng chuyển động về tổ
(2) Mỗi phần tử đều ghi nhớ vị trí gần tổ nhất nó đã đạt tới
Tương tự như vậy, hai ông đưa giả thuyết về quá trình tìm mồi của bầy đàn trong một vùng không gian mà các phần tử trong bầy đàn đều biết thông tin về thức ăn cách bao xa
và lưu giữ vị trí gần thức ăn nhất mà chúng đã đạt tới Khi đó, cách tốt nhất để tìm thức ăn
là theo sau những con phần tử đầu đàn – những con trong bầy gần chỗ thức ăn nhất Từ đó, hai ông đề xuất Thuật giảiPSO phỏng theo kịch bản này và sử dụng nó để giải các bài toán tối ưu Trong PSO, mỗi giải pháp đơn là một phần tử (particle) trong kịch bản trên Mỗi phần tử được đặc trưng bởi hai tham số là vị trí hiện tại của phần tử Xik và vận tốc
Vik Đây là hai vectơ trên trường số Rn (n là tham số được xác định từ bài toán cụ thể)
Đồng thời mỗi phần tử có một giá trị thích nghi (fitness value), được đánh giá bằng hàm
đo độ thích nghi (fitness function) Tại thời điểm xuất phát, bầy đàn, hay chính xác là vị trí của mỗi phần tử được khởi tạo một cách ngẫu nhiên (hoặc theo một cách thức nào dó dựa vào tri thức biết trước về bài toán) Trong quá trình chuyển động, mỗi phần tử chịu
ảnh hưởng bởi hai thông tin: thông tin thứ nhất, gọi là pBest, là vị trí tốt nhất mà phần tử
đó đã đạt được trong quá khứ; thông tin thứ hai, gọi là gBest, là vị trí tốt nhất mà cả bầy
đàn đã đạt được trong quá khứ Trong nguyên bản do Eberhart và Kennedy đưa ra, các
Trang 21phần tử trong PSO sẽ duyệt không gian bài toán bằng cách theo sau các phần tử có điều kiện tốt nhất hiện thời (độ thích nghi lớn nhất) Cụ thể là sau mỗi khoảng thời gian rời rạc, vận tốc và vị trí của mỗi phần tử được cập nhật theo các công thức:
Vận tốc và vị trí của mỗi cá thể được tính như sau:
vik+1 = w.vik + c1.rand1().(pbesti – xik) + c2.rand2().(gbest – xik)
xik+1 = xit + vik+1
Trong đó, w l : trọng số quán tính
c1, c2 : các hệ số gia tốc thường được chọn là c1 = c2 = 2
rand1, rand2 : số ngẫu nhiên giữa 0 và 1
Sơ đồ Thuật giải PSO được biểu diễn dưới đây:
Trang 22Hình 2.4 Sơ đồ thuật giải PSO [4]
Mã giả cho Thuật giải PSO
Trang 23Thuật giải PSO
7 If (fitness value < pBest) then
8 pBest = the fitness value;
18 While (chưa thỏa mãn điều kiện dừng);
Hình 2.5 Mã giả cho Thuật giảiPSO
2.2 Giới thiệu mô hình Support Vector Machine- SVM và Hồi Qui Véctơ Hỗ Trợ Support Vector Regression-SVR
2.2.1 Support Vector Machine (SVM)
SVM là mô hình được sử dụng trong nhiều ngành, là một mô hình máy học giám sát được dùng để phân tích, phân lớp dữ liệu
SVM là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy SVM là một thuật giải phân loại nhị phân, SVM nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước, thuật giải luyện tập SVM xây dựng một mô hình SVM để phân loại các ví dụ khác vào hai thể loại đó
Trang 24Bài toán phân lớp, sử dụng SVM nhằm mục đích tìm một siêu phẳng có biên cực đại giữa lớp mẫu âm và mẫu dương, đồng thời cực tiểu hóa các mẫu không phân chia được trong tập huấn luyện SVM dựa trên cơ sở toán học vững chắc Tuy nhiên việc huấn luyện mẫu
sử dụng SVM đòi hỏi phải giải bài toán tối ưu nhiều biến
Giải thuật SVM:
Ý tưởng: Cho trước một tập huấn luyện, được biểu diễn trong không gian vector, trong đó
mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu phẳng f quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng là lớp + và lớp - Chất lượng của siêu phẳng này được quyết định bởi khoảng cách (gọi là biên) của điểm
dữ liệu gần nhất của mỗi lớp đến mặt phẳng này Khi đó, khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng thời việc phân loại càng chính xác
Bài toán phân 2 lớp với SVM:
Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tương lai, nghĩa là với một dữ liệu mới xt thì cần phải xác định xt được phân vào lớp +1 hay lớp -1 ?
Nếu dữ liệu phân chia tuyến tính, hàm quyết định được xác định:
( ) (2.1) Với w là vector pháp tuyến siêu phẳng và b là vector vô hướng
Siêu phẳng phân chia thỏa:
Yi (wl xi +b) 1 với i =1,…l
(2.2) Siêu phẳng phân chia tối ưu là siêu phẳng chia hai lớp với khoảng cách giữa hai
lớp là lớn nhất
Trang 25Hình 2.7 Minh họa cho bài toán phân hai lớp
Trang 26L(w,b,α) =1
2 (w.w) –∑ αi[ yi ( (wi,,x) + b) -1]
(2.4)
Với α =( α1,…, αM) là bội số Lagrange
Phương trình kép trên trở thành: cực tiểu L(w,b,α)
(2.5)
Với ràng buộc αi 0, i=1,… M
`Vi phân từng phần của 2.7 lần lượt với w và b ta được:
1
M
i i i i
Trang 27II Do siêu phẳng tối ưu nằm trong số các support vector vừa tìm được của lớp I và lớp II, nên b* được tính bởi:
Với s1 và s2 lần lượt là các suport vector của lớp I và lớp II
Trong trường hợp các mẫu huấn luyện không thể phân chia tuyến tính, chúng ta đưa thêm một biến phụ không âm vào (2.7), cộng thêm vào, và tổng của các biến phụ được nhân với tham số C Điều này tương ứng với việc cộng biên trên của C với α Trong cả hai trường hợp trên, hàm ra quyết định là như nhau và được tính bằng:
Trang 28Hình 2.8 Minh họa bài toán phân hai lớp với phương pháp SVM
Trong đó:
Các điểm có nhãn -1
Các điểm có nhãn +1
Các điểm tương ứng với Support Vector
Để xác định hàm phân lớp dựa trên phương pháp SVM, ta sẽ tiến hành tìm 2 siêu phẳng song song (tương ứng với 2 đường nét đứt trong hình 2.5 ở trên) sao cho khoảng cách giữa chúng là lớn nhất có thể để phân tách hai lớp này ra làm hai phía Hàm phân tách tương ứng với phương trình siêu phẳng nằm giữa hai siêu phẳng tìm được (đường nét đậm)
Hình 2.3 thể hiện trường hợp có thể tìm được siêu phẳng phân tách, dữ liệu trong trường hợp này gọi là phân tách tuyến tính Bây giờ ta xét trường hợp dữ liệu không phân tách tuyến tính nó được minh họa như sau:
Trang 29Hình 2.9 Bài toán SVM trong trường hợp dữ liệu mẫu không phân tách tuyến tính
Trong đó:
Các điểm có nhãn -1
Các điểm có nhãn +1
Các điểm tương ứng với Support Vector
Ta thấy rằng trong hình 2.9 ở trên có những mẫu mặc dù có nhãn +1, nhưng lại bị “rơi” vào phía các mẫu có nhãn -1 và ngược lại
Trong trường hợp này, phương pháp SVM sẽ sử dụng một phép ánh xạ dữ liệu mẫu vào không gian mới có số chiếu lớn hơn sao cho tập mẫu này sẽ là phân tách tuyến tính trong không gian đó (ta gọi không gian mới này là không gian đặc trưng) Trong không gian đặc trưng này, ta vẫn tiến hành tìm khoảng cách cực đại giữa hai siêu phẳng song song
để phân cách dữ liệu mẫu
Các điểm mà nằm trên hai siêu phẳng phân cách được gọi là support vector Các điểm
Trang 30này sẽ quyết định đến hàm phân cách dữ liệu
Trong thực tế, để thuận tiện cho quá trình tính toán, dữ liệu mẫu được ánh xạ vào không gian đặc trưng bằng cách sử dụng các hàm hạt nhân, cách làm này sẽ làm tăng tốc độ tính toán và đảm bảo rằng dữ liệu sẽ gần như được phân tách tuyến tính
2.2.2 Support Vector Regression (SVR)
Ban đầu, SVM được phát triển để giải các bài toán phân lớp, về sau do tính ưu việt, nó còn được ứng dụng rộng rãi để giải các bài toán hồi quy
Nhiều nghiên cứu gần đây cho thấy SVR cho kết quả tốt hơn ANN trong bài toán
dự đoán giá cổ phiếu Đó là do SVR sử dụng nguyên lý tối thiểu hóa rủi ro cấu trúc nên có khả năng tổng quát hóa cao hơn ANN, Linear Regression Ngoài ra, số lượng tham số tự
do của SVR cũng ít hơn so với ANN
Hình 2.6 Support Vector Regression
Thuật giải SVR:
Ý tưởng cơ bản của SVR là ánh xạ phi tuyến tập dữ liệu {(x1, y1), (x2, y2), …, (xN,
yN)} sang một không gian đặc trưng nhiều chiều mà ở đó có thể sử dụng
Trang 31phương pháp hồi qui tuyến tính Đặc điểm của SVR là khi xây dựng hàm hồi qui ta không cần sử dụng hết tất cả các điểm dữ liệu trong tập huấn luyện Những điểm dữ liệu có đóng góp vào việc xây dựng hàm hồi qui được gọi là những vectơ hỗ trợ
Hàm hồi qui của SVR như sau:
(2.9) Trong đó, là véc tơ trọng số, là hằng số, là véc tơ đầu vào, ( )
{
( ) ( )
Với i = 1, 2, …, N
Trong đó, C là hằng số chuẩn hóa đóng vai trò cân bằng giữa độ lỗi huấn luyện và độ phức tạp mô hình
Hình 2.10 minh họa SVR với hàm lỗi -insensitive Đường nét liền ở giữa ứng với đường
dự đoán Giá trị xác định độ rộng của ống bao quanh đường dự đoán Nếu giá trị đích yi
nằm trong ống này thì coi như độ lỗi bằng 0 Nếu giá trị đích yi nằm ngoài ống này thì độ lỗi bằng (nếu yi nằm ngoài phía trên ống) hoặc (nếu yi nằm ngoài phía dưới ống)