ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phí Bá Chiến
NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG
PHÁT HIỆN HÀNH ĐỒNG NGÃ CỦA NGƯỜI ĐI BỘ DỰA TRÊN
CẢM BIẾN CỦA ĐIỆN THOẠI DI ĐỘNG
LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM
HÀ NỘI – 2020
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phí Bá Chiến
NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG
PHÁT HIỆN HÀNH ĐỒNG NGÃ CỦA NGƯỜI ĐI BỘ DỰA TRÊN
CẢM BIẾN CỦA ĐIỆN THOẠI DI ĐỘNG
Ngành: Kỹ thuật phần mềm Chuyên ngành: Kỹ thuật phần mềm Mã số: 8480103.01
LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS NGUYỄN HÀ NAM
Hà Nội – 2020
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện dưới sự
hướng dẫn của PGS.TS. Nguyễn Hà Nam tại Bộ môn các Hệ thống Thông tin, Khoa
Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Các
số liệu và kết quả trình bày trong luận văn là trung thực và chưa được công bố trong
các công trình khác.
Tác giả
Phí Bá Chiến
LỜI CẢM ƠN
Luận văn được thực hiện tại Khoa CNTT-Trường Đại học Công nghệ, Đại
học Quốc gia Hà Nội, dưới sự hướng dẫn của PGS.TS. Nguyễn Hà Nam.
Trước tiên, tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS. Nguyễn Hà Nam.
Người Thầy đã tận tụy chỉ dạy, giúp đỡ tôi giải quyết những vấn đề khó khăn trong
nghiên cứu khoa học và trong cuộc sống.
Tôi cũng xin gửi lời cảm ơn tới tập thể các Thầy, Cô giáo, các Nhà khoa học
trong khoa CNTT đã truyền đạt những kiến thức quý báu và đã tạo điều kiện thuận
lợi cho tôi trong quá trình học tập và nghiên cứu. Để có được dữ liệu phục vụ cho
nghiên cứu, tôi xin gửi lời cảm ơn tới Nhóm nghiên cứu của PGS.TS. Nguyễn Hà
Nam, thầy Nguyễn Đức Nhân, anh Lê Hồng Lam, anh Phùng Quang Luyện, em
Nguyễn Vũ Đông đã giúp tôi thu thập dữ liệu cũng như tiến hành một số thực
nghiệm liên quan đến Luận văn.
Tôi cũng gửi lời tri ân tới bạn bè, đồng nghiệp, người thân đã giúp đỡ và hỗ
trợ tôi trong suốt quá trình nghiên cứu.
Cuối cùng, tôi vô cùng biết ơn gia đình, bố mẹ, anh chị em, đặc biệt là vợ và
con nhỏ của tôi, những người đã động viên, giành những điều kiện tốt nhất để tôi có
thể hoàn thành chương trình nghiên cứu của mình.
Phí Bá Chiến
Hà Nội, 2020
ii
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................... I
LỜI CẢM ƠN ................................................................................................................... II
MỤC LỤC ....................................................................................................................... III
DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT ................................................................. V
DANH MỤC HÌNH ẢNH ............................................................................................... VI
DANH MỤC BẢNG BIỂU ........................................................................................... VII
MỞ ĐẦU ............................................................................................................................ 1
Tính cấp thiết của luận văn ................................................................................................. 1
Mục tiêu của luận văn ......................................................................................................... 2
Đối tượng và phạm vi nghiên cứu ...................................................................................... 2
Đóng góp của luận văn ....................................................................................................... 2
Bố cục của luận văn ............................................................................................................ 3
CHƯƠNG 1.
TỔNG QUAN VỀ NHẬN DẠNG HÀNH ĐỘNG ............................ 4
1.1 Giới thiệu ................................................................................................................... 4
1.2 Một số khái niệm cơ bản ........................................................................................... 4
1.3 Các phương pháp nhận diện hành động .................................................................... 5
1.4 Một số nghiên cứu liên quan ..................................................................................... 6
1.5 Sử dụng dữ liệu cảm biến để phân tích hành động ................................................... 7
1.6 Kết luận chương ........................................................................................................ 8
CHƯƠNG 2. MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHUỖI THỜI
GIAN…… .............................................................................................................. 9
2.1 Giới thiệu ................................................................................................................... 9
2.2 Đặc điểm và một số cách xử lý dữ liệu thời gian thực .............................................. 9
2.2.1 Tiền xử lý dữ liệu ............................................................................................ 9
2.2.2 Cửa sổ dữ liệu ............................................................................................... 11
2.2.3 Biến đổi dữ liệu ............................................................................................. 11
2.2.4 Thuộc tính trên miền thời gian ...................................................................... 12
2.2.5 Thuộc tính trên miền tần số ........................................................................... 13
2.2.6 Tham số Hjorth ............................................................................................. 14
iii
2.3 Các phương pháp phân lớp ...................................................................................... 14
2.3.1 Random Forest .............................................................................................. 15
2.3.2 Artificial Neural Network ............................................................................. 16
2.3.3 Support Vector Machine ............................................................................... 17
2.4 Phương pháp đánh giá phân lớp .............................................................................. 18
2.4.1 Ma trận nhầm lẫn .......................................................................................... 18
2.4.2 Biểu đồ ROC và độ đo AUC ......................................................................... 20
2.5 Kết luận chương ...................................................................................................... 22
CHƯƠNG 3.
XÂY DỰNG MÔ HÌNH PHÁT HIỆN HÀNH ĐỘNG .................. 23
3.1 Giới thiệu ................................................................................................................. 23
3.2 Tổng quan hệ thống ................................................................................................. 23
3.2.1 Dữ liệu thu thập từ cảm biến gia tốc ............................................................. 24
3.2.2 Xây dựng tập thuộc tính đặc trưng ................................................................ 25
3.3 Tối ưu mô hình ........................................................................................................ 26
3.3.1 Thuật toán tối ưu Particle Swarm Optimization – PSO ................................ 26
3.3.2 Mô hình nhận dạng và thuật toán PSO.......................................................... 30
3.4 Thực nghiệm và đánh giá ........................................................................................ 34
3.4.1 Môi trường thực nghiệm ............................................................................... 34
3.4.2 Dữ liệu thực nghiệm ...................................................................................... 34
3.4.3 Kết quả thực nghiệm với Random Forest ..................................................... 36
3.4.4 Kết quả thực nghiệm với ANN và SVM ....................................................... 38
3.4.5 Tối ưu mô hình Random Forest và thuật toán PSO ...................................... 41
3.5 Kết luận chương ...................................................................................................... 48
KẾT LUẬN ...................................................................................................................... 49
TÀI LIỆU THAM KHẢO .............................................................................................. 50
iv
DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT
DIỄN GIẢI TỪ VIẾT TẮT TIẾNG ANH TIẾNG VIỆT
RF Random Forest Thuật toán phân lớp rừng ngẫu nhiên
Artificial Neural ANN Thuật toán phân lớp mạng nơ-ron Network
Thuật toán phân lớp máy véc-tơ hỗ SVM Support Vector Machine trợ
AUC Area Under Curve Diện tích dưới đường cong ROC
Âm tính giả (mẫu mang nhãn dương FN False Negative bị phân lớp sai vào lớp âm)
Dương tính giả (mẫu mang nhãn âm FP False Positive bị phân lớp sai vào lớp dương)
Âm tính thật (mẫu mang nhãn âm TN True Negative được phân lớp đúng vào lớp âm)
Dương tính thật (mẫu mang nhãn
TP True Positive dương được phân lớp đúng vào lớp
dương)
Receiver Operator ROC Đặc tính hoạt động của bộ thu nhận Characteristic
Particle Swarm PSO Thuật toán tối ưu bầy đàn Optimization
Institute of Electrical and IEEE Hội Kỹ sư Điện và Điện tử Electronics Engineers
v
DANH MỤC HÌNH ẢNH
Hình 2-1. Một số kỹ thuật chuẩn bị dữ liệu ......................................................................... 10
Hình 2-2 Phân đoạn chuỗi tín hiệu thành các cửa sổ dữ liệu ............................................... 11
Hình 2-3. Thuật toán Random Forest .................................................................................. 15
Hình 2-4. Mô tả mạng ANN ................................................................................................ 16
Hình 2-5. Không gian trong mô hình SVM ......................................................................... 17
Hình 2-6. Biểu đồ biểu diễn đường cong ROC ................................................................... 20
Hình 2-7. Diện tích đường cong ROC (độ đo AUC) ........................................................... 21
Hình 3-1. Tổng quan hệ thống phát hiện hành động ngã ..................................................... 23
Hình 3-2. Các trục X, Y, Z trên cảm biến gia tốc ................................................................ 24
Hình 3-3. Dữ liệu thời gian ba trục X, Y, Z biểu diễn trên đồ thị ....................................... 25
Hình 3-4. Mô tả quá trình tìm kiếm thức ăn của đàn chim .................................................. 27
Hình 3-5. Quá trình cập nhật vị trí sử dụng PSO ................................................................. 28
Hình 3-6. Tối ưu mô hình bằng thuật toán PSO .................................................................. 33
Hình 3-7. Biểu đồ kết quả phân lớp của mô hình RF .......................................................... 37
Hình 3-8. Biểu đồ kết quả mô hình ANN ............................................................................ 40
Hình 3-9. Biểu đồ kết quả mô hình SVM ............................................................................ 41
Hình 3-10. Biểu đồ kết quả hành động ngã BSC ................................................................. 43
Hình 3-11. Biểu đồ kết quả hành động ngã FKL ................................................................. 44
Hình 3-12. Biểu đồ kết quả hành động ngã FOL ................................................................. 44
Hình 3-13. Biểu đồ kết quả hành động ngã SDL ................................................................. 45
Hình 3-14. Biểu đồ kết quả phân lớp chung của mô hình ................................................... 45
vi
DANH MỤC BẢNG BIỂU
Bảng 2-1. Ma trận nhầm lẫn ................................................................................................ 18
Bảng 2-2. Độ đo AUC với độ chính xác của mô hình phân lớp .......................................... 21
Bảng 3-1. Các hoạt động thường ngày ................................................................................ 35
Bảng 3-2. Các trạng thái ngã ............................................................................................... 36
Bảng 3-3. Mô hình RF với các thông số mặc định .............................................................. 36
Bảng 3-4. Kết quả phân lớp của mô hình RF ...................................................................... 37
Bảng 3-5. Bộ tham số của mô hình ANN và SVM .............................................................. 38
Bảng 3-6. Kết quả phân lớp của mô hình ANN ................................................................... 39
Bảng 3-7. Kết quả phân lớp của mô hình SVM ................................................................... 40
Bảng 3-8. Kết quả mô hình phân lớp sau tối ưu .................................................................. 43
Bảng 3-9. Kết quả mô hình phân lớp ban đầu ..................................................................... 43
Bảng 3-10. Ma trận nhầm lẫn của mô hình Random Forest sau tối ưu ............................... 46
Bảng 3-11. Mô hình đề xuất và nghiên cứu liên quan ......................................................... 47
vii
MỞ ĐẦU
Tính cấp thiết của luận văn
Ngày nay, theo dõi sức khỏe là một vấn đề được đặc biệt quan tâm trên thế
giới. Đặc biệt tại các nước phát triển, các vấn đề về ý tế, sức khỏe nhận được sự
quan tâm hàng đầu. Với những người cao tuổi, người có sức khỏe yếu thường xảy
ra những biến cố bất ngờ như ngã, đột quỵ nhưng không phải lúc nào cũng có điều
kiện chăm sóc y tế, theo dõi thường xuyên từ nhân viên y tế hoặc người thân.
Những va chạm mạnh như vậy thường gây ra những ảnh hưởng lớn đến sức khỏe
nếu không được phát hiện và xử lý kịp thời.
Với sự phát triển không ngừng nghỉ của khoa học kỹ thuật, điện thoại thông
minh ngày càng phổ biến trên thế giới. Mọi người trên thế giới hiện nay đều có thể
tiếp cận và sở hữu cho mình một chiếc điện thoại thông minh rất dễ dàng. Điện
thoại thông minh được tích hợp rất nhiều loại cảm biến khác, kèm theo đó điện
thoại thông minh thường được đem đi thường xuyên và sử dụng nhiều trong cuộc
sống cho phép nó trở thành một công cụ rất hữu ích trong việc thu thập các dữ liệu
từ người dùng. Rất nhiều công trình nghiên cứu và ứng dụng liên quan đến việc thu
thập dữ liệu từ cảm biến của điện thoại thông minh được công bố trong những năm
gần đây.
Vì vậy, với những yếu tố về con người, khoa học kỹ thuật kể trên, chúng tôi
muốn xây dựng mô hình có thể phát hiện hành động ngã thông qua việc sử dụng dữ
liệu cảm biến của điện thoại thông minh. Do đó tôi đã chọn đề tài: “Nghiên cứu và
xây dựng hệ thống phát hiện hành động ngã của người đi bộ dựa trên cảm biến của
điện thoại di động” làm đề tài nghiên cứu của luận văn thạc sĩ chuyên ngành Kỹ
thuật phần mềm.
Mục tiêu của luận văn
Mục tiêu của Luận văn là tập trung vào phân tích dữ liệu từ cảm biến thu
được từ điện thoại của con người trong cuộc sống hàng ngày, từ đó phát hiện được
các hành động của con người, đặc biệt tập trung vào hành động ngã.
Để giải quyết được mục tiêu của Luận văn, chúng tôi tập trung vào giải quyết
các vấn đề chính sau:
• Tìm hiểu và nghiên cứu các kỹ thuật phân tích dữ liệu hiện có trên thế giới.
Các kỹ thuật biến đổi dữ liệu dựa trên nhiều loại cảm biến khác nhau của
điện thoại. Từ đó có thể tìm được kỹ thuật phù hợp nhất để có thể áp dụng
vào bài toán phát hiện hành động ngã.
• Từ tập dữ liệu đầu vào dựa trên cảm biến của điện thoại thông minh, có thể
xây dựng được hệ thống phát hiện các hành động (đi bộ, ngồi, chạy, ngã, …)
của con người trong cuộc sống hàng ngày.
• Nghiên cứu thuật toán tối ưu để có thể nâng cao được độ chính xác của hệ
thống. Giảm thiểu tối đa sự nhầm lẫn giữa các hành động, đặc biệt là hành
động bình thường và hành động ngã.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của luận văn là phân tích hành động của con người
dựa trên dữ liệu thu thập được khi họ đem theo điện thoại ở những vị trí như túi áo,
túi quần. Tập trung phân tích dữ liệu thu thập được từ cảm biến gia tốc để có thể
phân tích được hành động cụ thể.
Đóng góp của luận văn Đóng góp thứ nhất của luận văn: Xây dựng thành công mô hình phát hiện hành động ngã của người dựa trên phân tích dữ liệu thu được từ cảm biến của điện thoại thông minh.
Đóng góp thứ hai của luận văn: Áp dụng thành công thuật toán tối ưu tham số Particle Swarm Optimization – PSO để tối ưu mô hình, nâng cao độ chính xác
của việc phân tích và phát hiện các hành động.
2
Bố cục của luận văn
Ngoài phần mở đầu, mục lục, kết luận và tài liệu tham khảo, nội dung chính
của luận văn được chia thành 3 chương, cụ thể như sau:
Chương 1: Trình bày các kiến thức nền tảng về học máy. Giới thiệu một số
khái niệm về các hoạt động của con người và một số phương pháp cũng như nghiên
cứu trước đây về chủ đề này. Từ đó đề xuất giải pháp phát thiện hành động ngã dựa
trên dữ liệu cảm biến gia tốc trên điện thoại
Chương 2: Tìm hiểu và phân tích quy trình chuẩn bị dữ liệu, tiền xử lý dữ
liệu. Tìm hiểu các phương pháp phân lớp cũng như ưu nhược điểm của từng
phương pháp. Đồng thời nêu ra những phương pháp đánh giá phân lớp, lựa chọn
các trọng số để có thể đánh giá chính xác nhất độ tốt của một phương pháp phân
lớp.
Chương 3: Đề xuất hệ thống phát hiện hành động ngã dựa trên dữ liệu cảm
biến thu được từ điện thoại thông minh. Tiến hành thực nghiệm và đánh giá. Áp
dụng thuật toán tham số để tối ưu mô hình phân lớp.
3
Chương 1.
TỔNG QUAN VỀ NHẬN DẠNG HÀNH ĐỘNG
1.1
Giới thiệu
Ngày nay, nhận dạng hành động và ứng dụng vào y tế, thể thao là một trong
những vấn đề được quan tâm trên toàn thế giới. Rất nhiều công trình khoa học, ứng
dụng liên quan đến vấn đề này được ứng dụng vào thực tế và đem lại những thành
công nhất định. Bên cạnh đó hiện nay, có rất nhiều trường hợp xảy ra những sự cố
như đột quỵ, ngã gây ra những hậu quả nghiêm trọng khi không được phát hiện và
can thiệp y tế kịp thời.
Điện thoại thông minh hiện nay đã gắn liền với hoạt động thường ngày của
rất nhiều người. Kèm theo đó là sự đa dạng về chủng loại, tính năng, hiệu năng và
nhiều loại cảm biến khác nhau trên điện thoại thông minh. Cảm biến gia tốc được
tích hợp trên hầu hết các loại điện thoại thông minh hiện nay. Loại cảm biến này có
độ nhạy, độ chính xác cao trên từ những điện thoại thông minh tầm trung đến cấp
cao.
Do vậy, chương này chúng tôi sẽ làm rõ những khái niệm về hành động,
hành vi cũng như xác định bài toán phân tích hành động của người đi bộ thông qua
những dữ liệu thu thập được từ dữ liệu gia tốc trên điện thoại thông minh.
1.2 Một số khái niệm cơ bản
Hành động là việc làm cụ thể của con người nhằm mục đích nhất định [1].
Hành vi (danh từ) là toàn bộ nói chung những phản ứng, các cư xử biểu hiện
ra bên ngoài của một người trong một hoàn cảnh cụ thể [1].
Hành vi bất thường của con người là những phản ứng hoặc cách cư xử khác
với bình thường bị tác động bởi các yếu tố khách quan hoặc chủ quan trong cuộc
sống thường ngày [1].
Việc nhận biết được các loại hành động, hành vi của con người là cơ sở để
đánh giá hành vi đó là bình thường hoặc bất thường. Cụ thể trong khuôn khổ luận
văn này, chúng tôi phân làm hai loại: hành động bình thường và ngã.
4
Hành động bình thường:
- Đứng: đứng với một vài cử động nhẹ nhàng
- Đi bộ: đi bộ bình thường
- Chạy bộ
- Nhảy: nhảy liên tục
- Lên cầu thang
- Xuống cầu thang
- Ngồi xuống
- Ngồi trên ghế
- Đứng lên: từ ngồi chuyển sang đứng
- Bước vào xe ô tô
- Ra khỏi xe ô tô
- Nằm
Các kiểu ngã:
- Ngã về phía trước: ngã về phía trước khi đang đứng, sử dụng tay để
chống ngã.
- Ngã đập đầu gối: Ngã về phía trước khi đang đứng, đầu gối tiếp xúc
với đất đầu tiên.
- Ngã từ ghế: ngã ngửa trong khi đang ngồi trên ghế.
- Ngã nghiêng: ngã nghiêng về một bên trong khi đang đứng, gập chân.
1.3
Các phương pháp nhận diện hành động
Ngày nay khi khoa học công nghệ càng phát triển, nó đã được ứng dụng vào
nhiều lĩnh vực trong cuộc sống. Nhận diện hành động cũng nhận được nhiều sự
quan tâm và ứng dụng vào thực thế. Có nhiều phương pháp cũng như cách thức
nhận diện hành động được giới thiệu trên thế giới. Nhưng mỗi phương pháp lại có
ưu, nhược điểm khác nhau cũng như sự phù hợp với môi trường, thực tiễn của từng
khu vực.
Nhận diện hành động qua hình ảnh được áp dụng ở nhiều nước tiên tiến trên
thế giới. Một vài siêu thị lớn trên thế giới sử dụng phương pháp này để giám sát
5
cũng như đảm bảo an ninh, tránh thất thoát tài sản trong siêu thị. Kèm theo đó siêu
thị cũng có thể biết được khách hàng thường quan tâm đến những sản phẩm nào
hơn. Một vài quốc gia trên thế giới có hệ thống camera phủ sóng trên các con
đường, trung tâm thương mại và những nơi đông người để kiểm soát an ninh. Các
cơ quan chức năng có thể nhanh chóng can thiệp nếu xảy ra sự cố. Nhận dạng hành
động qua hình ảnh ưu điểm là dễ kiểm soát, tập trung. Có thể chủ động được tính ổn
định của thiết bị giám sát. Nhưng những hệ thống này thường rất phức tạp và có chi
phí lắp đặt cũng như vận hành cao.
Nhận diện hành động qua radar được sử dụng nhiều trong quân sự. Có độ
chính xác cao nhưng đi kèm theo đó là lượng điện năng tiêu thụ lớn và các hệ thống
rất phức tạp.
Nhận điện hành động sử dụng cảm biến của điện thoại thông minh đang là
một đề tài được đặc biệt quan tâm hiện nay. Từ những điều đơn giản nhất như nắm
bắt giấc ngủ, giờ sinh hoạt của từng người sử dụng đến phức tạp như phân tích hành
động, tính toán trong hoạt động thể thao của người sử dụng. Với những ưu điểm có
rất nhiều loại cảm biến được tích hợp trong điện thoại như cảm biến gia tốc, cảm
biến tiệm cận, cảm biến nhịp tim, cảm biến ánh sáng.
1.4 Một số nghiên cứu liên quan
Thu thập dữ liệu và nhận diện hành động đang là một chủ để được nhiều
nhóm nghiên cứu quan tâm. Có rất nhiều bài báo cũng như các công trình nghiên
cứu được công bố về vấn đề này.
Yan Wang và cộng sự đã thực hiện một cuộc khảo sát về phương thức cảm
biến có thể đeo được trên cổ tay tập trung vào việc ghi nhận hoạt động chăm sóc
sức khỏe của con người [2].
Adnan Nadeem và cộng sự đã xây dựng tập dữ liệu sử dụng cảm biến đo
lường quán tính và điện tâm đồ có thể đeo được để nhận dạng hoạt động, phát hiện
ngã và hệ thống phát hiện bất thường về tim cơ bản [3].
6
Henry Friday Nweke và cộng sự đã chỉ ra các khó khăn và thách thức khi sử
dụng các thuật toán học sâu để nhận dạng hoạt động của con người bằng cách sử
dụng mạng cảm biến di động và có thể đeo được [4].
Emma Stack và cộng sự có một công trình nghiên cứu xác định sự suy giảm
khả năng thăng bằng ở những người bị bệnh Parkinson bằng cách sử dụng video và
cảm biến có thể đeo được [5].
Nethra Ganesh Chigateria và cộng sự đã sử dụng gia tốc kế để đo hoạt động
của người già [6].
Yinfeng Wu và cộng sự đề xuất hệ thống phát hiện trước khi va chạm dựa trên
cảm biến có thể đeo được với bộ phân loại thứ bậc [7].
Charissa Ann Ronao và Sung-Bae Cho đề xuất các giải pháp nhận biết các
hoạt động của con người từ các cảm biến của điện thoại thông minh bằng cách sử
dụng các mô hình Markov ẩn liên tục phân cấp [8].
1.5
Sử dụng dữ liệu cảm biến để phân tích hành động
Điện thoại thông minh hiện nay được tích hợp rất nhiều loại cảm biến đi
kèm. Những loại cảm biến phổ biến như cảm biến vân tay, biến tiệm cận, cảm biến
nhiệt, cảm biến ánh sáng, cảm biến từ kế, cảm biến hình ảnh, cảm biến gia tốc, cảm
biến con quay hồi chuyển. Những loại cảm biến này thường được kết hợp với nhau
để áp dụng vào bài toán phân tích hành vi. Nhưng có một điều bất cập là sự giới hạn
của tốc độ xử lý cũng như nguồn pin của điện thoại. Khi kết hợp càng nhiều loại
cảm biến cùng một lúc sẽ gây ra hiện tượng quá tải của điện thoại, kèm theo đó là
tuổi thọ của pin điện thoại sẽ không được cao. Vì vậy trong khuôn khổ luận văn
này, chúng tôi sử dụng cảm biến gia tốc của điện thoại thông minh. Cảm biến gia
tốc được dùng để ghi nhận lại sự chuyển đổi vị trí của điện thoại. Nó có ưu điểm là
tốn ít tài nguyên của thiết bị, tránh làm ảnh hưởng đến hiệu năng của điện thoại
cũng như trải nghiệm của người dùng. Cảm biến gia tốc cũng có độ nhạy rất cao và
chính xác, được tích hợp trên hầu hết các điện thoại thông minh hiện nay.
Khi sử dụng cảm biến gia tốc, dữ liệu thu được là một chuỗi dữ liệu liên tục
theo thời gian. Mỗi thời điểm, dữ liệu gia tốc thu được có hai thuộc tính là thời gian,
7
véc-tơ được xác định bởi ba trục tọa độ thiết bị X, Y, Z. Khi thiết bị được di chuyển
hoặc có sự thay đổi về vị trí, véc-tơ tương ứng với ba trục X, Y, Z cũng sẽ thay đổi.
Vì vậy để kết quả được chính xác, các thiết bị nên tránh bị đổi hướng, nên để
cố định ở một vị trí như túi áo, hoặc túi quần. Nếu trong quá trình chuyển động, có
sự thay đổi vị trí đặt điện thoại rất dễ gây ra những sự xáo trộn và nhầm lẫn giữa các
trục X, Y, Z. Dữ liệu càng chứa nhiều nhiễu thì độ chính xác càng giảm.
Từ những luận điểm trên, trong khuôn khổ luận văn về phân tích hành động,
hành vi thì sử dụng cảm biến gia tốc để thu thập dữ liệu là hoàn toàn phù hợp.
1.6
Kết luận chương
Trong chương này, chúng tôi đã tìm hiểu và nghiên cứu các khái niệm cơ bản
và những phương pháp nhận diện hành động được sử dụng rộng rãi hiện nay. Chúng
tôi cũng khảo sát và tìm hiểu các công trình nghiên cứu liên quan đến nhận dạng
hành động. Để từ đó lựa chọn được hướng đi và phương pháp phù hợp cho bài toán
cụ thể trong luận văn.
8
Chương 2. MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHUỖI
THỜI GIAN
2.1
Giới thiệu
Để có được kết quả phân lớp tốt phải sử dụng và kết hợp nhiều kỹ thuật như
tiền xử lý dữ liệu, biến đổi dữ liệu, xây dựng bộ dữ liệu đặc trưng. Từ bộ dữ liệu đã
được xử lý sẽ áp dụng vào mô hình để ra kết quả phân lớp. Trong chương này,
chúng tôi sẽ giới thiệu về các kỹ thuật xử lý dữ liệu và các kỹ thuật, phương pháp
phân lớp được sử dụng phổ biến. Kèm theo đó là các phương pháp đánh giá phân
lớp cũng như mục đích của từng phương pháp.
2.2
Đặc điểm và một số cách xử lý dữ liệu thời gian thực
2.2.1 Tiền xử lý dữ liệu
Tiền xử lý dữ liệu là một bước quan trọng trong khai phá dữ liệu. Để hệ
thống hoạt động với độ chính xác cao cần phải có một bộ dữ liệu phù hợp và chính
xác. Nếu dữ liệu không được chuẩn bị tốt, các thuật toán nhận dạng có thể không
nhận dạng được dữ liệu từ đó sẽ gây ra khó khăn trong quá trình xây dựng hệ thống.
Một vài kỹ thuật phổ biến dùng để xử lý dữ liệu hiện nay như: làm sạch dữ
liệu, chuẩn hóa dữ liệu, chuyển đổi dữ liệu, tích hợp dữ liệu, phát hiện nhiễu, tính
giá trị thiếu.
- Làm sạch dữ liệu (Data cleaning): là bước để loại bỏ hay xử lý những
dữ liệu không chính xác ra khỏi tập dữ liệu.
- Xác định nhiễu (Noise Identification): trong một bộ dữ liệu thu thập
được, thường có những bộ dữ liệu bị sai, khuyết một vài thuộc tính.
Cách đơn giản nhất là có thể xóa chúng đi hoặc có thể sử dụng một
vài phương pháp tính toán để điền vào bộ dữ liệu khuyết dạng thời
gian liên tục. Điều này sẽ làm bộ dữ liệu có tính đồng nhất, không còn
những mẫu dễ gây ra sai số trong quá trình chạy mô hình.
9
- Bổ sung dữ liệu thiếu (Missing Data Imputation) là thêm vào các phần
dữ liệu bị thiếu trong quá trình thu thập và chuẩn bị. Giúp bộ dữ liệu
có tính nhất quán. Các giá trị thêm vào là các giá trị được ước tính
một cách hợp lý.
- Biến đổi dữ liệu (Data Transformation) để làm tăng độ chính xác
trong khai phá dữ liệu. Từ dữ liệu thô ban đầu sẽ tiến hành làm mịn,
chuẩn hóa và xây dựng lên bộ thuộc tính cần cho quá trình phân lớp.
- Tích hợp dữ liệu (Data Integration): là kết hợp dữ liệu từ nhiều nguồn,
nhiều kho dữ liệu khác nhau.
- Chuẩn hóa dữ liệu (Data Normalization): là một bước quan trọng
trong quá trình chuẩn bị dữ liệu học máy. Tùy vào từng bài toán cụ
thể cũng như phương pháp học máy. Những cách chuẩn hóa dữ liệu
khác nhau sẽ làm ảnh hưởng trực tiếp đến độ chính xác của mô hình.
- Giảm chiều dữ liệu (Data Reduction): là một kỹ thuật giúp giảm độ
phức tạp của dữ liệu gốc nhưng vẫn giữ được tính toàn vẹn của dữ
liệu [9].
Hình 2-1. Một số kỹ thuật chuẩn bị dữ liệu
10
2.2.2 Cửa sổ dữ liệu
Kỹ thuật cửa sổ trượt (Sliding window) là một kỹ thuật được sử dụng phổ
biến trong nhiều bài toán phân lớp. Đây là một kỹ thuật dùng để cắt một đoạn dữ
liệu thành nhiều cửa sổ khác nhau có cùng kích thước là W. Mỗi cửa sổ chồng lên
nhau bằng cách lấy lại một phần dữ liệu của cửa sổ ngay trước nó.
Dữ liệu chuỗi thời gian được sử dụng rộng rãi trên thế giới và được áp dụng
trên nhiều lĩnh vực như y tế, chứng khoán. Dữ liệu thu thập được từ cảm biến gia
tốc của điện thoại thông minh là bộ dữ liệu liên tục theo thời gian với tần số lấy mẫu
là 50Hz. Vì vậy bộ dữ liệu bao gồm rất nhiều giá trị liên tục theo thời gian. Với bài
toán nhận dạng hành động, chúng ta hoàn toàn có thể áp dụng kỹ thuật cửa sổ trượt
để phân đoạn chuỗi dữ liệu thành nhiều cửa sổ với mức độ chồng dữ liệu khác nhau.
Ví dụ về một đoạn dữ liệu được phân đoạn theo nhiều cửa sổ trượt được trình
bày như hình dưới đây:
Hình 2-2 Phân đoạn chuỗi tín hiệu thành các cửa sổ dữ liệu
Ở trong hình biểu diễn phân đoạn chuỗi dữ liệu thành ba cửa sổ i -1, i, i +1
có kích thước là N và chồng dữ liệu là k, cửa sổ tiếp theo sử dụng k điểm dữ liệu
của cửa sổ trước đó.
2.2.3 Biến đổi dữ liệu
Biến đổi dữ liệu là một cách biến đổi dữ liệu thô ban đầu thành các tập thuộc
tính đặc trưng. Các tập thuộc tính đặc trưng này là yếu tố quan trọng giúp mô hình
phân lớp có thể nhận biết và đoán nhận các nhãn phù hợp. Với mỗi bài toán học
máy khác nhau, cụ thể là những bài toán phân lớp khác nhau cần xây dựng những
tập thuộc tính phù hợp.
11
Với bài toán phát hiện hành động ngã, tập dữ liệu là một tập dữ liệu liên tục
theo thời gian nên các tập thuộc tính đặc trưng được lựa chọn phổ biến và phù hợp
hiện nay là theo miền thời gian và miền tần số. Dựa vào thực nghiệm và đánh giá,
có thể tìm ra những tập thuộc tính để mô hình có độ chính xác cao nhất.
2.2.4 Thuộc tính trên miền thời gian
Trong miền thời gian, các đặc trưng cơ bản thường được dùng để phân tích
tín hiệu là :
- Giá trị trung bình của một cửa sổ dữ liệu đại diện chung cho tất cả các mẫu
giá trị trong cửa sổ đó. Với một cửa sổ có N mẫu, giá trị trung bình được tính là
tổng giá trị tất cả các mẫu chia số lượng mẫu:
(2.1)
𝑁 ∑ 𝑎𝑖 𝑖=1
𝑎̄ = 1 𝑁
- Phương sai là giá trị để đo lường sự phân tán của dữ liệu so với giá trị trung
bình.
(2.2)
𝑁 ∑(𝑎𝑖 − 𝑎̄ )2 𝑖=1
𝑝ℎươ𝑛𝑔 𝑠𝑎𝑖 = 𝜎2 = 1 𝑁
trong đó 𝑎̅ là giá trị trung bình được tính bởi công thức phía trên.
- Độ lệch chuẩn được tình bằng căn bậc hai của giá trị phương sai.
- Độ lệch mẫu là độ lệch giá trị giữa giá trị mẫu cực đại và mẫu giá trị cực
tiểu của tín hiệu. Độ lệch mẫu được tính bằng công thức
(2.3)
𝛥𝑥 = 𝑚𝑎𝑥( 𝑎) − 𝑚𝑖𝑛( 𝑎)
- Tỉ lệ đỉnh trên trung bình (Peak to Average Ratio), là đặc trưng được dẫn
xuất nhằm hỗ trợ nhận dạng các hoạt động bất thường được tính theo công thức:
(2.4)
𝑃𝐴𝑅 = 𝑚𝑎𝑥(𝑎) 𝑎̄
- Điểm cắt không (Zero - crossing) là các điểm mà một tín hiệu đi qua một
giá trị xác định tương ứng với một nửa khoảng giá trị tín hiệu. Giá trị phân cách tín
12
hiệu có thể là giá trị trung bình của tín hiệu. Số lần tín hiệu đi qua đường phân cách
𝑁
là số lượng điểm cắt không. Số lượng điểm cắt không có thể được ước tính như sau:
(2.5)
𝑖=1
𝐷 = ∑ 𝑑[𝑖]
trong đó
(2.6)
| 𝑑[𝑖] = | 𝑠𝑔𝑛(𝑎𝑝[𝑖]) − 𝑠𝑔𝑛(𝑎𝑝[𝑖 − 1]) 2
với 𝑎𝑝 = 𝑎 − 𝑎𝑡ℎ𝑟, 𝑎𝑡ℎ𝑟 là mức ngưỡng để phân cách hay giá trị tham chiếu
được lựa chọn phù hợp, sgn là hàm dấu.
Ngoài những thuộc tính trên, các thuộc tính cũng thường được sử dụng trên
miền thời gian như là độ hiệu dụng, tương quan chéo, tương quan tín hiệu và hệ số
tương quan, diện tích độ lớn tín hiệu (SMA), độ lớn véc-tơ tín hiệu (SVMS)
2.2.5 Thuộc tính trên miền tần số
Thuộc tính miền tần số biểu hiện sự lặp lại của dữ liệu liên tục. Để biến đổi
dữ liệu từ miền thời gian sang miền tần số thường sử dụng phép biến đổi Fourier.
Biến đổi Fourier được sử dụng trong những ứng dụng khoa học như xác suất
thống kê, vật lý, mật mã, quang học và rất nhiều lĩnh vực khác. Trong xử lý tín hiệu
liên tục, phép biến đổi Fourier sẽ chuyển đổi tín hiệu sang thành phần biên độ và tần
số. Có ba dạng biến đổi Fourier là biến đổi Fourier liên lục, chuỗi Fourier, biến đổi
Fourier rời rạc [10]. Với bộ dữ liệu của bài toán phát hiện hành động ngã, biến đổi
Fourier rời rạc là phù hợp nhất.
Biến đổi Fourier rời rạc được dùng cho các tín hiệu thời gian rời rạc. Khi mà
bộ dữ liệu gồm một chuỗi hữu hạn các mẫu là các số thực. Công thức của biến đổi
𝑁−1
Fourier rời rạc được tính toán bởi thuật toán biến đổi Fourier nhanh:
2𝜋
(2.7)
) . 𝑘. 𝑛) 𝑋𝑘 = ∑ 𝑥𝑛. 𝑒𝑥𝑝 (−𝑖 (
𝑁
𝑛=0
13
Trong đó:
- exp là cơ số của logarit tự nhiên
- i là đơn vị ảo ( 𝑖2= -1)
- k = 0, …, N-1
2.2.6 Tham số Hjorth
Tham số Hjorth là các chỉ số về đặc tính thống kê được sử dụng trong xử lý
tín hiệu trong miền thời gian. Tham số này được Bo Hjorth giới thiệu vào năm
1970. Tham số này có 3 giá trị chính là hoạt động (Activity), di động (Mobility) và
độ phức tạp (Complexity) [11].
Tính hoạt động (Activity) thể hiện công suất tín hiệu, phương sai của một
hàm thời gian. Điều này có thể chỉ ra bề mặt phổ công suất trong miền tần số:
𝐴𝑐𝑡𝑖𝑣𝑖𝑡𝑦 = 𝑣𝑎𝑟(𝑦(𝑡))
(2.8)
Trong đó y(t) là đại diện cho tín hiệu.
Tính di động (Mobility) thể hiện tần số trung bình hoặc tỷ lệ độ lệch chuẩn
của phổ công suất. Điều này được định nghĩa là căn bậc hai của phương sai của đạo
hàm đầu tiên của tín hiệu y(t) chia cho phương sai của tín hiệu y(t).
𝑣𝑎𝑟 ( ) 𝑑𝑦(𝑡) 0
(2.9)
𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦 = √ 𝑣𝑎𝑟(𝑦(𝑡))
Độ phức tạp (Complexity) thể hiện sự thay đổi về tần số. Tham số so sánh
mức độ tương tự của tín hiệu với sóng hình Sin thuần túy, trong đó giá trị hội tụ
thành 1 nếu tín hiệu tương tự hơn.
𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦 ( 𝑑𝑦(𝑡) 𝑑𝑡
(2.10)
) 𝐶𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡𝑦 = 𝑀𝑜𝑏𝑖𝑙𝑖𝑡𝑦(𝑦(𝑡))
2.3
Các phương pháp phân lớp
Trong học máy có rất nhiều phương pháp phân lớp. Mỗi phương pháp phân
lớp đều có ưu nhược điểm riêng, tùy vào mỗi bài toán cụ thể chúng ta có thể lựa
14
chọn phương pháp phân lớp phù hợp nhất. Trong khuôn khổ luận văn, đối với bài
toán phát hiện hành động ngã của người đi bộ có thể thử nghiệm các phương pháp
phân lớp là Random Forest (RF), Artificial Neural Network (ANN), Support Vector
Machine (SVM)
2.3.1 Random Forest
Random Forest (rừng ngẫu nhiên) được phát triển bởi Leo Breiman tại Đại
học California, Berkeley. Random Forest là một thuật toán học có giám sát và được
đánh giá là một trong 10 phương pháp khai phá dữ liệu kinh điển nhất.
Random Forest dựa trên kỹ thuật học kết hợp. Nó tạo ra nhiều bộ phân lớp
sau đó kết hợp tất cả các kết quả của chúng. Nó hoạt động bằng cách xây dựng rất
nhiều cây quyết định một cách ngẫu nhiên. Mỗi cây quyết định được lựa chọn một
cách ngẫu nhiên từ việc tái chọn mẫu (chọn ngẫu nhiên một phần của dữ liệu để xây
dựng) và ngẫu nhiên các biến trong tập dữ liệu. Sau khi mỗi cây quyết định đưa ra
kết quả của mình. Thuật toán sử dụng cơ chế voting để tổng hợp lại kết quả của
từng cây riêng lẻ rồi lựa chọn kết quả có nhiều sự lựa chọn nhất [12].
Hình 2-3. Thuật toán Random Forest
Hình 2-3 biểu diễn cơ chế hoạt động của thuật toán RF đơn giản gồm 3 câu
quyết định. Mỗi cây quyết định sẽ lựa chọn mẫu và đưa ra kết quả của riêng mình
15
lần lượt là A, B, B. Sau đó các kết quả được tổng hợp lại, thông qua cơ chế voting
sẽ nhận được kết quả cuối cùng là B.
2.3.2 Artificial Neural Network
Artificial Neural Network (ANN) có thể hiểu là mạng thần kinh nhân tạo lấy
cảm hứng từ mạng nơ-ron thần kinh. Mô hình được mô phỏng dựa trên liên kết giữa
các nơ-ron thần kinh trong bộ não của con người. Mô hình tạo một mạng lưới các
nút để xử lý dữ liệu, mỗi nút được liên kết với nhau. Dữ liệu sẽ được chạy qua tất cả
các nút trong mạng lưới ANN và cho ra kết quả. Mỗi kết quả đầu ra đều được so
sánh với với các kết quả và dữ liệu mà mô hình đã được học tập trước đó [13].
Mô hình ANN có ba thành phần chính: Input Layer, Hidden Layer, Output
Layer. Tùy vào từng bài toán cụ thể có thể có một hoặc nhiều Hidden Layer.
Hình 2-4. Mô tả mạng ANN
Ta có thể thấy các node thuộc từng layer đều liên kết với tất cả các node
thuộc layer trước hoặc sau nó. Vì vậy dữ liệu sẽ đi quá tất cả các node của mạng mô
hình. Kết quả hoặc dữ liệu đầu ra của tầng nào sẽ là dữ liệu đầu vào của lớp kế tiếp.
16
• Input Layer: cung cấp các số liệu cần thiết cho mạng. Mỗi node của input
layer tương ứng với một thông số đầu vào. Các thông số này được chuyển đổi
về dạng véc-tơ. Số nơ-ron của Input Layer sẽ do bài toán quyết định.
• Hidden Layer: gồm các neuron ẩn. Nó giúp kết nối giữ Input Layer và Output
Layer. Tùy vào mỗi bài toán cụ thể Hidden Layer có thể có một hoặc nhiều
lớp. Mỗi node sẽ nhận ma trận đầu vào từ lớp trước nó, kết hợp với các trọng
số để trả về kết quả. Số lượng nơ-ron và số lượng lớp sẽ do người dùng quyết
định.
• Output Layer: gồm các nơ-ron đầu ra. Qua các tính toán của ANN, kết quả
được chuyển đến người dùng qua lớp này.
2.3.3 Support Vector Machine
Support Vector Machine (SVM) được dùng trong các bài toán phân loại nhị
phân hoặc đệ quy. Trong mô hình SVM, mỗi dữ liệu tương ứng với một điểm trong
không gian. Ví dụ với không gian N chiều, mô hình sẽ tìm một siêu phẳng gồm N-1
chiều. Siêu phẳng này sẽ chia đôi tập dữ liệu ra thành 2 phần riêng biệt. Việc đánh
giá siêu phẳng này có tốt nhất hay không phụ thuộc vào khoảng cách của điểm gần
nhất trong không gian đến siêu phẳng [14]. Khoảng cách càng lớn thì siêu phẳng
được đánh giá càng tốt. SVM luôn cố gắng cực đại khoảng cách này.
Hình 2-5. Không gian trong mô hình SVM
17
Ở hình ảnh phía trên, mô hình SVM sẽ lựa lựa chọn siêu phẳng H3 để phân
loại các điểm trong không gian thành 2 phần riêng biệt. Siêu phẳng H3 có khoảng
cách cực đại đến các điểm gần nó nhất.
2.4
Phương pháp đánh giá phân lớp
2.4.1 Ma trận nhầm lẫn
Trong bài toán phân loại hành động, các giá trị để đánh giá mô hình là độ
chính xác (precision), độ bao phủ (recall), F-Measure, độ đo AUC, đường cong
ROC.
Ma trận nhầm lẫn gồm 4 giá trị chính sau:
• TP[i] (true positive): số dự đoán chính xác của lớp i
• FP[i] (false positive): số lượng các mẫu không thuộc lớp i, bị phân loại
nhầm vào lớp i
• TN[i] (true negative): số lượng các ví dụ không thuộc lớp i được phân loại
chính xác
• FN[i] (false negative): số lương các mẫu thuộc lớp i nhưng bị phân loại
nhầm vào lớp khác
Ma trận nhầm lẫn với bài toán cụ thể phân lớp với hai mẫu dữ liệu mang
nhãn dương (+) và nhãn âm (-):
Bảng 2-1. Ma trận nhầm lẫn
Được phân lớp bởi mô hình Mẫu dữ liệu + -
+ TP FN Thực tế - FP TN
Từ ma trận nhầm lẫn, ta có thể tính được các giá trị để đo độ chính xác của
mô hình.
Độ chính xác (precision) là tỉ lệ giữa số phân loại đúng là mẫu dương trên
tổng số các mẫu được phân loại là mẫu dương.
18
𝑇𝑃
Precision =
(2.11)
𝑇𝑃+𝐹𝑃
Độ bao phủ (recall) để xác định số mẫu phân loại đúng là mẫu dương trên
𝑇𝑃
tổng số mẫu dương thực.
Recall =
(2.12)
𝑇𝑃+𝐹𝑁
F-Measure là tiêu chí đánh giá dựa trên sự kết hợp của dộ chính xác và độ
2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙
bao phủ. Công thức tính F-Measure như sau:
F-Measure =
(2.13)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙
Ngoài ra, kết quả phân lớp còn được đánh giá bởi độ chính xác (Accuracy), độ nhạy
(sensitivity), độ đặc hiệu (specificity).
𝑇𝑃+𝑇𝑁
Độ chính xác (Accuracy)
𝑇𝑃+𝐹𝑃+𝑇𝑁+ 𝐹𝑁
Accuracy =
(2.14)
Độ nhạy (sensitivity) là tỉ lệ số mẫu phân loại đúng là mẫu dương trên tổng
𝑇𝑃
số mẫu dương thực.
𝑇𝑃+𝐹𝑁
Sensitivity =
(2.15)
Độ đặc hiệu (specificity) là tỉ lệ số mẫu phân loại đúng là mẫu âm trên tổng
𝑇𝑁
số mẫu âm thực.
Specificity =
(2.16)
𝑇𝑁+𝐹𝑃
Ta có thể thấy, trong bài toán phân loại hai mẫu dương và âm. Kết quả lý
tưởng là độ nhạy và độ đặc hiệu là 1. Tức là mô hình phân lớp đúng 100%. Nhưng
trong thực tế dường như không một mô hình phân lớp nào chính xác tuyệt đối cả.
Hầu hết các mô hình có độ nhạy cao thì độ đặc hiệu thấp hoặc ngược lại.
19
2.4.2 Biểu đồ ROC và độ đo AUC
Như đã trình bài ở phần trên, những mô hình có độ nhạy cao thì độ đặc hiệu
thấp hoặc ngược lại, vì vậy biểu đồ ROC (Receiver Operating Characteristic) là
phương pháp phân tích để cân bằng hai độ đo này. Biểu đồ ROC gồm 2 trục X, và
Y. Trục tung (Y) biểu là giá trị True positive rate, trục hoành (X) biểu diễn giá trị
𝑇𝑃
False positive rate.
True positive rate =
(2.17)
𝑇𝑃+𝐹𝑁
𝐹𝑃
False positive rate =
(2.18)
𝑇𝑃+𝐹𝑁
Hình 2-6. Biểu đồ biểu diễn đường cong ROC
Hai giá trị True positive rate và False positive rate được biểu diễn bởi các
điểm trên biểu đồ ROC. Hai chỉ số này biến thiên ngược chiều nhau và tạo thành
đường cong ROC. Các điểm nằm phía bên trái của đường chéo sẽ cho kết quả tốt.
20
Độ đo AUC (Area Under Curve) chính là diện tích đường cong ROC. Công
thức tính AUC như sau:
(2.19)
Trong đó n0 là kích cỡ mẫu 1, n1 là kích cỡ mẫu 2. Ro là tổng của các xếp
hạng trong mẫu. Giá trị của AUC thường được dùng để đánh giá độ chính xác của
mô hình phân lớp.
Hình 2-7. Diện tích đường cong ROC (độ đo AUC)
Độ đo AUC càng lớn, độ chính xác của mô hình phân lớp càng cao, mô hình
được đánh giá tốt. Một mô hình tốt có độ đo AUC trên 0.5.
Bảng 2-2. Độ đo AUC với độ chính xác của mô hình phân lớp
AUC Ý nghĩa
>0.9 Rất tốt
0.8 đến 0.9 Tốt
0.7 đến 0.8 Trung bình
0.6 đến 0.7 Không tốt
0.5 đến 0.6 Rất tệ
21
2.5
Kết luận chương
Trong chương này, chúng tôi đã tìm hiểu và phân tích quy trình chuẩn bị dữ
liệu, tiền xử lý dữ liệu. Tìm hiểu các phương pháp phân lớp cũng như ưu nhược
điểm của từng phương pháp. Đồng thời nêu ra những phương pháp đánh giá phân
lớp, lựa chọn các trọng số để có thể đánh giá chính xác nhất độ tốt của một phương
pháp phân lớp.
22
Chương 3. XÂY DỰNG MÔ HÌNH PHÁT HIỆN HÀNH ĐỘNG
3.1
Giới thiệu
Trong chương này, chúng ta sẽ tập trung vào việc phân tích và xây dựng hệ
thống phát hiện hành động ngã. Quá trình xây dựng hệ thống sẽ áp dụng các kỹ
thuật xử lý dữ liệu, xây dựng tập thuộc tính. Sau đó sẽ sử dụng bộ dữ liệu đã được
xử lý để chạy mô hình phân lớp. Từ mô hình phân lớp ban đầu, sử dụng thuật toán
tối ưu Particle Swarm Optimization tìm bộ tham số có kết quả phân lớp tốt hơn.
3.2
Tổng quan hệ thống
Hệ thống phát hiện hành động ngã của người đi bộ dựa trên cảm biến gia tốc
của điện thoại thông minh được chia làm hai pha chính.
- Pha huấn luyện
- Pha phát hiện
Hình 3-1. Tổng quan hệ thống phát hiện hành động ngã
Trong pha huấn luyện, chúng ta sử dụng dữ liệu gia tốc thu được từ cảm
biến. Đây là bộ dữ liệu có gán nhãn và đã được phân loại các hành động cụ thể. Từ
tập dữ liệu thô phải tiến hành tiền xử lý dữ liệu qua các kỹ thuật biến đổi dữ liệu từ
đó có được các tập thuộc tính đặc trưng. Từ đó có thể xây dựng được mô hình nhận
23
dạng cho hệ thống bằng các phương pháp và thuật toán phân lớp. Khi đã có được
mô hình nhận dạng cơ bản cần phải tối ưu các tham số của mô hình để có được độ
chính xác tốt hơn từ đó có thể xây dựng được mô hình hoàn chỉnh với độ chính xác
cao.
Trong pha phát hiện, dữ liệu cũng được thu thập từ cảm biến gia tốc của điện
thoại nhưng không được gán nhãn. Dữ liệu cũng được tiền xử lý qua các bước
giống pha huấn luyện, đi qua mô hình phân lớp đã xây dựng được ở pha huấn luyện.
Từ đó có thể phân loại được dữ liệu thuộc hành động nào.
3.2.1 Dữ liệu thu thập từ cảm biến gia tốc
Dữ liệu thu thập từ cảm biến gia tốc của điện thoại thông minh. Dữ liệu thô
ban đầu thu thập được sẽ gồm hai phần chính là thời điểm thu thập mẫu và véc-tơ
gia tốc theo trục X, Y, Z. Ba trục này được biểu diễn trên dưới đây.
Hình 3-2. Các trục X, Y, Z trên cảm biến gia tốc
Một cảm biến gia tốc đo theo 3 chiều X, Y, Z so với màn hình điện thoại.
Mỗi khi có sự thay đổi về vị trí của điện thoại, cảm biến sẽ sinh ra một véc-tơ có 3
chiều và được đo bằng đơn vị 𝑚/𝑠2.
24
25
20
15
10
5
0
-5
-10
-15
X
Y
Z
Hình 3-3. Dữ liệu thời gian ba trục X, Y, Z biểu diễn trên đồ thị
3.2.2 Xây dựng tập thuộc tính đặc trưng
Dữ liệu gia tốc thu được là chuỗi dữ liệu liên tục theo miền thời gian. Đây là
một chuỗi dữ liệu thô ban đầu. Để nạp dữ liệu vào mô hình chúng ta cần biến đổi dữ
liệu thô ban đầu thành một cấu trúc dữ liệu mà mô hình phân lớp có thể hiểu. Đây
chính là quá trình xây dựng các tập thuộc tính đặc trưng.
Trong miền thời gian, một vài giá trị thường được sử dụng làm thuộc tính
đặc trưng như giá trị trung bình, phương sai, độ lệch chuẩn, diện tích độ lớn tín hiệu
(MSA), tỉ lệ đỉnh trên trung bình (PAR), độ lớn véc-tơ tín hiệu (SVM). Ngoài các
thuộc tính trên miền thời gian, các tập thuộc tính trên miền tần số và tham số Hjorth
cũng thường được sử dụng.
Với mỗi bộ dữ liệu và bài toán khác nhau, cần phải đánh giá để tìm những bộ
thuộc tính phù hợp nhất. Trong khuôn khổ luận văn từ dữ liệu cảm biến gia tốc ban
đầu đã xây dựng thành các bộ thuộc tính khác nhau. Bộ thuộc tính trên miền thời
gian là 34 thuộc tính, kèm theo là 7 thuộc tính trên miền tần số và 18 thuộc tính từ
tham số Hjorth.
25
Các bộ thuộc tính được xây dựng riêng biệt, vì vậy cần phải đánh giá và chạy
thử nghiệm tính đúng đắn của từng bộ. Có thể kết hợp các bộ thuộc tính với nhau để
cùng tạo một bộ dữ liệu nạp vào mô hình đầy đủ hơn.
3.3
Tối ưu mô hình
Sau khi thử nghiệm và lựa chọn được mô hình phù hợp với bài toán, bước
tiếp theo cần thực hiện là tối ưu mô hình để có được kết quả tốt hơn mô hình ban
đầu. Mô hình tối ưu sẽ giúp hệ thống có kết quả phân tích tốt hơn, giúp phân loại
hành động và phát hiện hành động ngã tốt hơn. Luận văn tập trung vào phát hiện
hành động ngã, vì vậy cần tối ưu mô hình làm sao để tỉ lệ phán đoán và phát hiện
các hành động ngã chính xác và hạn chế tối đa sự nhầm lẫn. Bước tiếp theo sau khi
đã xác định được mô hình phù hợp là tối ưu hệ thống nhận dạng dựa trên việc tối ưu
dự liệu, tìm kiếm các tham số để nâng cao kết quả phân lớp của mô hình.
3.3.1 Thuật toán tối ưu Particle Swarm Optimization – PSO
Giới thiệu thuật toán
Thuật toán tối ưu bầy đàn (Particle Swarm Optimization - PSO) là một thuật
toán được phát triển mô phỏng trí tuệ bầy đàn để tìm kiếm kết quả cho các bài toán
tối ưu hoá trên một phạm vi tìm kiếm cố định. Thuật toán được công bố vào năm
1995 tại hội nghị của IEEE bởi Dr.Eberhart và Dr.Kennedy. PSO được công nhận
và áp dụng trong nhiều lĩnh vực khoa học trên toàn thế giới mà ở đó đòi hỏi các kỹ
thuật tối ưu hóa. PSO mô phỏng hành vi trong quá trình tìm kiếm thức ăn của các
bầy chim hay đàn cá. Một vài khái niệm của thuật toán:
• PSO là một kỹ thuật tối ưu hóa ngẫu nhiên, ban đầu khởi tạo một nhóm
cá thể ngẫu nhiên. Sau đó cập nhật các kết quả tối ưu bằng việc cập nhật
các thế hệ.
• Mỗi cá thể trong bầy đàn đều có hướng bay hoặc hướng tìm kiếm thức ăn
riêng. Sau mỗi lần cập nhật, các cá thể cập nhật hướng theo vị trí tốt nhất
nó từng đạt được và vị trí tốt nhất mà cả bầy đàn từng đạt được.
26
Để hiểu rõ hơn về thuật toán PSO, chúng ta áp dụng nó vào việc tìm kiếm
thức ăn của một bầy chim trong không gian. Phạm vi tìm kiếm thức ăn là không
gian chúng ta đang sinh sống. Ban đầu, cả bầy có một hướng bay, mỗi cá thể trong
bầy có một vị trí ngẫu nhiên và khác nhau. Sau một thời gian tìm kiếm, có một vài
cá thể tìm thấy thức ăn. Tùy vào lượng thức ăn được tìm thấy, chúng ta có vị trí tìm
kiếm được nhiều thức ăn nhất của cả bầy. Từ đó tất cả các cá thể trong đàn sẽ cập
nhật lại hướng bay và vận tốc của mình để hướng về vị trí có nhiều thức ăn nhất.
Quá trình này được lặp lại, qua mỗi lần cập nhật sẽ theo xu hướng tìm được nơi có
nhiều thức ăn hơn. Đây là một dạng trí tuệ dựa trên sự gắn kết bầy đàn. Giúp làm
giảm thời gian tìm kiếm và tăng tỉ lệ tìm kiếm được vị trí có nhiều thức ăn nhất,
tăng không gian tìm kiếm của bầy đàn.
Hình 3-4. Mô tả quá trình tìm kiếm thức ăn của đàn chim
Hình 3-4 mô tả quá trình tìm kiếm thức ăn của đàn chim trong không gian 3
chiều. Ban đầu, mỗi cả thể có mỗi hướng tìm kiếm thức ăn khác nhau và có vị trí
ngẫu nhiên khác nhau trong không gian ba chiều. Sau một thời gian tìm kiếm, dựa
vào sự gắn kết bầy đàn cũng như truyền tải thông tin bầy đàn, các cá thể sẽ có xu
hướng cập nhật lại hướng bay và vị trí để tìm được nơi có nhiều thức ăn nhất.
Công thức tính toán
Trong nhiều năm kể từ khi thuật toán PSO ra đời, nó được đón nhận và dành
được sự quan tâm của rất nhiều nhà nghiên cứu. Có nhiều phiên bản biến thể của
27
thuật toán này nhằm nâng cao khả năng tính toán, giảm thời gian tìm kiếm. Trong
khuôn khổ luận văn, chúng tôi trình bày công thức cơ bản nhất của thuật toán khi
được giới thiệu lần đầu.
Đầu tiên, PSO khởi tạo một nhóm cá thể ngẫu nhiên. Trong nhóm cá thể
ngẫu nhiên ban đầu, vị trí tốt nhất của bầy đàn chính là vị trí của một trong các cá
thể khởi tạo ban đầu. Mỗi lần cập nhật vị trí của các cá thể trong đàn mỗi cá thể sẽ
biết được 2 giá trị là Pbest vị trí tốt nhất cá thể đó từng đạt được và Gbest vị trí tốt nhất
mà tất cả các cả thể từng đạt được đến thời điểm hiện tại. Từ 2 giá trị này, từng cá
thể trong đàn sẽ cập nhật lại vị trí, hướng bay của mình theo vị trí tốt nhất từng đạt
được.
Hình 3-5. Quá trình cập nhật vị trí sử dụng PSO
𝑡: Vị trí của cá thể i trong thế hệ thứ t 𝑥𝑖
𝑡: Vận tốc của cá thể i trong thế hệ thứ t
Trong đó:
𝑡+1: Vận tốc của cá thể i trong thế hệ thứ t+1
𝑣𝑖 𝑡+1: Vị trí của cá thể i trong thế hệ thứ t+1 𝑥𝑖
𝑣𝑖
𝑃𝑏𝑒𝑠𝑡: Vị trí tốt nhất cá thể i đạt được
𝐺𝑏𝑒𝑠𝑡: Vị trí tốt nhất trong quần thể
28
Sau mỗi lần cập nhật, vị trí và vận tốc của từng cá thể được tính theo công
𝑡 )
thức sau:
(3.1)
𝑡+1 = 𝜔 × 𝑣𝑖
𝑡 + 𝑐1 × 𝑟1 × (𝑃𝑏𝑒𝑠𝑡 − 𝑥𝑖
𝑡 ) + 𝑐2 × 𝑟2 × (𝐺𝑏𝑒𝑠𝑡 − 𝑥𝑖
𝑡+1
𝑣𝑖
(3.2)
𝑡+1 = 𝑥𝑖
𝑡 + 𝑣𝑖
𝑥𝑖
Trong đó:
𝜔: là hệ số quán tính
𝑐1, 𝑐2: Các hệ số gia tốc, giá trị trong khoảng 1.5 đến 2.5
𝑟1, 𝑟2: Các số ngẫu nhiên, giá trị trong khoảng 0 đến 1
Thuật toán: Thuật toán tối ưu hóa PSO
1. P = Particle_Initialization() //khởi ngẫu nhiên các cá thể
2. For i:=1 to tmax do //thực hiện tmax lần
3. For each pacticle p in P do // duyệt qua tất cả các cả thể
trong bầy đàn
4. If p > 𝑃𝑏𝑒𝑠𝑡 Then // nếu giá trị hiện tại lớn hơn Pbest
5. 𝑃𝑏𝑒𝑠𝑡 ← 𝑝 //cập nhật giá giá trị tốt nhất mà cá thể từng đạt được
6. EndIf
7. EndFor
8. 𝐺𝑏𝑒𝑠𝑡 = best 𝑃𝑏𝑒𝑠𝑡 in P // cập nhật giá trị Gbest 9. For each pacticle p in P do // duyệt qua tất cả các cả thể
trong bầy đàn
10. 𝑣 = 𝜔 + 𝑣 + 𝑐1 × 𝑟1 × (𝑃𝑏𝑒𝑠𝑡 − 𝑥 ) + 𝑐2 × 𝑟2 × (𝐺𝑏𝑒𝑠𝑡 − 𝑥 ) // cập nhật vận tốc của cá thể
𝑥 = 𝑥 + 𝑣 // cập nhật vị trí mới cho cá thể
11. EndFor
12. EndFor
13. Return Gbest
Thuật toán 3-1. Thuật toán tối ưu PSO
29
3.3.2 Mô hình nhận dạng và thuật toán PSO
Khi sử dụng phương pháp nhận dạng Random Forest để tiến hành phân lớp,
các thông số mặc định ban đầu đã được sử dụng. Các tham số mặc định là:
P = 100; I =100; num-slots = 1; K =10; M = 1.0; V = 0.001; S = 1
Trong đó:
- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm
của kích thước tập huấn luyện.
- I (numIterations): Số lượng cây trong rừng ngẫu nhiên
- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để
xây dựng nhóm.
- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên
- M (minimum number of instances): Đặt số lượng cá thể tối thiểu
cho mỗi lá
- V (minimum variance for split): Đặt tỷ lệ phương sai loại số tối
thiểu
- S (seed): Số hạt giống ngẫu nhiên được sử dụng.
Với bộ tham số của Random Forest, để tìm được các tham số tối ưu nhất cho
bộ phân lớp, chúng ta phải thử rất nhiều lần. Và số lượng lần thử nghiệm sẽ tăng
theo cấp số nhân với từng bộ tham số. Một ví dụ đơn giản với ba tham số P (Bag
size percent), I (numIterations), Num-slot. Tham số P có thể nhận giá trị từ 1 đến
100, tham số I có thể nhận giá trị từ 1 đến 1000 hoặc nhiều hơn nữa, K có thể nhận
giá trị từ 1 đến số lượng thuộc tính trong một bộ dữ liệu (ví dụ là 50 bộ thuộc tính).
Như vậy chúng ta phải thử nghiệm mô hình RF 5000000 lần. Như vậy sẽ mất rất
nhiều thời gian. Với một cấu hình của máy tính phổ thông hiện nay thì thời gian ít
nhất phải lên đến hàng năm.
Mỗi bài toán khác nhau, mỗi bộ dữ liệu khác nhau chúng ta có những cách
xây dựng bộ thuộc tính khác nhau. Vì vậy các thông số của bộ phân lớp cũng cần
phải thay đổi để phù hợp với bộ thuộc tính của dữ liệu. Như vậy sẽ cho ra kết quả
30
phân lớp tốt. Nhưng để thử được tất cả các bộ tham số của mô hình qua các phương
pháp như vét cạn và thử hết các bộ tham số sẽ mất rất nhiều tài nguyên và thời gian.
Với thuật toán tối ưu, chúng ta có thể giảm được tối đa thời gian thử nghiệm. Giúp
mô hình tìm được vùng có bộ tham số tốt.
Để kết hợp bộ phân lớp Random Forest với thuật toán tối ưu, chúng ta xác
định được những tham số nào cần tối ưu và lấy giá trị đầu ra nào của bộ phân lớp để
làm trọng số đánh giá.
Trọng số đánh giá
Trong khuôn khổ luận văn tập trung vào việc phát hiện hành động ngã. Vì vậy
việc phát hiện và phân lớp các hành động ngã được đặc biệt quan tâm. Như đã trình
bày ở chương 2, có các giá trị đầu ra để đánh giá một mô hình như độ chính xác
(precision), độ bao phủ (recall), F-Measure, độ đo AUC, đường cong ROC. Trong
đó giá trị F-Measure là giá trị thể hiện rõ nhất hiệu quả của mô hình phân lớp. Vì
vậy trọng số đánh giá mô hình phân lớp để áp dụng vào thuật toán tối ưu sẽ lấy giá
trị trung bình F-Measure của các hành động ngã. Giá trị đó được tính như sau:
𝐹 = 𝐹𝐹𝐾𝐿 + 𝐹𝐹𝑂𝐿 + 𝐹𝐵𝑆𝐶 + 𝐹𝑆𝐷𝐿 4
Trong đó:
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã gập đầu gối
𝐹𝐹𝑂𝐿: Giá trị F-measure phân lớp cho hành động ngã về phía trước
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã từ ghế
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã nghiêng
Khi sử dụng thuật toán PSO, sau mỗi lần cập nhật, chúng ta sẽ lấy giá trị F
là trọng số. Mô hình càng tốt khi giá trị của F càng lớn, lý tưởng là 1 (tương ứng
là phân lớp các hành động ngã đúng 100%).
31
Các tham số cần tối ưu
Bộ phân lớp Random Forest có nhiều tham số, vì vậy cần phải chọn lọc
những tham số cần tối ưu tránh lãng phí tài nguyên cũng như thời gian chạy thuật
toán. Các tham số tối ưu sẽ là những tham số quan trọng, khi thay đổi các tham số
này sẽ làm độ chính xác của mô hình tăng hoặc giảm rõ rệt. Nếu chọn quá nhiều
tham số sẽ làm cho thuật toán tối ưu trở lên phức tạp hơn, lãng phí tài nguyên máy
tính cũng như quá trình tìm được mô hình cuối cùng trở lên khó khăn hơn. Sau quá
trình nghiên cứu, chúng tôi đề xuất những tham số sẽ tối ưu trong mô hình nhận
dạng sử dụng phương pháp Random Forest như sau:
- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm của
kích thước tập huấn luyện.
- I (numIterations): Số lượng cây trong rừng ngẫu nhiên
- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để xây
dựng nhóm.
- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên
Sau khi xác định được trọng số đánh giá và các tham số của mô hình áp dụng
vào thuật toán tối ưu, ta có thể thấy cần phải cải tiến thuật toán tối ưu để cùng
lúc mỗi hạt trong mô hình có thể cập nhật được nhiều tham số trong mô hình. Ví
dụ đơn giản như đàn chim tìm kiếm thức ăn sử dụng PSO, mỗi cá thể trong đàn
chim chỉ cần cập nhật một thông số là véc-tơ vận tốc của mình. Nhưng trong bài
toán của mô hình RF, chúng ta sẽ phải tính lại vận tốc cho 4 tham số trong mô
hình RF. Tối ưu mô hình RF khi kết hợp với thuật toán PSO sẽ được thực hiện
như sau:
1. Khởi tạo quần thể
• Thiết lập các giá trị ban đầu: 𝑐1, 𝑐2, 𝑡𝑚𝑎𝑥
• Thiết lập giá trị giới hạn cho từng tham số trong mô hình
• Khởi tạo ngẫu nhiên các bộ tham số, các tham số ngẫu nhiên
𝑡)
2. Tối ưu hóa
• Với mỗi bộ tham số, sẽ có đầu ra là trọng số F (𝑓𝑖
32
𝑡
𝑡 > 𝑃𝑏𝑒𝑠𝑡, cập nhật 𝑃𝑏𝑒𝑠𝑡 = 𝑓𝑖 • Nếu 𝑃𝑏𝑒𝑠𝑡 > 𝐺𝑏𝑒𝑠𝑡, cập nhật 𝐺𝑏𝑒𝑠𝑡 = 𝑃𝑏𝑒𝑠𝑡
• Nếu 𝑓𝑖
• 𝐺𝑏𝑒𝑠𝑡 = 1, thỏa mãn điều kiện tìm kiếm, dừng tối ưu, chuyển sang
bước 3.
• Cập nhật lại vector vận tốc cho từng tham số trong mô hình
• Cập nhật giá trị mới cho từng tham số trong mô hình
• Lặp lại bước 2 (tối ưu hóa).
3. Kết thúc
Kết thúc khi thỏa mãn điều kiện tìm kiếm, hoặc số vòng lặp đạt giá
trị tối đa 𝑡𝑚𝑎𝑥
Hình 3-6. Tối ưu mô hình bằng thuật toán PSO
33
Trong đó, giá trị F:
𝐹 = 𝐹𝐹𝐾𝐿 + 𝐹𝐹𝑂𝐿 + 𝐹𝐵𝑆𝐶 + 𝐹𝑆𝐷𝐿 4
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã gập đầu gối
𝐹𝐹𝑂𝐿: Giá trị F-measure phân lớp cho hành động ngã về phía trước
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã từ ghế
𝐹𝐹𝐾𝐿: Giá trị F-measure phân lớp cho hành động ngã nghiêng
Hình 3-6 mô tả thuật toán tối ưu mô hình khi kết hợp với PSO. Kết quả sau
mỗi lần cập nhật các bộ tham số, cập nhật giá trị Pbest, Gbest sẽ được so sánh đã
thỏa mãn với yêu cầu của bài toán chưa. Nếu Gbest chưa thỏa mãn điều kiện để
dừng thuật toán và t < 𝑡𝑚𝑎𝑥 sẽ tiếp tục cập nhật lại véc-tơ vận tốc, tính toán lại các
giá trị trong bộ tham số và tiến hành vòng lặp tiếp theo. Còn nếu Gbest đã thỏa mãn
giá trị yêu cầu, hoặc đã hết số lần chạy thuật toán t = 𝑡𝑚𝑎𝑥 sẽ dừng thuật toán và giá
trị tốt nhất của mô hình sẽ là giá trị Gbest hiện tại. Vì giá trị lý tưởng của F-measure
là 1 (tương ứng phân lớp các hành động ngã đúng 100%) nên giá trị Gbest tối đa có
thể đạt được cũng là giá trị để dừng thuật toán là 1.
3.4
Thực nghiệm và đánh giá
3.4.1 Môi trường thực nghiệm
Hệ thống phát hiện hành động ngã được xây dựng trên ngôn ngữ java. Các
mô hình phân tích dữ liệu và phát hiện hành động sử dựng bộ công cụ WEKA.
Chúng tôi tiến hành khảo sát và thực nghiệm phân lớp trên các mô hình
Random Forest (RF), Artificial Neural Network (ANN) và Support Vector Machine
(SVM). Các tham số của các thuật toán phân lớp được sử dụng mặc định của bộ
công cụ WEKA.
3.4.2 Dữ liệu thực nghiệm
Trong khuôn khổ luận văn bộ dữ liệu sử dụng được chia làm 12 hành động
cơ bản ( đi, chạy, ngồi, bước lên xe ô tô, …) và 4 hành động ngã (ngã về phía trước,
ngã gập đầu gối, ngã khi đang cố ngồi vào ghế, ngã nghiêng). Bộ dữ liệu được thu
34
thập từ cảm biến gia tốc của điện thoại thông minh. Tần số lấy mẫu dữ liệu là 50Hz
tức là 1 giây chúng ta có 50 mẫu dữ liệu. Để đảm bảo tính khách quan của dữ liệu,
có nhiều người cùng tham gia thu thập từ đó sẽ có một bộ dữ liệu đa dạng.
Trong khuôn khổ luận văn, bô dữ liệu sử dụng là MobiAct [15]. Đây là bộ dữ
liệu được công bố rộng rãi và có thể tải miễn phí. Bộ dữ liệu được thu thập từ 66
tình nguyện viên khác nhau. Mỗi tình nguyện viên sẽ mô phỏng các hành động
thường ngày và các kiểu ngã khác nhau. Gồm 12 hoạt động thường ngày và 4 kiểu
ngã.
Bảng 3-1. Các hoạt động thường ngày
Thử
Thời
TT Nhãn
Hoạt động
Mô tả
nghiệm
gian
1
STD Đứng
1
5 phút Đứng với với cử động nhẹ nhàng
2 WAL Đi bộ
1
5 phút Đi bộ bình thường
3
JOG Chạy bộ
3
30 giây Chạy bộ
4
JUM Nhảy
3
30 giây Nhảy liên tục
5
STU Lên cầu thang
10 giây Đi lên cầu thang (10 bậc)
6
Xuống cầu
6
STN
6
10 giây Đi xuống cầu thang (10 bậc)
thang
Đứng chuyển
Chuyển tiếp từ đứng sang ngồi (ngồi
7
SCH
6
6 giây
sang ngồi
trên ghế)
Ngồi trên ghế với những cử động
1
8
SIT Ngồi trên ghế
1 phút
nhẹ nhàng
Ngồi chuyển
Chuyển tiếp từ ngồi sang đứng
9
CHU
6
6 giây
sang đứng
(đứng lên từ ghế)
Bước vào xe
10
CSI
6
6 giây Bước vào trong xe
hơi
Bước ra khỏi
11 CSO
6
6 giây Bước ra khỏi xe hơi
xe hơi
Hoạt động được thực hiện ở khoảng
12
LYI Nằm
12
-
thời gian nằm sau ngã
35
Bảng 3-2. Các trạng thái ngã
Thử
TT Nhãn
Hoạt động
Thời gian
Mô tả
nghiệm
Ngã về phía
Ngã về phía trước khi đang đứng, sử
1
FOL
3
10 giây
trước
dụng tay để chống ngã
Ngã gập đầu
Ngã về phía trước khi đang đứng,
2
FKL
3
10 giây
gối
đầu gối tiếp xúc đầu tiên.
Ngã ngửa trong khi đang ngồi trên
3
BSC Ngã từ ghế
3
10 giây
ghế
Ngã sang một bên khi đang đứng,
4
3
SDL Ngã nghiêng
10 giây
gập chân
3.4.3 Kết quả thực nghiệm với Random Forest
Kết quả thực nghiệm với bộ dữ liệu sử dụng kích thước cửa sổ từ 1 đến 6
giây, tỉ lệ chồng dữ liệu lần lượt là 25%, 50%, 75%. Độ đo F-measure được sử dụng
chính để đánh giá độ tốt của mô hình phân lớp.
Mô hình phân lớp Random Forest sử dụng bộ tham số mặc định của bộ công
cụ WEKA.
Bảng 3-3. Mô hình RF với các thông số mặc định
P
I
num-slots K M
V
S
Tham số mặc định của RF
100
100
1
0
1
0.001
1
Trong đó:
- P (Bag size percent): Kích thước của mỗi túi, theo tỷ lệ phần trăm
của kích thước tập huấn luyện.
- I (numIterations): Số lượng cây trong rừng ngẫu nhiên
- Num-slot (numExecutionSlots): Số lượng luồng được sử dụng để
xây dựng nhóm.
- K (numFeatures): Số lượng thuộc tính được chọn ngẫu nhiên
36
- M (minimum number of instances): Đặt số lượng cá thể tối thiểu
cho mỗi lá
- V (minimum variance for split): Đặt tỷ lệ phương sai loại số tối
thiểu
- S (seed): Số hạt giống ngẫu nhiên được sử dụng.
Kết quả độ chính xác của phân lớp được thể hiện trong bảng dưới đây.
Bảng 3-4. Kết quả phân lớp của mô hình RF
Tỉ lệ chồng dữ liệu
25% 50% 75%
Kích thước cửa sổ
1 giây 0.524 0.582 0.671
2 giây 0.664 0.783 0.695
3 giây 0.653 0.716 0.587
4 giây 0.689 0.635 0.665
5 giây 0.522 0.589 0.597
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
1s
2s
3s
4s
5s
6s
25%
0.524
0.664
0.653
0.689
0.522
0.656
50%
0.582
0.783
0.716
0.635
0.589
0.522
75%
0.671
0.695
0.587
0.665
0.597
0.598
25%
50%
75%
6 giây 0.656 0.522 0.598
Hình 3-7. Biểu đồ kết quả phân lớp của mô hình RF
37
Từ bảng 3-5 và biểu đồ hình 3-7 cho thấy, kết quả phân lớp của mô hình RF
cho kết quả trọng số F-measure tốt tại cửa sổ dữ liệu W = 2 giây và tỉ lệ chồng chéo
là 50%. Khi đó F-measure đạt giá trị 0.783. Từ đó có thể thấy được ảnh hưởng của
cửa sổ dữ liệu đến kết quả của thuật toán phân lớp.
3.4.4 Kết quả thực nghiệm với ANN và SVM
Với mô hình phân lớp ANN và SVM, chúng tôi sử dụng kích thước cửa sổ từ
1 đến 6 giây, tỉ lệ chồng dữ liệu lần lượt là 25%, 50%, 75%. Độ đo F-measure được
sử dụng chính để đánh giá độ tốt của mô hình phân lớp. Các mô hình này cũng được
thử nghiệm với bộ tham số mặc định của bộ công cụ WEKA.
Bảng 3-5. Bộ tham số của mô hình ANN và SVM
STT Mô hình Bộ tham số
1 ANN L = 0.3; M = 2; N = 500; V = 0; S = 0; E = 20; H = a
S= 0; K= 2; D = 3; G = 0; R = 0.0; N = 0.5; M = 40; C = 1.0; E =
2 SVM
0.001; P = 0.1
Trong đó:
Mô hình ANN:
- L (learning rate): Tỷ lệ học cho thuật toán lan truyền ngược.
- M (Momentum): Tỷ lệ động lượng cho thuật toán lan truyền
ngược.
- N (number of epochs): Số kỷ nguyên cần đào tạo.
- V (percentage size of validation set): Phần trăm kích thước xác
thực được đặt để sử dụng để chấm dứt đào tạo.
- S (seed): Giá trị được sử dụng để khởi tạo trình tạo số ngẫu nhiên
- E (threshold for number of consecutive errors): Số lỗi gia tăng liên
tiếp được phép xác thực kiểm tra trước khi kết thúc đào tạo.
- H (comma separated numbers for nodes on each layer): Các lớp ẩn
được tạo cho mạng. Giá trị mặc định bằng a=(attribs + classes) / 2
38
Mô hình SVM:
- S (type of SVM): Đặt loại cho mô hình SVM
- K (type of kernel function): Đặt loại cho hàm Kernel
- D (degree in kernel function): Độ trong hàm nhân
- G (gamma in kernel function): Gamma trong hàm nhân
- R (coef0 in kernel function): coef0 trong hàm nhân
- N (Nu): tham số nu của nu-SVC, SVM một lớp và nu-SVR
- M (cachesize): kích thước bộ nhớ đệm tính bằng MB
- C (cost) : tham số C của C-SVC, epsilon-SVR và nu-SVR
- E (epsilon): đặt dung sai của tiêu chí kết thúc
- P: chức năng mất epsilon của epsilon-SVR
Kết quả thử nghiệm của 2 bộ mô hình như sau
Bảng 3-6. Kết quả phân lớp của mô hình ANN
Tỉ lệ chồng dữ liệu
50% 75% 25%
Kích thước cửa sổ
1 giây 0.601 0.603 0.563
2 giây 0.653 0.602 0.485
3 giây 0.609 0.535 0.436
4 giây 0.569 0.549 0.514
5 giây 0.441 0.563 0.515
6 giây 0.589 0.556 0.532
39
Bảng 3-7. Kết quả phân lớp của mô hình SVM
Tỉ lệ chồng dữ liệu
25% 50% 75%
Kích thước cửa sổ
0.602 0.389 0.568 1 giây
0.516 0.392 0.536 2 giây
0.556 0.347 0.587 3 giây
0.547 0.656 0.579 4 giây
0.607 0.657 0.425 5 giây
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1s
2s
3s
4s
5s
6s
25%
0.563
0.485
0.436
0.514
0.515
0.532
50%
0.601
0.653
0.609
0.569
0.441
0.589
75%
0.603
0.602
0.535
0.549
0.563
0.556
25%
50%
75%
0.445 0.563 0.489 6 giây
Hình 3-8. Biểu đồ kết quả mô hình ANN
40
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1s
2s
3s
4s
5s
6s
25%
0.602
0.516
0.556
0.547
0.607
0.445
50%
0.389
0.392
0.347
0.656
0.657
0.563
75%
0.568
0.536
0.587
0.579
0.425
0.489
25%
50%
75%
Hình 3-9. Biểu đồ kết quả mô hình SVM
Từ biểu đồ hình 3-7 và hình 3-8 ta có thể nhận thấy quả tốt nhất của mô hình
ANN đạt được F-measure = 0.653 tại kích thước cửa sổ là 2 giây và tỉ lệ chồng dữ
liệu là 50%. Mô hình SVM cho kết quả tốt nhất F-measure = 0.657 tại kích thước
cửa sổ là 5 giây và tỉ lệ chồng dữ liệu 50%. Từ kết quả trên cho thấy, đối với bộ dữ
liệu được xây dựng kết quả chạy từ mô hình phân lớp ANN và SVM không thực sự
tốt được như mô hình RF.
3.4.5 Tối ưu mô hình Random Forest và thuật toán PSO
Chương trình tối ưu được viết trên ngôn ngữ java, mô hình nhận dạng cũng
như tính toán mô hình sử dụng bộ công cụ WEKA. Dữ liệu thực nghiệm và tiền xử
lý dữ liệu được sử dụng giống trong quá trình tạo mô hình ở chương 2.
Trong quá trình nghiên cứu, chúng tôi nhận thấy độ chính xác khi phát hiện
các hành động ngã luôn nhỏ hơn độ chính xác trung bình tất cả các hành động của
mô hình. Giá trị F-measure của các hành động ngã cũng luôn nhỏ hơn giá trị
F-measure trung bình của mô hình. Các hành động như đi bộ (WAL), đứng (STD),
chạy bộ (SOL) và các hoạt động thường ngày luôn cho kết quả tốt hơn. Vì vậy trong
giai đoạn tối ưu mô hình chúng tôi sẽ tập trung tối ưu để tăng tỉ lệ chính xác khi
phát hiện các trạng thái ngã.
41
Các tham số của thuật toán tối ưu
- 𝑐1 = 2.05
- 𝑐2 = 2.05
- 𝜔 = 0.9
- 𝑡𝑚𝑎𝑥 = 100
- Số lượng bộ tham số ban đầu N = 7
Giới hạn tham số của mô hình Random Forest
- P (Bag size percent) = [10, 100]
- I (numIterations) = [10, 1000]
- Num-slot (numExecutionSlots) = [1, 10]
- K (numFeatures) = [5, 50]
Chương trình tối ưu được chạy trên máy tính để bàn với cầu hình CPU core
i7-8700 @ 3.2GHz, RAM 32GB. Mỗi lần thay đổi bộ tham số, mô hình sẽ chạy lại
một lần. Thời gian chạy mô hình tùy thuộc vào bộ tham số của mô hình đó. Chương
trình tối ưu sẽ dừng lại khi thỏa mãn một trong hai điều kiện sau:
- Giá trị F-measure của các hành động ngã đều bằng 1. Tỉ lệ đoán đúng
các hành động ngã là 100%
- 𝑡 = 𝑡𝑚𝑎𝑥 = 100. Đã chạy hết số vòng lặp.
Như chúng ta đã biết, bất kỳ mô hình phân lớp nào cũng đều có sự sai số. Vì
vậy có thể dự đoán chương trình tối ưu khi thỏa mãn giá trị F = 1 gần như là không
thể. Trong khuôn khổ luận văn có sự giới hạn về thời gian, nên việc lấy giá tị
𝑡𝑚𝑎𝑥=100 là khả thi và phù hợp với tài nguyên, thời gian cho phép. Với giá trị N=7
và 𝑡𝑚𝑎𝑥 = 100, khi kết thúc vòng lặp chương trình đã chạy tương đương với 700 mô
hình Random Forest.
42
Kết thúc chương trình tối ưu, các kết quả thu được như sau:
Bảng 3-8. Kết quả mô hình phân lớp sau tối ưu
Precision Recall F-measure ROC Area
0.780 0.995 BSC 0.875 0.703
0.793 0.996 FKL 0.831 0.758
0.810 0.993 FOL 0.858 0.766
0.810 0.996 SDL 0.856 0.769
0.931 0.998 All 0.933 0.933
Bảng 3-9. Kết quả mô hình phân lớp ban đầu
Precision Recall F-measure ROC Area
0.440 0.951 BSC 0.560 0.355
0.787 0.983 FKL 0.657 0.983
0.766 0.975 FOL 0.807 0.729
0.659 0.965 SDL 0.723 0.606
1
0.8
0.6
0.4
0.2
0
Precision
Recall
F-measure
ROC Area
Mô hình ban đầu
0.56
0.355
0.44
0.951
Mô hình tối ưu
0.875
0.703
0.78
0.995
Mô hình tối ưu
Mô hình ban đầu
0.783 0.980 All 0.805 0.790
Hình 3-10. Biểu đồ kết quả hành động ngã BSC
43
1
0.8
0.6
0.4
0.2
0
Precision
Recall
F-measure
ROC Area
Mô hình ban đầu
0.657
0.983
0.787
0.983
Mô hình tối ưu
0.831
0.758
0.793
0.996
Mô hình tối ưu
Mô hình ban đầu
Hình 3-11. Biểu đồ kết quả hành động ngã FKL
1
0.8
0.6
0.4
0.2
0
Precision
Recall
F-measure
ROC Area
Mô hình ban đầu
0.807
0.729
0.659
0.975
Mô hình tối ưu
0.858
0.766
0.81
0.993
Mô hình tối ưu
Mô hình ban đầu
Hình 3-12. Biểu đồ kết quả hành động ngã FOL
44
1
0.8
0.6
0.4
0.2
0
Precision
Recall
F-measure
ROC Area
Mô hình ban đầu
0.723
0.606
0.659
0.965
Mô hình tối ưu
0.856
0.769
0.81
0.996
Hình 3-13. Biểu đồ kết quả hành động ngã SDL
1
0.8
0.6
0.4
0.2
0
Precision
Recall
F-measure
ROC Area
Mô hình ban đầu
0.805
0.79
0.783
0.98
Mô hình tối ưu
0.933
0.933
0.931
0.998
Mô hình tối ưu
Mô hình ban đầu
Hình 3-14. Biểu đồ kết quả phân lớp chung của mô hình
Nhìn vào các biểu đồ có thể thấy được sau khi tối ưu, mô hình được cải thiện
rõ rệt. Tất cả các trọng số độ chính xác (Precision), độ bao phủ (Recall), F-measure,
AUC (diện tích đường cong ROC) đều tốt hơn mô hình ban đầu. Có sự khác biệt rõ
rệt giữa trọng số F-measure của hành động ngã BSC, FOL, SDL. Xét về tổng thể
45
chung của cả mô hình, F-measure tăng từ 0.783 lên 0.931. Độ chính xác tăng từ
0.805 (80.5%) lên 0.933 (93.3%).
Từ các kết quả cho thấy được tham số của mô hình có ảnh hưởng không nhỏ
đến kết quả phân lớp. Với thuật toán tối ưu PSO và mô hình phức tạp như Random
Forest, các kết quả trên có thể chưa là kết quả tốt nhất đạt được nhưng vẫn đảm bảo
bộ tham số nằm trong vùng có kết quả tốt. Nếu điều kiện tài nguyên cho phép, có
thể tăng giá trị 𝑡𝑚𝑎𝑥 từ 100 lên 200, 500 hoặc 1000. Khi đó thuật toán tối ưu PSO sẽ
có nhiều cơ hội thử nghiệm hơn và có thể tìm được mô hình phân lớp có độ chính
xác cao hơn.
Bảng 3-10. Ma trận nhầm lẫn của mô hình Random Forest sau tối ưu
BSC
CHU
CSI
CSO
FKL
FOL
JOG
JUM
LYI
SCH
SDL
SIT
STD
STN
STU WAL
BSC
70.3
0
11.5
0.5
1.5
0.7
7.1
5.3
1
0.1
0
0
0
1
0
1
CHU
0
81.4
0.5
9
0
0
0
0
0
0
0
1
4.3
2.4
1.4
0
0.0
79.3
0.4
0.1
0.1
0.1
0.1
0.1
3.9
1.1
2.4
0.5
1.4
6.3
2.6
CSI
1.6
0.1
96.1
0.0
0.0
0.0
0.0
0.0
0.0
0.2
0.2
1.6
0.0
0.2
1.4
0.3
CSO
0.0
0.6
75.8
0.2
0.2
0.0
9.8
2.6
1.1
3.5
0.2
0.6
2.6
0.8
0.0
1.8
FKL
0.3
8.8
76.6
0.0
0.3
0.0
1.5
2.7
1.5
0.5
1.3
3.6
0.5
0.0
2.0
0.1
FOL
0.7
0.0
96.7
0.7
0.0
0.0
0.0
0.0
0.9
0.0
0.0
0.6
1.0
0.0
0.1
0.0
JOG
0.0
0.9
98.2
0.0
0.0
0.0
0.0
0.0
0.6
0.1
0.0
0.2
0.0
0.0
0.0
0.0
JUM
0.0
8.0
64.8
9.7
0.0
0.0
0.0
0.0
1.0
2.3
3.7
2.2
8.1
0.0
0.2
0.0
LYI
0.0
0.3
0.0
0.1
0.2
0.6
4.8
1.7
52.6
2.6
10.3
5.8
13.4
0.3
4.2
2.8
SCH
0.3
0.7
0.1
0.0
3.2
2.2
0.9
0.7
2.8
76.9
0.1
1.6
0.3
0.0
5.7
0.8
SDL
4.0
0.0
0.0
0.0
0.0
0.0
0.0
0.2
0.2
0.0
99.1
0.0
0.0
0.0
0.0
0.4
SIT
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.1
0.0
0.0
99.9
0.0
0.0
0.0
STD
0.0
0.5
0.0
0.2
0.0
0.1
0.0
0.4
0.4
6.4
5.5
6.6
79.3
0.0
0.3
0.2
STN
0.0
0.1
0.0
0.0
0.0
0.0
0.0
0.2
0.3
3.5
5.7
7.5
82.4
0.0
0.2
0.0
STU
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.1
0.2
99.6
0.1
0.0
0.0
WAL
0.0
Bảng 3.10 biểu diễn ma trận nhầm lẫn của mô hình Random Forest sau khi
tối ưu. Hệ số của bảng được tính theo tỉ lệ phần trăm. Có thể thấy kết quả của 4
hành động ngã:
• Trạng thái ngã từ ghế (BSC) thường bị nhầm lẫn với hành động bước
vào xe hơi CSI), từ đứng chuyển sang ngồi (SCH) và trạng thái ngã
nghiêng (SDL).
46
• Trạng thái ngã gập đầu gối (FKL) thường bị nhầm lẫn với trạng thái
ngã về phía trước (FOL).
• Trạng thái ngã gập đầu gối (FOL) thường bị nhầm lẫn với trạng thái
ngã nghiêng (FKL).
• Trạng thái ngã nghiêng (SDL) thường bị nhầm lẫn với trạng thái ngã
từ ghế (BSC), bước vào xe hơi (CSI) và ngã gập đầu gối (FKL).
So sánh mô hình với các nghiên cứu liên quan
Phương pháp nhận dạng các hành động hàng ngày bằng các thuật toán
phân lớp là một phương pháp phổ biến được nhiều nghiên cứu sử dụng. Tùy
theo dữ liệu, yêu cầu của bài toán sẽ có những hệ thống nhận dạng được thiết
kế khác nhau. Với tập thuộc tính như đã đề xuất, nhóm nghiên cứu đã thực
nghiệm trên bộ dữ liệu MobiAct [15], kết quả thực nghiệm về phát hiện các
hành động ngã trong nghiên cứu này cao hơn so với các phương pháp của
một số nghiên cứu trên cùng bộ dữ liệu này như thống kê trong Bảng 3-11.
Qua những kết quả đánh giá này cho thấy, hệ thống nhận dạng là phù hợp và
có kết quả khả quan trong việc nhận dạng các hành động hàng ngày, đặc biệt
là hành động ngã.
Bảng 3-11. Mô hình đề xuất và nghiên cứu liên quan
Kết quả trung Kết quả của hành động ngã bình của các hành Nghiên cứu động ngã BSC FKL FOL SDL
Charikleia Chatzaki và 0.832 0.760 0.709 0.757 0.764 cộng sự [15]
Phương pháp đề xuất 0.780 0.793 0.810 0.810 0.798
Trong đó, trọng số đánh giá sử dụng độ đo F-measure.
47
3.5
Kết luận chương
Trong chương này, chúng tôi đề xuất hệ thống phát hiện hành động ngã dựa
trên dữ liệu cảm biến thu được từ điện thoại thông minh. Các phương pháp phân lớp
đã được thử nghiệm và đánh giá với bộ dữ liệu mà chúng tôi xây dựng. Lựa chọn
mô hình cho kết quả tốt nhất để chạy thuật toán tối ưu. Từ đó tìm ra được bộ tham
số có kết quả tốt hơn.
48
KẾT LUẬN
Nghiên cứu và phân tích, nhận dạng hoạt động đang là một chủ đề đặc biệt
được quan tâm trong nhiều lĩnh vực. Luận văn đã nghiên cứu trong lĩnh vực theo
dõi, giám sát và phân phát hiện hành động ngã của người đi bộ dựa trên phân tích
dữ liệu thu được từ cảm biến gia tốc của điện thoại.
Trong luận văn, chúng tôi đã khảo sát và nghiên cứu các kỹ thuật và phương
pháp thu thập dữ liệu. Sau đó sử dụng các kỹ thuật để nghiên cứu xây dựng bộ
thuộc tính đặc trưng để nâng cao độ chính xác của hệ thống phát hiện hành động
ngã.
Chúng tôi đã nghiên cứu các phương pháp phân lớp, tiến hành thử nghiệm
với bộ thuộc tính đã xây dựng. Sau đó tối ưu bộ tham số của mô hình phân lớp phù
hợp dựa trên thuật toán tối ưu PSO.
Luận văn đã có một số kết quả như sau:
- Xây dựng bộ dữ liệu gồm các bộ thuộc tính đặc trưng. Từ bộ dữ liệu liên tục
theo miền thời gian, chúng tôi đã tiến hành xây dựng tập thuộc tính đặc trưng
trên miền thời gian, miền tần số và thuộc tính Hjorth.
- Đề xuất hệ thống phát hiện hành động ngã của người đi bộ dựa trên phân tích dữ
liệu thu được từ cảm biến gia tốc của điện thoại thông minh. Hệ thống gồm 2
pha chính là pha huấn luyện và pha phát hiện. Trong quá trình xây dựng và thử
nghiệm hệ thống, chúng tôi đã tiến hành trên nhiều phương pháp phân lớp khác
nhau để lựa chọn được phương pháp phù hợp với bài toán và bộ dữ liệu hiện có.
- Đề xuất giải pháp tối ưu tham số PSO cho mô hình phân lớp Random Forest.