You are on page 1of 42

Đề tài : Ứng dụng kỹ thuật khai phá dữ liệu trong dự báo kết quả học

tập của sinh viên

Lời nói đầu


Giới thiệu đề tài

Mục lục
Đề tài : Ứng dụng kỹ thuật khai phá dữ liệu trong dự báo kết quả học tập của sinh viên
........................................................................................................................................1
Mục lục...........................................................................................................................2
Lời nói đầu......................................................................................................................3
Chương 1: Giới thiệu bài toán........................................................................................4
1.1: Khai phá dữ liệu trong giáo dục...........................................................................4
1.1.1: Data mining giáo dục là gì?...........................................................................4
1.1.2. Các cách tiếp cận Data mining trong dữ liệu giáo dục..................................5
1.2. các bài toán trong trường đại học.........................................................................6
1.3: phát biểu bài toán.................................................................................................8
1.3.1: Phạm vi đề tài................................................................................................8
1.3.2: Lý do chọn đề tài...........................................................................................8
1.3.3: Mục tiêu của đề tài.........................................................................................9
Chương 2: Cơ sở lí thuyết...............................................................................................9
2.1: Tổng quan khai phá dữ liệu................................................................................10
2.1.1: Sơ lược về khai phá dữ liệu.........................................................................10
2.1.2: Các bài toán liên quan đến khai phá dữ liệu................................................13
2.2: Các kỹ thuật thường sử dụng.............................................................................15
2.2.1: Hồi Quy tuyến tính ( Linear regression)......................................................15
2.2.2. Mạng nơ ron nhân tạo (ANN).....................................................................19
2.3. Các tiêu chí đánh giá độ chính xác.....................................................................23
2.3.1. Hệ số tương quan R bình phương ( r square ) (r2).......................................23
2.3.2. Mean Squared Error ( MSE)........................................................................24
1
2.3.3. Mean Absolute Error ( MAE)......................................................................24
Chương 3. Thực nghiệm và đánh giá kết quả...............................................................25
3.1: Thu thập và xử lý dữ liệu...................................................................................25
3.1.1: Thu thập dữ liệu...........................................................................................25
3.1.2: Xử lí dữ liệu.................................................................................................29
3.2. Áp dụng các kỹ thuật vào mẫu dữ liệu..............................................................38
3.2.1. Áp dụng Linear regression...........................................................................38
3.2.2. Áp dụng ANN..............................................................................................39
3.3. Kết quả thực nghiệm..........................................................................................39
3.3.1. Kết quả khi dùng Linear regression.............................................................39
3.3.2. Kết quả khi dùng ANN................................................................................42
3.4. Đánh giá và so sánh............................................................................................42
Kết luận.........................................................................................................................42

Lời nói đầu

Ngày nay, các trường Đại học và Cao đẳng đã chuyển sang đào tạo theo học chế tín chỉ. Việc
tư vấn học tập nhằm đạt được kết quả học tập cao nhất cho mỗi sinh viên được đặc biệt quan
tâm. Đó là một khó khăn chung cho các cấp quản lý. Bằng cảm tính hoặc suy luận thủ công từ
khối dữ liệu khổng lồ, việc đưa ra những tư vấn tốt cho mỗi sinh viên trong quá trình học
không phải là khả thi. Tại Việt Nam, việc nghiên cứu khai phá dữ liệu trong lĩnh vực giáo dục
đào tạo đang được các nhà quản lý quan tâm nhưng còn nhiều hạn chế và chưa toàn diện.
Phần lớn các trường sử dụng Excel hoặc các phần mềm quản lý đào tạo theo khuyến cáo của
Bộ như Edusoft để quản lý Sinh viên, quản lý kết quả học tập của Sinh viên. Việc các nhà
quản lý muốn có cái nhìn toàn cảnh để thống kê kết quả học tập nhằm đưa ra những phương
hướng, đường lối, chính sách đối với chương trình đào tạo, phương pháp giảng dạy v.v… gặp
rất nhiều khó khăn.Việc khai thác hiệu quả các thông tin liên quan đến sinh viên để giúp kết
quả học tập tốt hơn thì chưa được chú ý nhiều. Thông thường việc theo dõi chỉ sử dụng vào
mục đích xem kết quả đó và hoàn toàn làm excel thủ công để thống kê.

Trường Đại học Giao Thông Vận Tải với bề dày nhiều năm, đã đào tạo số lượng lớn cho đội
ngũ Kỹ sư chất lượng. Hàng năm, Phòng Đào tạo cũng tư vấn và thay đổi chương trình đào
tạo cho phù hợp với thực tế. Nhưng việc thay đổi cũng chỉ mang tính chất chủ quan, cảm tính.
Dữ liệu đào tạo được lưu trữ và sử dụng với mục đích tra cứu, và các báo cáo đơn giản. Các

2
dữ liệu khai thác từ phần mềm quản lý sinh viên chưa được ứng dụng cho mục đích dự báo
kết quả học tập hay là các bài toán về khai thác dữ liệu đó là chưa được ứng dụng.

Vì vậy, đề tài “Ứng dụng kỹ thuật khai phá dữ liệu trong dự báo kết quả học tập của sinh
viên” đi sâu vào việc tiến hành khai thác dữ liệu điểm nhằm đưa ra được các báo cáo đa chiều,
và dự đoán được kết quả học tập của Sinh viên dựa trên các điểm môn học của các học kỳ
trước. Đề tài tiến hành nghiên cứu các kỹ thuật phân lớp trong khai phá dữ liệu, kỹ thuật phân
loại hay dự báo để ứng dụng các kỹ thuật đó để xây dựng các mô hình dự đoán kết quả học
tập của Sinh viên. Từ đó, đánh giá và lựa chọn mô hình cũng như kỹ thuật cho kết quả dự
đoán tốt nhất để ứng dụng dự báo kết quả học tập cho mỗi Sinh viên.

Chương 1: Giới thiệu bài toán

1.1: Khai phá dữ liệu trong giáo dục

Những ngày này, nhiều nghiên cứu khác nhau đang được tiến hành trong lĩnh vực Data
mining. Data mining giáo dục là một lĩnh vực nghiên cứu quan trọng được gọi là
EDM. Nó sử dụng nhiều thuật toán để cải thiện kết quả giáo dục và giải thích các quy
trình giáo dục để đưa ra quyết định sau này.

Ở đây, chúng ta sẽ thảo luận về một số thuật toán Data mining được áp dụng cho lĩnh
vực liên quan đến giáo dục. Các thuật toán này được sử dụng để khai thác kiến thức từ
dữ liệu giáo dục và nghiên cứu các thuộc tính có thể thêm vào để tăng hiệu suất. Việc
học ban đầu bắt đầu trong lớp học và dựa trên các mô hình hành vi, tâm lý và xây
dựng. Mô hình hành vi phụ thuộc vào những thay đổi có thể quan sát được trong hành
vi của học sinh để xác định kết quả học tập. Các mô hình tâm lý dựa trên sự tham gia
hiệu quả của giáo viên vào quá trình học tập. Trong các mô hình xây dựng, học sinh
cần tự học từ các nguồn sẵn có khác nhau.

3
Theo Siemens, học tập không còn là một hoạt động nội bộ, cô lập. Nó được xem như
một cuộc biểu tình trong một mạng lưới các nút giúp cải thiện trải nghiệm học tập của
sinh viên và giảm bớt yêu cầu về việc ngay lập tức được đưa vào giảng dạy của một
giáo sư. Môi trường học tập thông thường đã dần thay đổi thành các điều kiện học tập
dựa vào cộng đồng.

1.1.1: Data mining giáo dục là gì?

EDM là viết tắt của Data mining giáo dục. Nó có thể được định nghĩa là kỹ thuật tìm
kiếm các loại dữ liệu cụ thể đến từ hệ thống giáo dục và thực hiện các kỹ thuật đó để
hiểu học sinh và hệ thống tốt hơn. EDM là quá trình chuyển đổi dữ liệu thô thu được
từ các hệ thống giáo dục thành dữ liệu hữu ích có thể được sử dụng để đưa ra các
quyết định theo hướng dữ liệu. Sự phát triển của khai thác và phân tích dữ liệu trong
lĩnh vực giáo dục là tương đối muộn so với các lĩnh vực khác. Tuy nhiên, việc Data
mining giáo dục qua web là một thách thức vì các tính năng cụ thể của nó trên dữ liệu.
Trong khi nhiều loại dữ liệu có các khía cạnh tuần tự, việc phân phối thông tin giáo
dục theo thời gian có các thuộc tính đặc biệt.

Các kỹ thuật Data mining giáo dục đã rất hiệu quả và tạo ra một loạt các hiện tượng
liên quan đến việc học tập của học sinh trên nền tảng trực tuyến và đạt được độ chính
xác tốt hơn một cách nhất quán. Có những khía cạnh quan trọng cần được xem xét để
biện minh cho sự tiến bộ phi thường của dữ liệu giáo dục, vốn đang phát triển sự thừa
nhận rằng không phải tất cả dữ liệu quan trọng đều được lưu trữ trong một luồng dữ
liệu.

Nghiên cứu trong giáo dục đã dẫn đến một số cải tiến giáo dục mới. Những đổi mới
dựa trên máy tính đã thay đổi cách chúng ta sống và học tập. Ngày nay, việc sử dụng
thông tin thu thập được thông qua những tiến bộ này đang hỗ trợ vòng chuyển đổi thứ
hai trong tất cả các lĩnh vực và học tập với nhiều thành tựu khác nhau. Khai phá dữ
liệu là kỹ thuật mạnh mẽ nhất với tiềm năng đáng kinh ngạc để giúp các trường học và
đại học tập trung vào thông tin quan trọng nhất trong bộ dữ liệu mà họ đã thu thập về
hành vi của sinh viên và những người học tiềm năng.

Data mining sử dụng các công cụ của nó để tìm các mẫu và mối quan hệ chưa biết
trước đây trong các tập dữ liệu khổng lồ. Các công cụ này có thể kết hợp các mô hình
thống kê, thuật toán toán học và kỹ thuật máy học. Các kỹ thuật này có thể tìm thấy
thông tin trong dữ liệu mà các truy vấn và báo cáo không thể tiết lộ một cách hiệu quả.

1.1.2. Các cách tiếp cận Data mining trong dữ liệu giáo dục

4
Data mining là một nhánh của khoa học máy tính nhằm mục đích khám phá các yếu tố
và mẫu khác nhau để giúp đưa ra quyết định. Mô hình trong hình đã cho nhằm mục
đích thiết kế Data mining giáo dục. Data mining có thể khuyến khích bộ nhớ thể chế.
Khai phá dữ liệu, còn được gọi là KDD (Khám phá tri thức trong cơ sở dữ liệu), đề cập
đến “Khai thác” hoặc trích xuất dữ liệu có kiến thức từ các tập dữ liệu khổng lồ. Một
hệ thống giáo dục thường có một cơ sở dữ liệu giáo dục khổng lồ. Dữ liệu này có thể
bao gồm dữ liệu của giáo viên, dữ liệu tài khoản, dữ liệu của học sinh, dữ liệu của cựu
sinh viên, v.v. Data mining giáo dục tập trung vào các kỹ thuật phát triển để khám phá
các loại dữ liệu đặc biệt bắt nguồn từ bối cảnh giáo dục. Những dữ liệu này bắt nguồn
từ nhiều nguồn khác nhau, bao gồm dữ liệu từ môi trường lớp học trực diện truyền
thống, phần mềm giáo dục trực tuyến, phần mềm giáo dục, v.v.

Hình 1.1: Tổng quan khai phá dữ liệu trong giáo dục.

Các phương pháp Data mining được sử dụng để vận hành trên các tập dữ liệu khổng lồ
nhằm tìm ra các mẫu và mối quan hệ ẩn, điều này rất hữu ích cho nhiều tổ chức trong
việc đưa ra các quyết định dựa trên dữ liệu. Các kỹ thuật và thuật toán khác nhau như
Phân cụm, Phân loại, Hồi quy, Mạng thần kinh, Trí tuệ nhân tạo, Quy tắc kết hợp,
Thuật toán di truyền, Cây quyết định, v.v. được sử dụng để khám phá kiến thức từ cơ
sở dữ liệu.

1.2. các bài toán trong trường đại học

5
Hiện nay ta thấy rất nhiều bài toán liên quan đến ứng dụng dữ liệu học tập của
sinh viên :

- Phân tích thống kê: Bài toán này liên quan đến việc phân tích và tóm tắt
thông tin từ dữ liệu điểm của sinh viên. Các thống kê có thể bao điểm trung
bình, phương sai, độ lệch chuẩn và phân phối điểm của sinh viên. Bằng cách áp
dụng các phương pháp thống kê, bạn có thể hiểu rõ hơn về hiệu suất học tập của
sinh viên và phân tích sự khác biệt giữa các nhóm sinh viên.

- Phân tích chuỗi thời gian: Nếu bạn có dữ liệu điểm theo chuỗi thời gian ,
bạn có thể áp dụng phân tích chuỗi thời gian để phát hiện xu hướng, mô hình và
dự đoán điểm của sinh viên trong tương lai. Các phương pháp phổ biến bao gồm
phân tích dòng chuỗi thời gian , mô hình hoá ARIMA ( Autoregressive
Intergrated Moving Average), hoặc sử dụng mạng nơ-ron hồi qui (RNN) như
LSTM ( Long short-term memory) để dự báo điểm.

- Phân loại và dự báo: Bài toán này liên quan đến việc xây dựng mô hình
để phân loại sinh viên vào các nhóm dưaj trên điểm số và các biến liên quan
khác. Có thể sự dụng các thuật toán như học máy ( ví dụ: cây quyết định, máy
vector hỗ trợ (SVM)) để xây dựng mô hình dự báo kết quả học tập của sinh viên.

- Phân tích định hướng: Bài toán này nhằm phát hiện và phân tích các mô
hình, qui tắc hoặc xu hướng trong dự liệu điểm của sinh viên. Có thể áp dụng
khai phá dữ liệu và khai phá tri thức để tìm ra các quy tắc tiềm ẩn, các nhóm
sinh viên có đặc điểm tương đồng, hoặc các yếu tố ảnh hưởng đến kết quả học
tập.

- Phân tích nhóm và phân tích cụm: Bạn có thể áp dụng phân tích nhóm và phân
tích cụm để phân loại sinh viên vào các nhóm có đặc điểm tương tự nhau dựa trên
điểm số. Các phương pháp như phân tích thành phần chính (PCA) hoặc phân tích cụm
(clustering) như K-means hoặc Hierarchical Clustering có thể được sử dụng để phân
nhóm dữ liệu điểm của sinh viên.

- Dự báo rớt và thành công: Bài toán này liên quan đến việc dự đoán xác suất rớt
hoặc thành công của sinh viên dựa trên dữ liệu điểm. Bằng cách xây dựng mô hình dự
đoán, bạn có thể xác định các yếu tố quan trọng ảnh hưởng đến kết quả học tập và
cung cấp gợi ý cho các biện pháp can thiệp và hỗ trợ đối với sinh viên có nguy cơ rớt.

6
1.3: phát biểu bài toán

Ứng dụng kỹ thuật khai phá dữ liệu trong dự báo kết quả học tập thì ngày càng
phổ biến ở các trường cấp cũng như các trường đại học.
Để có thể cảnh báo hay tư vấn thật tốt cho học sinh, sinh viên của mình thì tri
thức khai phá được từ dữ liệu điểm của học sinh, sinh viên là vô cùng quan
trọng. Từ việc chạy các thuật toán hay mô hình AI để dự báo trước kết quả học
tập của sinh viên, từ đó có thể cảnh báo trước về tình trạng học tập cho sinh đó
cũng như gia đình để có cách cải thiện kết quả. Khai phá dữ liệu nói chung và
khai phá dữ liệu trong giáo dục nói riêng thì đều là quá trình ta tìm tòi tri thức từ
những thông tin và dữ liệu thô.
1.3.1: Phạm vi đề tài

Ở đây chúng ta sẽ nghiên cứu phạm vi là khoa công nghệ thông trong trường đại
học Giao Thông Vận Tải. Ta sẽ thu thập dữ liệu điểm của toàn bộ sinh viên khoa
công nghệ thông tin từ khoá 56 đến khoá 60 của trường đại học Giao Thông Vận
Tải.

1.3.2: Lý do chọn đề tài

Với mục đích là tư vấn và cảnh báo cho học sinh về kết quả học tập cũng như
phân loại, thống kê và đánh giá được tỉ lệ về kết quả học tập tốt của sinh viên để
có các phương án dạy học cũng như tư vấn tuyển sinh khách quan cho các lần
tuyển sinh tiếp theo.
7
1.3.3: Mục tiêu của đề tài

Với dữ liệu thu thập được cũng như phạm vi và lí do thì ta đặt ra mục
tiêu sau cho đề tài:
- Dựa vào các kết quả năm 1,2,3 dự báo kết quả của năm 4
- Phân loại tốt nghiệp
- Đánh giá các môn học ảnh hưởng nhất đến quả học tập
- Thống kê và so sánh kết quả giữa các khoá mà khác lộ trình đào
tạo thì kết quả học tập sẽ như thế nào.

Chương 2: Cơ sở lí thuyết

8
2.1: Tổng quan khai phá dữ liệu
2.1.1: Sơ lược về khai phá dữ liệu

Data mining là một trong số các lĩnh vực quan trọng nhất trong công nghệ hiện nay.
Đóng vai trò đặc biệt quan trọng trong việc phân tích và quản lý dữ liệu. Trong thời
buổi công nghệ ngày càng phát triển như hiện nay, việc áp dụng các công nghệ thông
tin vào quá trình xử lý và phân tích dữ liệu là điều vô cùng cần thiết.

2.1.1.1: Data Mining là gì?


Data mining hay được hiểu là khai phá dữ liệu. Đây là quá trình phân loại, sắp xếp các
tập hợp dữ liệu lớn nhằm xác định các mẫu và thiết lập mối quan hệ giúp giải quyết
các vấn đề nhờ quá trình phân tích dữ liệu.

Các MCU khai phá dữ liệu cho phép các doanh nghiệp có khả năng dự đoán được các
xu hướng trong tương lai.

Quá trình khai phá dữ liệu là một quá trình phức tạp, bao gồm kho dữ liệu chuyên sâu
và các công nghệ tính toán. Hơn hết, Data mining không chỉ bị giới hạn trong việc
trích xuất các dữ liệu, mà còn được ứng dụng để chuyển đổi, làm sạch, tích hợp dữ liệu
và phân tích mẫu.

9
Bên cạnh đó, trong Data mining còn tích hợp nhiều tham số quan trọng khác: quy tắc
kết hợp, phân loại, phân cụm, dự báo… Một số tính năng chính của Data mining phải
kế để như:

– Dự đoán các mẫu dựa trên xu hướng trong dữ liệu

– Tính toán, dự đoán kết quả

– Tạo thông tin phản hồi để phân tích

– Tập trung vào cơ sở dữ liệu lớn hơn

– Phân cụm dữ liệu trực quan

2.1.1.2: Lịch sử Data Mining


Quá trình Data mining khám phá ra các kết nối ẩn và dự đoán xu hướng trong lương
lại có một lịch sử phát triển lâu dài. Bạn có nghĩ rằng khái niệm Data mining đã tồn tại
trước khi máy tính ra đời?

Trước đây, Data mining còn được biết đến với tên gọi khác là “Khám phá tri thức
trong cơ sở dữ liệu”. Thuật ngữ “Khai thác dữ liệu” chưa được sử dụng cho đến những
năm 1990. Tuy nhiên, nền tảng của Data mining vẫn bao gồm 3 ngành khoa học đan
xen là thống kê, trí tuệ nhân tạo và máy học (Machine learning).

Trong nhiều thập kỷ qua, với sự phát triển mạnh mẽ của Data mining và cùng với
những tiến bộ về khả năng xử lý và tốc độ đã giúp con người vượt ra khỏi những thực
tiến thủ công. Giúp tiết kiệm thời gian để phân tích dữ liệu một cách nhanh chóng và
dễ dàng hơn.

Các bộ dữ liệu đã được thu thập ngày càng phức tạp, tinh vi và có nhiều tiềm năng để
khám phá ra những kiến thức mới hơn.

Vào năm 2003, một cuốn sách là Moneyball đã giới thiệu về Data mining cho nhiều
đối tượng hơn thông qua các câu chuyện về cách tiếp cận dựa trên phân tích cách xây
dựng một đội hình bóng chày chuyên nghiệp.

Và ngày nay, việc sử dụng data mining trong nhiều tình huống ngày càng tăng. Data
mining đóng một vai trò quan trọng trong nhiều ngành công nghiệp, nhiều lĩnh vực.

10
2.1.1.3: Sự khác biệt giữa Data Mining và Machine Learning

– Data Mining là quá trình tìm kiếm các mẫu trong dữ liệu. Cái hay của Data mining
chính là giúp trả lời các câu hỏi mà chúng ta không biết bằng cách chủ động xác định
các mẫu dữ liệu không trực quan thông qua các thuật toán.

– Tuy nhiên việc giải thích những hiểu biết sâu sắc này và ứng dụng chúng vào các
quyết định kinh doanh vẫn cần tới sự tham gia của con người.

– Trong khi đó, Machine Learning là quá trình dạy máy tính học như con người. Với
Machine Learning, máy tính học được cách xác định xác suất và đưa ra dự đoán dựa
trên phân tích dữ liệu của chúng.

– Mặc dù trong quá trình làm và học , Machine Learning đôi khi sử dụng khai thác dữ
liệu như một quy trình, nhưng đều không cần đến sự tham gia thường xuyên của con
người. Ví dụ như: tô tô tự lái dựa vào khai thác dữ liệu để xác định nơi dừng, tăng tốc,
nơi rẽ…

2.1.1.4: Các bước trong Data Mining


Trong Data mining bao gồm các bước quan trọng như:

– Bước 1: Làm sạch dữ liệu – Đây là bước làm sạch giúp cho dữ liệu không có tạp âm,
hoặc các bất thường khác trong dữ liệu.

– Bước 2: Tích hợp các dữ liệu – Khi tiến hành tích hợp dữ liệu, nhiều nguồn dữ liệu
sẽ được kết hợp tạo thành một dữ liệu chung.

– Bước 3: Lựa chọn dữ liệu – Trong bước này, dữ liệu sẽ được trích xuất từ cơ sở dữ
liệu.

11
– Bước 4: Chuyển đổi dữ liệu – Khi chuyển đổi dữ liệu, dữ liệu sẽ được chuyển đổi để
thực hiện quá trình phân tích, tóm tắt hay các hoạt động tổng hợp khác.

Các bước trong Data Mining

– Bước 5: Khai phá dữ liệu – Trong khi khai phá dữ liệu, dữ liệu hữu ích sẽ được trích
xuất từ nhóm dữ liệu hiện có.

– Bước 6: Đánh giá mẫu – Trong bước này sẽ tiến hành phân tích một số mẫu có trong
dữ liệu.

– Bước 7: Trình bày thông tin – Trong bước cuối cùng này, thông tin sẽ được thể hiện
dưới dạng cây, bảng, biểu đồ và ma trận.

2.1.2: Các bài toán liên quan đến khai phá dữ liệu
2.1.2.1: Phân cụm
Phân cụm đề cập đến quá trình xác định và phân loại các đối tượng thành các nhóm khác
nhau, việc phân đoạn một tập dữ liệu thành các tập con (cụm) để dữ liệu trong mỗi tập con có
chung một số đặc điểm của các lớp đối tượng tương tự.

2.1.2.2: Phân Loại

Phân loại đề cập đến quá trình mô tả các mối quan hệ dữ liệu và thể hiện các giá trị để quan
sát trong tương lai. Phân loại là nhiệm vụ của việc học một hàm mục tiêu ánh xạ mỗi tập
thuộc tính A đến một trong các cấp độ lớp được xác định trước B. Có nhiều kỹ thuật phân loại
khác nhau, đó là Phương pháp dựa trên cây quyết định, Suy luận dựa trên bộ nhớ, Phương
pháp dựa trên quy tắc, Naïve Bayes và Mạng tín ngưỡng Bayes, Mạng thần kinh. Trong phân
loại, dữ liệu thử nghiệm được sử dụng để ước tính độ chắc chắn của các quy tắc phân loại.

12
Nếu độ chắc chắn là chấp nhận được, các quy tắc có thể được áp dụng cho các bộ dữ liệu mới.
Thuật toán đào tạo trình phân loại sử dụng các ví dụ đã được phân loại trước này để xác định
cách sắp xếp các tham số cần thiết để phân biệt thích hợp.

2.1.2.3: Sự dự đoán ( prediction)


Các kỹ thuật hồi quy có thể được điều chỉnh để dự đoán. Nó có thể được sử dụng để
chứng minh mối liên hệ giữa một hoặc nhiều biến độc lập và phụ thuộc. Trong Data
mining, các biến độc lập là các thuộc tính đã được biết trước và các yếu tố phản hồi là
những gì chúng ta cần dự đoán. Thật không may, nhiều vấn đề hàng ngày trong thế
giới thực không dễ dự đoán. Do đó, các kỹ thuật tiên tiến hơn như hồi quy logistic,
lưới thần kinh và cây quyết định có thể rất quan trọng để dự báo các giá trị trong tương
lai.

13
2.2: Các kỹ thuật thường sử dụng
2.2.1: Hồi Quy tuyến tính ( Linear regression)

2.2.1.1: Hồi quy tuyến tính là gì?

Hồi quy tuyến tính là một kỹ thuật phân tích dữ liệu dự đoán giá trị của dữ liệu
không xác định bằng cách sử dụng một giá trị dữ liệu liên quan và đã biết khác.
Nó mô hình toán học biến không xác định hoặc phụ thuộc và biến đã biết hoặc
độc lập như một phương trình tuyến tính. Ví dụ, giả sử rằng bạn có dữ liệu về
chi phí và thu nhập của bạn trong năm ngoái. Kỹ thuật hồi quy tuyến tính phân
tích dữ liệu này và xác định rằng chi phí của bạn là một nửa thu nhập của bạn.
Sau đó, họ tính toán một chi phí trong tương lai không rõ bằng cách giảm một
nửa thu nhập được biết đến trong tương lai.

2.2.1.2: Tại sao hồi quy tuyến tính lại quan trọng?

14
Các mô hình hồi quy tuyến tính tương đối đơn giản và cung cấp một công thức
toán học dễ giải thích để đưa ra các dự đoán. Hồi quy tuyến tính là một kỹ thuật
thống kê được sử dụng từ lâu và áp dụng dễ dàng cho phần mềm và tính toán.
Các doanh nghiệp sử dụng nó để chuyển đổi dữ liệu thô một cách đáng tin cậy
và có thể dự đoán được thành nghiệp vụ thông minh và thông tin chuyên sâu
hữu ích. Các nhà khoa học trong nhiều lĩnh vực, bao gồm sinh học và các ngành
khoa học hành vi, môi trường, và xã hội, sử dụng hồi quy tuyến tính để tiến hành
phân tích dữ liệu sơ bộ và dự đoán các xu hướng tương lai. Nhiều phương pháp
khoa học dữ liệu, chẳng hạn như máy học và trí tuệ nhân tạo, sử dụng hồi quy
tuyến tính để giải quyết các bài toán phức tạp.

2.2.1.3: Hồi quy tuyến tính hoạt động như thế nào?
Về bản chất, một kỹ thuật hồi quy tuyến tính đơn giản cố gắng vẽ một đồ thị
đường giữa hai biến dữ liệu, x và y. Là biến độc lập, x được vẽ dọc theo trục
hoành. Các biến độc lập còn được gọi là biến giải thích hoặc biến dự báo. Biến
phụ thuộc, y, được vẽ trên trục tung. Bạn cũng có thể tham chiếu các giá trị y
như các biến phản hồi hoặc các biến dự báo.

Các bước trong hồi quy tuyến tính:


Để có cái nhìn tổng quan, hãy xem xét dạng đơn giản nhất của phương trình đồ
thị đường giữa y và x; y=c*x+m, trong đó c và m là hằng số cho tất cả các giá trị
có thể có của x và y. Vì vậy, chẳng hạn giả sử rằng tập dữ liệu đầu vào cho (x,y)
là (1,5), (2,8), và (3,11). Để xác định phương pháp hồi quy tuyến tính, bạn sẽ
thực hiện các bước sau:

1. Vẽ một đường thẳng và đo lường mối tương quan giữa 1 và 5.
2. Tiếp tục thay đổi hướng của đường thẳng cho các giá trị mới (2,8) và
(3,11) cho đến khi tất cả các giá trị đều phù hợp.
3. Xác định phương trình hồi quy tuyến tính là y=3*x+2.
4. Ngoại suy hoặc dự đoán y là 14 khi x là 4.

2.2.1.4: Hồi quy tuyến tính trong máy học là gì?

15
Trong máy học, các chương trình máy tính gọi là thuật toán phân tích các tập dữ
liệu lớn và làm việc ngược từ dữ liệu đó để tính toán phương trình hồi quy tuyến
tính. Các nhà khoa học dữ liệu đầu tiên sẽ đào tạo thuật toán trên các tập dữ liệu
đã biết hoặc được dán nhãn và sau đó sử dụng thuật toán để dự đoán các giá trị
chưa biết. Dữ liệu thực tế phức tạp hơn so với ví dụ trước. Đó là lý do tại sao
phân tích hồi quy tuyến tính phải sửa đổi hoặc biến đổi các giá trị dữ liệu về mặt
toán học để đáp ứng bốn giả định sau đây.

Mối quan hệ tuyến tính:

Mối quan hệ tuyến tính phải tồn tại giữa các biến độc lập và phụ thuộc. Để xác
định mối quan hệ này, các nhà khoa học dữ liệu tạo ra một biểu đồ phân tán –
một tập hợp ngẫu nhiên các giá trị x và y – để xem liệu chúng có nằm trên một
đường thẳng hay không. Nếu không, bạn có thể áp dụng các hàm phi tuyến tính
như căn bậc hai hoặc log để tạo ra mối quan hệ tuyến tính giữa hai biến về mặt
toán học.
Phần dư độc lập:

Các nhà khoa học dữ liệu sử dụng phần dư để đo lường độ chính xác dự đoán.
Phần dư là chênh lệch giữa dữ liệu quan sát được và giá trị dự đoán. Phần dư
không được có một mô hình nhận dạng được giữa chúng. Ví dụ: bạn không
muốn phần dư tăng lên theo thời gian. Bạn có thể sử dụng các bài kiểm tra toán
học khác nhau, như kiểm tra Durbin-Watson, để xác định phần dư độc lập. Bạn
có thể sử dụng dữ liệu giả để thay thế bất kỳ dữ liệu biến thiên nào, chẳng hạn
như dữ liệu theo mùa.
Tính chuẩn:

Các kỹ thuật vẽ đồ thị như các biểu đồ Q-Q xác định xem các phần dư có phân
bố bình thường hay không. Các phần dư sẽ nằm dọc theo một đường chéo ở
trung tâm của đồ thị. Nếu phần dư không được chuẩn hóa, bạn có thể kiểm tra
dữ liệu cho các điểm ngoại lai ngẫu nhiên hoặc các giá trị không phải là điển
hình. Loại bỏ các điểm ngoại lai hoặc thực hiện phép biến đổi phi tuyến tính có
thể khắc phục sự cố.
Phương sai không đổi

Phương sai không đổi giả định rằng phần dư có phương sai cố định hoặc độ lệch
chuẩn so với trung bình cho mọi giá trị của x. Nếu không, kết quả phân tích có
thể không chính xác. Nếu giả định này chưa được đáp ứng, bạn có thể phải thay
đổi biến phụ thuộc. Bởi vì phương sai xuất hiện tự nhiên trong các tập dữ liệu
16
lớn, giải thích được lý do phải thay đổi quy mô của biến phụ thuộc. Ví dụ: thay
vì sử dụng quy mô dân số để dự đoán số trạm cứu hỏa trong một thành phố, có
thể sử dụng kích thước dân số để dự đoán số trạm cứu hỏa trên mỗi người.

2.2.1.5: Có những loại hồi quy tuyến tính nào?

Một số loại phân tích hồi quy phù hợp để xử lý các tập dữ liệu phức tạp hơn các
loại khác. Sau đây là một số ví dụ.
Hồi quy tuyến tính đơn giản:

Hồi quy tuyến tính đơn giản được định nghĩa bằng hàm tuyến tính:

Y= β0*X + β1 + ε

β0 và β1 là hai hằng số chưa biết đại diện cho độ dốc hồi quy, trong khi ε
(epsilon) là thuật ngữ sai số.

Bạn có thể sử dụng hồi quy tuyến tính đơn giản để lập mô hình mối quan hệ
giữa hai biến, chẳng hạn như sau:

● Lượng mưa và sản lượng cây trồng


● Tuổi và chiều cao ở trẻ em
● Nhiệt độ và sự giãn nở của thủy ngân kim loại trong nhiệt kế
Hồi quy tuyến tính bội

Trong phân tích hồi quy tuyến tính bội, tập dữ liệu chứa một biến phụ thuộc và
nhiều biến độc lập. Hàm đường hồi quy tuyến tính thay đổi để bao gồm nhiều
yếu tố như sau:

Y= β0*X0 + β1X1 + β2X2+…… βnXn+ ε

Khi số lượng biến dự báo tăng lên, các hằng số β cũng tăng lên tương ứng.

Hồi quy tuyến tính bội lập mô hình nhiều biến và tác động của chúng lên một
kết quả:

● Lượng mưa, nhiệt độ và mức độ sử dụng phân bón đối với sản lượng cây
trồng
● Chế độ ăn uống và tập thể dục đối với bệnh tim
● Tăng trưởng tiền lương và lạm phát trên lãi suất cho vay gia đình
Hồi quy logistic

17
Các nhà khoa học dữ liệu sử dụng hồi quy logistic để đo lường xác suất xảy ra
một sự kiện. Dự đoán là một giá trị giữa 0 và 1, trong đó 0 thể hiện một sự kiện
khó xảy ra, và 1 thể hiện khả năng tối đa rằng sự việc đó sẽ xảy ra. Các phương
trình logistic sử dụng các hàm logarit để tính toán đường hồi quy.

Sau đây là một số ví dụ:

● Xác suất thắng hoặc thua trong một trận đấu thể thao
● Xác suất đỗ hoặc trượt một bài kiểm tra
● Xác suất một hình ảnh là trái cây hoặc con vật

2.2.2. Mạng nơ ron nhân tạo (ANN)

2.2.2.1. Thế nào là mạng nơ ron nhân tạo ?


Mạng nơ ron nhân tạo ( artificial neural networks ) viết tắt là ANN là một
phần của học máy. Tên và mà cấu trúc của mạng được lấy cảm hứng từ các
tế bào não bộ của con người, bắt trước cách các tế bào thân kinh sinh học
truyền tín hiệu cho nhau.

Mạng ANN bao gồm 1 lớp nút, chứa lớp đầu vào, một hoặc nhiều lớp ẩn và
lớp đầu ra. Mỗi nút, hoặc nơ ron nhân tạo , kết nối với nút khác và có trọng
số và ngưỡng liên quan. Nếu đầu ra của bất kì nút riêng lẻ nào cao hơn giá
trị ngưỡng đã định, nút đó sẽ được kích hoạt, gửi dữ liệu đến lớp tiếp theo
của mạng. Mặt khác , không có dữ liệu nào được chuyển sang lớp kế tiếp
theo của mạng.

Mạng nơ ron dựa vào dữ liệu đào tạo để tìm hiểu và cải thiện độ chính xác
của chúng theo thời gian. Sauk hi các thuật toán học tập này được tinh chỉnh
để đạt được độ chính xác , chúng sẽ là những công cũ mạnh mẽ trong các
bài toán phân loại , dự đoán hay nhận dạng và gợi ý. Một trong những mạng
nơ ron nổi tiếng là thuật toán tìm kiếm của Google.

18
2.2.2.2. Cấu trúc của mạng

Hình . cấu trúc mô phỏng từ tế bào sinh học sang nhân tạo

Hình: Cấu trúc hoạt động của các tầng trong mạng

+ Lớp đầu vào ( Input layer):


 Lớp đầu vào nhận dữ liệu đầu vào và truyền nó qua mạng
 Số lượng nút nơ ron đầu vào phụ thuộc vào số chiều của dữ liệu đầu vào.
+ Lớp ẩn ( Hidden layer):
 Lớp ẩn là lớp giữa lớp đầu vào và lớp đầu ra

19
 Mạng ANN có thể có 1 hoặc nhiều lớp ẩn tùy thuộc vào độ phức tạp của
vấn đề
+ Lớp đầu ra ( Output layer):
 Lớp đầu ra là lớp cuối cùng của mạng và đưa ra kết quả dự đoán.
 Số lượng nút này phụ thuộc vào loại vấn đề ( phân loại, dự đoán, hoặc
hồi qui, ….)

2.2.2.3. Hàm kích hoạt ( Activation function) :


 Hàm kích hoạt cho nút ẩn :
 Hàm kích hoạt thường được áp dụng sau khi tính trọng số
đầu vào của nút nơ ron.
 Các hàm kích hoạt phổ biến như: sigmoid, tanh, ReLU,
Leaky ReLU
o Hàm Sigmoid :
- Công thức : f(x) = 1/(1+exp(-x))
- Phạm vi đầu ra : (0,1)
- Đặc điểm: hàm sigmoid chuyển đổi giá trị
đầu vào thành một giá trị xác suất trong
khoảng 0 đến 1 . Nó thường được sử dụng
trong các tác vụ phân loại nhị phân.
o Hàm ReLU ( Rectified Linear Unit):
- Công thức: f(x) = max ( O, x)
- Phạm vi đầu ra : [O, + ∞ ]
- Đặc điểm: hàm ReLU loại bỏ các giá trị âm và
giữu lại các giá trị không âm. Nó là một hàm
kích hoạt phi tuyến tính và thường được sủ
dụng trong các mạng nơ ron sâu vì tính kháng
nhiễu và khả năng học tốt.
 Hàm kích hoạt cho nơ ron đầu ra :
 Hàm này phụ thuộc vào loại vấn đề là bài toán phân loại
hay dự báo hay các vấn đề khác thì các hàm cũng sẽ khác.
 Một số hàm phổ biến như sigmoid, Softmax, Linear, …
o Hàm Softmax:
- Công thức: f(x) = exp(x) / sum(exp(x))
- Phạm vi đầu ra: ( 0,1) và tổng các đầu ra
bằng 1
- Đặc điểm: hàm Softmax được sử dụng chủ
yếu trong các tác vụ phân loại đa lớp. Nó
chuyển đổi các giá trị đầu vào thành các xác

20
suất phân phối trên các lớp khác nhau, giúp
xác định lớp.

2.2.2.4. Quá trình học


 Hàm mất mát ( Loss function):
 Hàm mất mát đánh giá sai số giữa đầu ra thực tế và đầu ra dự
đoán của mạng.
 Mục tiêu là giảm thiểu các giá trị hàm mất mát thông qua điêu
chỉnh các trọng số của mạng
 Một số loss function phổ biến:
 Hàm mất mát bình phương trung bình ( Mean Squared
Error – MSE): Đây là hàm mất mát phổ biến trong bài toán
hổi quy, trong đó đánh giá sự chênh lệch bình phương giữa
các giá trị dự đoán và giá teij thực.
o MSE = 1/n * Σ(y_pred - y_true)^2
Trong đó, y_pred là giá trị dự đoán, y_true là giá trị thực tế và
n là số lượng mẫu

 Hàm mất mát trung bình tuyệt đối (Mean Absolute Error -
MAE): Hàm này cũng được sử dụng trong bài toán hồi quy
và tính toán sai số tuyệt đối trung bình giữa giá trị dự đoán
và giá trị thực tế.
MAE = 1/n * Σ|y_pred - y_true|

 Hàm mất mát Cross-Entropy: Đây là hàm mất mát phổ


biến trong bài toán phân loại. Trong đó, sử dụng hàm
softmax để chuyển đổi đầu ra của mô hình thành các xác
suất dự đoán cho từng lớp, và sau đó tính toán mất mát dựa
trên sự chênh lệch giữa xác suất dự đoán và nhãn thực tế.
Cross-Entropy = -Σ(y_true * log(y_pred))
 Hàm mất mát binary cross-entropy: Đây là hàm mất
mát phổ biến trong bài toán phân loại nhị phân,
trong đó chỉ có hai lớp. Hàm này tính toán mất mát
dựa trên sự chênh lệch giữa xác suất dự đoán và nhãn
thực tế.
Binary Cross-Entropy = -(y_true * log(y_pred) + (1
- y_true) * log(1 - y_pred))

 Thuật toán lan truyền ngược

21
 Quá trình lan truyền ngược được sử dụng để cập nhật các
trọng số liên kết trong mạng đẻ giảm thiếu mất mát.
 Giá trị sai số được lan truyền ngược từ lớp đầu ra qua mạng để
tính toán đạo hàm riêng của hàm mất mát theo trọng số.
 Các trọng số được cập nhật bằng cách sử dụng một thuật toán
tối ưu hóa như gradient descent hoặc biến thể của nó.
 Epoch và tốc độ học ( Epoch và Learning rate):
 Quá trình học diễn ra qua nhiều vòng lặp gọi là epoch
 Mỗi epoch bao gồm quá trình feedforward và backpropagation
để cập nhật trọng số.
 Tốc độ học (learning rate) xác định mức độ điều chỉnh trọng
số trong mỗi bước cập nhật
2.2.2.5. Ứng dụng của Mạng nơ ron nhân tạo (ANN):
 Nhân dạng và phân loại: ANN được sử dụng rộng rãi trong các ứng dụng
nhận dạng khuôn mặt, phân loại ảnh, văn bản, giọng nói , ….
 Dự đôán và dự báo: ANN có thể ứng dụng trong các dự đoán kết quả
trong các lĩnh vực tài chính, thị trường, thời tiết, giáo dục , ….
 Xử lí ngôn ngữ tự nhiên : dich máy, phân tích ý kiến, tổng hợp giọng
nói, …
2.2.2.6. Ưu nhược điểm của ANN
 Ưu điểm:
 Khả năng tự học tập và tự thích nghi từ dữ liệu
 Xử lí các tác vụ phức tạp và phi tuyến tính
 Xử lí đa dạng các loại ngôn ngữ
 Nhược điểm:
 Cần nhiều dữ liệu để được kết quả tốt
 Cần nhiều tài nguyên cho tính toán và thời gian huấn luyện
 Khó hiểu và giải thích quyết của mạng.

22
2.3. Các tiêu chí đánh giá độ chính xác
2.3.1. Hệ số tương quan R bình phương ( r square ) (r2)

- khái niệm r bình phương ?

R bình phương là một thước đo được sử dụng trong thống kê và nó cho chúng
ta biết mức độ phù hợp của hình nghiên cứu với ý nghĩa là các nhân tố ( các biến).
Đồng thới hệ số này giải thích nhân tố phụ thuộc đó đạt bao nhiêu phần tram trong quá
trình nghiên cứu.
- Công thức tính :

Công thức tính hệ số tương quan r2 đang được sử dụng như sau:

Trong đó:

 ESS là viết tắt của Residual Sum of Squares, tức là t ổng các
độ lệch bình phương của phần dư.

 TSS là viết tắt của Total Sum of Squares, tức là t ổng đ ộ l ệch
bình phương của toàn bộ các nhân tố nghiên cứu.

 Có thể thấy R sẽ trong khoảng từ 0 đến 1. Trong khi tính


ESS ta cũng cần lưu ý multiple r. Vậy multiple r là gì?
Multiple r là viết tắt của multiple regression. Đây là h ệ s ố
tương quan hồi quy nhiều lần gắn liền mật thiết với r square.
 Chỉ số này cho phép bạn kiểm tra xem việc đưa thêm một
biến vào mô hình có còn được hay không; đ ồng th ời nó còn
có khả năng loại trừ ảnh hưởng của một số biến.

- Ý nghĩa:

 R bình phương cho biết mô hình đó hợp với dữ liệu ở mức bao
nhiêu %.

Ví dụ: r bình phương = 0,65. Vậy mô hình hồi quy tuy ến tính đang
được thống kê sẽ phù hợp với dữ liệu (hoặc biến) ở mức 65%.

 R bình phương cũng cho biết độ phù hợp của mô hình, ng ười ta
nghiên cứu được rằng, với r bình phương > 50% thì m ột mô hình
được đánh giá là phù hợp.

23
Tất nhiên, không phải tất cả các mô hình đ ều ph ải có r bình
phương > 50%, ta có thể loại trừ một số mô hình có s ự bi ến đ ộng
lớn như giá vàng hay giá cổ phiếu…

 Đặc biệt, giá trị r2 càng cao thì mối quan hệ giữa nhân t ố đ ộc l ập
(biến độc lập) và nhân tố phụ thuộc càng chặt ch ẽ. Vì th ế mà r
bình phương còn được biết tới với cái tên hệ số tương quan r
bình phương.

2.3.2. Mean Squared Error ( MSE)


- Khái niệm:

MSE là một chỉ số đo lường sự chênh lệch bình phương trung bình giữa giá trị
dự đoán và giá trị thực trong bài toán. Nó sẽ tính toán bình phương sai số trung bình
giữa các điểm dữ liệu và đường hồi quy được dự đoán bởi mô hình
- Công thức:

trong đó n là số điểm dữ liệu, yᵢ là giá trị quan sát và ŷ ᵢ là giá trị dự


đoán.

- Ý nghĩa:

Khi giá trị MSE càng nhỏ thì càng tốt, đồng nghĩa với việc mô hình dự đoán
gần với giá trị thực tế nhất.

2.3.3. Mean Absolute Error ( MAE)

- Khái niệm:

MAE là một chỉ số đo lường sự chênh lệch tuyệt đối trung bình giữa giá trị dự
đoán và giá trị thực tế trong bài toán hồi quy. Nó sẽ tính toán trung bình cộng
của các giá trị tuyệt đối của sai số.

- Công thức:

24
trong đó n là số điểm dữ liệu, xᵢ là giá trị thực và yᵢ là giá trị dự đoán.

- Ý nghĩa:

MAE dung để chống lại các tác nhân ngoại lai. Và với MAE càng nhỏ thì giá trị
dự đoán sẽ càng sát giá trị thực. Từ đó cho thấy mô hình tốt không vần tinh
chỉnh mô hình.

Chương 3. Thực nghiệm và đánh giá kết quả

3.1: Thu thập và xử lý dữ liệu


3.1.1: Thu thập dữ liệu

 Dữ liệu là điểm của sinh viên khoa công nghệ thông tin trường Đại học
Giao Thông Vận Tải từ khóa K56 đến K60.
 Dữ liệu được trích suất từ phần mềm quản lí của trường khi đã lược bỏ
thông tin cá nhân.
 Điểm này là điểm cuối của các học phần trên thang điểm 10 và điểm
GPA trên thang 10 và thang 4.
 Dữ liệu được tổng hợp trên các file excel như sau:

25
Hình. File dữ liệu thu thập

 Nội dung của các file thu thập được như sau:

26
Hình . File excel dạng bảng tổng hợp chưa tốt nghiệp.

27
Hình . File excel tổng hợp dạng đã tốt nghiệp.

28
3.1.2: Xử lí dữ liệu

- Tiền xử lí dữ liệu:

Ở đây ta sẽ xử lí dữ liệu qua qua 2 bước:

Bước 1: Ta sẽ xử lí dữ liệu thủ công or code ( thủ công nhanh hơn) về dạng
dưới đây:

29
Bước 2:

 Ta sẽ khảo sát mẫu dữ liệu và tổng hợp thông tin mẫu sau khi đã chuyển
đổi ở bước 1.
 Thông tin mẫu dữ liệu của từng khóa như sau:
 Khóa 56 (K56):

30
31
 Khóa 57 (K57)

32
 Khóa 58 (K58)

33
 Khóa 59 (K59)

34
35
 Khóa 60 (K60)

36
Bước 3:
 Làm sạch dữ liệu để dùng cho model

Ở đây để được trực quan ta sẽ điền dữ liệu khuyết thiếu bằng -1 or bằng
0 tùy ý định.

37
3.2. Áp dụng các kỹ thuật vào mẫu dữ liệu
3.2.1. Áp dụng Linear regression

- K58 :

- K59:

38
Ta sẽ áp dụng cho các mẫu dữ liệu dữ liệu K56-K60 như trên rồi kết quả.
3.2.2. Áp dụng ANN
3.3. Kết quả thực nghiệm
3.3.1. Kết quả khi dùng Linear regression

- K58 :

39
 Khi chạy thực nghiệm với bài toán dùng dữ liệu 3 năm đầu để dự đoán
cho năm cuối ta có kết sau:

- K59:
 Ta cũng làm giống với k58 và thu được kết qua sau:

40
41
3.3.2. Kết quả khi dùng ANN

3.4. Đánh giá và so sánh

- Như chúng ta đã nhìn thấy kết quả trên thì cho ta thấy rằng kết quả dự đoán khá
thấp.
- Với lượng đầu vào các tham số cao nhưng số lượng mẫu để train model ít và rất
ít nên việc cho ra kết quả thấp
- Qua hai kỹ thuật trên cho ta thấy việc dùng hồi qui tuyến tính cho ra kết quả lạc
quan hơn với mẫu dự liệu nghiên cứu.
- Để đánh giá kỹ thuật nào tốt hơn cho bài toán này thì ta không thể so sánh được
bởi lượng dữ liệu quá ít cho việc mô hình nó học tập tốt.
- Như ta thấy thì mẫu dữ ít và các tham số ảnh hưởng đến việc học của hình là
khá quan trọng, và tham số này ta chưa đánh giá được cái nào nó quan trọng và
cái nào là ngoại lại nên mô hình chúng ta đã bị xấu đi.

Kết luận

42

You might also like