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

Xây dựng ứng dụng dự đoán giá nhà sử dụng học máy

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 (2.44 MB, 51 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN I
-----🙞🙜🕮🙞🙜-----

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG
DỰ ĐOÁN GIÁ NHÀ SỬ DỤNG HỌC MÁY

Giảng viên hướng dẫn

: TS. NGUYỄN VĂN THỦY

Sinh viên thực hiện

: NGUYỄN LƯƠNG ĐỨC

Mã sinh viên

: B17DCAT047

Lớp

: E17CQCN01-B

Khóa

: 2017 – 2022

Hệ


: ĐẠI HỌC CHÍNH QUY

Hà Nội, tháng 01 năm 2022


HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN I
-----🙞🙜🕮🙞🙜-----

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG
DỰ ĐOÁN GIÁ NHÀ SỬ DỤNG HỌC MÁY

Giảng viên hướng dẫn

: TS. NGUYỄN VĂN THỦY

Sinh viên thực hiện

: NGUYỄN LƯƠNG ĐỨC

Mã sinh viên

: B17DCAT047

Lớp

: E17CQCN01-B


Khóa

: 2017 – 2022

Hệ

: ĐẠI HỌC CHÍNH QUY

Hà Nội, tháng 01 năm 2022


Đồ án tốt nghiệp đại học

LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn tới các thầy cô, cán bộ cơng tác tại Học viện Cơng
nghệ Bưu chính Viễn thơng nói chung, các thầy cơ khoa Cơng nghệ thơng tin 1 nói riêng
đã tận tình hướng dẫn, giảng dạy và tạo mọi điều kiện thuận lợi giúp đỡ em trong quá
trình học tập tại Học viện. Những kiến thức, kinh nghiệm em nhận được không chỉ là
nền tảng mà còn là hành trang quý báu để em bước vào đời một cách vững chắc và tự
tin.
Em xin gửi lời cảm ơn sâu sắc tới giảng viên, TS. Nguyễn Văn Thủy đã trực tiếp
hướng dẫn, góp ý và giúp đỡ em hoàn thành đồ án tốt nghiệp này.
Trong thời gian làm đồ án có giới hạn và kiến thức bản thân cịn hạn chế nên khơng
tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến góp ý của thầy cơ để
đồ án được hồn thiện hơn.
Em xin chân thành cảm ơn!
Hà Nội, ngày 02 tháng 01 năm 2022
Sinh viên thực hiện
Đức
Nguyễn Lương Đức


Nguyễn Lương Đức - E17CQCN01-B

i


Đồ án tốt nghiệp đại học

NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của giảng viên hướng dẫn)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

Điểm ................. Bằng chữ.................................................................................................
Hà Nội, ngày

tháng

năm

Giảng viên hướng dẫn

iNguyễn Lương Đức - E17CQCN01-B

ii


Đồ án tốt nghiệp đại học

NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của giảng viên phản biện)
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Điểm ................. Bằng chữ.................................................................................................
Hà Nội, ngày

tháng

năm

Giảng viên phản biện

iNguyễn Lương Đức - E17CQCN01-B

iii


Đồ án tốt nghiệp đại học

MỤC LỤC

LỜI CẢM ƠN ................................................................................................................ i
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của giảng viên hướng dẫn) ..................... ii
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM (Của giảng viên phản biện) ..................... iii
MỤC LỤC .................................................................................................................... iv

DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT ............................................................. vi
DANH MỤC HÌNH VẼ.............................................................................................. vii
MỞ ĐẦU .........................................................................................................................1
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI ..........................................................................2
1.1. Bài toán dự đoán giá nhà .....................................................................................2
1.2. Một số giải pháp hiện có .......................................................................................3
1.2.1. Mogi.vn .............................................................................................................3
1.2.2. Cenhomes..........................................................................................................4
1.2.3. Dinhgianhadat ...................................................................................................5
1.3. Giải pháp đề xuất của đồ án ................................................................................5
1.4. Kết luận ..................................................................................................................6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................7
2.1. Tổng quan về học máy ..........................................................................................7
2.2. Phân loại thuật toán trong học máy ....................................................................7
2.2.1. Học có giám sát ................................................................................................7
2.2.2. Học khơng có giám sát .....................................................................................8
2.2.3. Học bán giám sát ..............................................................................................9
2.2.4. Học tăng cường (Reinforcement learning) .......................................................9
2.3. Thuật tốn hồi quy ..............................................................................................10
2.3.1. Hồi quy tuyến tính và Gradient descent .........................................................11
2.3.2. Regularization .................................................................................................11
2.3.3. Học kết hợp (Ensemble learning) ...................................................................14
2.4. Thuật toán Rừng ngẫu nhiên (Random forest) ................................................16
2.4.1. Boosting ..........................................................................................................17
2.5. Thuật toán Gradient Boosting (GB) .................................................................17
2.6. Thuật toán XGBoost ...........................................................................................18
Nguyễn Lương Đức - E17CQCN01-B

iv



Đồ án tốt nghiệp đại học

2.7. Mạng Nơron ........................................................................................................18
2.8. Kết luận ................................................................................................................21
CHƯƠNG 3. CÀI ĐẶT ỨNG DỤNG ........................................................................22
3.1 Cài đặt mơ hình học máy ...................................................................................22
3.1.1 Thu thập dữ liệu ....................................................................................................22
3.1.2 Xử lý dữ liệu .........................................................................................................26
3.1.3 Huấn luyện mơ hình dự đoán giá ..........................................................................30
3.2 Cài đặt ứng dụng.................................................................................................36
3.2.1 Front-end ...............................................................................................................36
3.2.2 Cơ sở dữ liệu .........................................................................................................37
3.2.3 API ........................................................................................................................37
3.3 Đánh giá kết quả thu được .................................................................................39
3.3.1 RidgeCV ...............................................................................................................39
3.3.2 Random Forest ......................................................................................................39
3.3.3 Gradient Boosting .................................................................................................39
3.3.4 XGBoost ...............................................................................................................40
3.3.5 ANN ......................................................................................................................40
3.4 Kết luận ................................................................................................................40
KẾT LUẬN ..................................................................................................................41
TÀI LIỆU THAM KHẢO...........................................................................................42

Nguyễn Lương Đức - E17CQCN01-B

v


Đồ án tốt nghiệp đại học


DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT

AI

Artificial Intelligence

ANN

Artificial Neural Network

API

Application Programming Interface

NN

Neural Network

SNN

Simulated Neural Network

SVM

Support Vector Machines

Nguyễn Lương Đức - E17CQCN01-B

vi



Đồ án tốt nghiệp đại học

DANH MỤC HÌNH VẼ
Hình 1.1 Xu thế giá theo loại bất động sản tại trang Mogi.vn ..............................................3
Hình 1.2 Màn hình biến động giá tin rao của Cenhomes......................................................4
Hình 1.3 Màn hình Định giá nhà đất của Dinhgianhadat .....................................................5
Hình 2.1. Sơ đồ phân loại học máy .......................................................................................7
Hình 2.2. AlphaGo chơi cờ vây với Lee Sedol. ..................................................................10
Hình 2.3. Lựa chọn mơ hình dựa trên validation ................................................................12
Hình 2.4. Tổng quát về Ensemble Learning. ......................................................................14
Hình 2.5. Sơ đồ Bagging .....................................................................................................16
Hình 2.6. Mơ hình mạng ANN ...........................................................................................16
Hình 2.7. Mơ phỏng các lớp trong ví dụ dự đốn giá máy bay ..........................................20
Hình 2.8. Kết nối nơron có trọng số....................................................................................20
Hình 3.1. Phân cấp hiển thị thơng tin trang web .................................................................22
Hình 3.2. Phân cấp hiển thị thơng tin trang web .................................................................22
Hình 3.3. Dữ liệu tiền xử lý ................................................................................................27
Hình 3.4. Dữ liệu sau xử lý missing values ........................................................................27
Hình 3.5. Dữ liệu sau xử lý .................................................................................................30
Hình 3.6. Mơ hình thiết kế ứng dụng ..................................................................................36
Hình 3.7. Trang Giá nhà trung bình theo quận ...................................................................36
Hình 3.8. Trang Dự đốn giá nhà ........................................................................................37
Hình 3.9. Kết quả mơ hình RidgeCV ..................................................................................39
Hình 3.10. Kết quả mơ hình Random Forest ......................................................................39
Hình 3.11. Kết quả mơ hình Gradient Boosting .................................................................40
Hình 3.12. Kết quả mơ hình XGBoost ................................................................................40
Hình 3.13. Kết quả mơ hình ANN ......................................................................................40
Nguyễn Lương Đức - E17CQCN01-B


vii


Đồ án tốt nghiệp đại học

MỞ ĐẦU
Ngày nay, công nghệ thơng tin đang phát triển rất mạnh mẽ, nhanh chóng được ứng
dụng trong hầu hết mọi lĩnh vực, làm biến đổi sâu sắc mọi mặt của đời sống và trở thành
công cụ không thể thiếu trong nhiều ngành nghề, trong đó có bất động sản. Cùng với sự
phát triển của cơng nghệ, trí tuệ nhân tạo và đặc biệt là học máy gần đây đã được chú
trọng để xử lý những vấn đề phức tạp mà trước đó chưa thể xử lý triệt để.
Với nguyện vọng muốn xây dựng ứng dụng trong lĩnh vực bất động sản, em đã chọn
đề tài xây dựng ứng dụng dự đốn giá có sử dụng học máy, giúp cho việc tìm kiếm được
dễ dàng, thuận tiện, giúp cho việc quản lý, đầu tư kinh doanh trở nên nhanh chóng, tránh
phải bỏ ra những cơng sức không cần thiết. Đồ án được là bài kết thúc học phần và mong
muốn được đóng góp là tài liệu cho các sinh viên khóa sau học tập, nghiên cứu.
Cấu trúc đồ án bao gồm 3 chương :
CHƯƠNG I. TỔNG QUAN ĐỀ TÀI:
Khảo sát bài toán dự đoán giá nhà, tìm hiểu các giải pháp hiện có và đưa ra giải
pháp của đồ án
CHƯƠNG II. CƠ SỞ LÝ THUYẾT:
Trình bày chi tiết cơ sở lý thuyết của những công nghệ sử dụng trong đồ án
CHƯƠNG III: CÀI ĐẶT ỨNG DỤNG:
Trình bày quy trình cài đặt ứng dụng ,đưa ra kết quả thu được và đánh giá

Nguyễn Lương Đức - E17CQCN01-B

1



Đồ án tốt nghiệp đại học

Chương 1. Tổng quan đề tài

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
Giá nhà đất là một chủ đề luôn nhận được sự quan tâm rất lớn của cộng đồng. Với
quy mô và sự gia tăng dân số mỗi năm dẫn đến tình trạng “đất chật người đơng”, nhu
cầu mua nhà đất vì thế cũng khơng ngừng tăng lên. Khơng những thế, nhà đất cịn là
lĩnh vực kinh doanh, là cơ hội đầu tư mang về nguồn lợi nhuận lớn cho nhiều người.
1.1. Bài toán dự đoán giá nhà
Thị trường bất động sản càng ngày càng sôi động. Tuy nhiên giá bất động sản theo
quy định của cơ quan quản lý lại khơng phản ánh chính xác giá cả theo thực tế thị trường.
Sự biến động của giá nhà đất trở thành vấn đề quan trọng đối với cả người mua lẫn người
bán.
Vấn đề về giá đặt ra với cả người mua và người bán. Đối với người mua thì nên mua
ở đâu, mua khi nào thì mới có được mức giá hợp lý. Đối với người bán thì nên bán ra
thời điểm nào để có lời cao. Đây ln là câu hỏi khó, bởi diễn biến giá nhà đất là không
hề đơn giản và phụ thuộc vào rất nhiều yếu tố tác động lên nó.
Đối với chuyên viên định giá tại các ngân hàng hoặc công ty bất động sản, việc định
giá đúng tài sản nhà đất là vô cùng quan trọng. Tuy nhiên công việc này tiêu tốn khá
nhiều thời gian và vẫn được thực hiện thủ cơng. Chun viên định giá thậm chí phải
dành hàng tuần, hàng tháng mới có thể thu thập đủ dữ liệu về tài sản mà họ cần.
Dữ liệu bất động sản trên mạng rất lớn nhưng lại phân tán và khơng có đủ nguồn
lực để thu thập, phân tích. Vì vậy nhu cầu thu thập thơng tin trên các trang mạng, các
đại lý là vô cùng thiết thực. Từ đó có thể phân tích, bóc tách thơng tin về bất động sản
theo các tiêu chí nhóm có cùng phân khúc sản phẩm, vị trí dự án, khung giá. Dựa trên
dữ liệu lịch sử và đặc tính của bất động sản có thể phân tích xu hướng và dự báo về giá
bất động sản theo xu hướng tăng hoặc giảm.
Việc phân tích sự ảnh hưởng của các yếu tố đến giá nhà đất là rất cần thiết. Dự đoán

giá nhà đất là một giải pháp để giải quyết bài toán cho các doanh nghiệp kinh doanh nhà
đất và nhiều ngành nghề liên quan. Từ kết quả dự đoán, doanh nghiệp sẽ đưa ra những
đề xuất phù hợp cho khách hàng, kịp thời đưa ra các giải pháp, đối phó với những nguy
cơ trong tương lai bằng cách cắt giảm chi phí hoặc thay đổi chiến lược phù hợp.

Nguyễn Lương Đức - E17CQCN01-B

2


Đồ án tốt nghiệp đại học

Chương 1. Tổng quan đề tài

1.2. Một số giải pháp hiện có
1.2.1. Mogi.vn
Mogi.vn là website rao vặt trực tuyến chuyên đăng tin về các sản phẩm bất động
sản, đồng thời cung cấp thông tin của các bất động sản thật, giúp người mua tránh việc
bị mua nhầm, mua sai giá hoặc vướng vào các giao dịch “ảo” trên thị trường. Mogi.vn
giúp người dùng có thể tìm kiếm và xem giá nhà đất theo khu vực, theo đường, theo
từng loại bất động sản; xem xu thế giá lịch sử khoảng 1 năm trở lại theo từng loại bất
động sản.

Hình 1.1. Xu thế giá theo loại bất động sản tại trang Mogi.vn

Nguyễn Lương Đức - E17CQCN01-B

3



Đồ án tốt nghiệp đại học

Chương 1. Tổng quan đề tài

1.2.2. Cenhomes

Hình 1.2. Màn hình biến động giá tin rao của Cenhomes
Cenhomes.vn xây dựng một nền tảng kinh doanh bất động sản hiện đại bằng sự
kết hợp giữa công nghệ và định hướng phát triển của những chuyên gia hàng đầu. Khách
bán có thể dễ dàng định giá sản phẩm chính xác bằng cơng nghệ và gửi bán đúng giá.
Khách mua dễ dàng tìm kiếm các sản phẩm phù hợp, đúng nhu cầu.
Khi người dùng tìm kiếm tại Cenhomes, trang web hiển thị đầy đủ các thông tin
về tài sản, tổng quan xung quanh, các tiện ích, bản đồ quy hoạch và đặc biệt là biến động
giá tin rao. Điều này giúp người dùng có một cái nhìn rất chi tiết về tài sản người dùng
đang tìm.

Nguyễn Lương Đức - E17CQCN01-B

4


Đồ án tốt nghiệp đại học

Chương 1. Tổng quan đề tài

1.2.3. Dinhgianhadat

Hình 1.3. Màn hình Định giá trực tuyến của Dinhgianhadat
Website Dinhgianhadat.vn có các tính năng: Định giá bất động sản trực tuyến, xem
bản đồ quy hoạch trực tuyến, rao bán phát mãi bất động sản, quảng cáo bất động sản

trực tuyến. Trong đó tính năng định giá được thiết kế giúp người dùng có thể thay đổi
thủ cơng từng thơng tin của bất động sản mà mình đang tìm kiếm.
1.3. Giải pháp đề xuất của đồ án
Với nguyện vọng có thể tạo ra một sản phẩm cơng nghệ ứng dụng trong lĩnh vực
bất động sản, đồ án sẽ trình bày phương hướng xử lý bài toán định giá bất động sản bằng
công nghệ học máy. Dựa trên những yêu cầu đối với bài tốn xây dựng mơ hình dự đoán
giá nhà và với kết quả khảo sát sơ bộ về tính khả thi, đồ án đề xuất giải pháp như sau:
-

Thu thập dữ liệu từ trang rao bán bất động sản chotot.vn.

-

Xử lý dữ liệu đã thu thập

-

Huấn luyện mơ hình học máy với dữ liệu đã xử lý. Các mơ hình học máy được
sử dụng là mơ hình học máy có giám sát gồm các thuật tốn hồi quy và mơ
hình mạng nơ-ron.

Nguyễn Lương Đức - E17CQCN01-B

5


Đồ án tốt nghiệp đại học

Chương 1. Tổng quan đề tài


1.4. Kết luận
Chương 1 này đã trình bày về bài toán dự đoán giá nhà đất và một số giải pháp cho
bài toán tại Việt Nam, đồng thời đề xuất giải pháp mà đồ án sẽ triển khai để giải quyết
bài tốn. Trong chương tiếp theo, đồ án sẽ trình bày về cơ sở lý thuyết các của các công
nghệ mà đồ án sử dụng.

Nguyễn Lương Đức - E17CQCN01-B

6


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về học máy
Học máy là một nhánh của trí tuệ nhân tạo (AI) và khoa học máy tính, tập trung
vào việc sử dụng dữ liệu và thuật toán để bắt chước cách con người học, dần dần cải
thiện độ chính xác của nó.
Học máy là một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát
triển. Thông qua việc sử dụng các phương pháp thống kê, các thuật toán được huấn
luyện để đưa ra phân loại hoặc dự đoán, khám phá những hiểu biết quan trọng trong các
dự án khai thác dữ liệu. Những thông tin chi tiết này sau đó thúc đẩy việc đưa ra quyết
định trong các ứng dụng và doanh nghiệp, tác động đến các chỉ số tăng trưởng chính.
Khi dữ liệu lớn tiếp tục mở rộng và phát triển, nhu cầu thị trường đối với các nhà khoa
học dữ liệu sẽ tăng lên, đòi hỏi họ phải hỗ trợ xác định các câu hỏi kinh doanh phù hợp
nhất và sau đó là dữ liệu để trả lời chúng.
2.2. Phân loại thuật tốn trong học máy


Hình 2.1. Sơ đồ phân loại học máy
2.2.1. Học có giám sát
Học có giám sát, cịn được gọi là học máy có giám sát, là một danh mục con của
học máy và trí tuệ nhân tạo. Nó được định nghĩa bằng cách sử dụng các tập dữ liệu được
Nguyễn Lương Đức - E17CQCN01-B

7


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

gắn nhãn để huấn luyện các thuật toán phân loại dữ liệu hoặc dự đốn kết quả một cách
chính xác. Khi dữ liệu đầu vào được đưa vào mơ hình, nó sẽ điều chỉnh trọng số của nó
cho đến khi mơ hình được lắp một cách thích hợp, điều này xảy ra như một phần của
quá trình xác nhận chéo. Học có giám sát giúp các tổ chức giải quyết nhiều vấn đề trong
thế giới thực trên quy mô lớn, chẳng hạn như phân loại thư rác trong một thư mục riêng
biệt từ hộp thư đến.
Học tập có giám sát sử dụng tập huấn luyện (training set) để dạy các mơ hình nhằm
mang lại kết quả đầu ra mong muốn. Tập dữ liệu huấn luyện này bao gồm đầu vào và
đầu ra chính xác, cho phép mơ hình học hỏi qua thời gian. Thuật tốn đo độ chính xác
của nó thông qua hàm mất mát, điều chỉnh cho đến khi sai số được giảm thiểu đến mức
tối thiểu. Học có giám sát có thể được tách thành hai loại vấn đề khi khai thác dữ liệu:
phân loại và hồi quy:
-

Phân loại (Classification): sử dụng một thuật tốn để gán chính xác dữ liệu thử
nghiệm thành các danh mục cụ thể. Nó nhận ra các thực thể cụ thể trong tập
dữ liệu và cố gắng đưa ra một số kết luận về cách các thực thể đó nên được

gắn nhãn hoặc định nghĩa. Các thuật toán phân loại phổ biến là phân loại tuyến
tính (linear classifiers), máy vectơ hỗ trợ (support vector machines - SVM),
cây quyết định (decision tree), k-láng giềng gần nhất (k-nearest neighbor) và
rừng ngẫu nhiên (random forest).

-

Hồi quy (regression): được sử dụng để hiểu mối quan hệ giữa các biến phụ
thuộc và độc lập. Nó thường được sử dụng để dự báo, chẳng hạn như doanh
thu bán hàng cho một doanh nghiệp nhất định. Hồi quy tuyến tính (linear
regression), hồi quy logistic (logistical regression) và hồi quy đa thức
(polynomial regression) là các thuật toán hồi quy phổ biến.

2.2.2. Học khơng có giám sát
Học khơng có giám sát, cịn được gọi là học máy không giám sát, sử dụng các thuật
tốn học máy để phân tích và phân cụm các tập dữ liệu khơng được gắn nhãn. Các thuật
tốn này phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con
người. Khả năng phát hiện ra những điểm tương đồng và khác biệt trong thơng tin khiến
nó trở thành giải pháp lý tưởng để phân tích dữ liệu khám phá, phân khúc khách hàng
và nhận dạng hình ảnh. Các mơ hình học tập không giám sát được sử dụng cho ba nhiệm
vụ chính: phân cụm, liên kết và giảm kích thước:
Nguyễn Lương Đức - E17CQCN01-B

8


Đồ án tốt nghiệp đại học

-


Chương 2. Cơ sở lý thuyết

Phân cụm (Clustering): một kỹ thuật khai thác dữ liệu để nhóm dữ liệu khơng
được gắn nhãn dựa trên những điểm tương đồng hoặc khác biệt của chúng. Ví
dụ: các thuật toán phân cụm K-mean gán các điểm dữ liệu tương tự thành các
nhóm, trong đó giá trị K đại diện cho kích thước của nhóm và mức độ chi tiết.
Kỹ thuật này rất hữu ích cho việc phân đoạn thị trường, nén hình ảnh, v.v.

-

Kết hợp (Association): một loại phương pháp học không giám sát khác sử dụng
các quy tắc khác nhau để tìm mối quan hệ giữa các biến trong một tập dữ liệu
nhất định. Các phương pháp này thường được sử dụng cho các công cụ phân tích
và đề xuất giỏ thị trường, dọc theo dịng khuyến nghị “Khách hàng đã mua mặt
hàng này cũng đã mua”.

-

Giảm kích thước (Dimensionality reduction): một kỹ thuật học tập được sử dụng
khi số lượng đối tượng (hoặc kích thước) trong một tập dữ liệu nhất định quá cao.
Nó làm giảm số lượng đầu vào dữ liệu đến một kích thước có thể quản lý được
trong khi vẫn bảo tồn tính tồn vẹn của dữ liệu. Thơng thường, kỹ thuật này
được sử dụng trong giai đoạn tiền xử lý dữ liệu, chẳng hạn như khi bộ mã tự động
loại bỏ nhiễu khỏi dữ liệu trực quan để cải thiện chất lượng hình ảnh.

2.2.3. Học bán giám sát
Học tập bán giám sát là một phương pháp kết hợp giữa học tập có giám sát và
khơng giám sát. Trong q trình huấn luyện, nó sử dụng một tập dữ liệu có nhãn nhỏ
hơn để hướng dẫn phân loại và trích xuất tính năng từ một tập dữ liệu lớn hơn, không
được gắn nhãn. Học bán giám sát có thể giải quyết vấn đề khơng có đủ dữ liệu được gắn

nhãn (hoặc khơng đủ khả năng gắn nhãn đủ dữ liệu) để huấn luyện thuật tốn học có
giám sát.
2.2.4. Học tăng cường (Reinforcement learning)
Học máy củng cố là một mơ hình học máy hành vi tương tự như học có giám sát,
nhưng thuật tốn không được huấn luyện bằng cách sử dụng dữ liệu mẫu. Mơ hình này
sẽ học theo cách sử dụng thử và sai. Một chuỗi các kết quả thành công sẽ được củng cố
để phát triển khuyến nghị hoặc chính sách tốt nhất cho một vấn đề nhất định.

Nguyễn Lương Đức - E17CQCN01-B

9


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

Hình 2.2. AlphaGo chơi cờ vây với Lee Sedol.
AlphaGo nổi tiếng với việc chơi cờ vây thắng cả con người. Cờ vây được xem là
có độ phức tạp cực kỳ cao với tổng số nước đi là xấp xỉ 10761, so với cờ vua là 10120 và
tổng số nguyên tử trong tồn vũ trụ là khoảng 1080. Vì vậy, thuật toán phải chọn ra 1
nước đi tối ưu trong số hàng nhiều tỉ tỉ lựa chọn, và tất nhiên, không thể áp dụng thuật
toán tương tự như IBM Deep Blue (IBM Deep Blue đã thắng con người trong môn cờ
vua 20 năm trước). Về cơ bản, AlphaGo bao gồm các thuật tốn thuộc cả Học có giám
sát và Học tăng cường. Trong phần Học có giám sát, dữ liệu từ các ván cờ do con người
chơi với nhau được đưa vào để huấn luyện. Tuy nhiên, mục đích cuối cùng của AlphaGo
không phải là chơi như con người mà phải thậm chí thắng cả con người. Vì vậy, sau
khi học xong các ván cờ của con người, AlphaGo tự chơi với chính nó với hàng triệu
ván chơi để tìm ra các nước đi mới tối ưu hơn. Thuật toán trong phần tự chơi này được
xếp vào loại học tăng cường.

2.3. Thuật toán hồi quy
Với yêu cầu bài toán dự đoán giá nhà, sự lựa chọn phù hợp nhất là thuật tốn học
máy có giám sát, cụ thể là các thuật toán hồi quy.

Nguyễn Lương Đức - E17CQCN01-B

10


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

2.3.1. Hồi quy tuyến tính và Gradient descent
2.3.1.1 Hồi quy tuyến tính (linear regression)
Hồi quy tuyến tính được sử dụng để phân tích, dự đốn giá trị của một biến dựa
trên giá trị của một biến khác. Biến muốn dự đoán được gọi là biến phụ thuộc. Biến
đang sử dụng để dự đoán giá trị của biến khác được gọi là biến độc lập.
Dạng phân tích này ước tính các hệ số của phương trình tuyến tính, liên quan đến
một hoặc nhiều biến độc lập dự đoán tốt nhất giá trị của biến phụ thuộc. Hồi quy tuyến
tính biểu diễn phù hợp với một đường thẳng hoặc mặt phẳng giúp giảm thiểu sự khác
biệt giữa các giá trị đầu ra được dự đốn và thực tế. Có những máy tính hồi quy tuyến
tính đơn giản sử dụng phương pháp "bình phương nhỏ nhất" để khám phá đường phù
hợp nhất cho một tập hợp dữ liệu được ghép nối. Sau đó ước tính giá trị của X (biến phụ
thuộc) từ Y (biến độc lập).
2.3.1.2 Gradient descent
Gradient descent là một thuật toán tối ưu hóa được sử dụng để tìm các giá trị của
các tham số của một hàm (f) để tối thiểu hóa một hàm chi phí. Gradient descent được sử
dụng tốt nhất khi các tham số khơng thể được tính tốn phân tích (ví dụ: sử dụng đại số
tuyến tính) và phải được tìm kiếm bằng một thuật tốn tối ưu hóa.

2.3.2. Regularization
Phương pháp đơn giản nhất để biết được chất lượng của mơ hình với dữ liệu chưa
nhìn thấy bao giờ (unseen data) khi xây dựng mơ hình khơng được sử dụng dữ liệu kiểm
tra (test data) là trích từ tập dữ liệu huấn luyện ra một tập con nhỏ và thực hiện việc đánh
giá mơ hình trên tập con nhỏ này. Tập con này được gọi là validation set. Lúc này, tập
huấn luyện là phần còn lại của tập huấn luyện ban đầu. Train error được tính trên tập
huấn luyện mới này, và có một khái niệm nữa được định nghĩa tương tự như trên
validation error, tức error được tính trên tập validation.Phương pháp đơn giản nhất để
biết được chất lượng của mơ hình với dữ liệu chưa nhìn thấy bao giờ (unseen data) khi
xây dựng mơ hình không được sử dụng dữ liệu kiểm tra (test data) là trích từ tập dữ liệu
huấn luyện ra một tập con nhỏ và thực hiện việc đánh giá mơ hình trên tập con nhỏ này.
Tập con này được gọi là validation set. Lúc này, tập huấn luyện là phần còn lại của tập
huấn luyện ban đầu. Train error được tính trên tập huấn luyện mới này, và có một khái
niệm nữa được định nghĩa tương tự như trên validation error, tức error được tính trên
tập validation.
Nguyễn Lương Đức - E17CQCN01-B

11


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

2.3.2.1 Validation
Phương pháp đơn giản nhất để biết được chất lượng của mơ hình với dữ liệu chưa
nhìn thấy bao giờ (unseen data) khi xây dựng mơ hình khơng được sử dụng dữ liệu kiểm
tra (test data) là trích từ tập dữ liệu huấn luyện ra một tập con nhỏ và thực hiện việc đánh
giá mơ hình trên tập con nhỏ này. Tập con này được gọi là validation set. Lúc này, tập
huấn luyện là phần còn lại của tập huấn luyện ban đầu. Train error được tính trên tập

huấn luyện mới này, và có một khái niệm nữa được định nghĩa tương tự như
trên validation error, tức error được tính trên tập validation.
Bằng cách sử dụng overfitting, ta tìm mơ hình sao cho cả train error và validation
error đều nhỏ, qua đó có thể dự đốn được rằng test error cũng nhỏ. Phương pháp thường
được sử dụng là sử dụng nhiều mơ hình khác nhau. Mơ hình nào cho validation error nhỏ
nhất sẽ là mơ hình tốt.
Thơng thường, ta bắt đầu từ mơ hình đơn giản, sau đó tăng dần độ phức tạp của
mơ hình. Tới khi nào validation error có chiều hướng tăng lên thì chọn mơ hình ngay
trước đó. Chú ý rằng mơ hình càng phức tạp, train error có xu hướng càng nhỏ đi.
Hình dưới đây mơ tả ví dụ phía trên với bậc của đa thức tăng từ 1 đến 8. Tập
validation bao gồm 10 điểm được lấy ra từ tập training ban đầu.

Hình 2.3. Lựa chọn mơ hình dựa trên validation
Hai đường màu lam và đỏ tương ứng với train error và validation error. Khi bậc
của đa thức tăng lên, train error có xu hướng giảm. Điều này dễ hiểu vì đa thức bậc càng
Nguyễn Lương Đức - E17CQCN01-B

12


Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

cao, dữ liệu càng được fit. Quan sát đường màu đỏ, khi bậc của đa thức là 3 hoặc 4
thì validation error thấp, sau đó tăng dần lên. Dựa vào validation error, có thể xác định
được bậc cần chọn là 3 hoặc 4. Quan sát tiếp đường màu lục, tương ứng với test error,
thấy rằng với bậc bằng 3 hoặc 4, test error cũng đạt giá trị nhỏ nhất, sau đó tăng dần lên.
Vậy cách làm này ở đây đã tỏ ra hiệu quả.
Việc không sử dụng test data khi lựa chọn mơ hình ở trên nhưng vẫn có được kết

quả khả quan vì ta giả sử rằng validation data và test data có chung một đặc điểm nào
đó. Và khi cả hai đều là unseen data, error trên hai tập này sẽ tương đối giống nhau. Khi
bậc nhỏ (bằng 1 hoặc 2), cả ba error đều cao, ta nói mơ hình bị underfitting.
Trong nhiều trường hợp có rất hạn chế số lượng dữ liệu để xây dựng mơ hình. Nếu
lấy quá nhiều dữ liệu trong tập training ra làm dữ liệu validation, phần dữ liệu còn lại
của tập training là khơng đủ để xây dựng mơ hình. Lúc này, tập validation phải thật nhỏ
để giữ được lượng dữ liệu cho training đủ lớn. Tuy nhiên, một vấn đề khác nảy sinh.
Khi tập validation quá nhỏ, hiện tượng overfitting lại có thể xảy ra với tập training cịn
lại.
Giải pháp cho tình huống này là cross-validation. Cross-validation là một cải tiến
của validation với lượng dữ liệu trong tập validation là nhỏ nhưng chất lượng mơ hình
được đánh giá trên nhiều tập validation khác nhau. Một cách thường đường sử dụng là
chia tập training ra k tập con khơng có phần tử chung, có kích thước gần bằng nhau. Tại
mỗi lần kiểm thử, được gọi là run, một trong số k tập con được lấy ra làm validate set.
Mơ hình sẽ được xây dựng dựa vào hợp của k−1 tập con còn lại. Mơ hình cuối được xác
định dựa trên trung bình của các train error và validation error. Cách làm này cịn có tên
gọi là k-fold cross validation.
Khi k bằng với số lượng phần tử trong tập training ban đầu, tức mỗi tập con có
đúng 1 phần tử, ta gọi kỹ thuật này là leave-one-out.
2.3.2.2 Regularization
Một nhược điểm lớn của cross-validation là số lượng mơ hình cần huấn luyện tỉ lệ
thuận với k. Điều đáng nói là mơ hình polynomial regression như trên chỉ có một tham
số liên quan đến độ phức tạp của mơ hình cần xác định là bậc của đa thức. Trong các
nhiều bài toán, lượng tham số cần xác định thường lớn hơn nhiều, và khoảng giá trị của
mỗi tham số cũng rộng hơn nhiều, chưa kể đến việc có những tham số có thể là số thực.
Điều này dẫn đến việc huấn luyện nhiều mơ hình là khó khả thi. Có một kỹ thuật giúp
số mơ hình cần huấn luyện giảm đi nhiều, thậm chí chỉ một mơ hình. Kỹ thuật này có
Nguyễn Lương Đức - E17CQCN01-B

13



Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

tên gọi là regularization. Regularization, một cách dễ hiểu, là thay đổi mơ hình một chút,
chấp nhận hy sinh độ chính xác trong training set, nhưng giảm độ phức tạp của mơ hình,
giúp tránh overfitting trong khi vẫn giữ được tính tổng qt của nó.
2.3.3. Học kết hợp (Ensemble learning)
2.3.3.1 Tổng quan về Học kết hợp
Học kết hợp là phương pháp dựa trên ý tưởng về “sự khôn ngoan của đám đơng”,
cho rằng quyết định của một nhóm người đơng hơn thường tốt hơn của một cá nhân
riêng lẻ. Tương tự, học kết hợp đề cập đến một nhóm gồm các base learner, hoặc các
mơ hình, làm việc tập thể để đạt được dự đoán cuối cùng tốt hơn. Một mơ hình đơn lẻ
có thể khơng hoạt động tốt do phương sai cao hoặc độ chệch cao. Tuy nhiên, khi các
weak learner được tổng hợp lại thì có thể tạo thành một strong learner, vì sự kết hợp làm
giảm độ chệch hoặc phương sai, mang lại hiệu suất mơ hình tốt hơn.
Các phương pháp ensemble thường được minh họa bằng cách sử dụng cây quyết
định vì thuật tốn này có thể dễ bị overfit (phương sai cao và độ chênh thấp) khi chưa
được loại bỏ và cũng có thể tự định nghĩa là underfit (phương sai thấp và độ chênh cao).
Khi một thuật toán overfit hoặc underfit với tập huấn luyện của nó, nó khơng thể tổng
qt hóa tốt cho các tập dữ liệu mới, vì vậy các phương pháp ensemble được sử dụng
để chống lại hành vi này và cho phép tổng qt hóa mơ hình thành các tập dữ liệu mới.

Hình 2.4. Tổng quát về Ensemble Learning.
2.3.3.2 Kỹ thuật ensemble cơ bản
Ở mức độ cơ bản, có 3 kỹ thuật là:
Nguyễn Lương Đức - E17CQCN01-B


14


Đồ án tốt nghiệp đại học

-

Chương 2. Cơ sở lý thuyết

Max Voting: Kỹ thuật này hay được sử dụng cho bài tốn phân lớp, ở đó, nhiều
models được sử dụng để dự đoán cho mỗi mẫu dữ liệu. Kết quả dự đoán của
mỗi model được xem như là một vote. Cái nào có số vote cao nhất thì sẽ là kết
quả dự đốn cuối cùng. Nói cách khác, đây là kiểu bầu chọn theo số đông,
được áp dụng rất nhiều trong cuộc sống, chính trị, …

-

Averaging: Tương tự như kỹ thuật Voting, Averaging cũng sử dụng kết quả
dự đoán của nhiều models. Tuy nhiên, ở bước quyết định kết quả cuối cùng,
giá trị trung bình của tất cả kết quả của các models được lựa chọn.

-

Weighted Average: Đây là kỹ thuật mở rộng của averaging. Mỗi model được
gắn kèm với một trọng số tỷ lệ với mức độ quan trọng của model đó. Kết quả
cuối cùng là trung bình có trọng số của tất cả kết quả của các models.
predfinal =

1
n


∑ni=1

predi ∗ weight i (2.1)

2.3.3.3 Kỹ thuật ensemble nâng cao
Theo như hình 2.4, có 4 kỹ thuật Ensemble được xếp vào nhóm Advanced, nhưng
với quy mơ bài tốn khơng q phức tạp, đồ án chỉ đề cập đến 2 kỹ thuật chính đó là
Bagging và Boosting. (Boosting được trình bày tại phần 2.4. Thuật tốn Rừng ngẫu
nhiên)
Bagging
Bagging, cịn được gọi là tổng hợp bootstrap, là phương pháp ensemble thường
được sử dụng để giảm phương sai trong một tập dữ liệu nhiễu. Trong bagging, một mẫu
dữ liệu ngẫu nhiên trong tập huấn luyện được chọn thay thế, nghĩa là các điểm dữ liệu
riêng lẻ có thể được chọn nhiều lần. Sau khi một số mẫu dữ liệu được tạo, các mô hình
yếu này sau đó được huấn luyện độc lập và tùy thuộc vào loại bài toán (hồi quy hoặc
phân loại) mà trung bình hoặc phần lớn các dự đốn đó mang lại ước tính chính xác hơn.
- Bootstrapping: Bagging tận dụng kỹ thuật lấy mẫu bootstrapping để tạo ra các
mẫu đa dạng. Phương pháp lấy mẫu lại này tạo ra các tập con khác nhau của tập dữ liệu
huấn luyện bằng cách chọn ngẫu nhiên các điểm dữ liệu và thay thế.
- Huấn luyện song song: Các mẫu bootstrap này sau đó được đào tạo độc lập và
song song với nhau bằng cách sử dụng các weak learner.
- Tính tổng hợp: Cuối cùng, tùy thuộc vào nhiệm vụ (là hồi quy hoặc phân loại),
trung bình hoặc phần lớn các dự đốn được lấy để tính tốn một ước tính chính xác hơn.

Nguyễn Lương Đức - E17CQCN01-B

15



Đồ án tốt nghiệp đại học

Chương 2. Cơ sở lý thuyết

Hình 2.5. Sơ đồ Bagging
2.4. Thuật tốn Rừng ngẫu nhiên (Random forest)
Thuật toán rừng ngẫu nhiên là một phần mở rộng của phương pháp bagging vì nó
sử dụng cả bagging và đặc điểm ngẫu nhiên để tạo ra một rừng cây quyết định khơng có
liên quan. Tính ngẫu nhiên của đối tượng, cịn được gọi là “phương pháp khơng gian
con ngẫu nhiên”, tạo ra một tập hợp con ngẫu nhiên của các đối tượng, đảm bảo tính
tương quan thấp giữa các cây quyết định. Đây là điểm khác biệt chính giữa cây quyết
định và rừng ngẫu nhiên. Trong khi cây quyết định xem xét tất cả các phân tách đối
tượng có thể có, rừng ngẫu nhiên chỉ chọn một tập hợp con của các đối tượng đó.
Cách thức hoạt động của Random Forest dựa trên Bagging, kết hợp đầu ra của nhiều
cây quyết định để đạt được một kết quả duy nhất, chỉ khác một điều duy nhất là tại mỗi
nút (node) của cây trong cây quyết định, nó tạo ra một tập ngẫu nhiên các features và sử
dụng tập này để chọn hướng đi tiếp theo. Trong khi đó, Bagging sử dụng tất
cả features để chọn đường.
Các thuật toán rừng ngẫu nhiên có ba siêu tham số (hyperparameter) chính, cần
được thiết lập trước khi huấn luyện. Chúng bao gồm kích thước nút, số lượng cây và số
lượng đối tượng được lấy mẫu. Từ đó, bộ phân loại rừng ngẫu nhiên có thể được sử
dụng để giải quyết các bài toán hồi quy hoặc phân loại.
Nguyễn Lương Đức - E17CQCN01-B

16


×