Tải bản đầy đủ (.pdf) (38 trang)

Phát triển hệ thống dự đoán điểm thi tốt nghiệp của học sinh THPT sử dụng kỹ thuật rừng ngẫu nhiên hồi quy

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.24 MB, 38 trang )

UBND TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

PHẠM THỊ HẢO

PHÁT TRIỂN HỆ THỐNG
DỰ ĐOÁN ĐIỂM THI TỐT NGHIỆP CỦA HỌC SINH THPT
SỬ DỤNG KỸ THUẬT RỪNG NGẪU NHIÊN HỒI QUY

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ NGÀNH: 8480104

LUẬN VĂN THẠC SĨ

BÌNH DƯƠNG, NĂM 2019


UBND TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

PHẠM THỊ HẢO

PHÁT TRIỂN HỆ THỐNG
DỰ ĐOÁN ĐIỂM THI TỐT NGHIỆP CỦA HỌC SINH THPT
SỬ DỤNG KỸ THUẬT RỪNG NGẪU NHIÊN HỒI QUY

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ NGÀNH: 8480104

LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS QUẢN THÀNH THƠ



BÌNH DƯƠNG, NĂM 2019


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Phát triển hệ thống dự đoán điểm thi tốt nghiệp
của học sinh trung học phổ thông sử dụng kỹ thuật rừng ngẫu nhiên hồi quy” là
cơng trình nghiên cứu của tơi dưới sự hướng dẫn của PGS.TS Quản Thành Thơ xuất
phát trên yêu cầu thực tế trong việc giảng dạy của tôi tại trường trung học phổ thơng.
Những nội dung được trình bày trong luận văn là quá trình học tập, tiếp thu và
tích lũy kiến thức và là kết quả nghiên cứu của tôi, chưa từng công bố trước đây dưới
bất cứ hình thức nào.
Bình Dương, ngày … tháng… năm…
Tác giả

Phạm Thị Hảo


LỜI CẢM ƠN
Tôi xin chân thành cảm ơn quý thầy cô giáo trong khoa Kỹ thuật công nghệ
trường đại học Thủ Dầu Một đã dạy dỗ truyền đạt những kiến thức quý báu cho tôi.
Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc đến PGS.TS Quản Thành Thơ đã tận tình
hướng dẫn tơi để hồn thành cơng trình nghiên cứu này.
Tơi xin kính chúc q thầy cơ giáo ln dồi dào sức khỏe để có thể tiếp tục sự
nghiệp trồng người cao cả của mình.


TĨM TẮT LUẬN VĂN
Trong những năm gần đây, kì thi tốt nghiệp trung học phổ thông quốc gia
thường xuyên được đổi mới về hình thức thi và nội dung đề thi. Do đó, giáo viên, phụ

huynh và học sinh khối 12 ở các trường phổ thông càng quan tâm hơn nữa đến vấn đề
học sinh được bao nhiêu điểm khi thi, liệu với những điểm đó có thể xét được các
trường đại học nào… Vấn đề tiên đoán số điểm thi, các giáo viên giảng dạy trực tiếp
có thể đốn được dựa trên năng lực học tập của các em hoặc các bậc phụ huynh sẽ đi
xem bói để nghe thầy bói phán mà khơng có cơ sở khoa học nào, đơi khi dựa trên cảm
tính.
Ở lĩnh vực dự đốn, có rất nhiều mơ hình sử dụng các kĩ thuật khác nhau như
Weka, logic mờ, rừng ngẫu nhiên hồi quy… Rừng ngẫu nhiên là một phương pháp học
tập chung để phân loại, hồi quy và các nhiệm vụ khác hoạt động bằng cách xây dựng
vô số cây quyết định tại thời điểm đào tạo và đưa ra phân lớp (phân loại) hoặc dự đốn
trung bình (hồi quy) của các cây riêng lẻ. Kể từ khi được giới thiệu bởi Breiman
(2001), kĩ thuật rừng ngẫu nhiên đã thành công như một phương pháp phân loại và hồi
quy có độ chính xác khá cao, được áp dụng vào nhiều mơ hình tiên đốn.
Trong đề tài luận văn này, tơi đề xuất một mơ hình tiên đốn điểm thi tốt nghiệp
trung học phổ thơng quốc gia cho học sinh. Mơ hình lấy điểm tổng kết các mơn có
tham gia thi để làm tập huấn luyện và tập kiểm thử trong kĩ thuật rừng hồi quy ngẫu
nhiên để đưa ra các điểm dự đoán. Sau đó tiếp tục xây dựng hệ thống dự đốn điểm
trên website để người dùng có thể nhập và dự đốn dựa vào mơ hình đã xây dựng ở
trên.

1


MỤC LỤC
Đề mục ..................................................................................................... Trang
Chương 1: Giới thiệu .................................................................................. 3
1.1 Đặt vấn đề ............................................................................................... 3
1.2 Mục tiêu và phạm vi nghiên cứu ............................................................ 3
1.3 Tổng quan về luận văn............................................................................ 4
Chương 2: Kiến thức nền tảng .................................................................. 5

2.1 Khai phá dữ liệu...................................................................................... 5
2.2 Học máy .................................................................................................. 6
2.3 Phương pháp rừng hồi quy ngẫu nhiên .................................................. 16
Chương 3: Xây dựng mơ hình tiên đoán điểm bằng Random Forest ... 21
3.1 Kiến thức tổng quát của hệ thống ........................................................... 21
3.2 Mô tả dữ liệu của bài tốn ...................................................................... 22
3.3 Chuẩn hóa dữ liệu để đưa vào mơ hình Random Forest ........................ 23
Chương 4: Thí nghiệm ............................................................................... 24
4.1 Tập dữ liệu .............................................................................................. 24
4.2 Các thiết lập ............................................................................................ 24
4.3 Kết quả thực nghiệm ............................................................................... 25
4.4 Website tiên đoán điểm thi tốt nghiệp .................................................... 26
Chương 5: Cơng nghệ sử dụng .................................................................. 28
5.1 Ngơn ngữ lập trình .................................................................................. 28
5.2 Thư viện .................................................................................................. 28
5.3 Công cụ và thiết bị .................................................................................. 29
Chương 6: Tổng kết .................................................................................... 30
6.1 Kết quả đạt được ..................................................................................... 30
6.2 Tồn tại và hạn chế ................................................................................... 30
6.3 Hướng phát triển ..................................................................................... 30
THAM KHẢO ............................................................................................. 31

2


Chương 1. Giới thiệu
1.1 Đặt vấn đề
Hàng năm, thi tốt nghiệp trung học phổ thông quốc gia luôn là mối quan tâm
hàng đầu của phụ huynh và học sinh khối 12 trên cả nước. Gia đình ln tạo điều kiện
và thầy cô giáo luôn dành những nội dung ôn tập sâu sát nhất cho học sinh để các em

đạt được điểm cao trong kì thi này, dành hi vọng sẽ đỗ tốt nghiệp và đỗ vào một
trường đại học nào đó. Khi dạy các em trên lớp, thường thì các giáo viên căn cứ vào
lực học có thể đưa ra những dự đoán điểm thi sắp tới cho học sinh. Từ những dự đốn
này, các em có thể biết năng lực của mình đang đến đâu, cần phải nỗ lực thêm thế
nào, mình có thể xét những trường đại học, cao đẳng nào thì vừa tầm… Tuy nhiên,
những dự đốn đó chỉ là cảm tính, nhiều khi có pha thêm tình cảm của giáo viên nữa
mà khơng có cơ sở khoa học nào.
Xuất phát từ thực tiễn trên, đề tài này sử dụng kĩ thuật Random Forest
Regression lấy dữ liệu là điểm tổng kết của các môn thi tốt nghiệp trung học phổ
thơng quốc gia để tiên đốn ra điểm thi tốt nghiệp của các em, đồng thời cập nhật
điểm chuẩn của các trường đại học khu vực miền Nam của năm trước cho các em sự
so sánh và dự đốn có thể xét được vào trường nào cho tương lai.
1.2 Mục tiêu và phạm vi nghiên cứu
Thu thập dữ liệu điểm tổng kết các môn học của học sinh khối 12 lấy từ các
trường THPT trên địa bàn huyện Phú Riềng của năm học 2017 – 2018.
Đề xuất một mơ hình Random Forest Regression vào việc phân loại điểm tổng
kết của học sinh, sử dụng kĩ thuật phân lớp.
Xây dựng một hệ thống sử dụng mơ hình đã được huấn luyện để tiên đoán ra
điểm thi tốt nghiệp trung học phổ thơng quốc gia, từ đó xây dựng một website có thể
tiên đốn điểm thi tốt nghiệp trung học phổ thông quốc gia khi người dùng nhập điểm
tổng kết các mơn có liên quan đến kì thi.

3


1.3 Tổng quan về luận văn
Chương
1

Nội dung

Giới thiệu chung về đề tài và tổng quan của luận văn
Các kiến thức nền tảng cần có để xây dựng hệ thống dự đốn điểm.

2

Trong đó là những kiến thức về khai phá dữ liệu, các phương pháp
học máy phổ biến và phương pháp rừng hồi quy ngẫu nhiên
Trình bày về việc xây dựng mơ hình tiên đốn điểm dựa trên kĩ

3

thuật Random Forest Regression, trong đó có kiến trúc tổng quát
của hệ thống, mơ tả dữ liệu và chuẩn hóa dữ liệu để đưa vào mơ
hình.
Trình bày thí nghiệm của mơ hình, bao gồm thực hiện thí nghiệm,

4

đánh giá kết quả của thí nghiệm dựa trên nhiều tập dữ liệu và trực
quan hóa lên website.

5

6

Trình bày các cơng nghệ để hồn thành đề tài bao gồm ngơn ngữ
lập trình, các thư viện đã sử dụng và các công cụ liên quan.
Tổng kết, đánh giá những tồn tại, hạn chế của đề tài, tìm hướng
khắc phục và hướng phát triển của đề tài trong tương lai.
Bảng 1 – Tổng quan về luận văn


4


Chương 2. Kiến thức nền tảng
2.1 Khai phá dữ liệu (Data Mining)
2.1.1 Khái niệm về khai phá dữ liệu
Khai phá dữ liệu là quá trình khám phá các mẫu trong các tập dữ liệu lớn liên
quan đến các phương pháp tại điểm giao nhau của máy học, thống kê và hệ thống cơ
sở dữ liệu. Khai phá dữ liệu là một lĩnh vực liên ngành của khoa học và thống kê máy
tính với mục tiêu tổng thể là trích xuất thông tin (bằng những phương pháp thông
minh) từ bộ dữ liệu và chuyển đổi thông tin thành cấu trúc dễ hiểu để sử dụng tiếp dữ
liệu.
2.1.2 Mục tiêu của khai phá dữ liệu
Mục tiêu của khai phá dữ liệu là trích xuất các mẫu và kiến thức từ một lượng
lớn dữ liệu. Khai phá dữ liệu là một từ thông dụng và thường được áp dụng cho bất
kỳ dạng dữ liệu nào hoặc bất kỳ quy trình xử lý thơng tin quy mơ lớn nào (thu thập,
trích xuất, lưu trữ, phân tích và thống kê) cũng như bất kỳ ứng dụng nào của hệ thống
hỗ trợ quyết định bằng máy tính, bao gồm cả trí tuệ nhân tạo (Ví dụ: học máy) và kinh
doanh thông minh.
2.1.3 Nhiệm vụ của khai phá dữ liệu
Nhiệm vụ khai phá dữ liệu thực tế là phân tích bán tự động hoặc tự động một
lượng lớn dữ liệu để trích xuất các mẫu thú vị chưa biết trước đây, như các nhóm các
bản ghi dữ liệu (phân tích cụm), bản ghi bất thường (phát hiện bất thường) và phụ
thuộc (khai thác quy tắc luật kết hợp, khai thác mơ hình tuần tự). Điều này thường
liên quan đến việc sử dụng các kỹ thuật cơ sở dữ liệu như các chỉ số khơng gian.

Hình 1 – Minh họa về khai phá dữ liệu
5



2.2. Học máy (Machine Learning)
2.2.1 Khái niệm học máy
Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và
xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết
những vấn đề cụ thể.
Tương quan với khai phá dữ liệu về một số phương pháp và công cụ, tuy nhiên
đặc điểm khác biệt của học máy là dự đốn một số thơng tin của dữ liệu dựa trên
những đặc tính đã biết.
2.2.2 Các loại hệ thống máy học
Có rất nhiều loại hệ thống Machine Learning khác nhau, sau đây là cách phân
loại chúng theo các danh mục rộng dựa trên:
• Có được đào tạo với sự giám sát của con người hay khơng (học có giám sát,
học không giám sát, học bán giám sát và học tăng cường)
• Có thể học tăng dần hay khơng (online learning so với batch learning)
• Hoạt động bằng cách đơn giản là so sánh các điểm dữ liệu mới với các điểm dữ
liệu đã biết, hoặc thay vào đó phát hiện các mẫu trong dữ liệu đào tạo và xây dựng
một mơ hình dự đốn, giống như các nhà khoa học thường làm (học tập dựa trên ví dụ
so với dựa trên mẫu)
Những tiêu chí này khơng độc quyền, có thể kết hợp chúng theo bất kỳ cách nào
tuỳ thích. Ví dụ, bộ lọc thư rác tối tân nhất có thể học nhanh bằng cách sử dụng mơ
hình mạng nơ-ron sâu được đào tạo bằng cách sử dụng các ví dụ về thư rác và ham;
điều này làm cho nó trở thành một hệ thống học tập trực tuyến, theo mơ hình, có giám
sát.
2.2.2.1 Học có giám sát
Trong học tập có giám sát, dữ liệu đào tạo chúng ta cung cấp cho thuật toán bao
gồm các giải pháp mong muốn, được gọi là nhãn (Hình 2)

6



Hình 2 - Một bộ đào tạo có nhãn cho việc học có giám sát (ví dụ: phân loại thư
rác)
Một cơng việc học tập có giám sát điển hình là phân loại. Bộ lọc thư rác là một
ví dụ điển hình cho việc này: nó được đào tạo với nhiều email mẫu cùng với lớp của
nó (spam hoặc ham) và nó phải học cách phân loại email mới.
Một cơng việc điển hình khác là dự đốn một giá trị số mục tiêu, chẳng hạn như
giá của một chiếc xe, đưa ra một bộ tính năng (số dặm, tuổi, thương hiệu, v.v.) được
gọi là dự đốn. Loại cơng việc này được gọi là hồi quy (Hình 3). Để huấn luyện hệ
thống, chúng ta cần cung cấp cho nó nhiều ví dụ về ơ tơ, bao gồm cả dự đốn và nhãn
của chúng (ví dụ: giá của chúng).

Hình 3 - Hồi quy
7


Lưu ý rằng một số thuật toán hồi quy cũng có thể được sử dụng để phân loại và
ngược lại. Ví dụ: Hồi quy logistic thường được sử dụng để phân loại, vì nó có thể xuất
ra một giá trị tương ứng với xác suất thuộc về một lớp nhất định (ví dụ: 20% khả năng
là spam).
Dưới đây là một số thuật tốn học tập có giám sát quan trọng nhất.
• K-nearest neighbors
• Hồi quy tuyến tính - Linear Regression
• Hồi quy Logistics
• Support Vector Machines (SVMs)
• Cây quyết định và rừng ngẫu nhiên - Decision Trees and Random Forests
• Mạng nơ-ron
2.2.2.2 Học không giám sát
Trong học tập không giám sát, dữ liệu đào tạo khơng được gắn nhãn (Hình 4).
Hệ thống cố gắng học mà khơng có hướng dẫn


Hình 4 - Một bộ đào tạo khơng có nhãn cho việc học tập không giám sát.
Dưới đây là một số thuật tốn học tập khơng giám sát quan trọng nhất:
• Phân cụm:
o

K-means

o

Phân tích cụm phân cấp - Hierarchical Cluster Analysis (HCA)

o

Sự tối đa hóa kỳ vọng - Expectation Maximization

• Trực quan hoá và giảm số chiều:
o

Principal Component Analysis (PCA)

o

Kernel PCA

o

Locally-Linear Embedding (LLE)

o


t-distributed Stochastic Neighbor Embedding (t-SNE)
8


• Học theo các quy tắc luật kết hợp:
o

Apirori

o

Eclat

Ví dụ: giả sử chúng ta có rất nhiều dữ liệu về khách truy cập blog của mình.
Chúng ta có thể muốn chạy một thuật toán phân cụm để cố gắng phát hiện các nhóm
khách truy cập tương tự (Hình 5). Chúng ta khơng bao giờ nói với thuật tốn mà
khách truy cập thuộc về nhóm nào: nó tìm thấy các kết nối đó mà khơng cần sự giúp
đỡ của chúng ta. Ví dụ: có thể nhận thấy rằng 40% khách truy cập của chúng ta là
nam giới yêu thích truyện tranh và thường đọc blog của chúng ta vào buổi tối, trong
khi 20% là những người yêu thích khoa học viễn tưởng trẻ ghé thăm vào cuối tuần,
v.v. Nếu chúng ta sử dụng thuật tốn phân cụm theo phân cấp, nó cũng có thể chia
mỗi nhóm thành các nhóm nhỏ hơn. Điều này có thể giúp chúng ta nhắm mục tiêu bài
viết của chúng ta cho mỗi nhóm.

Hình 5 - Phân cụm
Các thuật tốn trực quan cũng là ví dụ điển hình của các thuật tốn học khơng
giám sát: chúng cung cấp cho chúng rất nhiều dữ liệu phức tạp và khơng có nhãn, và
chúng đưa ra biểu diễn 2D hoặc 3D của dữ liệu của chúng ta mà có thể dễ dàng được
vẽ (Hình 6). Các thuật tốn này cố gắng bảo tồn càng nhiều cấu trúc càng tốt (ví dụ:

cố gắng giữ các cụm riêng biệt trong không gian đầu vào khơng bị chồng chéo trong
q trình trực quan hóa), vì vậy chúng có thể hiểu cách tổ chức dữ liệu và có thể xác
định các mẫu khơng bị ảnh hưởng.

9


Hình 6 - Ví dụ về một cụm ngữ nghĩa
Một cơng việc là giảm kích thước chiều, trong đó mục tiêu là đơn giản hóa dữ
liệu mà khơng mất q nhiều thông tin. Một trong những cách để làm điều này là gộp
một số tính năng tương quan thành một. Ví dụ, số dặm của xe hơi có thể rất tương
quan với tuổi của nó, vì vậy thuật tốn giảm kích thước sẽ hợp nhất chúng thành một
tính năng đại diện cho sự hao mòn của xe hơi. Điều này được gọi là tỉa tính năng.
Một cơng việc quan trọng khác nữa là phát hiện bất thường, ví dụ, phát hiện các
giao dịch thẻ tín dụng bất thường để ngăn chặn gian lận, phát hiện lỗi sản xuất hoặc tự
động xóa các ngoại lệ khỏi bộ dữ liệu trước khi đưa nó vào thuật tốn học khác. Hệ
thống được huấn luyện với các ví dụ bình thường và khi nhìn thấy một ví dụ mới, nó
có thể cho biết liệu nó trơng giống như một phiên bản bình thường hay liệu nó có khả
năng là một sự bất thường.

10


Hình 7 - Phát hiện bất thường
Cuối cùng, một cơng việc không giám sát phổ biến khác là học theo quy tắc kết
hợp, trong đó mục tiêu là đào sâu vào một lượng lớn dữ liệu và khám phá mối quan hệ
thú vị giữa các thuộc tính. Ví dụ: giả sử chúng ta sở hữu một siêu thị. Chạy một quy
tắc kết hợp trên nhật ký bán hàng của chúng ta có thể tiết lộ rằng những người mua
nước sốt thịt nướng và khoai tây chiên cũng có xu hướng mua bít tết. Vì vậy, chúng ta
có thể sẽ muốn đặt các mặt hàng này gần nhau.

2.2.2.3 Học bán giám sát
Một số thuật tốn có thể xử lý dữ liệu đào tạo được dán nhãn một phần, thường
là rất nhiều dữ liệu chưa được gắn nhãn và một ít dữ liệu được dán nhãn. Điều này
được gọi là học bán giám sát (Hình 8).

Hình 8 - Học bán giám sát
Một số dịch vụ lưu trữ ảnh, như Google Photos, là ví dụ điển hình cho loại này.
Khi bạn tải tất cả ảnh gia đình lên dịch vụ, nó sẽ tự động nhận ra rằng cùng một người

11


A xuất hiện trong các ảnh khác nhau. Đây là phần khơng được giám sát của thuật tốn
(phân cụm). Bây giờ tất cả những gì hệ thống cần là để bạn nói cho chúng biết những
người này là ai. Chỉ cần một nhãn cho mỗi người và nó có thể đặt tên cho mọi người
trong mỗi ảnh, rất hữu ích cho việc tìm kiếm ảnh.
Hầu hết các thuật tốn học bán giám sát là sự kết hợp của các thuật tốn khơng
giám sát và giám sát. Ví dụ, các mạng tin tưởng sâu (deep belief networks) dựa trên
các thành phần không được giám sát được gọi là các máy Boltzmann hạn chế
(restricted Boltzmann machines) bị xếp chồng lên lẫn nhau. RBM được đào tạo tuần
tự theo cách không giám sát, và sau đó tồn bộ hệ thống được tinh chỉnh bằng cách sử
dụng các kỹ thuật học tập có giám sát.
2.2.2.4 Học tăng cường
Học tăng cường là một con kiểu rất khác. Hệ thống học tập, được gọi là một tác
nhân trong bối cảnh này, có thể quan sát mơi trường, lựa chọn và thực hiện các hành
động và nhận lại kết quả tốt (hoặc kết quả xấu như trong hình 9). Sau đó, nó phải tự
học theo chiến thuật tốt nhất, được gọi là chính sách, để nhận kết quả tốt nhiều nhất
theo thời gian. Chính sách sẽ xác định hành động nào mà tác nhân nên chọn khi nó ở
trong một tình huống nhất định.


Hình 9 - Học tăng cường
Ví dụ, nhiều robot thực hiện các thuật tốn học tăng cường để học cách đi bộ.
Chương trình AlphaGo của DeepMind cũng là một ví dụ điển hình của học tăng
12


cường: nó đã trở thành tiêu đề vào tháng 3 năm 2016 khi đánh bại nhà vô địch thế giới
Lee Sedol tại trị chơi cờ vây. Nó học được chính sách chiến thắng của mình bằng
cách phân tích hàng triệu trị chơi, và sau đó chơi nhiều trị chơi với chính nó. Việc
học đã bị tắt trong các trị chơi chống lại nhà vơ địch; AlphaGo chỉ đang áp dụng
chính sách mà nó đã học.
2.2.3 Một số phương pháp học máy có giám sát phổ biến
2.2.3.1. Hồi quy tuyến tính (Linear regression)
Hồi quy tuyến tính là một thuật tốn học có giám sát dự đốn một kết quả dựa
trên các tính năng liên tục. Hồi quy tuyến tính linh hoạt theo nghĩa nó có thể chạy trên
một biến duy nhất (hồi qui tuyến tính đơn giản) hoặc trên nhiều tính năng (hồi quy đa
tuyến tính nhiều). Hồi quy tuyến tính hoạt động bằng cách gán giá trị tối ưu cho các
biến để tạo ra một đường thẳng (ax + b) sẽ được sử dụng để dự đoán một đầu ra. Hiện
này thuật tốn này bị đánh giá là thấp nhất

Hình 10 - Ví dụ về hồi quy tuyến tính đơn giản, có một biến độc lập
2.2.3.2 Thuật tốn K láng giềng gần nhất (K-nearest neighbors)
K-láng giềng gần nhất (KNN) là một thuật tốn phân loại có giám sát. Thuật
tốn KNN dựa vào các tâm điểm khác nhau và so sánh khoảng cách sử dụng một số
chức năng. Sau đó, nó phân tích các kết quả và chỉ định mỗi điểm tối ưu nhất trong
mỗi nhóm, để xác định điểm gần nhất với nó.

13



Hình 11 – Ví dụ về thuật tốn K-nearest neighbors
2.2.3.3 Thuật tốn K-means
K-means là một thuật tốn học khơng giám sát phổ biến thường được sử dụng để
giải quyết vấn đề phân cụm. “K” đề cập đến số lượng người dùng nhập vào của các
cụm. Thuật toán bắt đầu với các điểm được chọn ngẫu nhiên và sau đó tối ưu hóa các
cụm bằng cơng thức khoảng cách để tìm nhóm các điểm dữ liệu tốt nhất. Cuối cùng,
các nhà khoa học dữ liệu chọn đúng giá trị K.

Hình 12 –Kết quả phân cụm K -means cho tập dữ liệu hoa Iris
2.2.3.4 Thuật toán cây quyết định (Decision trees)
Cây quyết định là một trong những thuật toán học máy đơn giản và phổ biến
hiện nay. Cây quyết định là một phương pháp học có giám sát khơng tham số. Mục
tiêu là tạo ra một mơ hình dự đốn giá trị của biến mục tiêu bằng cách học các quy tắc
quyết định đơn giản được suy ra từ các đặc trưng trước của dữ liệu. Trong mơ hình
cây quyết định, mỗi nút là một tập hợp các mẫu dữ liệu, các nhánh từ một nút là các
điều kiện xét trên cùng một thuộc tính, các nút lá là các phân lớp.

14


Hình 13 – Ví dụ về cây quyết định
Có 2 loại cây quyết định:
Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là số thực thay vì
được sử dụng cho các nhiệm vụ phân loại (Ví dụ: ước tính giá một ngơi nhà hoặc
khoảng thời gian một bệnh nhân nằm viện)
Cây phân loại (Classification tree) phân loại như: giới tính (nam hay nữ), một
trận đấu có diễn ra hay không.
Mỗi cây quyết định cho môt tập quy tắc phân lớp hoặc hồi quy:
•  Mỗi đường di từ gốc đến là cho 1 luật
•  Mỗi nút ≠ lá biểu thị một thuộc tính/điều kiện kiểm tra

•  Mỗi cạnh biểu thị giá trị kiểm tra của thuộc tính tương ứng
•  Mỗi lá cho một giá trị nhãn xác định bởi luật

Hình 14 – Ví dụ về bài tốn sử dụng cây quyết định
Thuật toán cây quyết định đang ngày càng trở nên phổ biến và có thể xem như là
một thuật toán mạnh mẽ cho tất cả các khoa học dữ liệu, đặc biệt là khi kết hợp với
các kỹ thuật như Random forests, Boosting và Bagging.
15


2.3 Phương pháp Random Forest Regression
2.3.1 Khái niệm chung về rừng ngẫu nhiên
Rừng ngẫu nhiên là một phương pháp học tập chung để phân loại, hồi quy và các
nhiệm vụ khác, hoạt động bằng cách xây dựng vô số cây quyết định tại thời điểm đào
tạo và đưa ra lớp (phân loại) hoặc dự đốn trung bình (hồi quy) của các cây riêng lẻ.
Rừng ngẫu nhiên là một thuật toán học máy có giám sát, sử dụng các cây quyết định
để làm nền tảng. Rừng ngẫu nhiên áp dụng các tính chất ngẫu nhiên dựa vào thuật
tốn cây quyết định. Sau đó, rừng ngẫu nhiên sẽ lựa chọn các kết quả dự đốn có số
lượng cây cho ra nhiều nhất (classification) hay gần nhất (regression).

Hình 15 - Ví dụ minh họa về rừng ngẫu nhiên
Rừng ngẫu nhiên là một bộ nhận dạng bao gồm một tập bộ phân lớp cơ sở dạng
cây quyết định được kết hợp theo phương thức bỏ phiếu.
Các bộ cơ sở được xây dựng từ các tập dữ liệu con với tập con đặc trưng khác
nhau được lấy ngẫu nhiên từ tập dữ liệu quan sát được.
Theo một số đánh giá của các nhà khoa học thì thuật tốn Random Forest có một
số lợi thế như khả năng miễn nhiễm với những dữ liệu vô nghĩa, các đặc trưng không
quan trọng và nhầm lẫn trong dữ liệu đầu vào. Random Forest là một trong những
thuật toán học máy phổ biến nhất và mạnh mẽ nhất, thường được sử dụng trong các
mơ hình dự đốn, cho kết quả khả quan so với các thuật toán khác.


16


Hình 16 – Hoạt động của thuật tốn rừng ngẫu nhiên
Random Forest là một loại thuật toán học máy đồng bộ có tên là Bootstrap
Aggregation hoặc bagging:


Phương pháp Bootstrap để ước tính số lượng thống kê từ các
mẫu.



Thuật tốn Bootstrap Aggregation để tạo nhiều mơ hình khác
nhau từ một tập dữ liệu huấn luyện duy nhất.



Thuật toán Random Forest tạo ra một tinh chỉnh nhỏ cho Bagging
và dẫn đến một trình phân loại rất mạnh.

2.3.2 Phương pháp Bootstrap
Bootstrap là một kỹ thuật nền tảng quan trọng, là phương pháp thống kê mạnh
mẽ để ước tính số lượng từ một mẫu dữ liệu. Điều này là dễ hiểu nhất nếu số lượng là
một thống kê mô tả như giá trị trung bình hoặc độ lệch chuẩn.
Giả sử chúng ta có một mẫu gồm 100 giá trị (x) và muốn có ước tính về giá trị
trung bình của mẫu. Chúng ta có thể tính giá trị trung bình trực tiếp từ mẫu:
Trung bình (x) = 1/100 * tổng (x)
Mẫu đang được xét là nhỏ nên có thể cải thiện ước tính bằng cách sử dụng thủ

tục bootstrap:
17


 Tạo nhiều (ví dụ 1000) mẫu phụ ngẫu nhiên của tập dữ liệu và có thể thay
thế (có nghĩa là có thể chọn cùng một giá trị nhiều lần).
 Tính giá trị trung bình của từng mẫu phụ.
 Tính trung bình của tất cả các phương tiện được thu thập và sử dụng như
là phương tiện ước tính cho dữ liệu.
Ví dụ: giả sử chúng ta đã sử dụng 3 mẫu và nhận các giá trị trung bình 2.3, 4.5
và 3.3. Lấy trung bình của những điều này, chúng ta có thể lấy giá trị trung bình ước
tính của dữ liệu là 3.367.
Q trình này có thể được sử dụng để ước tính các đại lượng khác như độ lệch
chuẩn và thậm chí số lượng được sử dụng trong các thuật toán học máy, như các hệ số
đã học.
2.3.3 Bootstrap Aggregation (Đóng bao)
Bootstrap Aggregation (hay gọi tắt là Bagging) là một phương pháp tập hợp đơn
giản và rất mạnh mẽ.
Phương pháp tập hợp là một kỹ thuật kết hợp các dự đoán từ nhiều thuật toán
học máy với nhau để đưa ra dự đốn chính xác hơn bất kỳ mơ hình riêng lẻ nào.
Bootstrap Aggregation là một thủ tục chung có thể được sử dụng để giảm
phương sai cho các thuật tốn có phương sai cao. Một thuật tốn có phương sai cao là
cây quyết định, như cây phân loại và hồi quy (CART)
Cây quyết định rất nhạy cảm với dữ liệu cụ thể mà chúng được đào tạo. Nếu dữ
liệu huấn luyện bị thay đổi (ví dụ: Một cây được huấn luyện trên một tập hợp con của
dữ liệu huấn luyện), cây quyết định kết quả có thể khá khác nhau và đến lượt các dự
đốn có thể hồn tồn khác nhau.
Đóng bao là ứng dụng của thủ tục Bootstrap cho thuật tốn học máy có phương
sai cao, điển hình là cây quyết định.
Giả sử chúng ta có một bộ dữ liệu mẫu gồm 1000 trường hợp (x) và đang sử

dụng thuật tốn CART. Đóng gói thuật tốn CART sẽ hoạt động như sau:
 Tạo nhiều (ví dụ 100) mẫu phụ ngẫu nhiên của bộ dữ liệu và có thể thay
thế.
 Huấn luyện một mơ hình CART trên mỗi mẫu.

18


 Đưa ra một tập dữ liệu mới, tính tốn dự đốn trung bình từ mỗi mơ hình.
Ví dụ: nếu chúng ta có 5 cây quyết định đóng gói đưa ra các dự đoán của lớp sau
cho một mẫu đầu vào: xanh dương, xanh lam, đỏ, xanh lam và đỏ, chúng ta sẽ chọn
lớp thường xuyên nhất và dự đoán màu xanh lam.
Khi đóng gói với các cây quyết định, chúng ta ít quan tâm đến các cây riêng lẻ
vượt quá dữ liệu huấn luyện. Vì lý do này và vì hiệu quả, các cây quyết định riêng lẻ
được trồng sâu (ví dụ: một vài mẫu huấn luyện tại mỗi nút lá của cây) và các cây
không được cắt tỉa. Những cây này sẽ có cả phương sai cao và độ lệch thấp. Đây là
những đặc điểm quan trọng của các mơ hình con khi kết hợp các dự đốn bằng cách
sử dụng đóng bao.
Các thơng số duy nhất khi đóng bao cây quyết định là số lượng mẫu và do đó số
lượng cây cần bao gồm. Điều này có thể được chọn bằng cách tăng số lượng cây đang
chạy sau khi chạy cho đến khi độ chính xác bắt đầu dừng hiển thị cải thiện (ví dụ: trên
khai thác kiểm tra xác thực chéo). Một số lượng lớn các mơ hình có thể mất nhiều
thời gian để chuẩn bị, nhưng sẽ không phù hợp với dữ liệu đào tạo.
Cũng giống như các cây quyết định, Bagging có thể được sử dụng để phân loại
và hồi quy các vấn đề.
2.3.4 Cải tiến cây quyết định đóng bao - Rừng ngẫu nhiên
Rừng ngẫu nhiên là một cải tiến đối với cây quyết định đóng bao.
Có một vấn đề với cây quyết định như CART là thuật toán của chúng tham lam.
Chúng chọn biến nào để phân chia bằng cách sử dụng thuật toán tham lam để giảm
thiểu lỗi. Như vậy, ngay cả với Bagging, các cây quyết định có thể có nhiều điểm

tương đồng về cấu trúc và đến lượt nó có mối tương quan cao trong dự đốn của
chúng.
Kết hợp các dự đốn từ nhiều mơ hình trong các nhóm sẽ cho hiệu quả tốt hơn
nếu các dự đoán từ các mơ hình con khơng tương quan hoặc tốt nhất là tương quan
yếu.
Rừng ngẫu nhiên thay đổi thuật toán theo cách mà các cây con được học để các
dự đoán kết quả từ tất cả các cây con có ít mối tương quan.
Nó là một tinh chỉnh đơn giản. Trong CART, khi chọn điểm phân tách, thuật
toán học được phép xem qua tất cả các biến và tất cả các giá trị biến để chọn điểm

19


phân tách tối ưu nhất. Thuật toán rừng ngẫu nhiên thay đổi quy trình này để thuật tốn
học được giới hạn trong một mẫu ngẫu nhiên các tính năng cần tìm.
Số lượng các tính năng có thể được tìm kiếm tại mỗi điểm phân chia (m) phải
được chỉ định làm tham số cho thuật tốn. Có thể thử các giá trị khác nhau và điều
chỉnh nó bằng xác nhận chéo.
Để phân loại một mặc định tốt là: m = sqrt (p)
Đối với hồi quy, một mặc định tốt là: m = p / 3
Trong đó m là số lượng các tính năng được chọn ngẫu nhiên có thể được tìm
kiếm tại một điểm phân tách và p là số lượng các biến đầu vào. Ví dụ: nếu một tập dữ
liệu có 25 biến đầu vào cho một vấn đề phân loại, thì:
m = sqrt (25)
m=5
Hiệu suất ước tính
Đối với mỗi mẫu bootstrap được lấy từ dữ liệu huấn luyện, sẽ có những mẫu bị
bỏ lại khơng được bao gồm. Các mẫu này được gọi là mẫu Out-Of-Bag hoặc OOB.
Hiệu suất của từng mơ hình trên các mẫu bên trái của nó khi tính trung bình có
thể cung cấp độ chính xác ước tính của các mơ hình được đóng gói. Hiệu suất ước

tính này thường được gọi là ước tính hiệu suất OOB.
Các biện pháp hiệu suất này là ước tính lỗi kiểm tra đáng tin cậy và tương quan
tốt với các ước tính xác nhận chéo.
2.3.5 Tầm quan trọng khi cải tiến
Khi các cây quyết định được đóng gói được xây dựng, chúng ta có thể tính tốn
hàm lỗi giảm bao nhiêu cho một biến tại mỗi điểm phân chia.
Trong các bài tốn hồi quy, đây có thể là lỗi tổng bình phương và trong phân
loại, đây có thể là điểm Gini.
Những lỗi này có thể được tính trung bình trên tất cả các cây quyết định và đầu
ra để đưa ra ước tính về tầm quan trọng của từng biến đầu vào. Độ giảm càng lớn khi
biến được chọn, tầm quan trọng càng lớn.
Các đầu ra này có thể giúp xác định các tập hợp con của các biến đầu vào có thể
liên quan nhiều nhất hoặc ít nhất đến vấn đề và đề xuất tại các thử nghiệm lựa chọn
tính năng có thể bạn có thể thực hiện khi một số tính năng bị xóa khỏi bộ dữ liệu.
20


21


×