Tải bản đầy đủ (.doc) (61 trang)

XÂY DỰNG MÔ HÌNH DỰ ĐOÁN GIÁ CỔ PHIẾU Ở THỊ TRƯỜNG VIỆT NAM DỰA VÀO THUẬT TOÁN SVM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.45 MB, 61 trang )

XÂY DỰNG MƠ HÌNH DỰ ĐỐN GIÁ CỔ PHIẾU Ở
THỊ TRƯỜNG VIỆT NAM DỰA VÀO THUẬT TOÁN
SVM


LỜI CẢM ƠN
Xin chân thành cảm ơn!


MỤC LỤC

CHƯƠNG 1: MẠNG ANN (NƠRON NHÂN TẠO).........................................................1
1.1. TÌM HIỂU THUẬT TOÁN ANN.........................................................................1
1.1.1. GIỚI THIỆU..................................................................................................1
1.1.2. KHÁI QUÁT ANN........................................................................................2
1.1.3. MẠNG THẦN KINH....................................................................................3
1.1.4. MẠNG NHÂN TẠO......................................................................................4
1.1.5. QUY TRÌNH ĐÀO TẠO ANN......................................................................6
1.1.6. ĐIỂM MẠNH VÀ HẠN CHẾ CỦA ANN.....................................................7
1.2. TÌM HIỂU PHÂN CỤM DỮ LIỆU......................................................................8
1.2.1. ĐỊNH NGHĨA PHÂN CỤM..........................................................................8
1.2.2. CÁC YÊU CẦU CỦA PHÂN CỤM DỮ LIỆU...........................................10
1.3. TÌM HIỂU PHÂN LỚP DỮ LIỆU......................................................................11
1.3.1. MỘT SỐ THUẬT NGỮ PHÂN LỚP TRONG MACHINE LEARNING
...................................................................................................................... 12
1.3.1. CÁC KIỂU HỌC TRONG PHÂN LỚP.......................................................12
1.3.3. CÁC THUẬT TOÁN PHÂN LỚP...............................................................13
CHƯƠNG 2: TÌM HIỂU MƠT SỐ THUẬT TỐN...................................................18
2.1. DATA MINING..................................................................................................18
2.1.1. STATISTICS................................................................................................18
2.1.2. MACHINE LEARNING..............................................................................19


2.1.3. DATABASE SYSTEMS AND DATA WAREHOUSES...............................21
2.1.4. INFORMATION RETRIEVA (Thơng tin truy xuất)....................................22
2.1.5. DATA CLEANING......................................................................................22
2.2. THUẬT TỐN K-MEAN..................................................................................23


2.3. THUẬT TOÁN SVM (SUPPORT VECTOR MACHINGE)..............................30
2.3.1. MÁY HỖ TRỢ VECTOR............................................................................30
2.3.2. CÁCH HOẠT ĐỘNG..................................................................................31
CHƯƠNG 3: BÀI TOÁN...............................................................................................37
CHƯƠNG 4: DEMO......................................................................................................40
CHƯƠNG 5: KẾT LUẬN.............................................................................................47
TÀI LIỆU THAM KHẢO.............................................................................................48


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Viết tắt

Tiếng anh

Tiếng việt

SVM

Support vector machinge

Vector hổ trợ máy học

ANN


Artificial Neural Network

Mạng nơron nhân tạo

PE

Processing Elements

Các yếu tổ xử lý

BPNN
DM
CSDL

Back Propagation Neural
Network
Data Mining

Mạng lưới lang truyền
Khai phá dữ liệu
Cơ sở dữ liệu


DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ

Hình 1. 1 Mơ phỏng ý tưởng cấu hình mạng ANN............................................................2
Hình 1. 2 Sơ đồ minh họa neural nhân tạo và neural sinh học[7].......................................2
Hình 1. 3 Noron sinh học[2]..............................................................................................3
Hình 1. 4 noron nhân tạo đơn giản.....................................................................................4

Hình 1. 5 Sigmoid (Hàm truyền Sigmoid) [5]....................................................................5
Hình 1. 6 Kiến trúc mạng ANN[3].....................................................................................6
Hình 1. 7 Phân cụm dữ liệu................................................................................................9

Hình 2. 1 Mơ hình data mining........................................................................................18
Hình 2. 2 Bước đầu của việc tối ưu hố...........................................................................21
Hình 2. 3 Biễu diễn thuật tốn K-Means..........................................................................24
Hình 2. 4 Phân bố dữ liệu.................................................................................................25
Hình 2. 5 Dữ liệu phân bổ sẳn tâm...................................................................................25
Hình 2. 6 Đường chia cụm của đoạn nối tâm...................................................................26
Hình 2. 7 Đổi màu điểm thuộc cụm theo tâm...................................................................26
Hình 2. 8 Tâm mới cho cụm dữ liệu.................................................................................27
Hình 2. 9 Biểu diễn tâm mới............................................................................................27
Hình 2. 10 Phân chia cụm theo tâm mới..........................................................................28
Hình 2. 11 Tâm mới hình thành theo mơi trường.............................................................28
Hình 2. 12 Xác định trung tuyến mới của cụm.................................................................29
Hình 2. 13 Bước đầu hình thành cụm...............................................................................29
Hình 2. 14 Các cụm hình thành đã được loại bỏ tâm cụm................................................30
Hình 2. 15 Biễu diễn SVM...............................................................................................31


Hình 2. 16 Xác định và phân loại điểm............................................................................31
Hình 2. 17 Phân tách các lớp tốt giữa các điểm support vector........................................32
Hình 2. 18 Khoản cách tốt của các điểm support vector..................................................32
Hình 2. 19 Xác định siêu phẳng.......................................................................................33
Hình 2. 20 Sau phân chia xuất hiển điểm ngoại lai..........................................................34
Hình 2. 21 Phân loại bất chấp ngoại lai............................................................................34
Hình 2. 22 Tách lớp.........................................................................................................35
Hình 2. 23 Siêu phẳng tách lớp........................................................................................35
Hình 2. 24 Khơng gian vào..............................................................................................36


Hình 4. 1 Cài đặt yfinance................................................................................................40
Hình 4. 2 Import thư viện yfinance..................................................................................41
Hình 4. 3 Các thơng tin về dữ liệu download...................................................................41
Hình 4. 4 Các thư viện hỗ trợ bái tốn.............................................................................41
Hình 4. 5 Chọn file thực hiện...........................................................................................41
Hình 4. 6 Dữ liệu của file input........................................................................................42
Hình 4. 7 Biểu đồ biểu diễn giá đóng theo ngày..............................................................42
Hình 4. 8 Hiển thị dữ liệu của giá đóng...........................................................................42
Hình 4. 9 Biểu đồ biễu diễn sự tăng giảm........................................................................43
Hình 4. 10 Thơng tin hiển thị...........................................................................................43
Hình 4. 11 Khởi tạo các biến train dữ liệu........................................................................43
Hình 4. 11.1 Kết quả dự đốn…………………………………………………………....43
Hình 4. 12 Các thư viện hỗ trợ bài tốn...........................................................................44
Hình 4. 13 Chọn file input................................................................................................44
Hình 4. 14 Dữ liệu của file input......................................................................................44


Hình 4. 15 Kiểu dữ liệu file input....................................................................................44
Hình 4. 16 Biểu đồ nến biểu diễn data cổ phiếu...............................................................45
Hình 4. 17 Biểu đồ biểu diễn giá đóng theo ngày............................................................45
Hình 4. 18 Biểu đồ training thuật tốn theo giá đóng.......................................................46
Hình 4. 19 Hình ảnh kết quả dự đốn...............................................................................46


MỞ ĐẦU
Ở bất kỳ quốc gia nào, thị trường chứng khoán cũng là một trong những thành
phần quan trọng trong nền kinh tế. Bởi vậy, việc hiểu được xu hướng của thị trường này
là rất cần thiết. Do đó, cùng với sự phát triển của thị trường chứng khoán, dự báo giá cổ
phiếu đã trở thành một chủ đề thú vị, thu hút được sự quan tâm của nhiều nhà đầu tư,

chuyên gia, nhà khoa học. Tuy nhiên, do tính biến động nhanh theo sự tác động của thị
trường, dự báo giá cổ phiếu là một trong những bài toán đầy thách thức.
Nhiều phương pháp dự báo đã và đang được phát triển để dự báo xu hướng biến
động về giá cổ phiếu nhằm tìm kiếm các cổ phiếu tiềm năng để đầu tư. Trong đó, những
phương pháp phân tích và dự báo bằng định lượng thông qua các mô hình tốn học đã
được quan tâm do tính khách quan và cơ sở khoa học của chúng. Đơn giản nhất là các
mơ hình hồi quy tuyến tính, hồi quy đa thức… để dự báo xu hướng thị trường. Tiếp đến
là những mơ hình thống kê cổ điển, bao gồm các phương pháp: trung bình trượt,
Arima…
Ngày nay, ta có thể sử dụng SVM để xây dựng các mơ hình dự đốn giá cổ phiếu.
Dựa vào khả năng học, khả năng xử lý thơng tin, SVM cho thấy tính hiệu quả của nó
trong việc giải quyết bài tốn dự báo. Tuy nhiên tại Việt Nam, các nghiên cứu về vấn đề
dự báo giá cổ phiếu SVM không nhiều.


CHƯƠNG 1: MẠNG ANN (NƠRON NHÂN TẠO)
1.1. TÌM HIỂU THUẬT TOÁN ANN
Mạng thần kinh nhân tạo (ANN) đang trở nên nổi bật trong các ứng dụng khác
nhau như nhận dạng mẫu, dự đoán thời tiết, nhận dạng chữ viết tay, nhận dạng khuôn
mặt, chế độ lái tự động, robot, v.v. Trong kỹ thuật điện, ANN đang được nghiên cứu
rộng rãi về dự báo tải trọng, xử lý báo động trạm biến áp và dự đoán thời tiết cho các
trang trại bức xạ mặt trời và gió. Tập trung nhiều hơn vào lưới điện thơng minh, ANN
có vai trị quan trọng. ANN thuộc họ Trí tuệ nhân tạo cùng với Fuzzy Logic, Expert
Systems, Support Vector Machines [4].
1.1.1. GIỚI THIỆU
Ở dạng đơn giản nhất, một mạng lưới thần kinh nhân tạo (ANN) là một sự bắt
chước của bộ não con người. Một bộ não tự nhiên có khả năng học hỏi những điều mới,
thích nghi với mơi trường mới và thay đổi. Bộ não có khả năng tuyệt vời nhất để phân
tích thông tin không đầy đủ và không rõ ràng, mờ nhạt và đưa ra phán đốn của riêng
mình từ nó. Ví dụ, chúng ta có thể đọc chữ viết tay của người khác mặc dù cách họ viết

có thể hồn toàn khác với cách chúng ta viết. Một đứa trẻ có thể xác định rằng hình
dạng của một quả bóng và màu cam đều là một vòng tròn. Ngay cả một em bé vài ngày
tuổi cũng có khả năng nhận ra mẹ của nó từ cảm ứng, giọng nói và mùi. Chúng ta có
thể xác định một người được biết đến ngay cả từ một bức ảnh mờ. Não là một cơ quan
rất phức tạp kiểm sốt tồn bộ cơ thể.
Bộ não của ngay cả những con vật nguyên thủy nhất cũng có nhiều khả năng hơn
máy tính tiên tiến nhất. Chức năng của nó khơng chỉ là kiểm sốt các bộ phận vật lý của
cơ thể, mà còn là các hoạt động phức tạp hơn như suy nghĩ, hình dung, mơ mộng,
tưởng tượng, học tập…

1


Hình 1. 1 Mơ phỏng ý tưởng cấu hình mạng ANN
1.1.2. KHÁI QUÁT ANN
Mạng thần kinh nhân tạo (ANN) đang trở nên nổi bật trong các ứng dụng khác
nhau như nhận dạng mẫu, dự đoán thời tiết, nhận dạng chữ viết tay, nhận dạng khuôn
mặt, chế độ lái tự động, robot, v.v. Trong kỹ thuật điện, ANN đang được nghiên cứu
rộng rãi về dự báo tải trọng, xử lý báo động trạm biến áp và dự đoán thời tiết cho các
trang trại bức xạ mặt trời và gió. Tập trung nhiều hơn vào lưới điện thơng minh, ANN
có vai trị quan trọng. ANN thuộc họ Trí tuệ nhân tạo cùng với Fuzzy Logic, Expert
Systems, Support Vector Machines.

Hình 1. 2 Sơ đồ minh họa neural nhân tạo và neural sinh học[7]
2


1.1.3. MẠNG THẦN KINH
Não được tạo thành từ các tế bào gọi là tế bào thần kinh. Kết nối của các tế bào như
vậy (tế bào thần kinh) tạo nên mạng lưới thần kinh hoặc não. Có khoảng 1011 tế bào

thần kinh trong não người và khoảng 10.000 kết nối với nhau. ANN là một sự bắt
chước của mạng lưới thần kinh tự nhiên, nơi các tế bào thần kinh nhân tạo được kết nối
theo cách tương tự như mạng não.
Một tế bào thần kinh sinh học được tạo thành từ cơ thể tế bào, sợi trục và dendrite.
Dendrite nhận tín hiệu điện hóa học từ các tế bào thần kinh khác vào cơ thể tế bào. Cơ
thể tế bào, được gọi là Soma chứa nhân và các cấu trúc hóa học khác cần thiết để hỗ trợ
tế bào. Axon mang tín hiệu từ tế bào thần kinh đến các tế bào thần kinh khác. Kết nối
giữa các dendrite của hai tế bào thần kinh, hoặc tế bào thần kinh với các tế bào cơ được
gọi là khớp thần kinh.

Hình 1. 3 Noron sinh học[2]
Neuron nhận tín hiệu từ các tế bào thần kinh khác thông qua dendrites. Khi sức
mạnh của tín hiệu vượt quá một ngưỡng nhất định, tế bào thần kinh này kích hoạt tín
hiệu riêng của nó được truyền sang tế bào thần kinh tiếp theo thông qua sợi trục bằng
cách sử dụng các khớp thần kinh. Tín hiệu được gửi đến các tế bào thần kinh khác
thơng qua các khớp thần kinh kích hoạt chúng, và quá trình này tiếp tục. Một số lượng
lớn các tế bào thần kinh như vậy hoạt động cùng một lúc. Bộ não có khả năng lưu trữ
một lượng lớn dữ liệu.

3


1.1.4. MẠNG NHÂN TẠO
Một mạng lưới thần kinh nhân tạo bao gồm các đơn vị xử lý được gọi là tế bào thần
kinh. Một tế bào thần kinh nhân tạo cố gắng tái tạo cấu trúc và hành vi của tế bào thần
kinh tự nhiên. Một neuron bao gồm đầu vào (dendrites), và một đầu ra (khớp thần kinh
thông qua sợi trục). Neuron có một chức năng xác định sự kích hoạt của tế bào thần kinh.

Hình 1. 4 noron nhân tạo đơn giản
Input: dữ liệu đầu vào, mỗi input tương ứng với 1 thuộc tính của dữ liệu.(X1...Xn)

Output: Kết quả của 1 ANN, 1 tế bào thân kinh nhận được nhiều đầu vào từ các nguồn
khác nhau và có 1 đầu ra duy nhất.
Weights(W): trọng số liên kết, thể hiện độ mạnh của dữ liệu đầu vào đối với q trình
xử lý thơng tin.(W1...Wn)
Sum: hàm tính tổng trọng số của tất cả các input được đưa vào:

Activation Function: hàm kích hoạt, mơ phỏng tỉ lệ truyền của 1 neural thần kinh.(hàm
Sigmoid, hàm Tanh,...) [9]
Có nhiều chức năng khác nhau được sử dụng để kích hoạt. Một trong những chức năng
kích hoạt được sử dụng phổ biến nhất là chức năng sigmoid, được đưa ra bởi:

4


F(x) =
Ví dụ: ta có các giá trị Input x1 = 1, x2 = 2, x3 = 3, có trọng số liên kết lần lượt w1 =
0.4, w2 = 0.1, w3 = 0.2. Tìm giá trị Output?
SUM = (1*0.4)+(2*0.1)+(3*0.2) = 1.2
Output = F(x)

=

= 0.77

Hình 1. 5 Sigmoid (Hàm truyền Sigmoid) [5]
Ý nghĩa hàm Sigmoid [8]: (hay còn gọi là hàm Logistic) là 1 hàm số tốn học có
đường cong dạng chữ “S” với công thức F(x).
Mọi giá trị khi đi qua hàm Sigmoid sẽ nằm trên miền giá trị số thực chạy từ 0 đến
1, hàm Sigmoid dùng để nén giá trị lại với đồ thị (Hình 3).
Các hàm khác được sử dụng là Hàm Bước, Hàm Tuyến tính, Hàm Ramp, Hàm tiếp

tuyến Hyperbolic. Hàm tiếp tuyến hyperbolic (tanh) có hình dạng tương tự sigmoid,
nhưng giới hạn của nó là từ -1 đến +1, không giống như sigmoid từ 0 đến 1.
Tổng là tổng trọng số của các đầu vào nhân với trọng lượng giữa lớp này và lớp
tiếp theo. Chức năng kích hoạt được sử dụng là một hàm sigmoid, là một xấp xỉ liên tục

5


và khác biệt của một hàm bước [2] . Một kết nối của các tế bào thần kinh riêng lẻ như
vậy tạo thành mạng lưới thần kinh.
Kiến trúc ANN bao gồm:
a. lớp đầu vào: Nhận các giá trị đầu vào
b. lớp ẩn: Một tập hợp các tế bào thần kinh giữa các lớp đầu vào và đầu ra. Có thể có
một hoặc nhiều lớp
c. lớp đầu ra: Thơng thường nó có một tế bào thần kinh và đầu ra của nó dao động từ 0
đến 1, nghĩa là lớn hơn 0 và ít hơn 1. Nhưng cũng có thể có nhiều đầu ra[4].

Hình 1. 6 Kiến trúc mạng ANN[3]
Khả năng xử lý trong các kết nối liên đơn vị, được gọi là trọng số liên kết [3]. Độ
mạnh giá trị đầu vào phụ thuộc vào giá trị trọng số liên kết. Giá trị trọng số có thể lớn
hơn, nhỏ hơn hoặc bằng khơng. Trọng số âm có nghĩa là tín hiệu bị giảm hoặc ức chế.
Trọng số bằng khơng có nghĩa là khơng có mối liên hệ giữa hai tế bào thần kinh. Trọng
số được điều chỉnh để có được đầu ra chuẩn nhất. Có nhiều thuật tốn để điều chỉnh trọng
số của ANN để có được đầu ra chính xác. Quá trình điều chỉnh trọng số này được gọi là
học tập hoặc đào tạo[2].
1.1.5. QUY TRÌNH ĐÀO TẠO ANN
Các danh mục ANN dựa trên các phương pháp học tập được giám sát và khơng
giám sát. Hình thức đơn giản nhất của kiến trúc ANN là Nhận thức, bao gồm một tế bào
thần kinh với hai đầu vào và một đầu ra. Chức năng kích hoạt được sử dụng là chức
6



năng bước hoặc chức năng đường dốc. Nhận thức được sử dụng để phân loại dữ liệu
thành hai lớp riêng biệt. Đối với các ứng dụng phức tạp hơn, nhận thức nhiều lớp
(MLP) được sử dụng, trong đó có một lớp đầu vào, một lớp đầu ra và một hoặc nhiều
lớp ẩn.
Backpropagation algorithm (thuật tốn lan truyền ngược, học có dám sát) là
phương pháp được sử dụng phổ biến nhất trong việc đào tạo mạng lưới thần kinh. Ở
đây sự khác biệt về sản lượng mục tiêu, và đầu ra thu được, được nhân rộng trở lại các
lớp và trọng lượng được điều chỉnh. Một mạng lưới thần kinh lan truyền ngược (BPNN:
Back Propagation Neural Network) sử dụng một phương pháp học tập có giám sát và
kiến trúc feed-forward-neural-network (là một mạng nơ-ron phổ biến bao gồm lớp đầu
vào để nhận dữ liệu bên ngoài để thực hiện nhận dạng mẫu, lớp đầu ra đưa ra giải pháp
vấn đề và lớp ẩn là lớp trung gian ngăn cách các lớp khác ). Đây là một trong những kỹ
thuật mạng thần kinh được sử dụng thường xuyên nhất để phân loại và dự đoán.
Trong thuật toán BP, đầu ra của các lớp ẩn được nhân đến lớp đầu ra nơi đầu ra
được tính tốn. Đầu ra này được so sánh với đầu ra mong muốn cho đầu vào nhất định.
Dựa trên sự khác biệt này, lỗi được lan truyền trở lại từ lớp đầu ra đến lớp ẩn và từ lớp
ẩn đến lớp đầu vào. Khi dòng chảy di chuyển trở lại, nó thay đổi trọng lượng giữa các
tế bào thần kinh. Chu kỳ đi về phía trước từ đầu vào và đầu ra, và từ đầu ra đến đầu vào
được gọi là một kỷ nguyên. Một mạng lưới thần kinh đầu tiên được cung cấp một tập
hợp dữ liệu đầu vào đã biết và được yêu cầu để có được một đầu ra đã biết. Điều này
được gọi là đào tạo mạng lưới. Mạng trải qua nhiều kỷ nguyên như vậy cho đến khi lỗi
(sự khác biệt giữa sản lượng thực tế và đầu ra mong muốn) nằm trong một dung sai
nhất định). Bây giờ mạng lưới được cho là được đào tạo. Quá trình đào tạo này đặt
trọng lượng giữa tất cả các tế bào thần kinh trong tất cả các lớp. Các trọng số thu được
từ một mạng được đào tạo được sử dụng để tính tốn phản ứng của mạng đối với một
dữ liệu không xác định.
1.1.6. ĐIỂM MẠNH VÀ HẠN CHẾ CỦA ANN
ANN khác với một chương trình máy tính thơng thường theo nhiều cách. Một số tính

năng của nó là:[6]

7


a. Học tập thích ứng: ANN tái tạo bộ não con người theo cách nó học cách thực hiện
các nhiệm vụ trong khi học. Một chương trình bình thường khơng thể thích ứng với các
loại đầu vào khác
b. Tổ chức tự tổ chức: ANN có thể tạo ra tổ chức của riêng mình trong khi học tập. Một
chương trình bình thường được cố định cho nhiệm vụ của nó và sẽ khơng làm bất cứ
điều gì khác ngồi những gì nó dự định làm
c. Hoạt động song song: ANN hoạt động song song như một bộ não con người. Điều
này khơng khác với một chương trình máy tính hoạt động nối tiếp.
d. Dung sai: Một trong những tính chất thú vị nhất của mạng thần kinh là khả năng hoạt
động ngay cả trên cơ sở dữ liệu không đầy đủ, ồn ào và mờ. Một chương trình bình
thường khơng thể xử lý dữ liệu không đầy đủ, không rõ ràng và sẽ ngừng hoạt động khi
nó gặp phải dữ liệu sai nhỏ nhất.
e. So với bộ não con người, ANN khá nhanh, vì thời gian xử lý não chậm hơn
f. So với chương trình thơng thường, phương pháp trong đó ANN tính tốn output được
biết chính xác, và những gì cần phải làm được biết rõ ràng.
1.2. TÌM HIỂU PHÂN CỤM DỮ LIỆU
Phân cụm dữ liệu là một trong những hướng nghiên cứu trọng tâm của lĩnh vực
khai phá dữ liệu (Data Mining) và lĩnh vực khám phá tri thức.
1.2.1. ĐỊNH NGHĨA PHÂN CỤM
Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ
liệu sao cho các phần tử trong 1 cụm “tương tự” với nhau và các phần tử trong các cụm
khác nhau sẽ “phi tương tự” với nhau.

8



Hình 1. 7 Phân cụm dữ liệu
Sau khi xác định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp để xác
định khoảng cách giữa các đối tượng, hay là phép đo tương tự dữ liệu. Đây chính là các
hàm để đo sự giống nhau giữa các cặp dối tượng dữ liệu, thông thường các hàm này
hoặc là để tính độ tương tự hoặc là tính độ phi tương tự giữa các đối tượng dữ liệu. Giá
trị tính độ đo tương tự càng lớn thì sự giống nhau giữa các đối tượng dữ liệu càng lớn
và ngược lại, cịn hàm tính độ phi tương tự thì tỉ lệ nghịch với độ tương tự.
Các bước chính trong quá trình phân cụm dữ liệu:
 Xây dựng hàm tính độ tương tự
 Xây dựng các tiêu chuẩn phân cụm
 Xây dựng mơ hình cho cấu trúc phân cụm dữ liệu
 Xây dựng thuật toán phân cụm và cách xác lập các điều kiện khởi tạo
 Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm
Phân cụm dữ liệu là bài toán thuộc lĩnh vực học máy không giám sát và đang được ứng
dụng rộng rãi để khai thác thông tin từ dữ liệu.

9


1.2.2. CÁC YÊU CẦU CỦA PHÂN CỤM DỮ LIỆU
Phân cụm là thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng
của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng. Yêu cầu cơ
bản của phân cum trong khai phá dữ liệu:
 Có khả năng mở rộng: nhiều thuật tốn phân cụm làm việc tốt với những tập dữ
liệu nhỏ chứa ít nhất hơn 200 đối tượng. Việc phân cụm với 1 tập dữ liệu lớn có
thể làm ảnh hưởng tới kết quả. Vậy làm cách nào để chúng có thể phát triển các
thuật tốn phân cụm có khả năng mở rộng cao đối với các cơ sở dữ liệu lớn?
 Khả năng thích nghi với các kiểu thuộc tính khác nhau: nhiều thuật toán được
thiết kế cho việc phân cụm dữ liệu có kiểu khoảng(kiểu số). Tuy nhiên, nhiều

ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như
kiểu nhị phân, kiểu tường minh (định danh- khơng thứ tự), và dữ liệu có thứ tự
hay dạng hỗn hợp của những kiểu dữ liệu này.
 Khám phá các cụm với hình dạng bất kỳ: nhiều thuật toán phân cụm xác định
các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách
Manhattan. Các thuật toán dựa trên phép đo như vậy hướng tới việc tìm kiếm
các cụm hình cầu với mật độ và kích cỡ tương tự nhau. Tuy nhiên, một cụm có
thể có bất cứ một dạng nào. Do đó, việc phát triển các thuật tốn có thể khám
phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng.
 Tổi thiểu lượng tri thức cần cho xác định các tham số đầu vào: nhiều thuật toán
phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích
phân cụm. Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu
vào. Nhiều tham số rất khó để xác định, nhất là các tập dữ liệu có lượng các đối
tượng lớn. Điều này khơng những gây trở ngại cho người dùng mà cịn làm cho
khó có thể điều chỉnh được chất lượng của phân cụm.


Khả năng thích nghi với dữ liệu nhiễu: hầu hết những CSDL thực đều chứa
đựng dữ liệu ngoại lai, dữ liệu lỗi dữ liệu chưa biết hoặc dữ liệu sai. Một số
thuật toán phân cụm nhạy cảm với dữ liệu như vậy có thể dẫn đến chất lượng
phân cụm thấp.
10




Ít nhạy cảm với thứ tự của dữ liệu vào: một số thuật toán phân cụm nhạy cảm
với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra
các cụm rất khác nhau. Do đó, việc quan trọng là phát triển các thuật tốn mà ít
nhạy cảm với thứ tự của dữ liệu.




Số chiều lớn: một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc
một số các thuộc tính. Nhiều thuật tốn phân cụm áp dụng tốt cho dữ liệu với số
chiều thấp, bao gồm chỉ từ 2->3 chiều.



Phân cụm ràng buộc: nhiều ứng dụng thực tế có thể cần thực hiện phân cụm
dưới các loại ràng buộc khác nhau. Một nhiệm vụ đặt ra là đi tìm những nhóm
dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc.

 Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm
dễ hiểu, dễ lý giải và dễ sử dụng. Nghĩa là sự phân cụm có thể cần được giải
thích ý nghĩa và ứng dụng rõ ràng.
1.3. TÌM HIỂU PHÂN LỚP DỮ LIỆU
Khái quát:
Phân lớp (classification) trong học máy (Machine Learning) và thống kê là một
cách tiếp cận học có giám sát, trong đó chương trình của máy tính sẽ học từ dữ liệu
được cung cấp cho nó và thực hiện quan sát hoặc phân loại mới.
Phân lớp là một quá trình phân loại một tập dữ liệu nhất định thành các lớp. Nó có
thể được thực hiện trên cả 2 loại dữ liệu là dữ liệu có cấu trúc hoặc dữ liệu phi cấu trúc.
Quá trình phân lớp bắt đầu với việc dự đoán lớp của các điểm dữ liệu đã cho. Các lớp
này thường được gọi là đích, nhãn hoặc danh mục.
Mơ hình dự báo phân lớp là nhiệm vụ xấp xỉ hàm ánh xạ từ các biến đầu vào đến
các biến đầu ra rời rạc. Mục tiêu chính là xác định dữ liệu mới sẽ thuộc lớp nào, danh
mục nào.
Ví dụ: Phát hiện bệnh tim có thể được xác định là một vấn đề phân lớp, đây là kiểu
phân loại nhị phân vì chỉ có thể có 2 loại đó là bị bệnh hoặc khơng mắc bệnh. Trong

trường hợp này, chúng ta cần dữ liệu huấn luyện để hiểu các biến đầu vào có liên quan
11


thế nào đến lớp. Và một khi bộ phân loại được đào tạo chính xác, nó có thể được sử
dụng để phát hiện 1 bệnh nhân cụ thể có bị bệnh tim hay không.
1.3.1. MỘT SỐ THUẬT NGỮ PHÂN LỚP TRONG MACHINE LEARNING
 Classifier (phân loại) : Nó là 1 thuật toán dùng để ánh xạ dữ liệu đầu vào đến
một danh mục cụ thể.
 Classification Model (mơ hình phân lớp) : Mơ hình dự đốn hoặc đưa ra kết
luận cho dữ liệu đầu vào để đào tạo, nó dự đoán lớp hoặc danh mục cho dữ liệu.
 Feature (đặc tính) : đặc điểm là 1 thuộc tính có thể đo lường được của hiện
tượng đang được quan sát.
 Binary Classification (phân lớp nhị phân) : nó là 1 kiểu phân lớp với 1 trong
2 loại kết quả. Ví dụ: đúng hoặc sai, có hoặc khơng.
 Multi-Class Classification (phần lớp nhiều lớp) : nó là 1 kiểu phân lớp với
nhiều hơn 2 lớp, trong phân lớp nhiều lớp mỗi mẫu chỉ được gán cho một nhãn
hoặc 1 mục tiêu.
 Multi-Label Classification (phân loại nhiều nhãn) : đây là 1 kiểu phân lớp
trong đó mỗi mẫu sẽ được gán cho một tập hợp các nhãn hoặc mục tiêu.
 Initialize (khởi tạo) : dùng để gán bộ phân lớp được sử dụng.
 Train the Classifier (đào tạo bộ phân lớp) : mỗi bộ phân lớp trong scikit learn
sử dụng phương pháp fit (X, y) để phù hợp với mơ hình huấn luyện X và nhãn y
tương ứng.
 Objective prediction (dự đoán mục tiêu) : cho X khơng được gán nhãn, dự
đốn X trả lại nhãn y.
1.3.1. CÁC KIỂU HỌC TRONG PHÂN LỚP
Lazy Learners (người học lười biếng) : kiểu học này chỉ cần lưu trữ dữ liệu đào
tạo và đợi cho đến khi dữ liệu kiểm tra xuất hiện. Việc phân loại được thực hiện bằng
cách sử dụng dữ liệu liên quan nhất trong dữ liệu đào tạo được lưu trữ. Họ có nhiều thời


12


gian dự đoán hơn so với những người ham học hỏi. Ví dụ: láng giềng gần nhất, suy luận
dựa trên trường hợp.
Eager Learners (người học tích cực) : kiểu học này xây dựng mơ hình phân loại
dựa trên dữ liệu đào tạo đã cho trước khi lấy dữ liệu cho các dự đốn. Nó phải có khả
năng cam kết một giả thuyết duy nhất sẽ hoạt động cho toàn bộ khơng gian. Do đó, họ
mất nhiều thời gian đào tạo và ít thời gian hơn để dự đốn. Ví dụ - Cây quyết định,
Naive Bayes, Mạng thần kinh nhân tạo.

1.3.3. CÁC THUẬT TỐN PHÂN LỚP
Thuật tốn phân lớp: trong học máy, phân lớp là một kiểu học có giám sát, về cơ
bản là phân loại một tập dữ liệu thành các lớp. Các vấn đề phân loại phổ biến nhất là:
nhận dạng giọng nói, nhận diện khn mặt, nhận dạng chữ viết tay… Nó có thể là bài
tốn phân loại nhị phân hoặc bài tốn nhiều lớp. Có một loạt các thuật toán học máy để
phân loại:
Logistic Regression (hồi quy logistic) :
 Đây là một thuật toán phân lớp trong học máy sử dụng một hoặc nhiều biến độc
lập để xác định kết quả. Kết quả được đo bằng một biến phân đơi có nghĩa là nó
sẽ chỉ có 2 kết quả có thể xảy ra. Mục tiêu của hồi quy logistic là tìm ra mối
quan hệ phù hợp nhất giữa biến phụ thuộc và tập biến độc lập. Nó tốt hơn các
thuật toán phân loại nghị phân khác như hàng xóm gần nhất vì nó giải thích một
cách định lượng các yếu tố dẫn đến phân lớp.
 Ưu điểm: có ý nghĩa đặc biệt để phân lớp, nó hữu ích trong việc hiểu cách 1 tập
hợp các biến độc lập ảnh hưởng đến kết quả của biến phụ thuộc.
 Nhược điểm: nó chỉ hoạt động khi biến dự đốn là nhị phân, nó giả định rằng
dữ liệu khơng có giá trị bị thiếu và giả định rằng yếu tố dự đoán là độc lập với
nhau.

 Trường hợp sử dụng : xác định yếu tố nguy cơ gây bệnh, phân loại từ, dự báo
thời tiết...

13


Naive Bayes Classifier:
 Đây là một thuật toán phân lớp dựa trên định lý Bayes, đưa ra giả định về tính
độc lập giữa các yếu tố dự đốn. Nói một cách dễ hiểu, bộ phân lớp Naïve
Bayes giả định rằng sự hiện diện của một đối tượng cụ thể trong một lớp không
liên quan đến sự hiện diện của bất kỳ đặc tính nào khác. Ngay cả khi các đặc
tính phụ thuộc vào nhau, tất cả các tính chất này đều đóng góp vào xác suất một
cách độc lập. Mơ hình Naive Bayes rất dễ thực hiện và đặc biệt nó rất hữu ích
cho các tập dữ liệu tương đối lớn. Sau đây là định lý Bayes dùng để thực hiện
Naïve Bayes:
P(Ci| x1, x2…, xn) = for 1 < i < k
 Ưu điểm: Yêu cầu 1 lượng dữ liệu huấn luyện để ước tính các tham số cần thiết
để có được kết quả. Bản chất của nó cực kỳ nhanh so với các bộ phân lớp khác.


Điểm bất lợi duy nhất là nó biết đến là một cơng cụ ước tính tồi.



Dự đốn dịch bệnh, phân loại tài liệu, phân tích cảm xúc…

K-Nearest Neighbor (hàng xóm gần nhất) :
 Đây là 1 thuật toán lười học lưu trữ tất cả các cá thể tương ứng với dữ liệu huấn
luyện trong khơng gian n chiều. Nó là một thuật tốn lười học vì nó khơng tập
trung vào việc xây dựng một mơ hình nội bộ chung, thay vào đó nó hoạt động

trên việc lưu trữ các phiên bản của dữ liệu đào tạo.

1.3.3.1 Đồ thị phân lớp của K-Nearest Neighbor

14


 Phân lớp được tính tốn từ đa số phiếu đơn giản của k lân cận gần nhất của một
điểm. Nó được giám sát và lấy một loạt các điểm được gán nhãn và sử dụng
chúng để gán nhãn các điểm khác. Để gán nhãn cho một điểm mới, nó sẽ xem
xét các điểm được gán nhãn gần điểm mới đó nhất, cịn được gọi là hàng xóm
gần nhất của nó. Nó có những hàng xóm bỏ phiếu, vì vậy bất kỳ nhãn nào có
nhiều hàng xóm nhất là nhãn cho điểm mới. Trong đó k là số hàng xóm mà nó
kiểm tra.
 Ưu điểm: Thuật tốn này khá đơn giản trong việc triển khai và mạnh mẽ đối với
dữ liệu huấn luyện ồn ào. Ngay cả khi dữ liệu đào tạo lớn, nó vẫn khá hiệu quả.
 Nhược điểm duy nhất của thuật tốn KNN là khơng cần xác định giá trị của K
và chi phí tính tốn khá cao so với các thuật toán khác.
Decision Tree (Cây quyết định) :
 Thuật tốn cây quyết định xây dựng mơ hình phân loại dưới dạng cấu trúc cây.
Nó sử dụng các quy tắc nếu – sau đó hồn tồn như nhau và loại trừ lẫn nhau
trong phân loại. Quá trình tiếp tục với việc chia nhỏ dữ liệu thành cấu trúc nhỏ
hơn và cuối cùng liên kết nó với một cây quyết định tăng dần. Cấu trúc cuối
cùng trông giống như một cái cây với các nút và lá. Các quy tắc được học tuần
tự bằng cách sử dụng dữ liệu đào tạo tại một thời điểm. Mỗi khi một quy tắc
được học, các bộ giá trị bao gồm các quy tắc sẽ bị xóa. Q trình tiếp tục trên
tập huấn luyện cho đến khi đáp ứng được điểm kết thúc.

15



1.3.3.2 Biểu đồ biểu hiện cây quyết định
 Cây được xây dựng theo phương pháp phân chia và đệ quy từ trên xuống. Một
nút quyết định sẽ có hai hoặc nhiều nhánh và một lá thể hiện sự phân loại hoặc
quyết định. Nút trên cùng trong cây quyết định tương ứng với dự đoán tốt nhất
được gọi là nút gốc và điều tốt nhất về cây quyết định là nó có thể xử lý cả dữ
liệu phân loại và số.
 Ưu điểm và nhược điểm : Cây quyết định có ưu điểm là dễ hiểu và dễ hình
dung, nó cũng địi hỏi rất ít sự chuẩn bị dữ liệu. Điểm bất lợi của cây quyết định
là nó có thể tạo ra các cây phức tạp.
 Trường hợp sử dụng : Khám phá dữ liệu, nhận dạng mẫu, định dạng quyền chọn
trong tài chính, xác định bệnh tật và các mối đe dọa rủi ro..
Artificial Neural Networks (mạng lưới thần kinh nhân tạo) :
 Một mạng nơ-ron bao gồm các nơ-ron được sắp xếp thành từng lớp, chúng lấy
một số vec-tơ đầu vào và chuyển nó thành đầu ra. Q trình liên quan đến việc
mỗi nơ-ron nhận đầu vào và áp dụng một hàm thường là một hàm phi tuyến tính
cho nó và sau đó chuyển đầu ra cho lớp tiếp theo.

16


×