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

Phân loại bào ngư bằng mô hình cây quyết định

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.11 MB, 52 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI: Phân loại bào ngư bằng mơ hình
cây quyết định
GVHD: T.S Nguyễn Mạnh Cường
Nhóm : 21
1. Phạm Mạnh Cường – 2020605601
2. Đinh Đăng Nam - 2020606290
3. Lưu Cung Minh – 2020604161
Lớp : 2023IT6052002
Khóa: K15

Hà Nội - 2023


2

LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em
được bày tỏ lòng biết ơn đến gia đình và các thầy cơ của trường Đại học Công
Nghiệp Hà Nội, đặc biệt là các thầy cô khoa Công Nghệ Thông Tin của trường
đã tạo điều kiện cho chúng em. Và cũng xin chân thành cảm ơn thầy giáo
Nguyễn Mạnh Cường – người đã tận tâm hướng dẫn chúng em qua từng buổi
nói chuyện, hướng dẫn, thảo luận về các lĩnh vực trong đề tài.
Trong quá trình thực hiện đề tài, cũng như là trong q trình làm bài báo
cáo khó tránh khỏi sai sót. Chúng em rất mong nhận được ý kiến đóng góp từ
thầy cô để học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn bài báo
cáo sắp tới.


Chúng em xin chúc thầy cô luôn dồi dào sức khỏe, luôn vui vẻ và thành
công trong cuộc sống.
Xin chân thành cảm ơn!
Nhóm thực hiện
Nhóm 21


3

LỜI MỞ ĐẦU
Trong thời đại phát triển như vũ bão ngày nay, ngành cơng nghệ thơng
tin nắm giữ vai trị vơ cùng quan trọng khó có thể thay thế. Những sản phẩm
công nghệ liên tục được ứng dụng rộng rãi trong sản xuất, đồng thời lượng
thông tin mới, phức tạp và các tập dữ liệu nghiệp vụ ngày một tích trữ nhiều
lên. Chính vì vậy, nhu cầu mới nảy sinh là cần tìm cách trích rút dữ liệu để lấy
thơng tin cần có với tốc độ nhanh nhất để đưa ra dự đoán cũng như quyết định
dựa trên lượng dữ liệu khổng lồ thu thập được. Những phương pháp quản trị và
khai thác dữ liệu truyền thống đã không thể đáp ứng được nhu cầu ngày một
tăng của khách hàng, vì thế những kỹ thuật nghiệp vụ thơng minh sẽ được tạo
ra nhằm phục vụ cho nghiên cứu cũng như thực tiễn. Cơng nghệ phân lớp ra
đời chính là để phục vụ đáp ứng nhu cầu đó.
Cơng nghệ phân lớp đã và đang được nghiên cứu, ứng dụng mạnh mẽ
trước sự khát khao tri thức của con người trong nhiều lĩnh vực khác nhau trên
thế giới như thương mại, marketing, nghiên cứu xu hướng thị trường, y tế, giáo
dục. Cho đến nay, kĩ thuật phân lớp cho dữ liệu đã có mặt trong nhiều chương
trình nghiên cứu khác nhau như khai phá dữ liệu, học máy, thống kê... Kĩ thuật
này đang khơng ngừng được tìm tịi cũng như phát triển để có thể phân lớp hoặc
dự đốn thơng tin một cách nhanh và chính xác nhất.Bài tốn càng cấp thiết
hơn đối với những lĩnh vực cần độ chính xác, những bài toán phục vụ cho việc
nghiên cứu , đánh giá ảnh hưởng trực tiếp tới đời sống con người.

Chính vì vậy, bài toán phân loại bào ngửa đời và đặt ra tính cấp thiết và
cần được quan tâm và nghiên cứu .Sở dĩ, bài toán phân lớp áp dụng với bào
ngư mà khơng phải những lồi khác vì giá trị cao cả về dinh dưỡng lẫn kinh tế.
Ngoài ra , bào ngư là một loại động vật mà được nhiều nhà sinh học nghiên cứu
để đánh giá hệ sinh thái . Cụ thể, nghiên cứu đề xuất sử dụng thuật toán “ cây


4
quyết định” hay “decision tree” để giải quyết bài toán này dựa trên bộ dữ liệu
về bào ngư nhằm xây dựng một mơ hình tối ưu và đạt hiệu quả cao.
Việc áp dụng trí tuệ nhân tạo vào phân loại bào ngư chắc hẳn sẽ đem lại
nhiều ảnh hưởng tích cực cả về đời sống và khoa học. Về đời sống, con người
sẽ được thưởng thức những chú bào ngư giàu chất dinh dưỡng nhất và an toàn
với người sử dụng. Đối với khoa học, việc áp dụng công nghệ sẽ giúp những
nhà nghiên cứu có thể đánh giá một cách chi tiết và khách quan hơn về môi
trường cũng như hệ sinh thái.
*Nội dung bài báo cáo sẽ gồm các chương như sau:
Chương 1: Phát biểu bài toán
Trong chương 1, nhóm tập trung những cuộc nghiên cứu về nhu cầu thực
tiễn trong việc phân loại bào ngư. Nêu tổng quan về bài toán phân loại bào ngư,
cũng như những kì vọng mà nghiên cứu muốn đạt được
Chương 2: Các kỹ thuật giải quyết bài toán
Trong chương 2, nghiên cứu sẽ đề cập tới những bài toán, kĩ thuật để giải
quyết bài toán phân loại bào ngư . Những bài tốn sẽ nêu một cách tổng qt
nhất để có thể làm nổi bật lên nhưng ưu nhược điểm của từng phương pháp.
Chương 3: Thực nghiệm
Từ những bài toán và kĩ thuật được nghiên cứu , chúng tơi xây dựng
chương trình sử dụng thuật toán “cây quyết đinh” hay “decision tree” để xây
dựng mơ hình với bộ dữ liệu mà nhóm nghiên cứu thu thập được nhắm đưa ra
những kết quả, cải tiến để mơ hình đạt hiệu quả tốt nhất

Chương 4: Phần kết luận
Từ những kết quả đạt được trong suốt q trình nghiên cứu , chúng tơi
sẽ tổng hợp lại những kết quả đó , các cải tiến và hướng phát triển để đề tài
ngày càng phát triền trong tương lại.
Qua q trình thực hiện đề tài này, tơi đã đạt được cái nhìn tổng quan
vững về ứng dụng của “cây quyết định” trong bài toán phân loại bào ngư.


5
Chúng tơi đã được trải nghiệm q trình xây dựng mơ hình, thu thập dữ liệu,
và tối ưu hóa mơ hình để đạt được hiệu suất tốt nhất.
Cuối cùng , chúng tôi hy vọng đề tài này ngày càng được mở rộng và
nghiên cứu. Đặc biệt có thể áp dụng trực tiếp vào đời sống cũng như hỗ trợ
những nhà sinh học trong việc nghiên cứu để họ có thể đưa ra được những thành
tựu trong tương lai.


6

MỤC LỤC
LỜI CẢM ƠN ................................................................................................... 2
LỜI MỞ ĐẦU ................................................................................................... 3
DANH MỤC HÌNH ẢNH ................................................................................ 8
Chương 1. XÁC ĐỊNH VÀ PHÂN TÍCH BÀI TỐN ................................. 10
1.1 Tổng quan về bài tốn phân lớp .......................................................... 10
1.1.1

Bài toán nhận dạng ....................................................................... 10

1.2 Bài toán phân loại bào ngư.................................................................. 13

1.2.1

Giới thiệu bài toán ........................................................................ 13

1.2.2

Các khó khăn thách thức của bài tốn .......................................... 14

1.2.3

Đầu vào đầu ra của bài toán ......................................................... 16

1.2.4

Ứng dụng của bài toán ................................................................. 16

Chương 2. MỘT SỐ KỸ THUẬT HIỆN CĨ ĐỂ GIẢI QUYẾT BÀI
TỐN............. ................................................................................................. 18
2.1 KNN(K-Nearest Neighbour) ............................................................... 18
2.1.1

Tổng quan ..................................................................................... 18

2.1.2

Ưu điểm ........................................................................................ 21

2.1.3

Nhược điểm .................................................................................. 22


2.2 Naive Bayes ........................................................................................ 22
2.2.1

Tổng quan ..................................................................................... 22

2.2.2

Ưu điểm ........................................................................................ 24

2.2.3

Ngược điểm .................................................................................. 24

2.3 SVM(Support Vector Machine) .......................................................... 25
2.3.1

Tổng quan ..................................................................................... 25


7
2.3.2

Ưu điểm ........................................................................................ 26

2.3.3

Nhược điểm .................................................................................. 26

2.4 Cây quyết định .................................................................................... 27

2.4.1

Tổng quan ..................................................................................... 27

2.4.2

Chiến lược xây dựng .................................................................... 29

2.4.3

Các thuật toán của cây quyết định................................................ 30

2.4.4

Ưu điểm ........................................................................................ 35

2.4.5

Nhược điểm .................................................................................. 36

Chương 3. PHÂN LOẠI BÀO NGƯ SỬ DỤNG THUẬT TOÁN CÂY
QUYẾT ĐỊNH ................................................................................................ 37
3.1 Thu thập và xử lý dữ liệu .................................................................... 37
3.2 Huấn luyện mơ hình và đánh giá ........................................................ 42
3.2.1

Xây dựng cây quyết định Decision Tree Classifier ..................... 42

3.2.2


Cải tiến mơ hình ........................................................................... 44

3.2.3

Xây dựng và đánh giá mơ hình RandomForest Regressor .......... 46

Chương 4. KẾT LUẬN .................................................................................. 49
Tài liệu tham khảo ........................................................................................... 51


8

DANH MỤC HÌNH ẢNH
Hình 1: Q trình phân lớp dữ liệu –(a) Bước xây dựng mơ hình.................. 11
Hình 2:Q trình phân lớp dữ liệu –(b1) Ước lượng độ chính xác của mơ hình
......................................................................................................................... 12
Hình 3: Q trình phân lớp dữ liệu – (b2) Phân lớp dữ liệu mới.................... 12
Hình 4: Tệp dữ liệu D ..................................................................................... 20
Hình 5: Các nhãn sau khi phân loại ................................................................ 20
Hình 6: Cơ sở dữ liệu khách hàng................................................................... 23
Hình 7: Hai siêu phẳng song song .................................................................. 25
Hình 8: Bảng dữ liệu ví dụ .............................................................................. 27
Hình 9: Sơ đồ cây quyết định .......................................................................... 28
Hình 10: Cách xây dựng cây quyết định ......................................................... 29
Hình 11: Thuật tốn ID3 ................................................................................. 30
Hình 12: Biểu đồ entropy ................................................................................ 31
Hình 13: Thơng tin bộ dữ liệu ......................................................................... 37
Hình 14: Biểu đồ đo sự tập trung của dữ liệu ................................................. 38
Hình 15: Bảng thống kê mơ tả ........................................................................ 39
Hình 16: Xóa dữ liệu bị khuyết ....................................................................... 39

Hình 17: Kết quả xóa dữ liệu khuyết .............................................................. 40
Hình 18: Điền khuyết dữ liệu .......................................................................... 40
Hình 19: Chuẩn hóa dữ liệu bằng MinMaxScaler .......................................... 41
Hình 20: Dữ liệu sau khi chuẩn hóa ................................................................ 42
Hình 21: Xây dựng mơ hình cây quyết định ................................................... 43
Hình 22: Kết quả của Decision Tree Classifier .............................................. 43
Hình 23: Vẽ cây quyết định bằng Pydotplus .................................................. 43
Hình 24: Vẽ cây quyết định sử dụng Plot_tree ............................................... 44


9
Hình 25: Cải tiến mơ hình Decision Tree Classifier ....................................... 45
Hình 26: Kết quả của mơ hình sau khi được cải tiến ...................................... 45
Hình 27: Mơ hình RandomForest ................................................................... 47
Hình 28: Kết quả của mơ hình Random Forest............................................... 47
Hình 29: Cải tiến mơ hình Random Forest ..................................................... 48
Hình 30: Kết quả của mơ hình sau khi cải tiến ............................................... 49


10

Chương 1.
1.1

XÁC ĐỊNH VÀ PHÂN TÍCH BÀI TỐN

Tổng quan về bài toán phân lớp

1.1.1 Bài toán nhận dạng
Nếu là một người quan tâm đến công nghệ , chắc hẳn nhiều người khơng

cịn xa lạ với cụm từ “phân lớp dữ liệu” hay tên tiếng anh là “Classification” .
Đây đang là một trong những nghiên cứu chính của khai phá dữ liệu. Thực tế
đặt ra nhu cầu từ một cơ sở dữ liệu với nhiều thông tin ẩn bắt buộc con người
phải trích rút ra những quyết định nghiệp vụ thơng minh. Tùy vào yêu cầu của
bài toán mà chúng ta lại chia chúng ra thành nhiều dạng khác nhau nhưng trên
thực tế ta có thể quy ước chúng về hai dạng chính: phân lớp và dự đốn.
Phân lớp là kĩ thuật nhằm gán (đưa ra dự báo) nhãn lớp (class-label) cho
các đối tượng dữ liệu chưa có nhãn. Phân lớp thao tác và thực hiện được cả trên
dữ liệu liên tục và dữ liệu rời rạc, những đối tượng mà có bộ dữ liệu biết trước.
Chẳng hạn, trong lĩnh vực tài chính ngân hàng , phương pháp phân lớp được áp
dụng để phân loại những giao dịch tài chính bất thường hay áp dụng phân loại
những khách hàng có nợ xấu.Ngồi ra , phân lớp cịn được áp dụng trong nhiều
lĩnh vực khác của đời sống như quảng cáo và tiếp thị, chăm sóc khách hàng ,
giáo dục, hay đặc biệt là trong y tế và dược học
Trong khi đó, dự đốn lại xây dựng mơ hình từ dữ liệu lịch sử và sử dụng
mơ hình đó để dự đốn những giá trị mới . Phương pháp này thường được áp
dụng phương pháp hồi quy để xác định mối quan hệ giữa các biến và dự đoán
giá trị phụ thuộc dựa trên các biến độc lập. Dự đoán được biết đến và được áp
dụng trong đời sống như : dự đoán doanh số bán hàng, dự đoán thời tiết, dự
đoán chu kì sản xuất, …
Quá trình phân lớp dữ liệu gồm hai bước :
➢ Bước thứ nhất ( huấn luyện)


11
Quá trình học hay huấn luyện là quá trình nhằm xây dựng mơ hình từ các
tập dữ liệu hay các khái niệm được định nghĩa từ trước. Đầu vào của quá trình
này là những tập dữ liệu đã được tiền xử lý và đã được gán nhãn. Mỗi giá trị
được trong bộ dữ liệu thường được gọi là những ‘mẫu’ hay những ‘case’ . Trong
bộ dữ liệu huấn luyện này, mỗi phần tử sẽ thuộc về một lớp đã được quy định

hay cịn gọi là có ‘nhãn’. Đầu ra của quá trình này thường là các quy tắc phân
lớp dưới dạng luật if-then , công thức logic , cây quyết định hoặc có thể là một
mạng. Dưới đây là hình ảnh mơ tả q trình :

Hình 1: Q trình phân lớp dữ liệu –(a) Bước xây dựng mơ hình

➢ Bước thứ hai ( Sử dụng mơ hình để phân lớp):
Đây là bước dùng để phân lớp dữ liệu, nó sử dụng kết quả ở bước 1 để phân
loại dữ liệu mới. Đầu vào của bài toán gồm dữ liệu cần phân lớp hay còn gọi là
“ data test” và bộ phân lớp (classifier) – kết quả thu thập được ở bước 1. Sau
khi trải qua q trình phân lớp, mơ hình sẽ trả về cho chúng ta kết quả phân
lớp. Sau khi có kết quả , việc cịn lại của chúng ta là đánh giá và cải tiến mơ
hình.
Đánh giá mơ hình là một phần quan trọng trong q trình phát triển mơ hình
máy học hoặc học sâu. Điều này giúp đảm bảo rằng mơ hình của bạn khơng chỉ
hoạt động tốt trên dữ liệu huấn luyện mà cịn có khả năng tổng quát hóa đối với


12
dữ liệu mới. Thông thường , mọi người thường sử dụng thước đo hiệu suất để
đánh mơ hình . Dưới đây là một vài độ đo có thế áp dụng:
- Độ chính xác (Accuracy): Phần trăm mẫu dự đốn đúng trên tổng số mẫu.
- F1-score: Sự kết hợp giữa độ chính xác và độ nhạy, thường được sử dụng
khi mất cân bằng giữa các lớp.
- Recall (độ nhạy): là một thước đo hiệu suất trong bài toán phân loại
(classification), đặc biệt là khi chúng ta quan tâm đến việc bắt lấy càng nhiều
dữ liệu thuộc một lớp cụ thể nhất có thể. Recall được định nghĩa là tỷ lệ của số
lượng dự đốn đúng của lớp tích cực (positive) so với tổng số mẫu thực tế thuộc
lớp tích cực
Ngồi ra chúng ta cũng có thể áp dụng những phương pháp hoặc độ đo khác

để đánh giá được mơ hình. Dưới đây là mơ tả q trình phân lớp:

Hình 2:Q trình phân lớp dữ liệu –(b1) Ước lượng độ chính xác của mơ hình

Hình 3: Q trình phân lớp dữ liệu – (b2) Phân lớp dữ liệu mới


13
Trong mơ hình phân lớp, thuật tốn phân lớp giữ vai trị trung tâm, quyết
định tới sự thành cơng của mơ hình phân lớp. Do vậy chìa khóa của vấn đề phân
lớp dữ liệu là tìm ra được một thuật tốn phân lớp nhanh, hiệu quả, có độ chính
xác cao và có khả năng mở rộng được. Trong đó khả năng mở rộng được của
thuật toán được đặc biệt trú trọng và phát triển. Một số thuật tốn có thể áp
dụng trong quá trình phân lớp :
➢ Phân lớp cây quyết định
➢ Bộ phân lớp Bayesian
➢ Mơ hình phân lớp K láng giềng(KNN)
➢ Mạng nơ-ron
➢ Mơ hình SVM

1.2

Bài tốn phân loại bào ngư

1.2.1 Giới thiệu bài toán
Chắc hẳn, khi nhắc tới bào ngư thì nhiều người sẽ khơng thể khơng nhớ đến
đây là một loại thức ăn vô cùng giàu dinh dưỡng, và nó được rất nhiều người
ưu chuộng. Bào ngư được biết đến là một loại động vật thân mềm, vỏ cứng
thuộc họ Haliotidae và chi Haliotis. Chúng có cấu tạo dẻo dai, các chân nhỏ và
hay bám trên bề mặt đá. Tại Việt Nam, bào ngư được tìm thấy chủ yếu ở vùng

biển các tỉnh miền Trung.
Đối với đời sống , bào ngư là nguyên liệu thường được dùng để chế biến
các món ăn thơm ngon và bổ dưỡng. Bạn có thể chế biến các món như súp bào
ngư, cháo bào ngư,...Trong y học, vỏ bào ngủ thường được dùng để bào chế
thuốc liên quan để gan, mắt.Ngoài ra, nó cịn được biết đến với nhiều tác dụng
khác như ngăn ngừa ung thư , giảm các nguy cơ mắc các bệnh tim mạch, điều
hịa tuyến giáp, duy trì sức khỏe cho xương,…Bào ngư cũng là loại động vật
đem lại giá trị kinh tế cao


14
Trong khoa học , việc nghiên cứu những đặc tính , thoái quen, sinh hoạt
của bào ngư cũng là một thứ tương đối quan trọng . Việc nghiên cứu này có thể
giúp những nhà khoa học đánh giá được những thay đổi trong hệ sinh thái. Từ
đó , có thể đưa nghiên cứu trong việc nhân giống, lai tạo cũng như ni cấy bào
ngư ngồi tự nhiên. Ngồi ra, họ cũng nghiên cứu những hoạt động sinh sản
của bào ngư vì nó cũng có thê có ý nghĩa đặc biệt với hỏa động sinh sản của
con người .
Trong những năm gần đây, nhiều người áp dụng áp dụng bài toán phân lớp
trên bào ngư vì một số đặc điểm khá nổi bật của chúng. Thường sẽ áp dụng để
xác định tuổi của bào ngư. Điều này sẽ giúp một số người dân hay những nhà
khoa học trả lời một số câu hỏi liên quan đến nó như : Cân nặng thay đổi như
thế nào theo độ tuổi đối với từng nhóm giới tính? , Bạn có thể ước tính tuổi bào
ngư bằng các đặc điểm vật lý của nó khơng?, … Trên thực tế , tuổi của bào ngư
được xác định bằng cách cắt vỏ qua hình nón, nhuộm màu và đếm số vịng qua
kính hiển vi. Ở đây ta sẽ sử dụng cách đo khác - sử dụng các phép đo vật lý để
xác định tuổi của bào ngư.
Vậy vì sao nhóm nghiên cứu lại sử dụng thuật tốn “ cây quyết định” mà
khơng phải thuật tốn khác?. Đầu tiên, cây quyết định khá dễ hiểu. Người ta có
thể hiểu mơ hình cây quyết định sau khi được giải thích khá ngắn và nó được

thể hiện dưới dạng cây nên việc nhìn và trực quan hóa là rất dễ dàng. Thuật
toán cây quyết định được áp dụng trong bài toán này nhằm xác định một số
mục tiêu mong muốn:
➢ Nghiên cứu và đánh giá một cách khái quát nhất về cây quyết định
➢ Thiết kế các chiến lược tăng cường dữ liệu để ngăn chặn việc overfitting
➢ Điều chỉnh và cải tiến mơ hình để có độ hiệu quả cao nhất
➢ So sánh được mức độ hiệu quả so với những thuật tốn, mơ hình khác

1.2.2 Các khó khăn thách thức của bài toán
Bài toán phân loại bào ngư là một bài toán cơ bản trong học máy. Mục đích
xây dựng mơ hình có khả năng phân loại bào ngư một cách tốt nhất . Tuy đây


15
là bài tốn cơ bản và có thể coi là bài tốn kinh điển trong học máy nhưng nó
vẫn tiềm ẩn những thách thức khơng hề nhỏ đối với nhóm nghiên cứu:
Một trong những thách thức lớn nhất trong quá trình này là vấn đề dữ liệu.
Đầu tiên việc lựa chọn những thuộc tính để áp dụng vào mơ hình là một vấn đề
đáng phải suy nghĩ . Loại bỏ những vấn đề về “đột biến” thì cịn vẫn cịn hàng
chục thuộc tính mà nhóm nghiên cứu phải lựa chọn. Thứ hai, trong việc xác
định thuộc các thuộc tính, các nhà khoa học sẽ cắt vỏ qua hình nón , nhuộm
màu và đếm số vịng qua kính hiển vi nên độ chính xác về dữ liệu cũng là một
vấn đề đáng được quan tâm. Ngoài ra việc “ dị tật “ trong bộ dữ liệu và kích
thước của bộ dữ liệu cũng quyết định đến độ hiệu quả của toàn bộ thuật toán .
Khi dữ liệu mất cân đối (imbalance), cây quyết định có thể tạo ra cây có xu
hướng học từ dữ liệu nhiều hơn ở lớp lớn và hiệu suất kém trên lớp thiểu số.
Cây quyết định không xử lý tốt các biến đặc trưng liên tục và có thể tạo ra các
biên giữa khơng liên tục, gây thiếu mục đích trong việc mơ hình hóa mối quan
hệ giữa các biến đó. Hơn thế nữa, việc đánh giá và cải tiến mơ hình là thách
thức khơng hề nhỏ. Sở dĩ, mỗi mơ hình và thuật tốn đều có những ưu nhược

điểm khác, nên việc áp dụng những vào bài tốn đơi khi khơng đạt được hiệu
quả như nhóm nghiên cứu mong muốn. Việc cải tiến và đánh giá được mơ hình
một cách hiệu quả địi hỏi phải nắm được những kiến thức khác trong lĩnh vực
học máy . Và cuối cùng là cây quyết định có khả năng dễ bị quá mức phức tạp
trên dữ liệu huấn luyện, đặc biệt là khi chúng được xây dựng đến mức chi tiết
quá mức và "nhớ" các điểm dữ liệu huấn luyện.
Như vậy, có thể thấy bài tốn phân lớp dữ liệu vẫn đặt ra nhiều thách thức
cho các nhà nghiên cứu. Từ khâu thu thập và xử lý dữ liệu, lựa chọn mơ hình
đến q trình huấn luyện và đánh giá mơ hình đều là những vấn đề khơng đơn
giản. Hy vọng trong tương lai, với sự phát triển của công nghệ, các thách thức
này sẽ dần được giải quyết.


16

1.2.3 Đầu vào đầu ra của bài tốn
• Đầu vào (input):
- Tập huấn luyện : Đây là một bộ data gồm những thuộc tính như : sex ,
length , diameter, height, whole weight , Shucked weight , Shell weight, …
- Tập dữ liệu test: Đây là bộ dữ liệu dùng để kiểm tra , nó cũng bao gồm
những thuộc tính giống như tập huấn luyện nhưng khác ở chỗ không có thuộc
tính “ phân lớp” hoặc thuộc tính phân lớp có thể bị lờ đi
• Đầu ra (Output):
- Dữ liệu đã được phân lớp : Đây chính là kết quả của quá trình phân
lớp, dữ liệu sẽ được phân loại và gán nhãn.
- Bộ phân lớp : Chúng ta có thể vẽ và trực quan hóa cây quyết định dưới
dạng hình ảnh. Từ đó có cái nhìn trực quan nhất nhất
- Những chỉ số đánh giá mơ hình: Đây là yếu tố vô cùng quan trọng trong
việc đánh giá độ hiệu quả của mơ hình. Thơng thường sẽ là những độ đo như
recall , accuracy , prediction,…


1.2.4 Ứng dụng của bài toán
Sau khi nghiên cứu và phát triển được bài tốn, nhóm nghiên cứu mong
muốn :
➢ Độ chính xác tối ưu: Kỳ vọng đầu tiên và quan trọng nhất là đạt được
độ chính xác tối ưu trong việc phân loại bào ngư . Điều này bao gồm khả năng
phân loại bào ngư một cách chính xác nhất và có độ hiệu quả cao nhất.
➢ Hiệu suất trong thời gian thực: Kỳ vọng sau khi thành cơng có thể phát
triển thuật tốn chạy trong thời gian thực tế như việc tích hợp vào các hệ thống
khác
➢ Ứng dụng và mở rộng đa ngành: Hy vọng bài toán sẽ giúp đỡ hai đối
tượng chính là ngư dân và những nhà khoa học trong việc phân loại bào ngư
một cách chính xác và hiệu quả


17
➢ Quản lí tài nguyên đánh bắt : Phân loại bảo ngư từ dữ liệu thu thập
được từ các tàu đánh bắt cá giúp theo dõi và quản lý tài nguyên bảo ngư hiệu
quả. Điều này có thể giúp ngành đánh cá điều chỉnh quy mô đánh bắt và bảo vệ
các lồi ngư cần được bảo tồn.
➢ Ngành Cơng nghiệp Thủy sản: Trong ngành công nghiệp thủy sản, việc
phân loại bảo ngư có thể giúp theo dõi chất lượng và đồng đều hóa sản phẩm,
cũng như giúp xác định loại bảo ngư phù hợp cho các mục đích thị trường khác
nhau.


18

Chương 2. MỘT SỐ KỸ THUẬT HIỆN CÓ ĐỂ
GIẢI QUYẾT BÀI TỐN

Trong q trình lao động sản xuất, con người đã tạo ra nhiều thông tin, dữ
liệu nghiệp vụ đồng thời các tệp tin tích trữ ngày càng lớn và chứa nhiều quy
luật phức tạp khác nhau. Chính vì vậy, cần tìm cách phân chia các dữ liệu đó
về các lớp theo quy luật nhất định để phục vụ cho các hoạt động thực tiễn cũng
như nghiên cứu khoa học.
Công nghệ phân lớp đã phát triển vô cũng mạnh mẽ và thu hút sự quan tâm
từ các chuyên gia nghiên cứu từ nhiều ngành cũng như các lĩnh vực khác nhau
như thương mại, marketing, y tế, giáo dục. Đã có nhiều kỹ thuật phân lớp được
đề xuất: KNN(K-nearest neighbour), Naive Bayes, mạng nơron, cây quyết
định.

2.1

KNN(K-Nearest Neighbour)

2.1.1 Tổng quan
KNN (K-Nearest Neighbors) là một trong những thuật tốn học có giám
sát đơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy. Ý
tưởng của thuật toán này là nó khơng học một điều gì từ tập dữ liệu học (nên
KNN được xếp vào loại lazy learning), mọi tính tốn được thực hiện khi nó cần
dự đốn nhãn của dữ liệu mới. K-nearest neighbor có thể áp dụng được vào cả
hai loại của bài toán Supervised learning là Classification và Regression. KNN
cịn được gọi là một thuật tốn Instance-based hay Memory-based learning.
Với KNN, trong bài toán Classification, label của một điểm dữ liệu mới
(hay kết quả của câu hỏi trong bài thi) được suy ra trực tiếp từ K điểm dữ liệu
gần nhất trong training set. Label của một test data có thể được quyết định bằng
major voting (bầu chọn theo số phiếu) giữa các điểm gần nhất, hoặc nó có thể


19

được suy ra bằng cách đánh trọng số khác nhau cho mỗi trong các điểm gần
nhất đó rồi suy ra label.
Các bước của thuật tốn KNN:
Ta có D là tập các điểm dữ liệu đã được gắn nhãn và A là dữ liệu chưa được
phân loại.
Đo khoảng cách (Euclidian, Manhattan, Cosin hoặc Trọng số) từ dữ liệu
mới A đến tất cả các dữ liệu khác đã được phân loại trong D.
Trong đó:
- Khoảng cách Manhattan:
D = ∑𝑛𝑖=1 ||𝑥𝑖 − 𝑦𝑖 ||
- Khoảng cách Euclid:
D = √(∑𝑛𝑖=1(𝑥𝑖 − 𝑦𝑖 )2 )
- Khoảng cách Cosin:
D = 1 – cos ∅ (cos ∅: độ đo Cosin)
cos ∅ =


⃗⃗⃗ .𝑏
𝑎
⃗ ||
||𝑎⃗||||𝑏

Chọn K (K là tham số mà bạn định nghĩa) khoảng cách nhỏ nhất.
Kiểm tra danh sách các lớp có khoảng cách ngắn nhất và đếm số lượng của
mỗi lớp xuất hiện.
Lấy đúng lớp (lớp xuất hiện nhiều lần nhất).
Lớp của dữ liệu mới là lớp mà bạn đã nhận được ở bước 5


20


Hình 4: Tệp dữ liệu D

Giả sử ta có tập dữ liệu D có gắn nhãn gồm 15 điểm như trên ảnh
1. Điểm cần dự đốn nhãn A(3,9)
2. Ta tính khoảng cách từ điểm A đến các điểm dữ liệu trong D bằng công
thức Euclidian.
3. Ta chọn K= 5, và tìm ra 5 điểm có khoảng cách gần với điểm A nhất.
4. Trong 5 điểm ta thấy có 4 điểm mang nhãn (+) và 1 điểm mang nhãn (-)
5. Vậy ta có thể đưa ra kết luận là điểm A cần dự đốn mang nhãn (+).

Hình 5: Các nhãn sau khi phân loại


21
** Lưu ý khi chọn K:
Giá trị k cho thuật toán k-NN quy định thuật toán phải quan sát k số điểm
lân cận xung quanh điểm được xét nhằm phân loại. Nếu k = 1, ta gắn nhãn điểm
được xét trùng với điểm gần nhất trong tập train.
Thường, lựa chọn số k là phụ thuộc vào dữ liệu. Thông thường, giá trị k lớn
đồng nghĩa với việc ta giảm thiểu được nhiễu khi thực hiện phân lớp, nhưng sẽ
khiến ranh giới giữa các lớp trở nên mờ nhoà hơn. Ta có thể chọn được số k tốt
thơng qua các thủ thuật heuristic: Scikit-learn cung cấp chức năng
GridSearchCV hoặc RandomizeSearchCV, cho phép chúng ta dễ dàng kiểm tra
nhiều giá trị k khác nhau. Ngồi 2 thủ thuật trên, ta cịn có thể sử dụng cross validation để có thể lọc k.
Thơng thường, khi ta làm việc với bài toán phân lớp nhị phân, ta nên để k
lẻ để tránh trường hợp hồ.

2.1.2 Ưu điểm
Độ phức tạp tính tốn của q trình training là bằng 0. KNN không yêu cầu

quá nhiều trong q trình huấn luyện, khơng cần tạo ra một mơ hình đốn trước
Việc dự đốn kết quả của dữ liệu mới rất đơn giản. Với các bộ dữ liệu lớn,
KNN có thể đưa ra dự đốn dựa vào sự tương đồng của các đặc điểm dữ liệu.
Không cần giả sử gì về phân phối của các class. KNN có thể áp dụng cho
cả dữ liệu phi tuyến tính và dữ liệu có phân phối khơng chuẩn
Có thể điều chỉnh độ phức tạp. Thông qua việc thay đổi giá trị của k (số lân
cận), bạn có thể điều chỉnh độ phức tạp của mơ hình. Nếu k nhỏ, mơ hình trở
nên phức tạp hơn và dễ bị overfitting. Nếu k lớn, mơ hình trở nên đơn giản hơn
và dễ bị underfitting.


22

2.1.3 Nhược điểm
Nhạy cảm với nhiễu k-NN có thể nhạy cảm với dữ liệu nhiễu và ngoại lệ. Nếu
có nhiễu hoặc dữ liệu khơng chuẩn, k-NN có thể dự đốn sai.

KNN là một thuật tốn mà mọi tính tốn đều nằm ở khâu test. Trong đó
việc tính khoảng cách tới từng điểm dữ liệu trong training set sẽ tốn rất nhiều
thời gian, đặc biệt là với các cơ sở dữ liệu có số chiều lớn và có nhiều điểm dữ
liệu.
Cần lựa chọn K phù hợp, nếu q to thì mơ hình sẽ nhạy cịn q nhỏ thì
mơ hình bị đơn giản hóa.

2.2

Naive Bayes

2.2.1 Tổng quan
Naive Bayes Classification (NBC) là một thuật toán dựa trên định lý Bayes

về lý thuyết xác suất để đưa ra các phán đoán cũng như phân loại dữ liệu dựa
trên các dữ liệu được quan sát và thống kê. Naive Bayes Classification là một
trong những thuật toán được ứng dụng rất nhiều trong các lĩnh vực Machine
learning dùng để đưa các dự đốn chính xác nhất dự trên một tập dữ liệu đã
được thu thập, vì nó khá dễ hiểu và độ chính xác cao. Nó thuộc vào
nhóm Supervised Machine Learning Algorithms (thuật tốn học có hướng
dẫn), tức là máy học từ các ví dụ từ các mẫu dữ liệu đã có.
Cơng thức Bayes:
Cơng thức chỉ ra xác suất của A xảy ra nếu B cũng xảy ra, ta viết là P(A|B)
và ngược lại:

P(A|B): xác suất của A khi biết B
P(A): xác suất xảy ra của A
P(B|A): xác suất của B khi biết A
P(B): xác suất xảy ra của B
Ví dụ: Cho cơ sở dữ liệu khách hàng


23

Hình 6: Cơ sở dữ liệu khách hàng

Giả sử ta có một khách hàng mới X có các thuộc tính
X = (age = youth, income = medium, student = yes, credit_rating = fair)
Bây giờ cần xác định xem khách hàng X có thuộc lớp Cyes (mua máy tính) hay
khơng, ta tính tốn như sau:
P(Cyes) = 9/14 = 0.357
Xác suất của các thành phần:
P(age = youth|Cyes) = 2/9 = 0.222
P(age = youth|Cno) = 3/5 = 0.6

P(income = medium|Cyes) = 4/9 = 0.444
P(income = medium|Cno) = 2/5 = 0.4


24
P(student = yes|Cyes) = 6/9 = 0.667
P(student = yes|Cno) = 1/5 = 0.2
P(credit_rating = fair|Cyes) = 6/9 = 0.667
P(credit_rating = fair|Cno) = 2/5 = 0.2
Các xác suất kết luận:
P(X|Cyes) = 0.222 * 0.444 * 0.667 * 0.667 = 0.044
P(X|Cno) = 0.60.4 * 0.2 * 0.4 = 0.019
P(X|Cyes)*P(Cyes) = 0.044 * 0.643
P(X|Cno)*P(Cno) =0.019 * 0.357 = 0.007
Từ kết quả này ta thấy P(X |Cyes)P(Cyes) có giá trị lớn nhất, do đó thuật
toán Bayes sẽ kết luận là khách hàng X sẽ mua máy tính.

2.2.2 Ưu điểm
Dễ sử dụng khi cần đốn nhanh dữ liệu của tệp test. Thuật tốn chỉ địi hỏi
một số lượng nhỏ các tham số và không yêu cầu nhiều tài ngun khi tính tốn.
Khi các đăc điểm độc lập với nhau thì Naive Bayes chạy tốt hơn so với các
thuật tốn khác
Có tính linh hoạt khá cao, thường được sử dụng trong các ứng dụng thực tế
như phân loại văn bản, lọc thư rác.

2.2.3 Ngược điểm
Khó xử lý khi gặp dữ liệu chứa thông tin mới
Trong thực tiễn các đặc điểm gần như rất khó độc lập với nhau nên rất dễ bị
ảnh hưởng bởi các dữ liệu liên tục, các biến không quan trọng.
Dễ mất cân bằng trong xử lý dữ liệu, nếu có một lượng lớn dữ liệu thuộc một

lớp và một ít dữ liệu thuộc lớp khác, thuật tốn Naive Bayes có xu hướng xử lý
lượng lớn dữ liệu hơn.


25

2.3

SVM(Support Vector Machine)

2.3.1 Tổng quan
SVM là phương pháp dựa trên nền tảng lý thuyết thống kê nên có cơ sở
tốn học vững chắc để đảm bảo kết quả tìm được là chính xác. Nó cũng là thuật
tốn học có giám sát (Supervised Learning) được dùng trong phân lớp dữ liệu.
Phương pháp SVM được coi là công cụ mạnh cho những bài tốn phân lớp
phi tuyến tính được tác giả Vapnik và Chervonenkis phát triển mạnh mẽ năm
1995. Phương pháp này thực hiện dựa trên nguyên lý cực tiểu hóa rủi ro có cấu
trúc SRM (Structural Risk Minimization), được xem là một trong các phương
pháp phân lớp giám sát không tham số tinh vi nhất hiện nay.
SVM thực tế là bài tốn tối ưu, mục tiêu là tìm được một khơng gian F và
siêu phẳng f trên F sao cho sai số phân loại là thấp nhất, bài toán phân loại SVM
sẽ có 2 loại là phân hai lớp và phân nhiều lớp
Bài toán phân hai lớp
Bài toán đặt ra yêu cầu xác định hàm phân lớp cho các mẫu, nghĩa là với
một mẫu dữ liệu cần xác định nó được phân vào lớp +1 hay -1.
Để xác định hàm phân lớp dựa trên phương pháp SVM, ta sẽ tìm hai siêu
phẳng song song sao cho khoảng cách y giữa chúng là lớn nhất có thể để phân
tách hai lớp này ra làm hai phía. Hàm phân tách tương ứng với phương trình
siêu phẳng nằm giữa hai siêu phẳng tìm được.


Hình 7: Hai siêu phẳng song song


×